pbutils: Add GST_PBUTILS_CAPS_DESCRIPTION_FLAG_METADATA and ONVIF XML Timed MetaData

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2453>
This commit is contained in:
Sebastian Dröge 2022-05-19 12:17:59 +03:00 committed by GStreamer Marge Bot
parent 7273024ae5
commit 39568918de
2 changed files with 19 additions and 2 deletions

View file

@ -56,7 +56,8 @@ typedef enum
FLAG_IMAGE = (1 << 4), /* format is an image format, or image container/tag */ FLAG_IMAGE = (1 << 4), /* format is an image format, or image container/tag */
FLAG_SUB = (1 << 5), /* format is a subtitle format, or subtitle container */ FLAG_SUB = (1 << 5), /* format is a subtitle format, or subtitle container */
FLAG_TAG = (1 << 6), /* format is a tag/container */ FLAG_TAG = (1 << 6), /* format is a tag/container */
FLAG_GENERIC = (1 << 7) /* format is a generic container (e.g. multipart) */ FLAG_GENERIC = (1 << 7), /* format is a generic container (e.g. multipart) */
FLAG_METADATA = (1 << 8), /* format is a metadata format, or metadata container/tag */
} FormatFlags; } FormatFlags;
typedef struct typedef struct
@ -330,7 +331,8 @@ static const FormatInfo formats[] = {
{"video/x-svq", NULL, FLAG_VIDEO, ""}, {"video/x-svq", NULL, FLAG_VIDEO, ""},
{"video/x-wmv", NULL, FLAG_VIDEO, ""}, {"video/x-wmv", NULL, FLAG_VIDEO, ""},
{"video/x-xan", NULL, FLAG_VIDEO, ""}, {"video/x-xan", NULL, FLAG_VIDEO, ""},
{"video/x-tscc", NULL, FLAG_VIDEO, ""} {"video/x-tscc", NULL, FLAG_VIDEO, ""},
{"application/x-onvif-metadata", "ONVIF XML Timed MetaData", FLAG_METADATA, ""}
}; };
static const gchar * static const gchar *
@ -1346,6 +1348,8 @@ gst_pb_utils_get_caps_description_flags (const GstCaps * caps)
flags |= GST_PBUTILS_CAPS_DESCRIPTION_FLAG_TAG; flags |= GST_PBUTILS_CAPS_DESCRIPTION_FLAG_TAG;
if ((info->flags | FLAG_GENERIC)) if ((info->flags | FLAG_GENERIC))
flags |= GST_PBUTILS_CAPS_DESCRIPTION_FLAG_GENERIC; flags |= GST_PBUTILS_CAPS_DESCRIPTION_FLAG_GENERIC;
if ((info->flags | FLAG_METADATA))
flags |= GST_PBUTILS_CAPS_DESCRIPTION_FLAG_METADATA;
} }
gst_caps_unref (tmp); gst_caps_unref (tmp);

View file

@ -40,6 +40,8 @@ G_BEGIN_DECLS
* @GST_PBUTILS_CAPS_DESCRIPTION_FLAG_TAG: Container format is a tags container. * @GST_PBUTILS_CAPS_DESCRIPTION_FLAG_TAG: Container format is a tags container.
* @GST_PBUTILS_CAPS_DESCRIPTION_FLAG_GENERIC: Container format can store any kind of * @GST_PBUTILS_CAPS_DESCRIPTION_FLAG_GENERIC: Container format can store any kind of
* stream type. * stream type.
* @GST_PBUTILS_CAPS_DESCRIPTION_FLAG_METADATA: Caps describe a metadata
* format, or a container format that can store metadata.
* *
* Flags that are returned by gst_pb_utils_get_caps_description_flags() and * Flags that are returned by gst_pb_utils_get_caps_description_flags() and
* describe the format of the caps. * describe the format of the caps.
@ -54,6 +56,17 @@ typedef enum {
GST_PBUTILS_CAPS_DESCRIPTION_FLAG_SUBTITLE = 1 << 4, GST_PBUTILS_CAPS_DESCRIPTION_FLAG_SUBTITLE = 1 << 4,
GST_PBUTILS_CAPS_DESCRIPTION_FLAG_TAG = 1 << 5, GST_PBUTILS_CAPS_DESCRIPTION_FLAG_TAG = 1 << 5,
GST_PBUTILS_CAPS_DESCRIPTION_FLAG_GENERIC = 1 << 6, GST_PBUTILS_CAPS_DESCRIPTION_FLAG_GENERIC = 1 << 6,
/**
* GST_PBUTILS_CAPS_DESCRIPTION_FLAG_METADATA:
*
* Caps describe a metadata format, or a container format that can store
* metadata.
*
* Since: 1.22
*/
GST_PBUTILS_CAPS_DESCRIPTION_FLAG_METADATA = 1 << 7,
} GstPbUtilsCapsDescriptionFlags; } GstPbUtilsCapsDescriptionFlags;
/* /*