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 740243 - mpegpsdemux: Issue with incoming TIME segment and base_time
mpegpsdemux: Issue with incoming TIME segment and base_time
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Reported: 2014-11-17 09:44 UTC by Edward Hervey
Modified: 2018-11-03 13:28 UTC
See Also:
GNOME target: ---
GNOME version: ---

Description Edward Hervey 2014-11-17 09:44:19 UTC
When mpegpsdemux works in push mode with incoming TIME segments, something is completely wrong with segment calculation.

Incoming segment: start:0, stop:-1
First SCR detected becomes the base_time : base_time = first_scr (say 5m for this example)
 ... But then the demuxer adjusts that *again* by the difference between segment.start and first_scr, so essentially base_time = first_scr + first_scr (we're at 10m now)

When the demuxer comes round to creating the output segments (in _demux_send_segment) it takes the incoming one ... and then "adjusts" it by base_time.

  We therefore end up pushing a segment with start == base_time == 2 * first_scr

  The first PTS/DTS of that stream are around first_scr => everything gets dropped until it reaches 2 * first_scr.

This was introduced by:
commit a9c0609ae84960edc47469c423b03eebac00ded7
Author: Mark Nauwelaerts <>
Date:   Fri Oct 12 15:44:03 2012 +0200

    mpegdemux: handle upstream TIME segments
Comment 1 GStreamer system administrator 2018-11-03 13:28:46 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: