Vivia Nikolaidou
7cebd5b359
tsmux: Skip empty buffers
...
They can be created e.g. by aggregator when there is a gap. Such buffers
should not be muxed at all.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1611 >
2022-02-25 21:29:43 +00:00
Vivia Nikolaidou
e0d5e022a1
tsmux: Lock mux->tsmux, the programs hash table, and pad streams
...
They contain implementations that are not thread-safe (e.g. GList, GHashTable).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1616 >
2022-02-25 17:42:52 +00:00
Jan Alexander Steffens (heftig)
2f7ec968f4
tsmux: Allow specifying PMT order via the prog-map
...
Look for an entry `PMT_<PID>` in the `prog-map`, which specifies the
relative index of the stream in the PMT.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1510 >
2022-01-24 15:37:46 +00:00
Jan Alexander Steffens (heftig)
22fb7b7b71
tsmux: Deterministically order program streams by PID
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1510 >
2022-01-24 15:37:46 +00:00
Jan Alexander Steffens (heftig)
b7ae1fa683
tsmux: Deterministically order PAT programs by number
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1510 >
2022-01-24 15:37:46 +00:00
Jan Alexander Steffens (heftig)
853178894e
tsmux: Remove program_array_index
...
It's only used for removal. Let's just scan the array.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1510 >
2022-01-24 15:37:46 +00:00
Jan Alexander Steffens (heftig)
2acaa3940a
tsmux: Replace streams GArray with GPtrArray
...
This is more appropriate.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1510 >
2022-01-24 15:37:46 +00:00
Tim-Philipp Müller
ea8dc0c737
Couple more g_memdup() -> g_memdup2() fixes
...
Fixes deprecation warnings with newer GLib versions.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1279 >
2021-10-30 10:37:37 +01:00
Jan Alexander Steffens (heftig)
320bc6362b
mpegtsmux: Avoid crash when best pad gets flushed
...
The 'best' pad might receive a flush event between us picking it and us
popping the buffer. In this case, the buffer will be missing.
Similar to https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/711
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1042 >
2021-10-19 01:46:19 +00:00
Vivia Nikolaidou
95eb8672a6
basetsmux: Support for caps changes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/981 >
2021-10-18 15:37:41 +00:00
Jan Alexander Steffens (heftig)
a8ebf72627
basetsmux: Clean up gst_base_ts_mux_create_stream
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/981 >
2021-10-18 15:37:40 +00:00
Seungha Yang
90e5e0efea
mpegtsmux: basetsmux: Don't try to return value from void function
...
gstbasetsmux.c(1508): warning C4098: 'free_splice': 'void' function returning a value
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1018 >
2021-10-04 13:37:09 +00:00
Mathieu Duponchelle
555a5ea9dd
basetsmux: use private copy of g_ptr_array_copy
...
This function is only present since glib 2.62
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/913 >
2021-09-25 01:29:38 +00:00
Mathieu Duponchelle
c2eeb639b0
basetsmux: fix SCTE pts_adjustment with offsets
...
When there are elements between the demuxer and the muxer that
introduce an offset to the running time, or when offsets are
set on pads by the application, this shift must be taken into
account when calculating the final pts_adjustement.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/913 >
2021-09-25 01:29:38 +00:00
Mathieu Duponchelle
c3a161f287
basetsmux: rework SCTE section handling to handle passthrough
...
mpegtsmux can receive SCTE sections from two origins: events
created by the application, and events forwarded downstream by
mpegtsdemux, containing sections that may not have been fully
parsed, and additional data to help tsmux translate times to
the correct domain, both for requesting keyframes and calculating
an accurate pts_adjustment.
The complete approach is documented further in a comment above
the relevant function.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/913 >
2021-09-25 01:29:38 +00:00
Mathieu Duponchelle
be4d0fff23
basetsmux: extend SCTE 35 support
...
Makes it possible to support passing SCTE 35 cue points from
demuxer to muxer, while preserving correct timing.
This will also improve ex nihilo cue points injection, as splice
times and durations are now interpreted as running time values,
and may trigger key unit requests.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/913 >
2021-09-25 01:29:37 +00:00
Thibault Saunier
019971a3c7
Move files from gst-plugins-bad into the "subprojects/gst-plugins-bad/" subdir
2021-09-24 16:14:36 -03:00