mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-07-04 21:55:55 +00:00
These are meant to specify features in caps that are required for a specific structure, for example a specific memory type or meta. Semantically they could be though of as an extension of the media type name of the structures and are handled exactly like that.
75 lines
3.4 KiB
C
75 lines
3.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>
|
|
|
|
G_BEGIN_DECLS
|
|
|
|
typedef struct _GstCapsFeatures GstCapsFeatures;
|
|
|
|
#define GST_TYPE_CAPS_FEATURES (gst_caps_features_get_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_EXPORT GstCapsFeatures *_gst_caps_features_memory_system_memory;
|
|
#define GST_CAPS_FEATURES_MEMORY_SYSTEM_MEMORY (_gst_caps_features_memory_system_memory)
|
|
|
|
GType gst_caps_features_get_type (void);
|
|
gboolean gst_is_caps_features (gconstpointer obj);
|
|
|
|
GstCapsFeatures * gst_caps_features_new_empty (void);
|
|
GstCapsFeatures * gst_caps_features_new (const gchar *feature1, ...);
|
|
GstCapsFeatures * gst_caps_features_new_valist (const gchar *feature1, va_list varargs);
|
|
GstCapsFeatures * gst_caps_features_new_id (GQuark feature1, ...);
|
|
GstCapsFeatures * gst_caps_features_new_id_valist (GQuark feature1, va_list varargs);
|
|
|
|
gboolean gst_caps_features_set_parent_refcount (GstCapsFeatures *features, gint * refcount);
|
|
|
|
GstCapsFeatures * gst_caps_features_copy (const GstCapsFeatures * features);
|
|
void gst_caps_features_free (GstCapsFeatures * features);
|
|
|
|
gchar * gst_caps_features_to_string (const GstCapsFeatures * features);
|
|
GstCapsFeatures * gst_caps_features_from_string (const gchar * features);
|
|
|
|
guint gst_caps_features_get_size (const GstCapsFeatures * features);
|
|
const gchar * gst_caps_features_get_nth (const GstCapsFeatures * features, guint i);
|
|
GQuark gst_caps_features_get_nth_id (const GstCapsFeatures * features, guint i);
|
|
|
|
gboolean gst_caps_features_contains (const GstCapsFeatures * features, const gchar * feature);
|
|
gboolean gst_caps_features_contains_id (const GstCapsFeatures * features, GQuark feature);
|
|
gboolean gst_caps_features_is_equal (const GstCapsFeatures * features1, const GstCapsFeatures * features2);
|
|
|
|
void gst_caps_features_add (GstCapsFeatures * features, const gchar * feature);
|
|
void gst_caps_features_add_id ( GstCapsFeatures * features, GQuark feature);
|
|
|
|
void gst_caps_features_remove (GstCapsFeatures * features, const gchar * feature);
|
|
void gst_caps_features_remove_id (GstCapsFeatures * features, GQuark feature);
|
|
|
|
G_END_DECLS
|
|
|
|
#endif /* __GST_CAPS_FEATURES_H__ */
|