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)
Note:
See TracTickets
for help on using tickets.