summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulien Moutte <julien@moutte.net>2004-02-15 17:41:28 +0000
committerJulien Moutte <julien@moutte.net>2004-02-15 17:41:28 +0000
commite678129a7efa80926febb125dcce750fecc6ba37 (patch)
tree45e4af08c5940b87656a56720ba66435f6a0be06
parenta21475966d30bcec5ed45aca95b2b88a1352af13 (diff)
downloadgstreamer-plugins-base-e678129a7efa80926febb125dcce750fecc6ba37.tar.gz
examples/gstplay/player.c: Adding some output for debugging.
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.
-rw-r--r--ChangeLog9
-rw-r--r--examples/gstplay/player.c7
-rw-r--r--gst-libs/gst/play/play.c10
-rw-r--r--gst-libs/gst/riff/riff-read.c2
-rw-r--r--tests/old/examples/gstplay/player.c7
5 files changed, 31 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 243622ef7..9e88dce31 100644
--- 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
diff --git a/examples/gstplay/player.c b/examples/gstplay/player.c
index 3c58c0229..dee721f93 100644
--- a/examples/gstplay/player.c
+++ b/examples/gstplay/player.c
@@ -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);
}
diff --git a/gst-libs/gst/play/play.c b/gst-libs/gst/play/play.c
index 0fac17bf1..dfa73fd98 100644
--- a/gst-libs/gst/play/play.c
+++ b/gst-libs/gst/play/play.c
@@ -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);
diff --git a/gst-libs/gst/riff/riff-read.c b/gst-libs/gst/riff/riff-read.c
index 19d699819..40fc4005b 100644
--- a/gst-libs/gst/riff/riff-read.c
+++ b/gst-libs/gst/riff/riff-read.c
@@ -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;
}
}
diff --git a/tests/old/examples/gstplay/player.c b/tests/old/examples/gstplay/player.c
index 3c58c0229..dee721f93 100644
--- a/tests/old/examples/gstplay/player.c
+++ b/tests/old/examples/gstplay/player.c
@@ -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);
}