examples/gstplay/player.c: Adding some output for debugging.
authorJulien Moutte <julien@moutte.net>
Sun, 15 Feb 2004 17:41:28 +0000 (17:41 +0000)
committerJulien Moutte <julien@moutte.net>
Sun, 15 Feb 2004 17:41:28 +0000 (17:41 +0000)
Original commit message from CVS:
2004-02-15  Julien MOUTTE  <julien@moutte.net>

* examples/gstplay/player.c: (got_eos), (main): Adding some
output for debugging.
* gst-libs/gst/play/play.c: (gst_play_state_change): Stop our
timeouts if we go to any state different from PLAYING.
* gst-libs/gst/riff/riff-read.c: (gst_riff_read_seek): Fix some
more EOS bugs in riff lib.

ChangeLog
examples/gstplay/player.c
gst-libs/gst/play/play.c
gst-libs/gst/riff/riff-read.c
tests/old/examples/gstplay/player.c

index 243622e..9e88dce 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2004-02-15  Julien MOUTTE  <julien@moutte.net>
+
+       * examples/gstplay/player.c: (got_eos), (main): Adding some 
+       output for debugging.
+       * gst-libs/gst/play/play.c: (gst_play_state_change): Stop our
+       timeouts if we go to any state different from PLAYING.
+       * gst-libs/gst/riff/riff-read.c: (gst_riff_read_seek): Fix some
+       more EOS bugs in riff lib.
+
 2004-02-14  Julien MOUTTE  <julien@moutte.net>
 
        * gst-libs/gst/play/play.c: (gst_play_connect_visualization): Disable
index 3c58c02..dee721f 100644 (file)
@@ -77,6 +77,7 @@ got_video_size (GstPlay *play, gint width, gint height)
 static void
 got_eos (GstPlay *play)
 {
+  g_print ("End Of Stream\n");
   g_main_loop_quit (loop);
 }
 
@@ -157,10 +158,12 @@ main (int argc, char *argv[])
 
   g_main_loop_run (loop);
 
+  g_print ("setting pipeline to ready\n");
+
   gst_element_set_state (GST_ELEMENT (play), GST_STATE_READY);
   
-  /* unref */
-  gst_object_unref (GST_OBJECT (play));
+  /* unref 
+  gst_object_unref (GST_OBJECT (play)); */
 
   exit (0);
 }
index 0fac17b..dfa73fd 100644 (file)
@@ -457,6 +457,16 @@ gst_play_state_change (GstElement *element, GstElementState old,
                                    (GSourceFunc) gst_play_get_length_callback,
                                    play);
   }
+  else {
+    if (play->priv->tick_id) {
+      g_source_remove (play->priv->tick_id);
+      play->priv->tick_id = 0;
+    }
+    if (play->priv->length_id) {
+      g_source_remove (play->priv->length_id);
+      play->priv->length_id = 0;
+    }
+  }
     
   if (GST_ELEMENT_CLASS (parent_class)->state_change)
     GST_ELEMENT_CLASS (parent_class)->state_change (element, old, state);
index 19d6998..40fc400 100644 (file)
@@ -260,6 +260,8 @@ gst_riff_read_seek (GstRiffRead *riff,
       break;
     } else if (GST_EVENT_TYPE (event) != GST_EVENT_DISCONTINUOUS) {
       gst_pad_event_default (riff->sinkpad, event);
+      if (GST_EVENT_TYPE (event) == GST_EVENT_EOS)
+        return NULL;
       event = NULL;
     }
   }
index 3c58c02..dee721f 100644 (file)
@@ -77,6 +77,7 @@ got_video_size (GstPlay *play, gint width, gint height)
 static void
 got_eos (GstPlay *play)
 {
+  g_print ("End Of Stream\n");
   g_main_loop_quit (loop);
 }
 
@@ -157,10 +158,12 @@ main (int argc, char *argv[])
 
   g_main_loop_run (loop);
 
+  g_print ("setting pipeline to ready\n");
+
   gst_element_set_state (GST_ELEMENT (play), GST_STATE_READY);
   
-  /* unref */
-  gst_object_unref (GST_OBJECT (play));
+  /* unref 
+  gst_object_unref (GST_OBJECT (play)); */
 
   exit (0);
 }