From fa835d686f7edbaf9617f496a9fee3132577df42 Mon Sep 17 00:00:00 2001 From: Mathieu Duponchelle Date: Fri, 6 Aug 2021 22:59:23 +0200 Subject: [PATCH] isomp4/qtmux: make sure to switch to next chunk on new caps For example, with single video sink pad, and new codec_data is received, current_chunk_offset must be reset to -1 for the aggregate loop to open a new chunk. Part-of: --- gst/isomp4/gstqtmux.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gst/isomp4/gstqtmux.c b/gst/isomp4/gstqtmux.c index dc30d711a1..d93d066067 100644 --- a/gst/isomp4/gstqtmux.c +++ b/gst/isomp4/gstqtmux.c @@ -6872,6 +6872,14 @@ gst_qt_mux_sink_event (GstAggregator * agg, GstAggregatorPad * agg_pad, caps); } else { ret = qtmux_pad->set_caps (qtmux_pad, caps); + + GST_OBJECT_LOCK (qtmux); + if (qtmux->current_pad == qtmux_pad) { + qtmux->current_chunk_offset = -1; + qtmux->current_chunk_size = 0; + qtmux->current_chunk_duration = 0; + } + GST_OBJECT_UNLOCK (qtmux); } if (ret)