Index: libs/gst/base/gstbasetransform.c
===================================================================
RCS file: /cvs/gstreamer/gstreamer/libs/gst/base/gstbasetransform.c,v
retrieving revision 1.98
diff -u -p -r1.98 gstbasetransform.c
--- libs/gst/base/gstbasetransform.c	9 Mar 2007 16:30:38 -0000	1.98
+++ libs/gst/base/gstbasetransform.c	21 Apr 2007 13:17:54 -0000
@@ -1670,6 +1670,11 @@ gst_base_transform_activate (GstBaseTran
 
     GST_OBJECT_UNLOCK (trans);
   } else {
+    /* We must make sure streaming has finished before resetting things
+     * and calling the ::stop vfunc */
+    GST_PAD_STREAM_LOCK (trans->sinkpad);
+    GST_PAD_STREAM_UNLOCK (trans->sinkpad);
+
     trans->have_same_caps = FALSE;
     /* We can only reset the passthrough mode if the instance told us to 
        handle it in configure_caps */
