Updates: Owner: hc...@chromium.org Comment #15 on issue 19917 by hc...@chromium.org: 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 -~----------~----~----~----~------~----~------~--~---