amstream: Return E_POINTER on NULL stream in IMediaStreamFilter::GetMediaStream().

Signed-off-by: Gijs Vermeulen <gijsvrm@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Gijs Vermeulen 2020-07-03 14:41:13 +02:00 committed by Alexandre Julliard
parent 5042687d01
commit a2fe0d5759
2 changed files with 9 additions and 2 deletions

View file

@ -513,6 +513,9 @@ static HRESULT WINAPI filter_GetMediaStream(IMediaStreamFilter *iface, REFMSPID
TRACE("(%p)->(%s,%p)\n", iface, debugstr_guid(idPurpose), ppMediaStream);
if (!ppMediaStream)
return E_POINTER;
for (i = 0; i < This->nb_streams; i++)
{
IAMMediaStream_GetInformation(This->streams[i], &purpose_id, NULL);

View file

@ -701,9 +701,13 @@ static void test_add_stream(void)
ok(hr == S_FALSE, "Got hr %#x.\n", hr);
hr = IAMMultiMediaStream_GetMediaStream(mmstream, &MSPID_PrimaryAudio, NULL);
todo_wine ok(hr == E_POINTER, "Got hr %#x.\n", hr);
ok(hr == E_POINTER, "Got hr %#x.\n", hr);
hr = IMediaStreamFilter_GetMediaStream(stream_filter, &MSPID_PrimaryAudio, NULL);
todo_wine ok(hr == E_POINTER, "Got hr %#x.\n", hr);
ok(hr == E_POINTER, "Got hr %#x.\n", hr);
hr = IAMMultiMediaStream_GetMediaStream(mmstream, &MSPID_PrimaryVideo, NULL);
ok(hr == E_POINTER, "Got hr %#x.\n", hr);
hr = IMediaStreamFilter_GetMediaStream(stream_filter, &MSPID_PrimaryVideo, NULL);
ok(hr == E_POINTER, "Got hr %#x.\n", hr);
check_enum_stream(mmstream, stream_filter, 0, NULL);