From dc732ffa7fb06768656ae1b6070c6a56d186bdf9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Sat, 30 Apr 2016 03:58:55 +0200 Subject: [PATCH] amstream: Implement IAMMediaStream::GetMultiMediaStream for audio. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Michael Müller Signed-off-by: Sebastian Lackner Signed-off-by: Alexandre Julliard --- dlls/amstream/mediastream.c | 10 ++++++++-- dlls/amstream/tests/amstream.c | 11 ++++------- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/dlls/amstream/mediastream.c b/dlls/amstream/mediastream.c index 586e00f4fb2..0e2253723b7 100644 --- a/dlls/amstream/mediastream.c +++ b/dlls/amstream/mediastream.c @@ -523,9 +523,15 @@ static HRESULT WINAPI AudioMediaStreamImpl_IAMMediaStream_GetMultiMediaStream(IA { 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, diff --git a/dlls/amstream/tests/amstream.c b/dlls/amstream/tests/amstream.c index 3cdb77fc631..e026e800a8f 100644 --- a/dlls/amstream/tests/amstream.c +++ b/dlls/amstream/tests/amstream.c @@ -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); 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; hr = IAMMediaStream_GetMultiMediaStream(am_media_stream, &multi_media_stream); - todo_wine 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(hr == S_OK, "IAMMediaStream_GetMultiMediaStream returned: %x\n", hr); + 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);