gstcapsfeatures.h 3.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. /* GStreamer
  2. * Copyright (C) 2013 Collabora Ltd.
  3. * Author: Sebastian Dröge <[email protected]>
  4. *
  5. * This library is free software; you can redistribute it and/or
  6. * modify it under the terms of the GNU Library General Public
  7. * License as published by the Free Software Foundation; either
  8. * version 2 of the License, or (at your option) any later version.
  9. *
  10. * This library is distributed in the hope that it will be useful,
  11. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  13. * Library General Public License for more details.
  14. *
  15. * You should have received a copy of the GNU Library General Public
  16. * License along with this library; if not, write to the
  17. * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
  18. * Boston, MA 02110-1301, USA.
  19. */
  20. #ifndef __GST_CAPS_FEATURES_H__
  21. #define __GST_CAPS_FEATURES_H__
  22. #include <gst/gstconfig.h>
  23. #include <gst/glib-compat.h>
  24. G_BEGIN_DECLS
  25. typedef struct _GstCapsFeatures GstCapsFeatures;
  26. GST_EXPORT GType _gst_caps_features_type;
  27. #define GST_TYPE_CAPS_FEATURES (_gst_caps_features_type)
  28. #define GST_IS_CAPS_FEATURES(object) (gst_is_caps_features(object))
  29. #define GST_CAPS_FEATURES_CAST(object) ((GstCapsFeatures *)(object))
  30. #define GST_CAPS_FEATURES(object) (GST_CAPS_FEATURES_CAST(object))
  31. #define GST_CAPS_FEATURE_MEMORY_SYSTEM_MEMORY "memory:SystemMemory"
  32. GST_EXPORT GstCapsFeatures *_gst_caps_features_any;
  33. #define GST_CAPS_FEATURES_ANY (_gst_caps_features_any)
  34. GST_EXPORT GstCapsFeatures *_gst_caps_features_memory_system_memory;
  35. #define GST_CAPS_FEATURES_MEMORY_SYSTEM_MEMORY (_gst_caps_features_memory_system_memory)
  36. GType gst_caps_features_get_type (void);
  37. gboolean gst_is_caps_features (gconstpointer obj);
  38. GstCapsFeatures * gst_caps_features_new_empty (void);
  39. GstCapsFeatures * gst_caps_features_new_any (void);
  40. GstCapsFeatures * gst_caps_features_new (const gchar *feature1, ...);
  41. GstCapsFeatures * gst_caps_features_new_valist (const gchar *feature1, va_list varargs);
  42. GstCapsFeatures * gst_caps_features_new_id (GQuark feature1, ...);
  43. GstCapsFeatures * gst_caps_features_new_id_valist (GQuark feature1, va_list varargs);
  44. gboolean gst_caps_features_set_parent_refcount (GstCapsFeatures *features, gint * refcount);
  45. GstCapsFeatures * gst_caps_features_copy (const GstCapsFeatures * features);
  46. void gst_caps_features_free (GstCapsFeatures * features);
  47. gchar * gst_caps_features_to_string (const GstCapsFeatures * features);
  48. GstCapsFeatures * gst_caps_features_from_string (const gchar * features);
  49. guint gst_caps_features_get_size (const GstCapsFeatures * features);
  50. const gchar * gst_caps_features_get_nth (const GstCapsFeatures * features, guint i);
  51. GQuark gst_caps_features_get_nth_id (const GstCapsFeatures * features, guint i);
  52. gboolean gst_caps_features_contains (const GstCapsFeatures * features, const gchar * feature);
  53. gboolean gst_caps_features_contains_id (const GstCapsFeatures * features, GQuark feature);
  54. gboolean gst_caps_features_is_equal (const GstCapsFeatures * features1, const GstCapsFeatures * features2);
  55. gboolean gst_caps_features_is_any (const GstCapsFeatures * features);
  56. void gst_caps_features_add (GstCapsFeatures * features, const gchar * feature);
  57. void gst_caps_features_add_id ( GstCapsFeatures * features, GQuark feature);
  58. void gst_caps_features_remove (GstCapsFeatures * features, const gchar * feature);
  59. void gst_caps_features_remove_id (GstCapsFeatures * features, GQuark feature);
  60. G_END_DECLS
  61. #endif /* __GST_CAPS_FEATURES_H__ */