After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 684977 - Can't seek in AVI file in push mode
Can't seek in AVI file in push mode
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
git master
Other Linux
: Normal normal
: 1.0.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2012-09-27 16:01 UTC by Arnaud Vrac
Modified: 2012-09-28 15:08 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Arnaud Vrac 2012-09-27 16:01:22 UTC
Hi, I cannot seek in the following file in push mode:
http://absolut.zogzog.org/share/samples/avi/%5bs1e02%5d%20-%20Sacramentum%20Gladiatorum.divx

The first frame shows after seek and the pipeline prerolls, but the pipeline cannot get back to the playing state.

Tested with gst-launch-1.0 filesrc location=\[s1e02\]\ -\ Sacramentum\ Gladiatorum.divx ! avidemux ! avdec_mpeg4 ! videoconvert ! navseek ! xvimagesink
Comment 1 Arnaud Vrac 2012-09-27 16:02:14 UTC
Add a queue eleemnt after filesrc to enable push mode and trigger the bug
Comment 2 Tim-Philipp Müller 2012-09-27 16:08:30 UTC
You can also pass a pushfile:///path/to/foo.avi  URI to playbin or totem, fwiw.
Comment 3 Mark Nauwelaerts 2012-09-28 10:20:53 UTC
Seems like there might be a subtitle stream (DXSB) (?) masquerading as a video stream, and that is confusing the seek heuristic in push mode.
Comment 4 Arnaud Vrac 2012-09-28 10:43:36 UTC
Right, these are divx (xsub) subtitles, which are embedded bitmaps. Libav supports it: http://git.libav.org/?p=libav.git;a=blob;f=libavcodec/xsubdec.c
Comment 5 Tim-Philipp Müller 2012-09-28 10:58:58 UTC
Also see bug #628429 (which needs cleaning up).
Comment 6 Mark Nauwelaerts 2012-09-28 15:08:56 UTC
The following should take care of this problem:

commit cb0e4b2059607a8bb2303ac6608da6ab7a401807
Author: Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
Date:   Fri Sep 28 16:51:01 2012 +0200

    avidemux: recognize all xsub frames as keyframes
    
    Fixes https://bugzilla.gnome.org/show_bug.cgi?id=684977

commit 511dfa5ee549d98f288303c17bf56248d5e29b28
Author: Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
Date:   Fri Sep 28 16:50:25 2012 +0200

    avidemux: push mode: find the correct chunk for segment following seek
    
    Fixes https://bugzilla.gnome.org/show_bug.cgi?id=684977

Even then, this clip is not handled perfectly; the xsub frames have utterly bogus timestamps and videodecoder trips up heavily in timestamps since all incoming video frames are marked as keyframe in avi push mode.

But I guess those are other problems ... (btw, any suggestion for proper xsub caps ?)