From f2f15a119f8c335e0e68eb00671b43a09e6b5dc3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Mon, 18 Jun 2018 12:13:48 +0300 Subject: [PATCH] splitmuxsrc: Make sure events are writable before setting their seqnum --- gst/multifile/gstsplitmuxsrc.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/gst/multifile/gstsplitmuxsrc.c b/gst/multifile/gstsplitmuxsrc.c index ad246e3b34..2434218cc3 100644 --- a/gst/multifile/gstsplitmuxsrc.c +++ b/gst/multifile/gstsplitmuxsrc.c @@ -424,8 +424,10 @@ gst_splitmux_handle_event (GstSplitMuxSrc * splitmux, if (gst_splitmux_end_of_part (splitmux, splitpad)) // Continuing to next part, drop the EOS goto drop_event; - if (splitmux->segment_seqnum) + if (splitmux->segment_seqnum) { + event = gst_event_make_writable (event); gst_event_set_seqnum (event, splitmux->segment_seqnum); + } break; } case GST_EVENT_SEGMENT:{ @@ -921,8 +923,10 @@ gst_splitmux_push_event (GstSplitMuxSrc * splitmux, GstEvent * e, { GList *cur; - if (seqnum) + if (seqnum) { + e = gst_event_make_writable (e); gst_event_set_seqnum (e, seqnum); + } SPLITMUX_SRC_PADS_LOCK (splitmux); for (cur = g_list_first (splitmux->pads); @@ -942,8 +946,10 @@ gst_splitmux_push_flush_stop (GstSplitMuxSrc * splitmux, guint32 seqnum) GstEvent *e = gst_event_new_flush_stop (TRUE); GList *cur; - if (seqnum) + if (seqnum) { + e = gst_event_make_writable (e); gst_event_set_seqnum (e, seqnum); + } SPLITMUX_SRC_PADS_LOCK (splitmux); for (cur = g_list_first (splitmux->pads);