GNOME Bugzilla – Bug 747038
tsparse/tsdemux: incorrect timestamps on PMT change in mpeg TS stream
Last modified: 2015-04-09 16:43:02 UTC
+++ This bug was initially created as a clone of Bug #746480 +++ The file from the origin bug has a PMT change in the middle, and causes trouble with tsdemux and tsparse emiting wrong timings for the second part. Patches incoming.
Created attachment 300606 [details] [review] keep track of current position
Created attachment 300607 [details] [review] send a new segment when a stream is added
Created attachment 300608 [details] [review] fix timestamps not updating after a PMT change
Feedback from someone familiar with MPEG-TS would be good before I push this.
Kinda pushed by mistake along with a new unrelated patch, I'd forgot to branch before debugging these it seems. Closing as fixed for now. commit 68f57d20b93a31740ca4047731682d08269c06ac Author: Vincent Penquerc'h <vincent.penquerch@collabora.co.uk> Date: Thu Mar 26 13:46:16 2015 +0000 tsparse: fix timestamps not updating after a PMT change The PCRs stay locked onto the same PID as before the change, but the relevant PID has no reason to be the same after it. https://bugzilla.gnome.org/show_bug.cgi?id=745102 commit ade79a9ad24a72d1b02f2e35e7dbeaf3bd59bb6c Author: Vincent Penquerc'h <vincent.penquerch@collabora.co.uk> Date: Tue Mar 24 12:56:53 2015 +0000 tsdemux: send new segment when a stream is added This will happen when the PMT changes, replacing streams with new ones. In that case, we need to accumulate the running time from the previous chain in the segment base. https://bugzilla.gnome.org/show_bug.cgi?id=745102 commit fc2460b33196020d034b72741ce04cddf6e3f1b9 Author: Vincent Penquerc'h <vincent.penquerch@collabora.co.uk> Date: Mon Mar 9 09:56:38 2015 +0000 tsdemux: keep track of current position This allows seeking to correctly set the base on the segment. https://bugzilla.gnome.org/show_bug.cgi?id=745102