Module: wine Branch: master Commit: b0a9d16cfba262ab92cfc33294336581d1d81bf3 URL: http://source.winehq.org/git/wine.git/?a=commit;h=b0a9d16cfba262ab92cfc33294...
Author: Andrew Eikum aeikum@codeweavers.com Date: Mon Sep 28 13:56:14 2015 -0500
xaudio2: Implement IXAudio2SourceVoice::Discontinuity.
Signed-off-by: Andrew Eikum aeikum@codeweavers.com
---
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 41d1d21..835426f 100644 --- a/dlls/xaudio2_7/xaudio_dll.c +++ b/dlls/xaudio2_7/xaudio_dll.c @@ -748,7 +748,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; }