[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
Sun Nov 27 01:31:59 CST 2016


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

Bruno Jesus <00cpxxx at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |download
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1
            Summary|DirectShow applications:    |DirectShow applications:
                   |Playback doesn't end when   |Playback doesn't finish
                   |playing some MP3 files if   |when playing MP3 files that
                   |winegstreamer is disabled   |end in bad data if
                   |                            |winegstreamer is disabled
                 CC|                            |aeikum at codeweavers.com
                URL|                            |http://ftp.vector.co.jp/66/
                   |                            |17/3135/MysticStar.zip

--- Comment #1 from Bruno Jesus <00cpxxx at gmail.com> ---
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.

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.

[1] https://source.winehq.org/source/dlls/quartz/mpegsplit.c#0195
[2] https://source.winehq.org/source/dlls/quartz/filesource.c#1191

-- 
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