[FFmpeg-trac] #941(avformat:open): Seek problems with ogg decoder
FFmpeg
trac at avcodec.org
Sat Feb 4 15:36:12 CET 2012
#941: Seek problems with ogg decoder
------------------------------------+------------------------------------
Reporter: DonMoir | Owner:
Type: defect | Status: open
Priority: normal | Component: avformat
Version: git-master | Resolution:
Keywords: ogg seek | Blocked By:
Blocking: | Reproduced by developer: 1
Analyzed by developer: 0 |
------------------------------------+------------------------------------
Comment (by reimar):
> the index_entries table which have not been created but should be in the
ogg_read_seek function
This is nonsense, there is no need for any index entries at that point,
and your method of creating them has O(n) performance.
What happens is that FFmpeg falls back to seeking via read_timestamp,
which can seek without index with O(log(n)) performance.
The problem however is that read_timestamp randomly fails due to a bug:
> [ogg @ 0003B000] read_timestamp() failed in the middle
This can cause all kinds of issues like seeking completely failing or
degrading to O(n*n) performance.
Worse, that bug can even for a single byte of corruption cause the Ogg
demuxer to suddenly start discarding all following data from a stream for
no good reason at all.
Patch to fix this bug is on the ffmpeg-devel list ([PATCH] Fix potential
infinite discard loop.).
--
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/941#comment:7>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list