[FFmpeg-trac] #2117(avformat:new): Ogg demuxer producing corrupted Vorbis stream
FFmpeg
trac at avcodec.org
Sun Jan 6 22:49:09 CET 2013
#2117: Ogg demuxer producing corrupted Vorbis stream
--------------------------------------+------------------------------------
Reporter: heleppkes | Owner:
Type: defect | Status: new
Priority: normal | Component: avformat
Version: git-master | Keywords: ogg vorbis
Blocked By: | Blocking:
Reproduced by developer: 0 | Analyzed by developer: 0
--------------------------------------+------------------------------------
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 ([1][0][0][0] / 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.
--
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/2117>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list