mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-25 03:01:03 +00:00
09141c6e1f
Since we started depending on GLib 2.44, we can be sure this macro is defined (it will be a no-op on compilers that don't support it). For plugins we should just start using `G_DECLARE_FINAL_TYPE` which means we no longer need the macro there, but for most types in core we don't want to break ABI, which means it's better to just keep it like it is (and use the `#ifdef` instead).
124 lines
4 KiB
C
124 lines
4 KiB
C
/* GStreamer
|
|
* Copyright (C) 2013 Collabora Ltd.
|
|
* Author: Sebastian Dröge <sebastian.droege@collabora.co.uk>
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Library General Public
|
|
* License as published by the Free Software Foundation; either
|
|
* version 2 of the License, or (at your option) any later version.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Library General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Library General Public
|
|
* License along with this library; if not, write to the
|
|
* Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
|
|
* Boston, MA 02110-1301, USA.
|
|
*/
|
|
|
|
#ifndef __GST_CAPS_FEATURES_H__
|
|
#define __GST_CAPS_FEATURES_H__
|
|
|
|
#include <gst/gstconfig.h>
|
|
#include <gst/glib-compat.h>
|
|
#include <glib-object.h>
|
|
#include <glib.h>
|
|
|
|
G_BEGIN_DECLS
|
|
|
|
typedef struct _GstCapsFeatures GstCapsFeatures;
|
|
|
|
GST_API GType _gst_caps_features_type;
|
|
|
|
#define GST_TYPE_CAPS_FEATURES (_gst_caps_features_type)
|
|
#define GST_IS_CAPS_FEATURES(object) (gst_is_caps_features(object))
|
|
#define GST_CAPS_FEATURES_CAST(object) ((GstCapsFeatures *)(object))
|
|
#define GST_CAPS_FEATURES(object) (GST_CAPS_FEATURES_CAST(object))
|
|
|
|
#define GST_CAPS_FEATURE_MEMORY_SYSTEM_MEMORY "memory:SystemMemory"
|
|
|
|
GST_API GstCapsFeatures *_gst_caps_features_any;
|
|
#define GST_CAPS_FEATURES_ANY (_gst_caps_features_any)
|
|
|
|
GST_API GstCapsFeatures *_gst_caps_features_memory_system_memory;
|
|
#define GST_CAPS_FEATURES_MEMORY_SYSTEM_MEMORY (_gst_caps_features_memory_system_memory)
|
|
|
|
GST_API
|
|
GType gst_caps_features_get_type (void);
|
|
|
|
GST_API
|
|
gboolean gst_is_caps_features (gconstpointer obj);
|
|
|
|
GST_API
|
|
GstCapsFeatures * gst_caps_features_new_empty (void);
|
|
|
|
GST_API
|
|
GstCapsFeatures * gst_caps_features_new_any (void);
|
|
|
|
GST_API
|
|
GstCapsFeatures * gst_caps_features_new (const gchar *feature1, ...);
|
|
|
|
GST_API
|
|
GstCapsFeatures * gst_caps_features_new_valist (const gchar *feature1, va_list varargs);
|
|
|
|
GST_API
|
|
GstCapsFeatures * gst_caps_features_new_id (GQuark feature1, ...);
|
|
|
|
GST_API
|
|
GstCapsFeatures * gst_caps_features_new_id_valist (GQuark feature1, va_list varargs);
|
|
|
|
GST_API
|
|
gboolean gst_caps_features_set_parent_refcount (GstCapsFeatures *features, gint * refcount);
|
|
|
|
GST_API
|
|
GstCapsFeatures * gst_caps_features_copy (const GstCapsFeatures * features);
|
|
|
|
GST_API
|
|
void gst_caps_features_free (GstCapsFeatures * features);
|
|
|
|
GST_API
|
|
gchar * gst_caps_features_to_string (const GstCapsFeatures * features);
|
|
|
|
GST_API
|
|
GstCapsFeatures * gst_caps_features_from_string (const gchar * features);
|
|
|
|
GST_API
|
|
guint gst_caps_features_get_size (const GstCapsFeatures * features);
|
|
|
|
GST_API
|
|
const gchar * gst_caps_features_get_nth (const GstCapsFeatures * features, guint i);
|
|
|
|
GST_API
|
|
GQuark gst_caps_features_get_nth_id (const GstCapsFeatures * features, guint i);
|
|
|
|
GST_API
|
|
gboolean gst_caps_features_contains (const GstCapsFeatures * features, const gchar * feature);
|
|
|
|
GST_API
|
|
gboolean gst_caps_features_contains_id (const GstCapsFeatures * features, GQuark feature);
|
|
|
|
GST_API
|
|
gboolean gst_caps_features_is_equal (const GstCapsFeatures * features1, const GstCapsFeatures * features2);
|
|
|
|
GST_API
|
|
gboolean gst_caps_features_is_any (const GstCapsFeatures * features);
|
|
|
|
GST_API
|
|
void gst_caps_features_add (GstCapsFeatures * features, const gchar * feature);
|
|
|
|
GST_API
|
|
void gst_caps_features_add_id ( GstCapsFeatures * features, GQuark feature);
|
|
|
|
GST_API
|
|
void gst_caps_features_remove (GstCapsFeatures * features, const gchar * feature);
|
|
|
|
GST_API
|
|
void gst_caps_features_remove_id (GstCapsFeatures * features, GQuark feature);
|
|
|
|
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstCapsFeatures, gst_caps_features_free)
|
|
|
|
G_END_DECLS
|
|
|
|
#endif /* __GST_CAPS_FEATURES_H__ */
|