X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=gst%2Fgstcaps.c;h=c7d990b92ac7ce4658212169b6c46251ede59972;hb=8daad351a46e6e049fd7f0d8acd2f4b986a1bd87;hp=147b32c9c1789d0ed56fa1019b47707dd3a3e25e;hpb=1f6d5d3ff5cb03527acb99b4059788f53d49567e;p=platform%2Fupstream%2Fgstreamer.git diff --git a/gst/gstcaps.c b/gst/gstcaps.c index 147b32c..c7d990b 100644 --- a/gst/gstcaps.c +++ b/gst/gstcaps.c @@ -34,7 +34,7 @@ * handle or produce at runtime. * * A #GstCaps can be constructed with the following code fragment: - * |[ + * |[ * GstCaps *caps = gst_caps_new_simple ("video/x-raw", * "format", G_TYPE_STRING, "I420", * "framerate", GST_TYPE_FRACTION, 25, 1, @@ -145,6 +145,21 @@ _priv_gst_caps_initialize (void) 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) +{ + return gst_caps_get_features_unchecked (caps, idx); +} + static GstCaps * _gst_caps_copy (const GstCaps * caps) { @@ -945,6 +960,10 @@ gst_caps_copy_nth (const GstCaps * caps, guint nth) * Discard all but the first structure from @caps. Useful when * fixating. * + * This function takes ownership of @caps and will call gst_caps_make_writable() + * on it if necessary, so you must not use @caps afterwards unless you keep an + * additional reference to it with gst_caps_ref(). + * * Returns: (transfer full): truncated caps */ GstCaps * @@ -1440,7 +1459,7 @@ gst_caps_can_intersect (const GstCaps * caps1, const GstCaps * caps2) len1 = GST_CAPS_LEN (caps1); len2 = GST_CAPS_LEN (caps2); for (i = 0; i < len1 + len2 - 1; i++) { - /* superset index goes from 0 to sgst_caps_structure_intersectuperset->structs->len-1 */ + /* superset index goes from 0 to superset->structs->len-1 */ j = MIN (i, len1 - 1); /* subset index stays 0 until i reaches superset->structs->len, then it * counts up from 1 to subset->structs->len - 1 */ @@ -1568,7 +1587,7 @@ gst_caps_intersect_zig_zag (GstCaps * caps1, GstCaps * caps2) * Unlike @gst_caps_intersect, the returned caps will be ordered in a similar * fashion as @caps1. * - * Returns: the new #GstCaps + * Returns: (transfer full): the new #GstCaps */ static GstCaps * gst_caps_intersect_first (GstCaps * caps1, GstCaps * caps2) @@ -1639,7 +1658,7 @@ gst_caps_intersect_first (GstCaps * caps1, GstCaps * caps2) * to both @caps1 and @caps2, the order is defined by the #GstCapsIntersectMode * used. * - * Returns: the new #GstCaps + * Returns: (transfer full): the new #GstCaps */ GstCaps * gst_caps_intersect_full (GstCaps * caps1, GstCaps * caps2, @@ -1667,7 +1686,7 @@ gst_caps_intersect_full (GstCaps * caps1, GstCaps * caps2, * Creates a new #GstCaps that contains all the formats that are common * to both @caps1 and @caps2. Defaults to %GST_CAPS_INTERSECT_ZIG_ZAG mode. * - * Returns: the new #GstCaps + * Returns: (transfer full): the new #GstCaps */ GstCaps * gst_caps_intersect (GstCaps * caps1, GstCaps * caps2) @@ -1747,7 +1766,7 @@ gst_caps_structure_subtract (GSList ** into, const GstStructure * minuend, * 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) @@ -1880,7 +1899,9 @@ gst_caps_normalize_foreach (GQuark field_id, const GValue * value, gpointer ptr) * @caps, but contains no lists. Each list is expanded into separate * @GstStructures. * - * This function takes ownership of @caps. + * This function takes ownership of @caps and will call gst_caps_make_writable() + * on it so you must not use @caps afterwards unless you keep an additional + * reference to it with gst_caps_ref(). * * Returns: (transfer full): the normalized #GstCaps */ @@ -2037,9 +2058,13 @@ gst_caps_switch_structures (GstCaps * caps, GstStructure * old, * identical are merged. Component structures that have values that can be * merged are also merged. * + * This function takes ownership of @caps and will call gst_caps_make_writable() + * on it if necessary, so you must not use @caps afterwards unless you keep an + * additional reference to it with gst_caps_ref(). + * * 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) @@ -2107,6 +2132,10 @@ gst_caps_simplify (GstCaps * caps) * values. First the caps will be truncated and then the first structure will be * fixated with gst_structure_fixate(). * + * This function takes ownership of @caps and will call gst_caps_make_writable() + * on it so you must not use @caps afterwards unless you keep an additional + * reference to it with gst_caps_ref(). + * * Returns: (transfer full): the fixated caps */ GstCaps * @@ -2143,7 +2172,7 @@ gst_caps_fixate (GstCaps * caps) * can be converted back to a #GstCaps by gst_caps_from_string(). * * For debugging purposes its easier to do something like this: - * |[ + * |[ * GST_LOG ("caps are %" GST_PTR_FORMAT, caps); * ]| * This prints the caps in human readable form.