amstream: Implement IAMMediaStream::GetMultiMediaStream for video.

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>
oldstable
Michael Müller 2016-04-30 03:56:38 +02:00 committed by Alexandre Julliard
parent 04c3a9bad2
commit 0dc09c032d
2 changed files with 12 additions and 9 deletions

View File

@ -110,9 +110,15 @@ static HRESULT WINAPI DirectDrawMediaStreamImpl_IAMMediaStream_GetMultiMediaStre
{
DirectDrawMediaStreamImpl *This = impl_from_DirectDrawMediaStream_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 DirectDrawMediaStreamImpl_IAMMediaStream_GetInformation(IAMMediaStream *iface,

View File

@ -263,16 +263,13 @@ static void test_media_streams(void)
ok((void*)am_media_stream == (void*)video_stream, "Not same interface, got %p expected %p\n", am_media_stream, video_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);