diff --git a/libs/gst/base/gstbasetransform.c b/libs/gst/base/gstbasetransform.c index 3d77e74fbb..7ccfb04778 100644 --- a/libs/gst/base/gstbasetransform.c +++ b/libs/gst/base/gstbasetransform.c @@ -2517,6 +2517,8 @@ gst_base_transform_chain (GstPad * pad, GstBuffer * buffer) if (klass->before_transform) klass->before_transform (trans, buffer); + gst_base_transform_send_delayed_events (trans); + /* protect transform method and concurrent buffer alloc */ GST_BASE_TRANSFORM_LOCK (trans); ret = gst_base_transform_handle_buffer (trans, buffer, &outbuf); @@ -2554,8 +2556,6 @@ gst_base_transform_chain (GstPad * pad, GstBuffer * buffer) } trans->priv->processed++; - gst_base_transform_send_delayed_events (trans); - ret = gst_pad_push (trans->srcpad, outbuf); } else { gst_buffer_unref (outbuf);