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));
result = oclass->send_event (element, event);
+ } else {
+ gst_event_unref (event);
}
+ GST_STATE_UNLOCK (element);
return result;
}
res = klass->query (element, query);
}
- GST_TRACER_ELEMENT_QUERY_POST (element, res);
+ GST_TRACER_ELEMENT_QUERY_POST (element, query, res);
return res;
}
klass = GST_ELEMENT_GET_CLASS (element);
if (klass->post_message)
res = klass->post_message (element, message);
+ else
+ gst_message_unref (message);
GST_TRACER_ELEMENT_POST_MESSAGE_POST (element, res);
return res;