xaudio2: Implement IXAudio2SourceVoice::Play.

This commit is contained in:
Andrew Eikum 2015-08-25 14:28:46 -05:00 committed by Alexandre Julliard
parent 1c643f39e2
commit 8a317d89cf
1 changed files with 21 additions and 0 deletions

View File

@ -140,6 +140,8 @@ typedef struct _XA2SourceImpl {
DWORD nsends;
XAUDIO2_SEND_DESCRIPTOR *sends;
BOOL running;
struct list entry;
} XA2SourceImpl;
@ -429,6 +431,8 @@ static void WINAPI XA2SRC_DestroyVoice(IXAudio2SourceVoice *iface)
This->in_use = FALSE;
This->running = FALSE;
HeapFree(GetProcessHeap(), 0, This->fmt);
LeaveCriticalSection(&This->lock);
@ -438,7 +442,15 @@ static HRESULT WINAPI XA2SRC_Start(IXAudio2SourceVoice *iface, UINT32 Flags,
UINT32 OperationSet)
{
XA2SourceImpl *This = impl_from_IXAudio2SourceVoice(iface);
TRACE("%p, 0x%x, 0x%x\n", This, Flags, OperationSet);
EnterCriticalSection(&This->lock);
This->running = TRUE;
LeaveCriticalSection(&This->lock);
return S_OK;
}
@ -446,7 +458,15 @@ static HRESULT WINAPI XA2SRC_Stop(IXAudio2SourceVoice *iface, UINT32 Flags,
UINT32 OperationSet)
{
XA2SourceImpl *This = impl_from_IXAudio2SourceVoice(iface);
TRACE("%p, 0x%x, 0x%x\n", This, Flags, OperationSet);
EnterCriticalSection(&This->lock);
This->running = FALSE;
LeaveCriticalSection(&This->lock);
return S_OK;
}
@ -1324,6 +1344,7 @@ static HRESULT WINAPI IXAudio2Impl_CreateSourceVoice(IXAudio2 *iface,
}
src->in_use = TRUE;
src->running = FALSE;
LeaveCriticalSection(&This->lock);