Index: gst/realmedia/rmdemux.c
===================================================================
RCS file: /cvs/gstreamer/gst-plugins-ugly/gst/realmedia/rmdemux.c,v
retrieving revision 1.56
diff -u -r1.56 rmdemux.c
--- gst/realmedia/rmdemux.c	28 Nov 2005 18:54:09 -0000	1.56
+++ gst/realmedia/rmdemux.c	2 Dec 2005 14:09:02 -0000
@@ -131,7 +131,7 @@
     gboolean active);
 static gboolean gst_rmdemux_sink_event (GstPad * pad, GstEvent * event);
 static gboolean gst_rmdemux_src_event (GstPad * pad, GstEvent * event);
-static gboolean gst_rmdemux_send_event (GstRMDemux * rmdemux, GstEvent * event);
+static void gst_rmdemux_send_event (GstRMDemux * rmdemux, GstEvent * event);
 static const GstQueryType *gst_rmdemux_src_query_types (GstPad * pad);
 static gboolean gst_rmdemux_src_query (GstPad * pad, GstQuery * query);
 static gboolean gst_rmdemux_perform_seek (GstRMDemux * rmdemux, gboolean flush);
@@ -525,10 +525,7 @@
       GST_WARNING_OBJECT (rmdemux, "Failed to push event upstream!");
     }
 
-    res = gst_rmdemux_send_event (rmdemux, gst_event_new_flush_start ());
-    if (!res) {
-      GST_WARNING_OBJECT (rmdemux, "Failed to push event downstream!");
-    }
+    gst_rmdemux_send_event (rmdemux, gst_event_new_flush_start ());
   } else {
     gst_pad_pause_task (rmdemux->sinkpad);
   }
@@ -834,7 +831,7 @@
 
   /* Defer to the chain function */
   ret = gst_rmdemux_chain (pad, buffer);
-  if (ret != GST_FLOW_OK) {
+  if (ret != GST_FLOW_OK && ret != GST_FLOW_NOT_LINKED) {
     GST_DEBUG_OBJECT (rmdemux, "Chain flow failed at %p", rmdemux->offset);
     goto need_pause;
   }
@@ -1175,11 +1172,10 @@
   return NULL;
 }
 
-static gboolean
+static void
 gst_rmdemux_send_event (GstRMDemux * rmdemux, GstEvent * event)
 {
   int i;
-  gboolean ret = TRUE;
 
   for (i = 0; i < rmdemux->n_streams; i++) {
     GstRMDemuxStream *stream;
@@ -1189,13 +1185,9 @@
     GST_DEBUG_OBJECT (rmdemux, "Pushing event to stream %d", i);
 
     gst_event_ref (event);
-    ret = gst_pad_push_event (stream->pad, event);
-    if (!ret)
-      break;
+    gst_pad_push_event (stream->pad, event);
   }
   gst_event_unref (event);
-
-  return ret;
 }
 
 GstFlowReturn
