This probably suppresses !3067
-- v2: mf: Shutdown media sinks before releasing them.
From: Yuxuan Shui yshui@codeweavers.com
--- dlls/mf/session.c | 7 +++++++ 1 file changed, 7 insertions(+)
diff --git a/dlls/mf/session.c b/dlls/mf/session.c index b5b631fb00a..e3f6612b487 100644 --- a/dlls/mf/session.c +++ b/dlls/mf/session.c @@ -846,7 +846,14 @@ static void session_clear_presentation(struct media_session *session) list_remove(&sink->entry);
if (sink->sink) + { + /* The way we use media sinks, makes them hold references to themselves. For example, + * we call `BeginGetEvent` on `IMFMediaEventGenerator`s with the generators themselves + * as states. This creates reference cycles which must be broken by calling + * `IMFMediaSink_Shutdown`, to prevent references from leaking. */ + IMFMediaSink_Shutdown(sink->sink); IMFMediaSink_Release(sink->sink); + } if (sink->preroll) IMFMediaSinkPreroll_Release(sink->preroll); if (sink->event_generator)
Hi,
It looks like your patch introduced the new failures shown below. Please investigate and fix them before resubmitting your patch. If they are not new, fixing them anyway would help a lot. Otherwise please ask for the known failures list to be updated.
The tests also ran into some preexisting test failures. If you know how to fix them that would be helpful. See the TestBot job for the details:
The full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=139032
Your paranoid android.
=== debian11 (32 bit report) ===
mf: mf.c:1705: Test failed: Unexpected call. mf.c:1705: Test failed: Unexpected call. mf.c:1705: Test failed: Unexpected call. mf.c:1705: Test failed: Unexpected call. mf.c:1705: Test failed: Unexpected call. mf.c:1705: Test failed: Unexpected call. mf.c:1705: Test failed: Unexpected call.
=== debian11b (64 bit WoW report) ===
mf: mf.c:1705: Test failed: Unexpected call. mf.c:1705: Test failed: Unexpected call. mf.c:1705: Test failed: Unexpected call. mf.c:1705: Test failed: Unexpected call. mf.c:1705: Test failed: Unexpected call. mf.c:1705: Test failed: Unexpected call. mf.c:1705: Test failed: Unexpected call.
update to fix styling
I mean, it feels reasonable to do this, but Nikolay knows more than I do. :smile:
On Wed Oct 25 10:05:06 2023 +0000, Bernhard Kölbl wrote:
I mean, it feels reasonable to do this, but Nikolay knows more than I do. :smile:
i feel this is not that simple. i need to write a test case for this.
uh, sorry this MR is the same as !3067. i went the long way around and arrived at the same place :/
at least my understanding of mf and the problem is better now.
the real problem i need to fix is the dead lock when trying to acquire `&grabber->cs`.
This merge request was closed by Yuxuan Shui.