Sebastian Dröge
41ddbd8706
mpegtslivesrc: Parse PAT/PMT and only handle PCRs from the first program
...
This matches default behaviour of tsdemux and makes sure we're not
jumping between different PCRs if there are multiple.
At a later time, program selection could be implemented.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1887 >
2024-10-28 12:15:11 +00:00
Sebastian Dröge
7e59c3f0fd
Remove once_cell dependency
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1868 >
2024-10-21 17:53:18 +00:00
Sebastian Dröge
24003a79f6
mpegtslivesrc: Make sure to use the object as context for all debug logs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1767 >
2024-09-09 13:29:14 +00:00
Sebastian Dröge
c32cb20906
mpegtslivesrc: Check if old compared to new PCR clock estimation is too far off
...
It the difference between the two estimations is more than 1s then
consider this a discontinuity too.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1767 >
2024-09-09 13:29:14 +00:00
Sebastian Dröge
c5b1ebc7d8
mpegtslivesrc: Fix order of parameters passed to add_observation()
...
The first one should be the internal time, i.e. the monotonic clock time
in our case, and the second one the external time.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1767 >
2024-09-09 13:29:14 +00:00
Sebastian Dröge
44f64fb3f6
mpegtslivesrc: Scale monotonic time on PCR disconts to allow for continuous clock times
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1767 >
2024-09-09 13:29:14 +00:00
Sebastian Dröge
453b3014e6
mpegtslivesrc: Set DISCONT flag on buffers at PCR discontinuities
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1767 >
2024-09-09 13:29:14 +00:00
Sebastian Dröge
102185d09d
mpegtslivesrc: Handle PCR discontinuities as errors for now
...
More work is needed to make this work seemlessly and right now it would
simply cause invalid timestamps to be created.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1717 >
2024-08-14 12:34:18 +00:00
Sebastian Dröge
98b28d69ce
Update for new debug log macro syntax
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1658 >
2024-07-08 11:25:23 +03:00
Sebastian Dröge
4123b5d1a1
mpegtslive: Update for gst::Clock::set_calibration()
API changes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1658 >
2024-07-08 09:59:06 +03:00
Sebastian Dröge
4ab8d92f28
mpegtslivesrc: Don't skip the first MPEG-TS packet
...
If every buffer contains only a single MPEG-TS packet we would otherwise
skip over everything and would never observe a PCR.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1651 >
2024-07-04 17:01:43 +03:00
Edward Hervey
95ae67752f
net: New mpegtslive element
...
This element allows wrapping an existing live "mpeg-ts source" (udpsrc,
srtsrc,...) and providing a clock based on the actual PCR of the stream.
Combined with `tsdemux ignore-pcr=True` downstream of it, this allows playing
back the content at the same rate as the (remote) provider **and** not modify
the original timestamps.
Co-authored-by: Sebastian Dröge <slomo@coaxion.net>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1640 >
2024-07-01 15:29:22 +02:00