[Bug 41833] DirectShow applications: Playback doesn' t finish when playing MP3 files that end in bad data if winegstreamer is disabled

wine-bugs at winehq.org wine-bugs at winehq.org
Mon Nov 28 08:24:44 CST 2016


https://bugs.winehq.org/show_bug.cgi?id=41833

--- Comment #3 from Andrew Eikum <aeikum at codeweavers.com> ---
(In reply to Bruno Jesus from comment #1)
> I can confirm this issue. Wild guesses follow.
> 
> It looks like quartz keeps track of the position the file is now and where
> it should end. The problem with broken MP3 is that they end before what
> quartz expect, in this case quartz keeps trying to pump data but it is
> already past the end of the buffer [2]. Line 204 hits false (there is no
> else) and it proceeds as if nothing wrong happened and the function will
> keep returning hr = 0 (good) forever.
> 

Good analysis. That code could definitely use better error handling.

> A side note: It looks very suspicious to me that the return from
> WaitForMultipleObjects is compared with the number of samples [2], because
> in the situation of the bug the function returns WAIT_TIMEOUT.
> 

Yeah, that's definitely broken. More bad error handling, and that code looks
like a rats nest to try to de-tangle.

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list