diff --git a/gst/gstelement.c b/gst/gstelement.c index 6a17d743b7..6bc013d8fd 100644 --- a/gst/gstelement.c +++ b/gst/gstelement.c @@ -1566,6 +1566,7 @@ gst_element_send_event (GstElement * element, GstEvent * event) oclass = GST_ELEMENT_GET_CLASS (element); + GST_STATE_LOCK (element); if (oclass->send_event) { GST_CAT_DEBUG (GST_CAT_ELEMENT_PADS, "send %s event on element %s", GST_EVENT_TYPE_NAME (event), GST_ELEMENT_NAME (element)); @@ -1573,6 +1574,7 @@ gst_element_send_event (GstElement * element, GstEvent * event) } else { gst_event_unref (event); } + GST_STATE_UNLOCK (element); return result; }