Ticket #2117 (closed defect: fixed)
Ogg demuxer producing corrupted Vorbis stream
|Reported by:||heleppkes||Owned by:|
|Version:||git-master||Keywords:||ogg vorbis regression|
|Blocking:||Reproduced by developer:||yes|
|Analyzed by developer:||yes|
Summary of the bug:
The avformat Ogg demuxer produces a corrupted Vorbis stream, which when decoded results in only broken audio in a specific sample.
How to reproduce:
Easily reproducable with ffplay/ffmpeg and the attached sample.
The resulting playback/output file only contains corrupted audio.
% ffmpeg -v 9 -logleve 99 -i skyplus_hi.ogg out.wav ffmpeg version N-48515-g2713e43 Copyright (c) 2000-2013 the FFmpeg developers built on Jan 6 2013 22:43:40 with gcc 4.7.2 (GCC) configuration: libavutil 52. 13.100 / 52. 13.100 libavcodec 54. 86.100 / 54. 86.100 libavformat 54. 59.106 / 54. 59.106 libavdevice 54. 3.102 / 54. 3.102 libavfilter 3. 32.100 / 3. 32.100 libswscale 2. 1.103 / 2. 1.103 libswresample 0. 17.102 / 0. 17.102 Splitting the commandline. Reading option '-v' ... matched as option 'v' (set libav* logging level) with argument '9'. Reading option '-loglevel' ... matched as option 'loglevel' (set libav* logging level) with argument '99'. Reading option '-i' ... matched as input file with argument '../skyplus_hi.ogg'. Reading option 'bug.wav' ... matched as output file. Finished splitting the commandline. Parsing a group of options: global . Applying option v (set libav* logging level) with argument 9. Successfully parsed a group of options. Parsing a group of options: input file ../skyplus_hi.ogg. Successfully parsed a group of options. Opening an input file: ../skyplus_hi.ogg. [ogg @ 0182BC00] Format ogg probed with size=2048 and score=100 [ogg @ 0182BC00] File position before avformat_find_stream_info() is 4519 [ogg @ 0182BC00] All info found [ogg @ 0182BC00] File position after avformat_find_stream_info() is 4519 Input #0, ogg, from '../skyplus_hi.ogg': Duration: 00:02:04.60, start: 0.000000, bitrate: 31 kb/s Stream #0:0, 1, 1/44100: Audio: vorbis, 44100 Hz, stereo, fltp, 128 kb/s Metadata: GENRE : Other ENCODEDBY : Free Mp3 Wma Converter DATE : 2011 track : 1 Successfully openened the file. Parsing a group of options: output file bug.wav. Successfully parsed a group of options. Opening an output file: bug.wav. Successfully openened the file. [abuffer @ 0182F0E0] Setting entry with key 'time_base' to value '1/44100' [abuffer @ 0182F0E0] Setting entry with key 'sample_rate' to value '44100' [abuffer @ 0182F0E0] Setting entry with key 'sample_fmt' to value 'fltp' [abuffer @ 0182F0E0] Setting entry with key 'channel_layout' to value '0x3' [graph 0 input from stream 0:0 @ 014D75C0] tb:1/44100 samplefmt:fltp samplerate:44100 chlayout:0x3 [aformat @ 01500B40] Setting entry with key 'sample_fmts' to value 's16' [audio format for output stream 0:0 @ 0182F3C0] auto-inserting filter 'auto-inserted resampler 0' between the filter 'Parsed_anull_0' and the filter 'audio format for output stream 0:0' [auto-inserted resampler 0 @ 0182F6C0] chl:stereo fmt:fltp r:44100Hz -> chl:stereo fmt:s16 r:44100Hz Output #0, wav, to 'bug.wav': Metadata: ISFT : Lavf54.59.106 Stream #0:0, 0, 1/44100: Audio: pcm_s16le ( / 0x0001), 44100 Hz, stereo, s16, 1411 kb/s Metadata: GENRE : Other ENCODEDBY : Free Mp3 Wma Converter DATE : 2011 track : 1 Stream mapping: Stream #0:0 -> #0:0 (vorbis -> pcm_s16le) Press [q] to stop, [?] for help [output stream 0:0 @ 0182F2A0] EOF on sink link output stream 0:0:default. No more output streams to write to, finishing. size= 5375kB time=00:02:04.59 bitrate= 353.4kbits/s video:0kB audio:5375kB subtitle:0 global headers:0kB muxing overhead 0.001453% [AVIOContext @ 0182C1C0] Statistics: 592033 bytes read, 3 seeks
This problem was actually fixed in f63412f by Justin, however a follow up change by Michael in ca4a3f4 (and following changes to oggparsevorbis.c) broke it again. Reverting the changes in ca4a3f4 on top of master does no longer fix the problem, however performing a checkout of ca4a3f4 and then reverting the commit in that tree does solve it, which shows that Justings original fix worked, and suggests the changes after ca4a3f4 broke it in other ways even more.
- Keywords regression added
- Priority changed from normal to important
- Status changed from new to open
- Reproduced by developer set