basetsmux: Don't send the capsheader if src pad has no caps
authorVivia Nikolaidou <vivia@ahiru.eu>
Tue, 8 Dec 2020 14:46:42 +0000 (16:46 +0200)
committerGStreamer Merge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Wed, 9 Dec 2020 13:14:40 +0000 (13:14 +0000)
That means we're shutting down, so there's no point in the streamheader
being sent

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1864>

gst/mpegtsmux/gstbasetsmux.c

index 6e66f4d..6439832 100644 (file)
@@ -272,9 +272,13 @@ gst_base_ts_mux_set_header_on_caps (GstBaseTsMux * mux)
   GValue value = { 0 };
   GstCaps *caps;
 
-  caps =
-      gst_caps_make_writable (gst_pad_get_current_caps (GST_AGGREGATOR_SRC_PAD
-          (mux)));
+  caps = gst_pad_get_current_caps (GST_AGGREGATOR_SRC_PAD (mux));
+
+  /* If we have no caps, we are possibly shutting down */
+  if (!caps)
+    return;
+
+  caps = gst_caps_make_writable (caps);
   structure = gst_caps_get_structure (caps, 0);
 
   g_value_init (&array, GST_TYPE_ARRAY);