summaryrefslogtreecommitdiffstats
path: root/gst-libs/gst
diff options
context:
space:
mode:
authorJulien Moutte <julien@moutte.net>2003-03-30 10:21:40 +0000
committerJulien Moutte <julien@moutte.net>2003-03-30 10:21:40 +0000
commite71c9b9acab4b12044ba49dde24985ef19a95441 (patch)
tree4eed387491cb592d7bfa093fc5d94479c213233f /gst-libs/gst
parent620e0f274df8bf7a4da64f7ef1421265df816b10 (diff)
downloadgst-plugins-bad-e71c9b9acab4b12044ba49dde24985ef19a95441.tar.gz
gst-plugins-bad-e71c9b9acab4b12044ba49dde24985ef19a95441.tar.bz2
gst-plugins-bad-e71c9b9acab4b12044ba49dde24985ef19a95441.zip
Fixed seeking discont with visualisation
Original commit message from CVS: Fixed seeking discont with visualisation
Diffstat (limited to 'gst-libs/gst')
-rw-r--r--gst-libs/gst/play/play.old.c12
-rw-r--r--gst-libs/gst/play/play.old.h1
-rw-r--r--gst-libs/gst/play/playpipelines.c15
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);