Opened 12 years ago

#2094 new defect

Forward seeking in svq3-in-mov impossible

Reported by: Carl Eugen Hoyos Owned by:
Priority: normal Component: undetermined
Version: git-master Keywords: mov svq3 seek
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Reported in ticket #296.
Seeking forward by pressing "right" with ffplay (and mplayer -demuxer lavf) fails badly with attached sample. Seeking with the mouse works fine, seeking back also appears to work (at least with ffplay, mplayer -demuxer lavf always seeks back to the start of the file).

$ ffplay first_keyframe_only_confused.mov
ffplay version N-48385-g5ed5e90 Copyright (c) 2003-2013 the FFmpeg developers
  built on Jan  1 2013 21:30:44 with gcc 4.7 (SUSE Linux)
  configuration: --enable-gpl --disable-indev=jack
  libavutil      52. 13.100 / 52. 13.100
  libavcodec     54. 85.100 / 54. 85.100
  libavformat    54. 59.100 / 54. 59.100
  libavdevice    54.  3.102 / 54.  3.102
  libavfilter     3. 30.102 /  3. 30.102
  libswscale      2.  1.103 /  2.  1.103
  libswresample   0. 17.102 /  0. 17.102
  libpostproc    52.  2.100 / 52.  2.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f16200008c0] max_analyze_duration 5000000 reached at 5000000
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'first_keyframe_only_confused.mov':
  Metadata:
    creation_time   : 2002-05-28 16:40:20
    encoder         : Encoded with Cleaner 5
    encoder-eng     : Encoded with Cleaner 5
  Duration: 00:00:13.03, bitrate: 389 kb/s
    Stream #0:0(eng): Video: svq3 (SVQ3 / 0x33515653), yuvj420p, 320x240, 388 kb/s, 30 fps, 30 tbr, 600 tbn, 600 tbc
    Metadata:
      creation_time   : 2002-05-28 16:40:20
      handler_name    : Apple Alias Data Handler
Frame changed from size:0x0 to size:320x240
first_keyframe_only_confused.mov: error while seeking    0B f=0/7   =    0B f=0/0
   1.26 A-V:  0.000 fd=   1 aq=    0KB vq=    0KB sq=    0B f=0/11

I used the following patch to test but the problem is also reproducible with unpatched ffplay.

diff --git a/ffplay.c b/ffplay.c
index 7d47bcd..9315543 100644
--- a/ffplay.c
+++ b/ffplay.c
@@ -2991,10 +2991,10 @@ static void event_loop(VideoState *cur_stream)
                 incr = -600.0;
                 goto do_seek;
             case SDLK_LEFT:
-                incr = -10.0;
+                incr = -5.0;
                 goto do_seek;
             case SDLK_RIGHT:
-                incr = 10.0;
+                incr = 5.0;
                 goto do_seek;
             case SDLK_UP:
                 incr = 60.0;

Attachments (1)

first_keyframe_only_confused.mov (619.9 KB ) - added by Carl Eugen Hoyos 12 years ago.

Download all attachments as: .zip

Change History (1)

by Carl Eugen Hoyos, 12 years ago

Note: See TracTickets for help on using tickets.