winegstreamer: Implement IPin::QueryAccept() for the AVI splitter source.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Zebediah Figura 2020-01-24 19:55:06 -06:00 committed by Alexandre Julliard
parent 533acfb1f6
commit 0401213770
2 changed files with 9 additions and 9 deletions

View File

@ -621,42 +621,42 @@ static void test_media_types(void)
pmt->majortype = GUID_NULL;
hr = IPin_QueryAccept(pin, pmt);
todo_wine ok(hr == S_FALSE, "Got hr %#x.\n", hr);
ok(hr == S_FALSE, "Got hr %#x.\n", hr);
pmt->majortype = MEDIATYPE_Video;
pmt->subtype = GUID_NULL;
hr = IPin_QueryAccept(pin, pmt);
todo_wine ok(hr == S_FALSE, "Got hr %#x.\n", hr);
ok(hr == S_FALSE, "Got hr %#x.\n", hr);
pmt->subtype = MEDIASUBTYPE_I420;
pmt->formattype = GUID_NULL;
hr = IPin_QueryAccept(pin, pmt);
todo_wine ok(hr == S_FALSE, "Got hr %#x.\n", hr);
ok(hr == S_FALSE, "Got hr %#x.\n", hr);
pmt->formattype = FORMAT_None;
hr = IPin_QueryAccept(pin, pmt);
todo_wine ok(hr == S_FALSE, "Got hr %#x.\n", hr);
ok(hr == S_FALSE, "Got hr %#x.\n", hr);
pmt->formattype = FORMAT_VideoInfo;
vih = (VIDEOINFOHEADER *)pmt->pbFormat;
vih->AvgTimePerFrame = 10000;
hr = IPin_QueryAccept(pin, pmt);
todo_wine ok(hr == S_FALSE, "Got hr %#x.\n", hr);
ok(hr == S_FALSE, "Got hr %#x.\n", hr);
vih->AvgTimePerFrame = 1000 * 10000;
vih->dwBitRate = 1000000;
hr = IPin_QueryAccept(pin, pmt);
todo_wine ok(hr == S_FALSE, "Got hr %#x.\n", hr);
ok(hr == S_FALSE, "Got hr %#x.\n", hr);
vih->dwBitRate = 0;
SetRect(&vih->rcSource, 0, 0, 32, 24);
hr = IPin_QueryAccept(pin, pmt);
todo_wine ok(hr == S_FALSE, "Got hr %#x.\n", hr);
ok(hr == S_FALSE, "Got hr %#x.\n", hr);
SetRect(&vih->rcSource, 0, 0, 0, 0);
vih->bmiHeader.biCompression = BI_RGB;
hr = IPin_QueryAccept(pin, pmt);
todo_wine ok(hr == S_FALSE, "Got hr %#x.\n", hr);
ok(hr == S_FALSE, "Got hr %#x.\n", hr);
vih->bmiHeader.biCompression = mmioFOURCC('I','4','2','0');
CoTaskMemFree(pmt->pbFormat);

View File

@ -2377,7 +2377,7 @@ static BOOL avi_splitter_init_gst(struct gstdemux *filter)
static HRESULT avi_splitter_source_query_accept(struct gstdemux_source *pin, const AM_MEDIA_TYPE *mt)
{
return S_OK;
return compare_media_types(mt, &pin->mt) ? S_OK : S_FALSE;
}
IUnknown * CALLBACK avi_splitter_create(IUnknown *outer, HRESULT *phr)