diff --git a/gst/gstparse.c b/gst/gstparse.c index 6b8c789566..c3e273a721 100644 --- a/gst/gstparse.c +++ b/gst/gstparse.c @@ -77,7 +77,7 @@ dynamic_connect (GstElement * element, GstPad * newpad, gpointer data) return; } } - if (!GST_PAD_IS_CONNECTED (dc->target_pad)) { + if (!GST_PAD_IS_CONNECTED (dc->target_pad) && !GST_PAD_IS_CONNECTED (newpad)) { 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),