id,summary,reporter,owner,description,type,status,priority,component,version,resolution,keywords,cc,blockedby,blocking,reproduced,analyzed
2282,Failed seeks lead to undefined behavior,gjdfgh,,"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

}}}
",defect,open,normal,avformat,git-master,,flac,onemda@…,,,1,0
