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 616414 - mpegtsdemux: account for pat/pmt latency in newsegment
mpegtsdemux: account for pat/pmt latency in newsegment
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2010-04-21 17:04 UTC by Arnaud Vrac
Modified: 2012-09-24 22:28 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Arnaud Vrac 2010-04-21 17:04:00 UTC
Hi,

I'm doing some tests with the mpegtsdemux plugin and I'm getting lateframes because the plugin does not account for the latency introduced by the PAT/PMT parsing, in push mode. It does work in the majority of mpeg-ts streams, because the mpegtsdemux introduces a constant 700ms latency in the pipeline and that is usually enough to receive the first PMT and create pads. However, if in a stream the PMT are not resent fast enough, the 700ms latency might not be enough.

A latency of first_pmt_time - base_time should be accounted for. I'm not sure if the newsegment start sent on the pad has to be tweaked or if the global latency has to be changed.

To reproduce this easily, just skip a few PAT in gst_mpegts_stream_parse_pat and the bug should happen.
Comment 1 Sebastian Dröge (slomo) 2011-05-25 18:47:07 UTC
Does this still happen with the latest releases?
Comment 2 Akhil Laddha 2011-07-07 05:47:43 UTC
Arnaud, can you please let us know if you can reproduce the problem in latest release ?
Comment 3 Arnaud Vrac 2011-07-12 16:17:21 UTC
Hi,

The problem does still happen with latest git version. In my original post I say the latency should be first_pmt_time - base_time, more precisely it is first_pcr_time - base_time.

Another solution would be to set the base time to the time the first pcr is received, but this does not work since the pipeline would already in playing state when live.
Comment 4 Thibault Saunier 2012-02-27 20:09:54 UTC
This still applies to the tsdemux element as, the same way we only introduce a 700ms without properly calculating the latency.
Comment 5 Edward Hervey 2012-02-28 16:23:15 UTC
This does not apply to tsdemux in live mode because the timestamp of buffers being outputted are calculated in a different way.

The wrong latency is another issue.
Comment 6 Edward Hervey 2012-05-24 08:58:01 UTC
Arnaud, is this still an issue with git ? It now uses tsdemux by default.
Comment 7 Tobias Mueller 2012-09-24 22:28:35 UTC
May I guess that this is OBSOLETE? Please reopen if it's not. Thanks.