amstream: Implement IAMMediaStream::GetMultiMediaStream for audio.

Signed-off-by: Michael Müller <michael@fds-team.de>
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Michael Müller 2016-04-30 03:58:55 +02:00 committed by Alexandre Julliard
parent c88f4b85bc
commit dc732ffa7f
2 changed files with 12 additions and 9 deletions

View File

@ -523,9 +523,15 @@ static HRESULT WINAPI AudioMediaStreamImpl_IAMMediaStream_GetMultiMediaStream(IA
{ {
AudioMediaStreamImpl *This = impl_from_AudioMediaStream_IAMMediaStream(iface); AudioMediaStreamImpl *This = impl_from_AudioMediaStream_IAMMediaStream(iface);
FIXME("(%p/%p)->(%p) stub!\n", This, iface, multi_media_stream); TRACE("(%p/%p)->(%p)\n", This, iface, multi_media_stream);
return S_FALSE; if (!multi_media_stream)
return E_POINTER;
IMultiMediaStream_AddRef(This->parent);
*multi_media_stream = This->parent;
return S_OK;
} }
static HRESULT WINAPI AudioMediaStreamImpl_IAMMediaStream_GetInformation(IAMMediaStream *iface, static HRESULT WINAPI AudioMediaStreamImpl_IAMMediaStream_GetInformation(IAMMediaStream *iface,

View File

@ -373,16 +373,13 @@ static void test_media_streams(void)
ok((void*)am_media_stream == (void*)audio_stream, "Not same interface, got %p expected %p\n", am_media_stream, audio_stream); ok((void*)am_media_stream == (void*)audio_stream, "Not same interface, got %p expected %p\n", am_media_stream, audio_stream);
hr = IAMMediaStream_GetMultiMediaStream(am_media_stream, NULL); hr = IAMMediaStream_GetMultiMediaStream(am_media_stream, NULL);
todo_wine ok(hr == E_POINTER, "Expected E_POINTER, got %x\n", hr); ok(hr == E_POINTER, "Expected E_POINTER, got %x\n", hr);
multi_media_stream = (void *)0xdeadbeef; multi_media_stream = (void *)0xdeadbeef;
hr = IAMMediaStream_GetMultiMediaStream(am_media_stream, &multi_media_stream); hr = IAMMediaStream_GetMultiMediaStream(am_media_stream, &multi_media_stream);
todo_wine ok(hr == S_OK, "IAMMediaStream_GetMultiMediaStream returned: %x\n", hr); ok(hr == S_OK, "IAMMediaStream_GetMultiMediaStream returned: %x\n", hr);
if (hr == S_OK) ok((void *)multi_media_stream == (void *)pams, "Expected %p, got %p\n", pams, multi_media_stream);
{ IMultiMediaStream_Release(multi_media_stream);
ok((void *)multi_media_stream == (void *)pams, "Expected %p, got %p\n", pams, multi_media_stream);
IMultiMediaStream_Release(multi_media_stream);
}
IAMMediaStream_Release(am_media_stream); IAMMediaStream_Release(am_media_stream);