From: Andrew Eikum Subject: [PATCH 4/4] xaudio2: Implement IXAudio2SourceVoice::Discontinuity Message-Id: <20150915172538.GX7912@foghorn.codeweavers.com> Date: Tue, 15 Sep 2015 12:25:38 -0500 --- dlls/xaudio2_7/xaudio_dll.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/dlls/xaudio2_7/xaudio_dll.c b/dlls/xaudio2_7/xaudio_dll.c index aee3c4e..95f3caf 100644 --- a/dlls/xaudio2_7/xaudio_dll.c +++ b/dlls/xaudio2_7/xaudio_dll.c @@ -749,7 +749,18 @@ static HRESULT WINAPI XA2SRC_FlushSourceBuffers(IXAudio2SourceVoice *iface) static HRESULT WINAPI XA2SRC_Discontinuity(IXAudio2SourceVoice *iface) { XA2SourceImpl *This = impl_from_IXAudio2SourceVoice(iface); + TRACE("%p\n", This); + + EnterCriticalSection(&This->lock); + + if(This->nbufs > 0){ + DWORD last = (This->first_buf + This->nbufs - 1) % XAUDIO2_MAX_QUEUED_BUFFERS; + This->buffers[last].xa2buffer.Flags |= XAUDIO2_END_OF_STREAM; + } + + LeaveCriticalSection(&This->lock); + return S_OK; } -- 2.5.1