summaryrefslogtreecommitdiffstats
path: root/gst-libs/gst
diff options
context:
space:
mode:
authorJulien Moutte <julien@moutte.net>2003-04-28 10:52:29 +0000
committerJulien Moutte <julien@moutte.net>2003-04-28 10:52:29 +0000
commitd06b679133d27c87b9d3b32f3445f8c02b09190d (patch)
tree671da9e0db5bca136d15db00699fcefc0a6132ab /gst-libs/gst
parent077be4ccbd714dd3b7510d76f3470e45366ff8f7 (diff)
downloadgst-plugins-bad-d06b679133d27c87b9d3b32f3445f8c02b09190d.tar.gz
gst-plugins-bad-d06b679133d27c87b9d3b32f3445f8c02b09190d.tar.bz2
gst-plugins-bad-d06b679133d27c87b9d3b32f3445f8c02b09190d.zip
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
Diffstat (limited to 'gst-libs/gst')
-rw-r--r--gst-libs/gst/play/playpipelines.c8
1 files changed, 8 insertions, 0 deletions
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;
}