mf: Return presentation clock properties.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Nikolay Sivov 2019-05-31 13:11:31 +03:00 committed by Alexandre Julliard
parent 34ffec67a7
commit bd2e2141b0
2 changed files with 9 additions and 7 deletions

View File

@ -894,15 +894,10 @@ static HRESULT WINAPI present_clock_GetProperties(IMFPresentationClock *iface, M
TRACE("%p, %p.\n", iface, props); TRACE("%p, %p.\n", iface, props);
EnterCriticalSection(&clock->cs); EnterCriticalSection(&clock->cs);
if (clock->time_source) if (clock->time_source)
{ hr = IMFPresentationTimeSource_GetProperties(clock->time_source, props);
FIXME("%p, %p.\n", iface, props);
hr = E_NOTIMPL;
}
else else
hr = MF_E_CLOCK_NO_TIME_SOURCE; hr = MF_E_CLOCK_NO_TIME_SOURCE;
LeaveCriticalSection(&clock->cs); LeaveCriticalSection(&clock->cs);
return hr; return hr;

View File

@ -1427,9 +1427,9 @@ static void test_presentation_clock(void)
}; };
IMFClockStateSink test_sink = { &test_clock_sink_vtbl }; IMFClockStateSink test_sink = { &test_clock_sink_vtbl };
IMFPresentationTimeSource *time_source; IMFPresentationTimeSource *time_source;
MFCLOCK_PROPERTIES props, props2;
IMFRateControl *rate_control; IMFRateControl *rate_control;
IMFPresentationClock *clock; IMFPresentationClock *clock;
MFCLOCK_PROPERTIES props;
IMFShutdown *shutdown; IMFShutdown *shutdown;
LONGLONG clock_time; LONGLONG clock_time;
MFCLOCK_STATE state; MFCLOCK_STATE state;
@ -1498,11 +1498,18 @@ todo_wine
hr = IMFPresentationClock_SetTimeSource(clock, time_source); hr = IMFPresentationClock_SetTimeSource(clock, time_source);
ok(hr == S_OK, "Failed to set time source, hr %#x.\n", hr); 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); hr = IMFPresentationClock_GetClockCharacteristics(clock, &value);
ok(hr == S_OK, "Failed to get clock flags, hr %#x.\n", hr); 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), ok(value == (MFCLOCK_CHARACTERISTICS_FLAG_FREQUENCY_10MHZ | MFCLOCK_CHARACTERISTICS_FLAG_IS_SYSTEM_CLOCK),
"Unexpected clock flags %#x.\n", value); "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. */ /* State changes. */
for (i = 0; i < ARRAY_SIZE(clock_state_change); ++i) for (i = 0; i < ARRAY_SIZE(clock_state_change); ++i)
{ {