[FFmpeg-trac] #2282(undetermined:new): Failed seeks lead to undefined behavior
FFmpeg
trac at avcodec.org
Mon Feb 18 23:42:24 CET 2013
#2282: Failed seeks lead to undefined behavior
-------------------------------------+-------------------------------------
Reporter: gjdfgh | Type: defect
Status: new | Priority: normal
Component: | Version:
undetermined | unspecified
Keywords: | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
Play a .flac file with ffplay. Right at the start, hit the cursor-right
and cursor-down key multiple times. Then ffplay prints some error
messages, and the printed playback position doesn't actually match what
you hear.
Specifically, it prints decoder errors after an (obviously) failed seek.
This indicates a problem with demuxer behavior and/or the seek API. (And
if not, it's a ffplay bug.)
On IRC, it was said that failed seeks leave the demuxer in an undefined
state.
{{{
$ ffplay test.flac
ffplay version 1.0.3 Copyright (c) 2003-2012 the FFmpeg developers
built on Jan 24 2013 14:52:18 with gcc 4.7 (Debian 4.7.2-5)
configuration: --prefix=/usr --extra-cflags='-g -O2 -fstack-protector
--param=ssp-buffer-size=4 -Wformat -Werror=format-security ' --extra-
ldflags='-Wl,-z,relro' --cc='ccache cc' --enable-shared --enable-
libmp3lame --enable-gpl --enable-nonfree --enable-libvorbis --enable-
pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-
x11grab --enable-libgsm --enable-libtheora --enable-libopencore-amrnb
--enable-libopencore-amrwb --enable-libx264 --enable-libspeex --enable-
nonfree --disable-stripping --enable-libvpx --enable-libschroedinger
--disable-encoder=libschroedinger --enable-version3 --enable-libopenjpeg
--enable-librtmp --enable-avfilter --enable-libfreetype --enable-libvo-
aacenc --disable-decoder=amrnb --enable-libvo-amrwbenc --enable-libaacplus
--libdir=/usr/lib/i386-linux-gnu --disable-vda --enable-libbluray
--enable-libcdio --enable-gnutls --enable-frei0r --enable-openssl
--enable-libass --enable-libopus --enable-fontconfig --enable-libdc1394
--disable-altivec --disable-armv5te --disable libavutil 51. 73.101 /
51. 73.101
libavcodec 54. 59.100 / 54. 59.100
libavformat 54. 29.104 / 54. 29.104
libavdevice 54. 2.101 / 54. 2.101
libavfilter 3. 17.100 / 3. 17.100
libswscale 2. 1.101 / 2. 1.101
libswresample 0. 15.100 / 0. 15.100
libpostproc 52. 0.100 / 52. 0.100
[flac @ 0x80e0620] max_analyze_duration 5000000 reached at 5015510
Input #0, flac, from 'test.flac':
Metadata:
ENCODER : Lavf54.29.104
Duration: 00:10:01.48, bitrate: 1186 kb/s
Stream #0:0: Audio: flac, 44100 Hz, stereo, s16
test.flac: error while seeking= 47KB vq= 0KB sq= 0B f=0/0
[flac @ 0x80e8a80] invalid sync codeKB vq= 0KB sq= 0B f=0/0
[flac @ 0x80e8a80] invalid frame header
[flac @ 0x80e8a80] decode_frame() failed
[flac @ 0x80e8a80] invalid sync codeKB vq= 0KB sq= 0B f=0/0
[flac @ 0x80e8a80] invalid frame header
[flac @ 0x80e8a80] decode_frame() failed
}}}
--
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/2282>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list