splitmuxsrc: Make sure events are writable before setting their seqnum
diff --git a/gst/multifile/gstsplitmuxsrc.c b/gst/multifile/gstsplitmuxsrc.c
index ad246e3..2434218 100644
--- a/gst/multifile/gstsplitmuxsrc.c
+++ b/gst/multifile/gstsplitmuxsrc.c
@@ -424,8 +424,10 @@
       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 @@
 {
   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 @@
   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);