Opened 4 years ago
Last modified 9 months ago
#6080 new defect
Invalid negative granulepos on Ogg Theora packets reported as wildly large DTS
Reported by: | brion | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | avformat |
Version: | git-master | Keywords: | ogg, theora |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description
Summary of the bug: Ogg Theora packets with invalid negative granulepos end up reporting a wildly large packet DTS in libavformat instead of AV_NOPTS_VALUE when the file is demuxed with libavformat.
This causes downstream problems with ffmpeg2theora, which takes the bogus DTS at face value and may try inserting billions of duplicate frames to make up for lost time.
How to reproduce:
% curl -o bogus.ogv https://upload.wikimedia.org/wikipedia/commons/archive/1/11/20170113175618%21Operating-Mechanism-and-Molecular-Dynamics-of-Pheromone-Binding-Protein-ASP1-as-Influenced-by-pH-pone.0110565.s001.ogv % ./ffprobe -show_packets bogus.ogv | egrep 'dts=\d{5,}' ffmpeg version 3.2.2 (git master) built on 2017-01-13 - Apple LLVM version 8.0.0 (clang-800.0.42.1)
Note: See
TracTickets for help on using
tickets.
Downstream bug at Wikimedia: https://phabricator.wikimedia.org/T155247
Patch submitted to mailing ffmpeg-devel.