summaryrefslogtreecommitdiffstats
path: root/gst-libs/gst/play
diff options
context:
space:
mode:
authorThomas Vander Stichele <thomas@apestaart.org>2004-02-18 18:41:36 +0000
committerThomas Vander Stichele <thomas@apestaart.org>2004-02-18 18:41:36 +0000
commitc8599db324927dac6007c4fe0d0dd63ad515b1dc (patch)
tree72db93cc6e6977867f499163467c11ac5c07175b /gst-libs/gst/play
parent6c1fe8ceaa0287688d16c293fc174ffcbc7e5fa9 (diff)
downloadgst-plugins-bad-c8599db324927dac6007c4fe0d0dd63ad515b1dc.tar.gz
gst-plugins-bad-c8599db324927dac6007c4fe0d0dd63ad515b1dc.tar.bz2
gst-plugins-bad-c8599db324927dac6007c4fe0d0dd63ad515b1dc.zip
break up link function for better error debug
Original commit message from CVS: break up link function for better error debug
Diffstat (limited to 'gst-libs/gst/play')
-rw-r--r--gst-libs/gst/play/play.c17
1 files changed, 13 insertions, 4 deletions
diff --git a/gst-libs/gst/play/play.c b/gst-libs/gst/play/play.c
index dfa73fd9..e507acb7 100644
--- a/gst-libs/gst/play/play.c
+++ b/gst-libs/gst/play/play.c
@@ -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");