[PATCH 1/3] mf: Set clipping window attribute for EVR activator.
Nikolay Sivov
nsivov at codeweavers.com
Fri Jun 19 08:36:27 CDT 2020
Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---
dlls/mf/main.c | 8 +++++++-
dlls/mf/tests/mf.c | 11 ++++++++++-
include/mfidl.idl | 2 ++
3 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/dlls/mf/main.c b/dlls/mf/main.c
index 15c9e5e3c9a..3546caa6912 100644
--- a/dlls/mf/main.c
+++ b/dlls/mf/main.c
@@ -1291,12 +1291,18 @@ static const struct activate_funcs evr_activate_funcs =
HRESULT WINAPI MFCreateVideoRendererActivate(HWND hwnd, IMFActivate **activate)
{
+ HRESULT hr;
+
TRACE("%p, %p.\n", hwnd, activate);
if (!activate)
return E_POINTER;
- return create_activation_object(hwnd, &evr_activate_funcs, activate);
+ hr = create_activation_object(hwnd, &evr_activate_funcs, activate);
+ if (SUCCEEDED(hr))
+ IMFActivate_SetUINT64(*activate, &MF_ACTIVATE_VIDEO_WINDOW, (ULONG_PTR)hwnd);
+
+ return hr;
}
struct simple_type_handler
diff --git a/dlls/mf/tests/mf.c b/dlls/mf/tests/mf.c
index c79ae69f91d..d252bab9b3b 100644
--- a/dlls/mf/tests/mf.c
+++ b/dlls/mf/tests/mf.c
@@ -3228,7 +3228,8 @@ static void test_evr(void)
{
IMFMediaSink *sink, *sink2;
IMFActivate *activate;
- DWORD flags;
+ DWORD flags, count;
+ UINT64 value;
HRESULT hr;
hr = CoInitialize(NULL);
@@ -3240,6 +3241,14 @@ static void test_evr(void)
hr = MFCreateVideoRendererActivate(NULL, &activate);
ok(hr == S_OK, "Failed to create activate object, hr %#x.\n", hr);
+ hr = IMFActivate_GetCount(activate, &count);
+ ok(hr == S_OK, "Failed to get attribute count, hr %#x.\n", hr);
+ ok(count == 1, "Unexpected count %u.\n", count);
+
+ hr = IMFActivate_GetUINT64(activate, &MF_ACTIVATE_VIDEO_WINDOW, &value);
+ ok(hr == S_OK, "Failed to get attribute, hr %#x.\n", hr);
+ ok(!value, "Unexpected value.\n");
+
hr = IMFActivate_ActivateObject(activate, &IID_IMFMediaSink, (void **)&sink);
todo_wine
ok(hr == S_OK, "Failed to activate, hr %#x.\n", hr);
diff --git a/include/mfidl.idl b/include/mfidl.idl
index 89b1bdd05b8..2955d0d2f3b 100644
--- a/include/mfidl.idl
+++ b/include/mfidl.idl
@@ -1151,4 +1151,6 @@ cpp_quote("EXTERN_GUID(MF_AUDIO_RENDERER_ATTRIBUTE_ENDPOINT_ID, 0xb10aaec3, 0xef
cpp_quote("EXTERN_GUID(MF_AUDIO_RENDERER_ATTRIBUTE_ENDPOINT_ROLE, 0x6ba644ff, 0x27c5, 0x4d02, 0x98, 0x87, 0xc2, 0x86, 0x19, 0xfd, 0xb9, 0x1b);")
cpp_quote("EXTERN_GUID(MF_AUDIO_RENDERER_ATTRIBUTE_STREAM_CATEGORY, 0xa9770471, 0x92ec, 0x4df4, 0x94, 0xfe, 0x81, 0xc3, 0x6f, 0x0c, 0x3a, 0x7a);")
+cpp_quote("EXTERN_GUID(MF_ACTIVATE_VIDEO_WINDOW, 0x9a2dbbdd, 0xf57e, 0x4162, 0x82, 0xb9, 0x68, 0x31, 0x37, 0x76, 0x82, 0xd3);")
+
cpp_quote("EXTERN_GUID(CLSID_VideoProcessorMFT, 0x88753b26, 0x5b24, 0x49bd, 0xb2, 0xe7, 0xc, 0x44, 0x5c, 0x78, 0xc9, 0x82);")
--
2.27.0
More information about the wine-devel
mailing list