Opened 6 years ago

Closed 5 years ago

#2739 closed defect (fixed)

Seeking with certain OGM samples fails

Reported by: JEEB Owned by:
Priority: important Component: avformat
Version: git-master Keywords: ogg asp seek
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

Summary of the bug:
A sample is uploaded to upload.ffmpeg.org/incoming under the name lavf_ogm_seeking_borked.ogm. As I have no idea if the file can be cut with dd, I have not touched the file at all.

Seeking with certain OGM samples fails. Gabest and Haali seem to work fine with them, as well as libav after commit 8ad3267 (cherry-picking the change from libav does not seem to fix it, though the oggdec demuxer seems to be rather different between the two projects, so that is kind of understandable).

How to reproduce
:

% ffmpeg -ss 00:05:00.000 -i lavf_ogm_seeking_borked.ogm -c:v rawvideo -c:a pcm_s16le -f null -
ffmpeg version N-54345-ga35494c Copyright (c) 2000-2013 the FFmpeg developers
  built on Jul  2 2013 12:33:35 with gcc 4.7.3 (GCC)
  configuration:
  libavutil      52. 38.100 / 52. 38.100
  libavcodec     55. 18.100 / 55. 18.100
  libavformat    55. 10.101 / 55. 10.101
  libavdevice    55.  2.100 / 55.  2.100
  libavfilter     3. 77.101 /  3. 77.101
  libswscale      2.  3.100 /  2.  3.100
  libswresample   0. 17.102 /  0. 17.102
[ogg @ 000319E0] Headers mismatch for stream 1: expected 3 received 2.
[ogg @ 000319E0] Headers mismatch for stream 2: expected 3 received 2.
Input #0, ogg, from 'lavf_ogm_seeking_borked.ogm':
  Duration: 00:23:19.19, start: 0.000000, bitrate: 1383 kb/s
    Stream #0:0(Japanese): Video: mpeg4 (DX50 / 0x30355844), yuv420p, 640x480, 23.98 fps, 23.98 tbr, 23.98 tbn, 23.98 tbc
    Stream #0:1(English): Audio: vorbis, 48000 Hz, stereo, fltp, 0 kb/s
    Stream #0:2(Japanese): Audio: vorbis, 48000 Hz, stereo, fltp, 0 kb/s
    Stream #0:3(English): Subtitle: text
    Stream #0:4(Deutsch): Subtitle: text
Output #0, null, to 'pipe:':
  Metadata:
    encoder         : Lavf55.10.101
    Stream #0:0(Japanese): Video: rawvideo (I420 / 0x30323449), yuv420p, 640x480, q=2-31, 200 kb/s, 90k tbn, 23.98 tbc
    Stream #0:1(English): Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (mpeg4 -> rawvideo)
  Stream #0:1 -> #0:1 (vorbis -> pcm_s16le)
Press [q] to stop, [?] for help
[null @ 03CDF9E0] Encoder did not produce proper pts, making some up.
frame=    8 fps=0.0 q=0.0 Lsize=N/A time=00:00:00.33 bitrate=N/A dup=2 drop=0
video:1kB audio:0kB subtitle:0 global headers:0kB muxing overhead -104.296875%

As can be seen, only "8" frames get decoded, and then it stops. There are plenty of frames to be decoded, though, even after the seek.

Change History (3)

comment:1 Changed 6 years ago by cehoyos

  • Keywords ogg asp seek added; oggdec ogm seeking removed
  • Reproduced by developer set
  • Status changed from new to open

I suspect this is related to tickets #2506 and #2507 but there may be additional issue(s).

comment:2 Changed 5 years ago by gjdfgh

By the way, this works on Libav.

comment:3 Changed 5 years ago by michael

  • Priority changed from normal to important
  • Resolution set to fixed
  • Status changed from open to closed

Fixed in 5e0c7eab2a9d43e6e3be967ec1a6b04a3e0328da
Also as it was a regression (relative to libav in this case) this should have been marked as important

Note: See TracTickets for help on using tickets.