splitmuxsink: Don't send fragment-opened-closed message if the reference ctx is NULL
It can happen during teardown that the reference context becomes NULL.
In that case, trying to send the fragment-opened-closed message would
lead to a crash.
diff --git a/gst/multifile/gstsplitmuxsink.c b/gst/multifile/gstsplitmuxsink.c
index 6ec436c..ae7104a 100644
--- a/gst/multifile/gstsplitmuxsink.c
+++ b/gst/multifile/gstsplitmuxsink.c
@@ -673,12 +673,16 @@
g_object_get (splitmux->sink, "location", &location, NULL);
- msg = gst_message_new_element (GST_OBJECT (splitmux),
- gst_structure_new (msg_name,
- "location", G_TYPE_STRING, location,
- "running-time", GST_TYPE_CLOCK_TIME,
- splitmux->reference_ctx->out_running_time, NULL));
- gst_element_post_message (GST_ELEMENT_CAST (splitmux), msg);
+ /* If it's in the middle of a teardown, the reference_ctc might have become
+ * NULL */
+ if (splitmux->reference_ctx) {
+ msg = gst_message_new_element (GST_OBJECT (splitmux),
+ gst_structure_new (msg_name,
+ "location", G_TYPE_STRING, location,
+ "running-time", GST_TYPE_CLOCK_TIME,
+ splitmux->reference_ctx->out_running_time, NULL));
+ gst_element_post_message (GST_ELEMENT_CAST (splitmux), msg);
+ }
g_free (location);
}