[PATCH 0/1] MR8520: quartz: Decommit the allocator before entering the streaming CS in AVIDec.
This prevents a deadlock when the streaming thread is waiting for a buffer in avi_decompressor_sink_Receive(). Reproducible in Earth 2150 - Escape from the Blue Planet (GOG) when trying to skip the intro video and in Commandos 2 - Men of Courage (GOG). -- https://gitlab.winehq.org/wine/wine/-/merge_requests/8520
From: Anton Baskanov <baskanov(a)gmail.com> This prevents a deadlock when the streaming thread is waiting for a buffer in avi_decompressor_sink_Receive(). Reproducible in Earth 2150 - Escape from the Blue Planet (GOG) when trying to skip the intro video and in Commandos 2 - Men of Courage (GOG). --- dlls/quartz/avidec.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dlls/quartz/avidec.c b/dlls/quartz/avidec.c index 0bb526b6d65..9f1a7db1586 100644 --- a/dlls/quartz/avidec.c +++ b/dlls/quartz/avidec.c @@ -649,6 +649,8 @@ static HRESULT avi_decompressor_cleanup_stream(struct strmbase_filter *iface) if (!filter->source.pin.peer) return S_OK; + IMemAllocator_Decommit(filter->source.pAllocator); + if (filter->hvid) { EnterCriticalSection(&filter->filter.stream_cs); @@ -661,8 +663,6 @@ static HRESULT avi_decompressor_cleanup_stream(struct strmbase_filter *iface) } } - IMemAllocator_Decommit(filter->source.pAllocator); - return S_OK; } -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/8520
This merge request was approved by Elizabeth Figura. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/8520
Oops, I even had this one and forgot to send it >_< -- https://gitlab.winehq.org/wine/wine/-/merge_requests/8520#note_109175
participants (3)
-
Anton Baskanov -
Anton Baskanov (@baskanov) -
Elizabeth Figura (@zfigura)