const gchar * string);
GType _gst_caps_type = 0;
+GstCaps *_gst_caps_any;
+GstCaps *_gst_caps_empty;
GST_DEFINE_MINI_OBJECT_TYPE (GstCaps, gst_caps);
{
_gst_caps_type = gst_caps_get_type ();
+ _gst_caps_any = gst_caps_new_any ();
+ _gst_caps_empty = gst_caps_new_empty ();
+
g_value_register_transform_func (_gst_caps_type,
G_TYPE_STRING, gst_caps_transform_to_string);
}
* GST_CAPS_ANY:
*
* Means that the element/pad can output 'anything'. Useful for elements
- * that output unknown media, such as filesrc.
+ * that output unknown media, such as filesrc. This macro returns a singleton and
+ * should not be unreffed.
*/
-#define GST_CAPS_ANY gst_caps_new_any()
+#define GST_CAPS_ANY _gst_caps_any
/**
* GST_CAPS_NONE:
*
* The opposite of %GST_CAPS_ANY: it means that the pad/element outputs an
- * undefined media type that can not be detected.
+ * undefined media type that can not be detected. This macro returns a singleton
+ * and should not be unreffed.
*/
-#define GST_CAPS_NONE gst_caps_new_empty()
+#define GST_CAPS_NONE _gst_caps_empty
/**
* GST_STATIC_CAPS_ANY:
typedef struct _GstCaps GstCaps;
typedef struct _GstStaticCaps GstStaticCaps;
+extern GstCaps * _gst_caps_any;
+extern GstCaps * _gst_caps_empty;
/**
* GST_CAPS_FLAGS:
* @caps: a #GstCaps.