break up link function for better error debug
authorThomas Vander Stichele <thomas@apestaart.org>
Wed, 18 Feb 2004 18:41:36 +0000 (18:41 +0000)
committerThomas Vander Stichele <thomas@apestaart.org>
Wed, 18 Feb 2004 18:41:36 +0000 (18:41 +0000)
Original commit message from CVS:
break up link function for better error debug

ChangeLog
gst-libs/gst/play/play.c

index a50603a..8f7e190 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2004-02-18  Thomas Vander Stichele  <thomas at apestaart dot org>
 
+       * gst-libs/gst/play/play.c: (gst_play_pipeline_setup):
+          break up _link so we can give a better debug message for errors
+
+2004-02-18  Thomas Vander Stichele  <thomas at apestaart dot org>
+
        * ext/gdk_pixbuf/gstgdkpixbuf.c: (plugin_init):
           set up debug category
 
index dfa73fd..e507acb 100644 (file)
@@ -282,10 +282,19 @@ gst_play_pipeline_setup (GstPlay *play, GError **error)
   
   gst_bin_add_many (GST_BIN (video_thread), video_queue, video_switch, video_cs,
                     video_balance, balance_cs, video_scaler, video_sink, NULL);
-  if (!gst_element_link_many (video_queue, video_switch, video_cs,
-                              video_balance, balance_cs, video_scaler,
-                              video_sink, NULL))
-    GST_PLAY_ERROR_RETURN (error, "Could not link video output thread elements");
+  /* break down linking so we can figure out what might be failing */
+  if (!gst_element_link (video_queue, video_switch))
+    GST_PLAY_ERROR_RETURN (error, "Could not link video output thread (queue and switch)");
+  if (!gst_element_link (video_switch, video_cs))
+    GST_PLAY_ERROR_RETURN (error, "Could not link video output thread (switch and cs)");
+  if (!gst_element_link (video_cs, video_balance))
+    GST_PLAY_ERROR_RETURN (error, "Could not link video output thread (cs and balance)");
+  if (!gst_element_link (video_balance, balance_cs))
+    GST_PLAY_ERROR_RETURN (error, "Could not link video output thread (balance and balance_cs)");
+  if (!gst_element_link (balance_cs, video_scaler))
+    GST_PLAY_ERROR_RETURN (error, "Could not link video output thread (balance_cs and scaler)");
+  if (!gst_element_link (video_scaler, video_sink))
+    GST_PLAY_ERROR_RETURN (error, "Could not link video output thread (balance_cs and scaler)");
   gst_element_add_ghost_pad (video_thread,
                              gst_element_get_pad (video_queue, "sink"),
                              "sink");