Added more funky cases

Original commit message from CVS:
Added more funky cases
This commit is contained in:
Wim Taymans 2002-04-14 11:35:03 +00:00
parent 52e2ba6b1e
commit 73f7bf6677

View file

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