[FFmpeg-trac] #2932(avformat:closed): w64: fail to decode
FFmpeg
trac at avcodec.org
Tue Sep 3 02:49:39 CEST 2013
#2932: w64: fail to decode
-------------------------------------+-------------------------------------
Reporter: ami_stuff | Owner:
Type: defect | Status: closed
Priority: important | Component: avformat
Version: git-master | Resolution: fixed
Keywords: w64 | Blocked By:
regression | Reproduced by developer: 1
Blocking: |
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
Comment (by jamal):
The fix is wrong, or it at least is not a proper one.
What needs to be changed is the last avio_skip() from summarylist
from
{{{
avio_skip(pb, end - avio_tell(pb))
}}}
to
{{{
avio_skip(pb, end - avio_tell(pb) - 24)
}}}
Check the sample with an hex editor. The size for the summarylist chunk is
reported as 200.
As things are right now (Commit 79b70e47a46305), after the avio_skip()
from summarylist the next (and unknown) GUID is
"0x08000000280000000004000000030000" with size 2097153, then after that
one is skipped the next GUID is "0xede0d800e9ddd900ebdedc00ece0de00" with
size 57641763956315878, which is of course nonsense.
If you add the "- 24" to summarylist's avio_skip(), the unknown GUID that
comes after summarylist becomes "0x25ca2c61bb92554c84087bda2f15bd27" and
the size 3145800, which after skipping the aviocontext will point exactly
to EOF.
That single unknown GUID is the BMP file ami_stuff mentioned.
--
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/2932#comment:3>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list