Module: wine Branch: master Commit: a2eec346781c2660f057399b943f8923dc1057f4 URL: https://gitlab.winehq.org/wine/wine/-/commit/a2eec346781c2660f057399b943f892...
Author: Zhiyi Zhang zzhang@codeweavers.com Date: Fri Aug 4 17:39:37 2023 +0800
mfmediaengine: Use a mftime_to_seconds() helper to convert time.
---
dlls/mfmediaengine/main.c | 13 ++++++++----- dlls/mfmediaengine/tests/mfmediaengine.c | 1 - 2 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/dlls/mfmediaengine/main.c b/dlls/mfmediaengine/main.c index 2f8addaf873..2ef1cb8413a 100644 --- a/dlls/mfmediaengine/main.c +++ b/dlls/mfmediaengine/main.c @@ -63,6 +63,12 @@ static BOOL mf_array_reserve(void **elements, size_t *capacity, size_t count, si return TRUE; }
+/* Convert 100ns to seconds */ +static double mftime_to_seconds(MFTIME time) +{ + return (double)time / 10000000.0; +} + enum media_engine_mode { MEDIA_ENGINE_INVALID, @@ -1248,10 +1254,7 @@ static HRESULT media_engine_create_topology(struct media_engine *engine, IMFMedi
/* Assume live source if duration was not provided. */ if (SUCCEEDED(IMFPresentationDescriptor_GetUINT64(pd, &MF_PD_DURATION, &duration))) - { - /* Convert 100ns to seconds. */ - engine->duration = duration / 10000000; - } + engine->duration = mftime_to_seconds(duration); else engine->duration = INFINITY;
@@ -1749,7 +1752,7 @@ static double WINAPI media_engine_GetCurrentTime(IMFMediaEngineEx *iface) } else if (SUCCEEDED(IMFPresentationClock_GetTime(engine->clock, &clocktime))) { - ret = (double)clocktime / 10000000.0; + ret = mftime_to_seconds(clocktime); } LeaveCriticalSection(&engine->cs);
diff --git a/dlls/mfmediaengine/tests/mfmediaengine.c b/dlls/mfmediaengine/tests/mfmediaengine.c index 5e32c38d063..7ddc1fa0679 100644 --- a/dlls/mfmediaengine/tests/mfmediaengine.c +++ b/dlls/mfmediaengine/tests/mfmediaengine.c @@ -1961,7 +1961,6 @@ static void test_GetDuration(void) ok(!res, "Unexpected res %#lx.\n", res);
duration = IMFMediaEngineEx_GetDuration(media_engine); - todo_wine ok(compare_double(duration, 0.133467, allowed_error), "Got unexpected duration %lf.\n", duration);
SysFreeString(url);