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 590446 - [mpegdemux] MPEG TS with A52 not seekable
[mpegdemux] MPEG TS with A52 not seekable
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Linux
: Normal normal
: 0.10.14
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2009-08-01 11:24 UTC by Robin Stocker
Modified: 2009-08-10 19:57 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Robin Stocker 2009-08-01 11:24:35 UTC
Since bug #584838 has been fixed, I have two MPEG TS (.ts.mpeg) files which are not seekable. VLC and MPlayer handle them fine.

gst-typefind: video/mpegts, systemstream=(boolean)true, packetsize=(int)188

Commit 1f88ceeba8c908360d508cab5ee439eaff89309f in bad did not fix the problem.
Comment 1 Sebastian Dröge (slomo) 2009-08-02 10:43:17 UTC
Could you provide such an mpeg-ts file or give an URL to one? :) I guess a52dec doesn't forward the SEEKING query or something, will investigate later...
Comment 2 Sebastian Dröge (slomo) 2009-08-04 07:45:58 UTC
Ok, I can't find a reason why this fails just from looking at the code :) Could you provide a sample?
Comment 3 Sebastian Dröge (slomo) 2009-08-05 07:39:36 UTC
I have a sample file and apparently it really fails with latest core, even after

commit 3f6e84ec6176ed9b2df7d180729cdf06412e6992
Author: Sebastian Dröge <sebastian.droege@collabora.co.uk>
Date:   Wed Aug 5 09:36:00 2009 +0200

    mpeg[pt]sdemux: Fix SEEKING query
    
    Send the BYTES based query downstream, not the orignal one.
Comment 4 Sebastian Dröge (slomo) 2009-08-08 20:16:06 UTC
Ok, there's a race condition here.

The problem is, that the seeking query is handled before demux->bitrate is set to something useful and thus the seeking query returns seekable=FALSE. This fixes it:

ommit 6115e0cb0ef3ae85397297c7e30c2e9b4a0a181e
Author: Sebastian Dröge <sebastian.droege@collabora.co.uk>
Date:   Sat Aug 8 22:14:53 2009 +0200

    mpegtsdemux: Don't answer the SEEKING query if we don't know the answer yet
    
    A bitrate!=-1 is required for seeking but the bitrate is only calculated
    after the second PCR was read.
    
    Fixes bug #590446.
Comment 5 Robin Stocker 2009-08-10 19:57:03 UTC
Confirmed, thanks!