#8686: mpegts unexpected "Unable to seek back to the start" ----------------------------------+-------------------------------------- Reporter: dista | Type: defect Status: new | Priority: normal Component: avformat | Version: git-master Keywords: | Blocked By: Blocking: | Reproduced by developer: 0 Analyzed by developer: 0 | ----------------------------------+-------------------------------------- Input is mpegts over srt stream, sometimes it logs "Unable to seek back to the start" in the beginning. After debugging, I think it is caused by mpegts.c's get_packet_size() function.
here is what happend: 1. it call avio_read_partial(), and get 1316 bytes 2. it calculate score=7, dvhs=2(maybe some 0x47 in middle),fec_score=2 3. because score(7) == margin(2+5), it need to go to next round 4. it call avio_read_partial(), but in that function "len=s->buf_end - s->buf_ptr" just equals 0, so it run "s->buf_end = s->buf_ptr = s->buffer", after that the data in buffer is dropped. 5. after that, it will call seek_back(), and because we dropped data in buffer, we can not seek back. I can remove "s->buf_end = s->buf_ptr = s->buffer" in avio_read_partial() to fix this problem, but it may break other things. -- Ticket URL: <https://trac.ffmpeg.org/ticket/8686> FFmpeg <https://ffmpeg.org> FFmpeg issue tracker _______________________________________________ FFmpeg-trac mailing list FFmpeg-trac@avcodec.org https://ffmpeg.org/mailman/listinfo/ffmpeg-trac To unsubscribe, visit link above, or email ffmpeg-trac-requ...@ffmpeg.org with subject "unsubscribe".