Index: gst/playback/gstplaybasebin.c
===================================================================
RCS file: /cvs/gstreamer/gst-plugins/gst/playback/gstplaybasebin.c,v
retrieving revision 1.44
diff -u -r1.44 gstplaybasebin.c
--- gst/playback/gstplaybasebin.c	22 Dec 2004 10:06:02 -0000	1.44
+++ gst/playback/gstplaybasebin.c	3 Jan 2005 17:34:53 -0000
@@ -1173,8 +1255,6 @@
 
         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 +1343,8 @@
          * 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 +1363,8 @@
     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);
Index: gst/wavparse/gstwavparse.c
===================================================================
RCS file: /cvs/gstreamer/gst-plugins/gst/wavparse/gstwavparse.c,v
retrieving revision 1.78
diff -u -r1.78 gstwavparse.c
--- gst/wavparse/gstwavparse.c	29 Oct 2004 11:57:35 -0000	1.78
+++ gst/wavparse/gstwavparse.c	3 Jan 2005 17:35:02 -0000
@@ -561,6 +561,7 @@
     gst_pad_set_explicit_caps (wav->srcpad, caps);
     gst_caps_free (caps);
     gst_element_add_pad (GST_ELEMENT (wav), wav->srcpad);
+    gst_element_no_more_pads (GST_ELEMENT (wav));
     GST_DEBUG ("frequency %d, channels %d", wav->rate, wav->channels);
   } else {
     GST_ELEMENT_ERROR (wav, STREAM, TYPE_NOT_FOUND, (NULL), (NULL));
