Added more funky cases
authorWim Taymans <wim.taymans@gmail.com>
Sun, 14 Apr 2002 11:35:03 +0000 (11:35 +0000)
committerWim Taymans <wim.taymans@gmail.com>
Sun, 14 Apr 2002 11:35:03 +0000 (11:35 +0000)
Original commit message from CVS:
Added more funky cases

gst/gstparse.c

index aea23dc..6b8c789 100644 (file)
@@ -66,13 +66,18 @@ dynamic_connect (GstElement * element, GstPad * newpad, gpointer data)
       return;
     }
   }
+
   /* try to find a target pad if we don't know it yet */
   if (!dc->target_pad) {
-    dc->target_pad = gst_element_get_compatible_pad (dc->target_element, newpad);
-    warn = FALSE;
+    if (!GST_PAD_IS_CONNECTED (newpad)) {
+      dc->target_pad = gst_element_get_compatible_pad (dc->target_element, newpad);
+      warn = FALSE;
+    }
+    else {
+      return;
+    }
   }
-
-  if (!GST_PAD_IS_CONNECTED (newpad)) {
+  if (!GST_PAD_IS_CONNECTED (dc->target_pad)) {
     gst_element_set_state (dc->pipeline, GST_STATE_PAUSED);
     if (!gst_pad_connect (newpad, dc->target_pad) && warn) {
       g_warning ("could not connect %s:%s to %s:%s", GST_DEBUG_PAD_NAME (newpad),