Updates:
Owner: [email protected]
Comment #15 on issue 19917 by [email protected]: still1.ogg and still1.ogv
crash break FFmpegDemuxer::SeekTask in linux.
http://code.google.com/p/chromium/issues/detail?id=19917
Yup, with the patch to FFmpeg there's no more crashing. It was due to
reading a bad
offset withint FFmpeg.
The reason FFmpeg wasn't able to obtain the desired frame is due the
following reasons:
1. oggdec.c doesn't assign data_offset in AVFormatContext which points to
the first
data after the header. Instead the generic FFmpeg code assigns this
position by using
url_ftell() after having obtained a header from oggdec.c. However, due to
how ogg is
formatted, each page carries header and oggdec.c only declares finding a
header after
the first page is decoded. The end results is data_offset is pointing to
the page
behind the first decodable packet. Thus seeking would never go over the
first packet.
2. get_timestamp() in oggdec.c reports the offset to the packet "behind"
the packet
which has the desired timestamp. Thus when you request an offset of a
timestamp, it
always points the packet behind the actual one. Once again, this will
overlook the
actual packet.
After fixing these two problems, seek(0) would really find the first frame
and thus
not crashing again.
--
You received this message because you are listed in the owner
or CC fields of this issue, or because you starred this issue.
You may adjust your issue notification preferences at:
http://code.google.com/hosting/settings
--~--~---------~--~----~------------~-------~--~----~
Automated mail from issue updates at http://crbug.com/
Subscription options: http://groups.google.com/group/chromium-bugs
-~----------~----~----~----~------~----~------~--~---