Nikolay Sivov : mf: Shutdown SAR sink on ShutdownObject().
Module: wine Branch: master Commit: 693bdc63d40321dcb8ddd5a1fdedd717e7fcbb1a URL: https://source.winehq.org/git/wine.git/?a=commit;h=693bdc63d40321dcb8ddd5a1f... Author: Nikolay Sivov <nsivov(a)codeweavers.com> Date: Wed Apr 22 16:32:12 2020 +0300 mf: Shutdown SAR sink on ShutdownObject(). Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/mf/sar.c | 8 +++++++- dlls/mf/tests/mf.c | 1 - 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/dlls/mf/sar.c b/dlls/mf/sar.c index 86a0c2f36e..bb3eba7eee 100644 --- a/dlls/mf/sar.c +++ b/dlls/mf/sar.c @@ -1569,7 +1569,13 @@ failed: static void sar_shutdown_object(void *user_context, IUnknown *obj) { - /* FIXME: shut down sink */ + IMFMediaSink *sink; + + if (SUCCEEDED(IUnknown_QueryInterface(obj, &IID_IMFMediaSink, (void **)&sink))) + { + IMFMediaSink_Shutdown(sink); + IMFMediaSink_Release(sink); + } } static void sar_free_private(void *user_context) diff --git a/dlls/mf/tests/mf.c b/dlls/mf/tests/mf.c index 62e70954f0..bf62f62f72 100644 --- a/dlls/mf/tests/mf.c +++ b/dlls/mf/tests/mf.c @@ -3079,7 +3079,6 @@ todo_wine ok(hr == S_OK, "Failed to shut down, hr %#x.\n", hr); hr = IMFMediaSink_GetCharacteristics(sink, &flags); -todo_wine ok(hr == MF_E_SHUTDOWN, "Unexpected hr %#x.\n", hr); IMFMediaSink_Release(sink);
participants (1)
-
Alexandre Julliard