Fix for #154773 - fixes playback of small .wav files
authorThomas Vander Stichele <thomas@apestaart.org>
Tue, 4 Jan 2005 11:09:19 +0000 (11:09 +0000)
committerThomas Vander Stichele <thomas@apestaart.org>
Tue, 4 Jan 2005 11:09:19 +0000 (11:09 +0000)
Original commit message from CVS:
Fix for #154773 - fixes playback of small .wav files

ChangeLog
gst/playback/gstplaybasebin.c

index ed92ea2..6ace607 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2005-01-04  Thomas Vander Stichele  <thomas at apestaart dot org>
+
+       patch by: Ronald Bultje <rbultje@ronald.bitfreak.net>
+
+       * gst/playback/gstplaybasebin.c:
+       * gst/wavparse/gstwavparse.c:
+         Fix for #154773 - fixes playback of small .wav files
+
 2005-01-03  Thomas Vander Stichele  <thomas at apestaart dot org>
 
        patch by: Ronald Bultje <rbultje@ronald.bitfreak.net>
index 3f27660..39b22b2 100644 (file)
@@ -1173,8 +1173,6 @@ gst_play_base_bin_change_state (GstElement * element)
 
         gst_element_set_state (play_base_bin->thread, GST_STATE_READY);
 
-        g_signal_connect (G_OBJECT (play_base_bin->thread), "eos",
-            G_CALLBACK (play_base_eos), play_base_bin);
         g_signal_connect (play_base_bin->thread, "found_tag",
             G_CALLBACK (gst_play_base_bin_found_tag), play_base_bin);
       } else {
@@ -1263,6 +1261,8 @@ gst_play_base_bin_change_state (GstElement * element)
          * because one stream was unrecognized. */
         g_signal_connect (play_base_bin->thread, "error",
             G_CALLBACK (gst_play_base_bin_error), play_base_bin);
+        g_signal_connect (G_OBJECT (play_base_bin->thread), "eos",
+            G_CALLBACK (play_base_eos), play_base_bin);
         GST_DEBUG ("emit signal");
         g_signal_emit (play_base_bin,
             gst_play_base_bin_signals[SETUP_OUTPUT_PADS_SIGNAL], 0);
@@ -1281,6 +1281,8 @@ gst_play_base_bin_change_state (GstElement * element)
     case GST_STATE_PAUSED_TO_READY:
       g_signal_handlers_disconnect_by_func (play_base_bin->thread,
           G_CALLBACK (gst_play_base_bin_error), play_base_bin);
+      g_signal_handlers_disconnect_by_func (play_base_bin->thread,
+          G_CALLBACK (play_base_eos), play_base_bin);
       ret = gst_element_set_state (play_base_bin->thread, GST_STATE_READY);
       play_base_bin->need_rebuild = TRUE;
       remove_groups (play_base_bin);