event: don't ref the caps

Use a different way of getting the caps from the caps event so that no
refcounting happens.
This commit is contained in:
Wim Taymans 2011-05-08 12:38:05 +02:00
parent d43cdfbf37
commit 73f3b3fb75

View file

@ -514,11 +514,16 @@ gst_event_new_caps (GstCaps * caps)
void void
gst_event_parse_caps (GstEvent * event, GstCaps ** caps) gst_event_parse_caps (GstEvent * event, GstCaps ** caps)
{ {
GstStructure *structure;
g_return_if_fail (GST_IS_EVENT (event)); g_return_if_fail (GST_IS_EVENT (event));
g_return_if_fail (GST_EVENT_TYPE (event) == GST_EVENT_CAPS); g_return_if_fail (GST_EVENT_TYPE (event) == GST_EVENT_CAPS);
gst_structure_id_get (event->structure, structure = event->structure;
GST_QUARK (CAPS), GST_TYPE_CAPS, caps, NULL); if (G_LIKELY (caps))
*caps =
g_value_get_boxed (gst_structure_id_get_value (structure,
GST_QUARK (CAPS)));
} }
/** /**