/**
* SECTION:gstcaps
+ * @title: GstCaps
* @short_description: Structure describing sets of media formats
* @see_also: #GstStructure, #GstMiniObject
*
* handle or produce at runtime.
*
* A #GstCaps can be constructed with the following code fragment:
- * |[
+ * |[<!-- language="C" -->
* GstCaps *caps = gst_caps_new_simple ("video/x-raw",
* "format", G_TYPE_STRING, "I420",
* "framerate", GST_TYPE_FRACTION, 25, 1,
G_TYPE_STRING, gst_caps_transform_to_string);
}
+void
+_priv_gst_caps_cleanup (void)
+{
+ gst_caps_unref (_gst_caps_any);
+ _gst_caps_any = NULL;
+ gst_caps_unref (_gst_caps_none);
+ _gst_caps_none = NULL;
+}
+
GstCapsFeatures *
__gst_caps_get_features_unchecked (const GstCaps * caps, guint idx)
{
*caps = gst_caps_from_string (string);
/* convert to string */
- if (G_UNLIKELY (*caps == NULL))
+ if (G_UNLIKELY (*caps == NULL)) {
g_critical ("Could not convert static caps \"%s\"", string);
+ goto done;
+ }
+
+ /* Caps generated from static caps are usually leaked */
+ GST_MINI_OBJECT_FLAG_SET (*caps, GST_MINI_OBJECT_FLAG_MAY_BE_LEAKED);
GST_CAT_TRACE (GST_CAT_CAPS, "created %p from string %s", static_caps,
string);
* @subtrahend: #GstCaps to subtract
*
* Subtracts the @subtrahend from the @minuend.
- * <note>This function does not work reliably if optional properties for caps
- * are included on one caps and omitted on the other.</note>
+ * > This function does not work reliably if optional properties for caps
+ * > are included on one caps and omitted on the other.
*
- * Returns: the resulting caps
+ * Returns: (transfer full): the resulting caps
*/
GstCaps *
gst_caps_subtract (GstCaps * minuend, GstCaps * subtrahend)
*
* This method does not preserve the original order of @caps.
*
- * Returns: The simplified caps.
+ * Returns: (transfer full): The simplified caps.
*/
GstCaps *
gst_caps_simplify (GstCaps * caps)
* can be converted back to a #GstCaps by gst_caps_from_string().
*
* For debugging purposes its easier to do something like this:
- * |[
+ * |[<!-- language="C" -->
* GST_LOG ("caps are %" GST_PTR_FORMAT, caps);
* ]|
* This prints the caps in human readable form.