From 7458a12b63a69fd975686f918ef368ec98dc7ebf Mon Sep 17 00:00:00 2001 From: Maarten Lankhorst Date: Fri, 14 Mar 2008 11:47:42 -0700 Subject: [PATCH] quartz: Silence the directsound buffer on starting --- dlls/quartz/dsoundrender.c | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-) diff --git a/dlls/quartz/dsoundrender.c b/dlls/quartz/dsoundrender.c index af9fb37..6c5d3f1 100644 --- a/dlls/quartz/dsoundrender.c +++ b/dlls/quartz/dsoundrender.c @@ -498,6 +498,15 @@ static HRESULT WINAPI DSoundRender_Run(IBaseFilter * iface, REFERENCE_TIME tStar /* It's okay if there's no buffer yet. It'll start when it's created */ if (This->dsbuffer) { + if (This->state == State_Stopped) + { + char *buf1; + DWORD size1; + + IDirectSoundBuffer_Lock(This->dsbuffer, 0, 0, (void**)&buf1, &size1, NULL, NULL, DSBLOCK_ENTIREBUFFER); + memset(buf1, 0, size1); + IDirectSoundBuffer_Unlock(This->dsbuffer, buf1, size1, NULL, 0); + } hr = IDirectSoundBuffer_Play(This->dsbuffer, 0, 0, DSBPLAY_LOOPING); if (FAILED(hr)) ERR("Can't start playing! (%x)\n", hr); -- 1.5.4.1