gst-libs/gst/play/play.c: s/sinkconnect/sink_link
authorJulien Moutte <julien@moutte.net>
Sun, 1 Feb 2004 22:33:07 +0000 (22:33 +0000)
committerJulien Moutte <julien@moutte.net>
Sun, 1 Feb 2004 22:33:07 +0000 (22:33 +0000)
Original commit message from CVS:
2004-02-01  Julien MOUTTE  <julien@moutte.net>

* 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
gst-libs/gst/play/play.c

index 76d62af..ec86a2c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2004-02-01  Julien MOUTTE  <julien@moutte.net>
+
+       * 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  <thomas at apestaart dot org>
 
        * configure.ac:
index a7a04a0..ba100fb 100644 (file)
@@ -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;