From bd2e2141b0031ca5d0dc11f95effac3cc40b9c23 Mon Sep 17 00:00:00 2001 From: Nikolay Sivov Date: Fri, 31 May 2019 13:11:31 +0300 Subject: [PATCH] mf: Return presentation clock properties. Signed-off-by: Nikolay Sivov Signed-off-by: Alexandre Julliard --- dlls/mf/session.c | 7 +------ dlls/mf/tests/mf.c | 9 ++++++++- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/dlls/mf/session.c b/dlls/mf/session.c index 9c2826f8e55..14aac774705 100644 --- a/dlls/mf/session.c +++ b/dlls/mf/session.c @@ -894,15 +894,10 @@ static HRESULT WINAPI present_clock_GetProperties(IMFPresentationClock *iface, M TRACE("%p, %p.\n", iface, props); EnterCriticalSection(&clock->cs); - if (clock->time_source) - { - FIXME("%p, %p.\n", iface, props); - hr = E_NOTIMPL; - } + hr = IMFPresentationTimeSource_GetProperties(clock->time_source, props); else hr = MF_E_CLOCK_NO_TIME_SOURCE; - LeaveCriticalSection(&clock->cs); return hr; diff --git a/dlls/mf/tests/mf.c b/dlls/mf/tests/mf.c index e07c82486be..b710d0a13dd 100644 --- a/dlls/mf/tests/mf.c +++ b/dlls/mf/tests/mf.c @@ -1427,9 +1427,9 @@ static void test_presentation_clock(void) }; IMFClockStateSink test_sink = { &test_clock_sink_vtbl }; IMFPresentationTimeSource *time_source; + MFCLOCK_PROPERTIES props, props2; IMFRateControl *rate_control; IMFPresentationClock *clock; - MFCLOCK_PROPERTIES props; IMFShutdown *shutdown; LONGLONG clock_time; MFCLOCK_STATE state; @@ -1498,11 +1498,18 @@ todo_wine hr = IMFPresentationClock_SetTimeSource(clock, time_source); ok(hr == S_OK, "Failed to set time source, hr %#x.\n", hr); + hr = IMFPresentationTimeSource_GetProperties(time_source, &props2); + ok(hr == S_OK, "Failed to get time source properties, hr %#x.\n", hr); + hr = IMFPresentationClock_GetClockCharacteristics(clock, &value); ok(hr == S_OK, "Failed to get clock flags, hr %#x.\n", hr); ok(value == (MFCLOCK_CHARACTERISTICS_FLAG_FREQUENCY_10MHZ | MFCLOCK_CHARACTERISTICS_FLAG_IS_SYSTEM_CLOCK), "Unexpected clock flags %#x.\n", value); + hr = IMFPresentationClock_GetProperties(clock, &props); + ok(hr == S_OK, "Failed to get clock properties, hr %#x.\n", hr); + ok(!memcmp(&props, &props2, sizeof(props)), "Unexpected clock properties.\n"); + /* State changes. */ for (i = 0; i < ARRAY_SIZE(clock_state_change); ++i) {