diff -ruN gst-plugins-base-0.10.9/gst-libs/gst/rtp/gstbasertpdepayload.c gst-plugins-base-0.10.9-kv1-clean/gst-libs/gst/rtp/gstbasertpdepayload.c
--- gst-plugins-base-0.10.9/gst-libs/gst/rtp/gstbasertpdepayload.c	2006-07-11 23:44:35.000000000 +0300
+++ gst-plugins-base-0.10.9-kv1-clean/gst-libs/gst/rtp/gstbasertpdepayload.c	2006-07-26 18:14:40.000000000 +0300
@@ -240,6 +240,16 @@
         gst_event_unref (event);
         break;
       } else {
+	 if (GST_EVENT_TYPE (event) == GST_EVENT_NEWSEGMENT) {
+	  GstFormat format;
+	  gst_event_parse_new_segment (event, NULL, NULL, &format, NULL, NULL, NULL); 
+	  if (format != GST_FORMAT_TIME) {
+	    GST_DEBUG_OBJECT (filter,
+			      "Upstream sent a NEWSEGMENT in wrong format, dropping.");
+	    gst_event_unref (event);
+	    break;
+	  }
+	}							    
         GST_DEBUG_OBJECT (filter,
             "Upstream sent a NEWSEGMENT, passing through.");
       }
