playbin: Post an error message if a stream combiner doesn't return a request pad.
authorBrendan Long <self@brendanlong.com>
Mon, 1 Jul 2013 18:52:43 +0000 (12:52 -0600)
committerSebastian Dröge <slomo@circular-chaos.org>
Tue, 2 Jul 2013 07:34:19 +0000 (09:34 +0200)
gst/playback/gstplaybin2.c

index d4976b350da80722ab1ab2dad9abc91791835b21..f26a5f627f1fff8046d7bac75a89de6fd868b749 100644 (file)
@@ -3100,6 +3100,8 @@ pad_added_cb (GstElement * decodebin, GstPad * pad, GstSourceGroup * group)
       changed = TRUE;
       GST_DEBUG_OBJECT (playbin, "linked pad %s:%s to combiner %p",
           GST_DEBUG_PAD_NAME (pad), combine->combiner);
+    } else {
+      goto request_pad_failed;
     }
   } else {
     /* no combiner, don't configure anything, we'll link the new pad directly to
@@ -3171,6 +3173,12 @@ link_failed:
     GST_SOURCE_GROUP_UNLOCK (group);
     goto done;
   }
+request_pad_failed:
+  GST_ELEMENT_ERROR (playbin, CORE, PAD,
+      ("Internal playbin error."),
+      ("Failed to get request pad from combiner %p.", combine->combiner));
+  GST_SOURCE_GROUP_UNLOCK (group);
+  goto done;
 }
 
 /* called when a pad is removed from the uridecodebin. We unlink the pad from