[PATCH 1/5] mf/evr: Implement GetMediaTypeCount().
Nikolay Sivov
nsivov at codeweavers.com
Fri Oct 9 05:54:36 CDT 2020
Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---
dlls/mf/evr.c | 9 +++++++--
dlls/mf/tests/mf.c | 9 +++++++++
2 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/dlls/mf/evr.c b/dlls/mf/evr.c
index ac3f17fa585..7567b1a7098 100644
--- a/dlls/mf/evr.c
+++ b/dlls/mf/evr.c
@@ -372,9 +372,14 @@ static HRESULT WINAPI video_stream_typehandler_IsMediaTypeSupported(IMFMediaType
static HRESULT WINAPI video_stream_typehandler_GetMediaTypeCount(IMFMediaTypeHandler *iface, DWORD *count)
{
- FIXME("%p, %p.\n", iface, count);
+ TRACE("%p, %p.\n", iface, count);
- return E_NOTIMPL;
+ if (!count)
+ return E_POINTER;
+
+ *count = 0;
+
+ return S_OK;
}
static HRESULT WINAPI video_stream_typehandler_GetMediaTypeByIndex(IMFMediaTypeHandler *iface, DWORD index,
diff --git a/dlls/mf/tests/mf.c b/dlls/mf/tests/mf.c
index a63c353a4b5..db442453d6d 100644
--- a/dlls/mf/tests/mf.c
+++ b/dlls/mf/tests/mf.c
@@ -3296,6 +3296,15 @@ static void test_evr(void)
ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
ok(IsEqualGUID(&guid, &MFMediaType_Video), "Unexpected type %s.\n", wine_dbgstr_guid(&guid));
+ /* Supported types are not advertised. */
+ hr = IMFMediaTypeHandler_GetMediaTypeCount(type_handler, NULL);
+ ok(hr == E_POINTER, "Unexpected hr %#x.\n", hr);
+
+ count = 1;
+ hr = IMFMediaTypeHandler_GetMediaTypeCount(type_handler, &count);
+ ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+ ok(!count, "Unexpected count %u.\n", count);
+
IMFMediaTypeHandler_Release(type_handler);
/* Stream uses an allocator. */
--
2.28.0
More information about the wine-devel
mailing list