urisourcebin: Streamline demuxer removal
authorEdward Hervey <edward@centricular.com>
Wed, 19 Oct 2022 10:28:41 +0000 (12:28 +0200)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Wed, 16 Nov 2022 14:01:46 +0000 (14:01 +0000)
And since remove_source also removes the dmeuxer, we no longer need to call it
in addition

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2784>

subprojects/gst-plugins-base/gst/playback/gsturisourcebin.c

index e0f1370..df6a4a1 100644 (file)
@@ -2233,12 +2233,8 @@ remove_source (GstURISourceBin * urisrc)
   urisrc->out_slots = NULL;
   GST_URI_SOURCE_BIN_UNLOCK (urisrc);
 
-  if (urisrc->demuxer) {
-    GST_DEBUG_OBJECT (urisrc, "removing old adaptive demux element");
-    gst_element_set_state (urisrc->demuxer, GST_STATE_NULL);
-    gst_bin_remove (GST_BIN_CAST (urisrc), urisrc->demuxer);
-    urisrc->demuxer = NULL;
-  }
+  if (urisrc->demuxer)
+    remove_demuxer (urisrc);
 }
 
 /* is called when a dynamic source element created a new pad. */
@@ -2305,9 +2301,6 @@ setup_source (GstURISourceBin * urisrc)
   if (is_live_source (urisrc->source))
     urisrc->is_stream = FALSE;
 
-  /* remove the old demuxer now, if any */
-  remove_demuxer (urisrc);
-
   /* see if the source element emits raw audio/video all by itself,
    * if so, we can create streams for the pads and be done with it.
    * Also check that is has source pads, if not, we assume it will
@@ -3001,7 +2994,6 @@ gst_uri_source_bin_change_state (GstElement * element,
       break;
     case GST_STATE_CHANGE_PAUSED_TO_READY:
       GST_DEBUG ("paused to ready");
-      remove_demuxer (urisrc);
       remove_source (urisrc);
       g_list_free_full (urisrc->buffering_status,
           (GDestroyNotify) gst_message_unref);
@@ -3011,7 +3003,6 @@ gst_uri_source_bin_change_state (GstElement * element,
       break;
     case GST_STATE_CHANGE_READY_TO_NULL:
       GST_DEBUG ("ready to null");
-      remove_demuxer (urisrc);
       remove_source (urisrc);
       break;
     default: