diff --git a/dlls/mfmediaengine/main.c b/dlls/mfmediaengine/main.c index 27f6a26d6b7..55585b8b826 100644 --- a/dlls/mfmediaengine/main.c +++ b/dlls/mfmediaengine/main.c @@ -1338,7 +1338,9 @@ static HRESULT WINAPI media_engine_GetNativeVideoSize(IMFMediaEngine *iface, DWO EnterCriticalSection(&engine->cs); - if (!engine->video_frame.size.cx && !engine->video_frame.size.cy) + if (engine->flags & FLAGS_ENGINE_SHUT_DOWN) + hr = MF_E_SHUTDOWN; + else if (!engine->video_frame.size.cx && !engine->video_frame.size.cy) hr = E_FAIL; else { diff --git a/dlls/mfmediaengine/tests/mfmediaengine.c b/dlls/mfmediaengine/tests/mfmediaengine.c index 2f062741f60..f9f8fed4a74 100644 --- a/dlls/mfmediaengine/tests/mfmediaengine.c +++ b/dlls/mfmediaengine/tests/mfmediaengine.c @@ -379,7 +379,6 @@ todo_wine ok(!state, "Unexpected state.\n"); hr = IMFMediaEngine_GetNativeVideoSize(media_engine, &cx, &cy); -todo_wine ok(hr == MF_E_SHUTDOWN, "Unexpected hr %#x.\n", hr); hr = IMFMediaEngine_GetVideoAspectRatio(media_engine, &cx, &cy);