From ecb7c90131a021c163521d6a154775074ec9a2dd Mon Sep 17 00:00:00 2001 From: Zebediah Figura Date: Thu, 23 Dec 2021 00:35:13 -0600 Subject: [PATCH] qcap/avimux: Implement source_query_accept(). Signed-off-by: Zebediah Figura Signed-off-by: Alexandre Julliard --- dlls/qcap/avimux.c | 7 +++++-- dlls/qcap/tests/avimux.c | 5 +++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/dlls/qcap/avimux.c b/dlls/qcap/avimux.c index c3dbf71d2da..fe4add83b7c 100644 --- a/dlls/qcap/avimux.c +++ b/dlls/qcap/avimux.c @@ -1110,9 +1110,12 @@ static HRESULT source_query_interface(struct strmbase_pin *iface, REFIID iid, vo return S_OK; } -static HRESULT source_query_accept(struct strmbase_pin *base, const AM_MEDIA_TYPE *amt) +static HRESULT source_query_accept(struct strmbase_pin *iface, const AM_MEDIA_TYPE *mt) { - FIXME("(%p) stub\n", base); + if (!IsEqualGUID(&mt->majortype, &GUID_NULL) && !IsEqualGUID(&mt->majortype, &MEDIATYPE_Stream)) + return S_FALSE; + if (!IsEqualGUID(&mt->subtype, &GUID_NULL) && !IsEqualGUID(&mt->subtype, &MEDIASUBTYPE_Avi)) + return S_FALSE; return S_OK; } diff --git a/dlls/qcap/tests/avimux.c b/dlls/qcap/tests/avimux.c index 3f43ff569cf..70575281cee 100644 --- a/dlls/qcap/tests/avimux.c +++ b/dlls/qcap/tests/avimux.c @@ -468,6 +468,7 @@ static void test_media_types(void) pmt->bFixedSizeSamples = FALSE; pmt->bTemporalCompression = TRUE; pmt->lSampleSize = 123; + pmt->formattype = FORMAT_VideoInfo; hr = IPin_QueryAccept(pin, pmt); ok(hr == S_OK, "Got hr %#x.\n", hr); @@ -476,7 +477,7 @@ static void test_media_types(void) ok(hr == S_OK, "Got hr %#x.\n", hr); pmt->majortype = MEDIATYPE_Video; 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_Stream; pmt->subtype = GUID_NULL; @@ -484,7 +485,7 @@ static void test_media_types(void) ok(hr == S_OK, "Got hr %#x.\n", hr); pmt->subtype = MEDIASUBTYPE_RGB8; 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_Avi; CoTaskMemFree(pmt);