Opened 7 years ago

Closed 6 years ago

#1251 closed defect (fixed)

AVSEEK_FLAG_ANY fails with attached file

Reported by: DonMoir Owned by:
Priority: normal Component: avformat
Version: git-master Keywords:
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no


I have a normal seek which seeks to a timestamp (not using AVSEEK_FLAG_ANY) and does some additional checking and works for all files tested.

I specialize a seek back to the start of the file as this should not require as much checking. In this case I use AVSEEK_FLAG_ANY as it's essentially a 'don't care' and just get me back to the start of the file.

This has always worked, but using AVSEEK_FLAG_ANY fails to seek with the attached avseek_flag_any_fails.mp4 file. The return value from avformat_seek_file is zero but really it hasn't done anything.

The other files I have including all other mp4 files work fine. If I don't use AVSEEK_FLAG_ANY then I have to deal with files that may not have a first keyframe and the seek will fail on those files.

Because of this file I am back to doing extra checking to make sure I can seek back to start but should not have to.

Can't point you to a failing case with any of the common tools because I don't think any of them use AVSEEK_FLAG_ANY.

Here's the stats on my build:

C:\ffmpeg-dev\bin>ffplay avseek_flag_any_fails.mp4
ffplay version N-40092-g3bbf3f7 Copyright (c) 2003-2012 the FFmpeg developers

built on Apr 24 2012 00:57:29 with gcc 4.6.3
configuration: --disable-static --enable-shared --enable-gpl --enable-version3

--disable-w32threads --enable-runtime-cpudetect --enable-avisynth
--enable-bzlib --enable-frei0r --enable-libass --enable-libcelt
--enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfreetype
--enable-libgsm --enable-libmp3lame --enable-libnut --enable-libopenjpeg
--enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora
--enable-libutvideo --enable-libvo-aacenc --enable-libvo-amrwbenc
--enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs
--enable-libxvid --enable-zlib

libavutil 51. 47.100 / 51. 47.100
libavcodec 54. 15.100 / 54. 15.100
libavformat 54. 3.100 / 54. 3.100
libavdevice 53. 4.100 / 53. 4.100
libavfilter 2. 72.100 / 2. 72.100
libswscale 2. 1.100 / 2. 1.100
libswresample 0. 11.100 / 0. 11.100
libpostproc 52. 0.100 / 52. 0.100

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'avseek_flag_any_fails.mp4':


major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
creation_time : 2009-05-31 17:58:11
encoder : Lavf54.3.100

Duration: 00:00:02.73, start: 0.000000, bitrate: 463 kb/s

Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 320x240,
457 kb/s, 30 fps, 30 tbr, 30 tbn, 60 tbc

creation_time : 2009-05-31 17:58:11
handler_name : VideoHandler?

5.89 A-V: 0.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0 0/0

Attachments (1)

avseek_flag_any_fails.mp4 (154.6 KB) - added by DonMoir 7 years ago.

Download all attachments as: .zip

Change History (3)

Changed 7 years ago by DonMoir

comment:1 Changed 7 years ago by DonMoir

There is something odd about this and I am going to have to check further.

comment:2 Changed 6 years ago by michael

  • Component changed from undetermined to avformat
  • Reproduced by developer set
  • Resolution set to fixed
  • Status changed from new to closed
  • Version changed from unspecified to git-master
Note: See TracTickets for help on using tickets.