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 676033 - tsdemux: when pts is not included in each packet stream drops frames
tsdemux: when pts is not included in each packet stream drops frames
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Linux
: Normal normal
: 1.1.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2012-05-14 14:56 UTC by Julian Scheel
Modified: 2013-06-12 08:18 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Fix frame dropping due to wrong buffer timestamps. (1.24 KB, patch)
2012-05-14 14:56 UTC, Julian Scheel
none Details | Review

Description Julian Scheel 2012-05-14 14:56:35 UTC
Created attachment 214007 [details] [review]
Fix frame dropping due to wrong buffer timestamps.

We see an issue with IPTV streams provided by cablecom. These streams contain the PTS not in all packets, so it happens that the firstbuffer timestamp is set to 0 initially. In this case it should be updated to a valid timestamp as soon as the first timestamp is seen.
Attached patch solves this by adding a timestamp == 0 check.

A testfile to reproduce the issue can be grabbed from http://jusst.de/files/cablecom-nick.ts
Comment 1 Edward Hervey 2012-05-22 16:01:15 UTC
Seems to work fine here without that patch. Can you give more details/logs ?
Comment 2 Julian Scheel 2012-05-23 14:36:59 UTC
I can confirm that current git works without the patch. A bisect turned out that it was actually fixed by your packetizer rewrite (commits 389ff33b38e9ea4e63e00fec606c716184aa4f62 - 663e22be71db4a231992a0e54dde1f6b31f99571). This seems to have solved the initial problem which were the 0-timestamps which should have been GST_CLOCK_TIME_NONE in the first place.

So from my point of view you can close the bug and drop the patch. Thanks.
Comment 3 Julian Scheel 2012-06-11 08:45:07 UTC
With current git the provided testfile is broken again, when playing with udpsrc. I use tsplay (http://tstools.berlios.de/) to replay it as udp multicast stream like this:
tsplay cablecom-nick.ts 239.0.50.1:4444
gst-launch playbin2 uri=udp://239.0.50.1:4444

You will see lots of dropped frames and artefacts in the stream.
So far I did not find an obvious reason for this.
Comment 4 Tim-Philipp Müller 2013-02-23 17:25:36 UTC
This works fine for me with git master and glib from git master (it fails with my system glib 2.34.3 because udpsrc complains about "could [not] add membership: Error joining multicast group: No such device"), so it seems the ts-related aspect is now obsolete.

Could you re-test and confirm?
Comment 5 Edward Hervey 2013-04-26 14:17:37 UTC
Julian, this should work fine with this latest commit. Could you check and confirm ?

commit 65ba9b4756203786c54c9cbf10670a75438f14da
Author: Edward Hervey <edward@collabora.com>
Date:   Fri Apr 26 15:39:30 2013 +0200

    tsdemux: convert packet PTS/DTS as soon as possible
    
    We let the mpegtspacketizer deal with pcr wraparound/resets.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=674536
Comment 6 Edward Hervey 2013-06-12 05:32:42 UTC
Closing bug as per latest 3 comments