mpegtsmux: detect and ignore gap buffers
Fixes #1291. Without this, when a stream has gaps and then resumes, the next buffer PTS that is written to the TS is given the PTS of the first gap. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1263>
This commit is contained in:
parent
6dae95d60f
commit
0a2e026985
@ -1076,6 +1076,12 @@ gst_base_ts_mux_aggregate_buffer (GstBaseTsMux * mux,
|
|||||||
|
|
||||||
GST_DEBUG_OBJECT (mux, "Pads collected");
|
GST_DEBUG_OBJECT (mux, "Pads collected");
|
||||||
|
|
||||||
|
if (buf && gst_buffer_get_size (buf) == 0
|
||||||
|
&& GST_BUFFER_FLAG_IS_SET (buf, GST_BUFFER_FLAG_GAP)) {
|
||||||
|
gst_buffer_unref (buf);
|
||||||
|
return GST_FLOW_OK;
|
||||||
|
}
|
||||||
|
|
||||||
if (G_UNLIKELY (mux->first)) {
|
if (G_UNLIKELY (mux->first)) {
|
||||||
ret = gst_base_ts_mux_create_streams (mux);
|
ret = gst_base_ts_mux_create_streams (mux);
|
||||||
if (G_UNLIKELY (ret != GST_FLOW_OK)) {
|
if (G_UNLIKELY (ret != GST_FLOW_OK)) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user