From d06b679133d27c87b9d3b32f3445f8c02b09190d Mon Sep 17 00:00:00 2001 From: Julien Moutte Date: Mon, 28 Apr 2003 10:52:29 +0000 Subject: Make vis_video_thread play when connected afterwards Original commit message from CVS: Make vis_video_thread play when connected afterwards This generates some segfaults in gst_thread but we need to fix that --- gst-libs/gst/play/playpipelines.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gst-libs/gst/play/playpipelines.c b/gst-libs/gst/play/playpipelines.c index a357fd56..8866e733 100644 --- a/gst-libs/gst/play/playpipelines.c +++ b/gst-libs/gst/play/playpipelines.c @@ -1176,6 +1176,7 @@ gst_play_connect_visualisation ( GstPlay *play, gboolean connect) { GstPad *tee_vis_pad, *vis_video_thread_pad; + GstElement *vis_video_thread; gboolean connected = FALSE; g_return_val_if_fail (play != NULL, FALSE); @@ -1185,6 +1186,8 @@ gst_play_connect_visualisation ( GstPlay *play, "tee_vis_pad"); vis_video_thread_pad = g_hash_table_lookup( play->other_elements, "vis_video_thread_pad"); + vis_video_thread = g_hash_table_lookup( play->other_elements, + "vis_video_thread"); if (gst_pad_get_peer (vis_video_thread_pad) != NULL) connected = TRUE; @@ -1198,6 +1201,11 @@ gst_play_connect_visualisation ( GstPlay *play, gst_pad_unlink (tee_vis_pad, vis_video_thread_pad); } + if ( GST_IS_ELEMENT(vis_video_thread) && GST_IS_ELEMENT(play->pipeline) ) { + gst_element_set_state ( vis_video_thread, + gst_element_get_state (play->pipeline)); + } + return TRUE; } -- cgit v1.2.1