From 7d7c90bf5cecd3eb06122d10c572ca605c07d574 Mon Sep 17 00:00:00 2001 From: Vivia Nikolaidou Date: Wed, 11 Apr 2018 17:54:38 +0300 Subject: [PATCH] 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. --- gst/multifile/gstsplitmuxsink.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/gst/multifile/gstsplitmuxsink.c b/gst/multifile/gstsplitmuxsink.c index 4b8ef02..debf81f 100644 --- a/gst/multifile/gstsplitmuxsink.c +++ b/gst/multifile/gstsplitmuxsink.c @@ -692,12 +692,16 @@ send_fragment_opened_closed_msg (GstSplitMuxSink * splitmux, gboolean opened) 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); } -- 2.7.4