From e71c9b9acab4b12044ba49dde24985ef19a95441 Mon Sep 17 00:00:00 2001 From: Julien Moutte Date: Sun, 30 Mar 2003 10:21:40 +0000 Subject: Fixed seeking discont with visualisation Original commit message from CVS: Fixed seeking discont with visualisation --- gst-libs/gst/play/play.old.c | 12 ++++++++++-- gst-libs/gst/play/play.old.h | 1 + gst-libs/gst/play/playpipelines.c | 15 +++++++++++++++ 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/gst-libs/gst/play/play.old.c b/gst-libs/gst/play/play.old.c index 0d17aa67..afef677f 100644 --- a/gst-libs/gst/play/play.old.c +++ b/gst-libs/gst/play/play.old.c @@ -656,6 +656,7 @@ gst_play_seek_to_time ( GstPlay *play, guint8 prev_state; gboolean audio_seek_worked = FALSE; gboolean video_seek_worked = FALSE; + gboolean visualisation_seek_worked = FALSE; g_return_if_fail (GST_IS_PLAY (play)); if (time_nanos < 0LL){ @@ -677,11 +678,18 @@ gst_play_seek_to_time ( GstPlay *play, GST_SEEK_FLAG_FLUSH, play->seek_time); if (play->audio_sink_element != NULL){ gst_event_ref (s_event); - audio_seek_worked = gst_element_send_event (play->audio_sink_element, s_event); + audio_seek_worked = gst_element_send_event ( + play->audio_sink_element, s_event); + } + if (play->visualisation_sink_element != NULL){ + gst_event_ref (s_event); + visualisation_seek_worked = gst_element_send_event ( + play->visualisation_sink_element, s_event); } if (play->video_sink_element != NULL){ gst_event_ref (s_event); - video_seek_worked = gst_element_send_event (play->video_sink_element, s_event); + video_seek_worked = gst_element_send_event ( + play->video_sink_element, s_event); } gst_event_unref (s_event); diff --git a/gst-libs/gst/play/play.old.h b/gst-libs/gst/play/play.old.h index e38c699d..7603da7c 100644 --- a/gst-libs/gst/play/play.old.h +++ b/gst-libs/gst/play/play.old.h @@ -108,6 +108,7 @@ struct _GstPlay GstElement *video_sink_element; GstElement *audio_sink; GstElement *audio_sink_element; + GstElement *visualisation_sink_element; GstDParamManager *vol_dpman; GstDParam *vol_dparam; diff --git a/gst-libs/gst/play/playpipelines.c b/gst-libs/gst/play/playpipelines.c index 3b8fb61d..952ca8a7 100644 --- a/gst-libs/gst/play/playpipelines.c +++ b/gst-libs/gst/play/playpipelines.c @@ -201,6 +201,11 @@ gst_play_audiot_set_audio ( GstPlay *play, audio_sink, GST_PLAY_SINK_TYPE_AUDIO); + play->visualisation_sink_element = gst_play_get_sink_element ( + play, + audio_sink, + GST_PLAY_SINK_TYPE_VIDEO); + if (play->audio_sink_element != NULL) { g_signal_connect (G_OBJECT (play->audio_sink_element), "eos", G_CALLBACK (callback_audio_sink_eos), play); @@ -352,6 +357,11 @@ gst_play_audioht_set_audio ( GstPlay *play, audio_sink, GST_PLAY_SINK_TYPE_AUDIO); + play->visualisation_sink_element = gst_play_get_sink_element ( + play, + audio_sink, + GST_PLAY_SINK_TYPE_VIDEO); + if (play->audio_sink_element != NULL) { g_signal_connect (G_OBJECT (play->audio_sink_element), "eos", G_CALLBACK (callback_audio_sink_eos), play); @@ -660,6 +670,11 @@ gst_play_video_set_audio ( GstPlay *play, audio_sink, GST_PLAY_SINK_TYPE_AUDIO); + play->visualisation_sink_element = gst_play_get_sink_element ( + play, + audio_sink, + GST_PLAY_SINK_TYPE_VIDEO); + if (play->audio_sink_element != NULL) { g_signal_connect (G_OBJECT (play->audio_sink_element), "eos", G_CALLBACK (callback_audio_sink_eos), play); -- cgit v1.2.1