Michael Müller : amstream: Implement IAMMediaStream:: GetMultiMediaStream for audio.
Module: wine Branch: master Commit: dc732ffa7fb06768656ae1b6070c6a56d186bdf9 URL: http://source.winehq.org/git/wine.git/?a=commit;h=dc732ffa7fb06768656ae1b607... Author: Michael Müller <michael(a)fds-team.de> Date: Sat Apr 30 03:58:55 2016 +0200 amstream: Implement IAMMediaStream::GetMultiMediaStream for audio. Signed-off-by: Michael Müller <michael(a)fds-team.de> Signed-off-by: Sebastian Lackner <sebastian(a)fds-team.de> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- 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 586e00f..0e22537 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 3cdb77f..e026e80 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);
participants (1)
-
Alexandre Julliard