From 119c42f201c5870562809a99d9a8f1c5679ad61a Mon Sep 17 00:00:00 2001 From: Julien Moutte Date: Sun, 1 Feb 2004 22:33:07 +0000 Subject: gst-libs/gst/play/play.c: s/sinkconnect/sink_link Original commit message from CVS: 2004-02-01 Julien MOUTTE * gst-libs/gst/play/play.c: (gst_play_seek_to_time), (gst_play_new): Accepting NULL GError, blocking time tick while seeking. * sys/ximage/ximagesink.c: (gst_ximagesink_sink_link), (gst_ximagesink_chain), (gst_ximagesink_init): s/sinkconnect/sink_link * sys/xvimage/xvimagesink.c: (gst_xvimagesink_sink_link), (gst_xvimagesink_chain), (gst_xvimagesink_init): s/sinkconnect/sink_link --- ChangeLog | 9 +++++++++ gst-libs/gst/play/play.c | 10 +++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 76d62af7..ec86a2c8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2004-02-01 Julien MOUTTE + + * gst-libs/gst/play/play.c: (gst_play_seek_to_time), + (gst_play_new): Accepting NULL GError, blocking time tick while seeking. + * sys/ximage/ximagesink.c: (gst_ximagesink_sink_link), + (gst_ximagesink_chain), (gst_ximagesink_init): s/sinkconnect/sink_link + * sys/xvimage/xvimagesink.c: (gst_xvimagesink_sink_link), + (gst_xvimagesink_chain), (gst_xvimagesink_init): s/sinkconnect/sink_link + 2004-02-01 Thomas Vander Stichele * configure.ac: diff --git a/gst-libs/gst/play/play.c b/gst-libs/gst/play/play.c index a7a04a05..ba100fb3 100644 --- a/gst-libs/gst/play/play.c +++ b/gst-libs/gst/play/play.c @@ -671,6 +671,10 @@ gst_play_seek_to_time (GstPlay * play, gint64 time_nanos) GST_IS_ELEMENT (audio_sink_element)) { gboolean s = FALSE; + /* We block the tick signal while seeking */ + if (play->priv->tick_id) + g_signal_handler_block (G_OBJECT (play), play->priv->tick_id); + s = gst_element_seek (video_seek_element, GST_FORMAT_TIME | GST_SEEK_METHOD_SET | GST_SEEK_FLAG_FLUSH, time_nanos); @@ -680,6 +684,10 @@ gst_play_seek_to_time (GstPlay * play, gint64 time_nanos) time_nanos); } + /* We unblock the tick signal after seeking */ + if (play->priv->tick_id) + g_signal_handler_unblock (G_OBJECT (play), play->priv->tick_id); + if (s) { GstFormat format = GST_FORMAT_TIME; gboolean q = FALSE; @@ -1125,7 +1133,7 @@ gst_play_new (GError **error) { GstPlay *play = g_object_new (GST_TYPE_PLAY, NULL); - if (play->priv->error) + if ( (error) && (play->priv->error) ) { *error = play->priv->error; play->priv->error = NULL; -- cgit v1.2.1