## gsttagxmp gsttagxmp — tag mappings and support functions for plugins dealing with xmp packets |

## Synopsis

    #include <gst/tag/tag.h>

    GstTagList *        gst_tag_list_from_xmp_buffer        (const GstBuffer *buffer);
    GstBuffer *         gst_tag_list_to_xmp_buffer          (const GstTagList *list,
                                                             gboolean read_only);
    GstBuffer *         gst_tag_list_to_xmp_buffer_full     (const GstTagList *list,
                                                             gboolean read_only,
                                                             const gchar **schemas);
    const gchar **      gst_tag_xmp_list_schemas            (void);

## Description

Contains various utility functions for plugins to parse or create xmp packets and map them to and from GstTagLists.

Please note that the xmp parser is very lightweight and not strict at all.

## Details

### gst_tag_list_from_xmp_buffer ()

    GstTagList *        gst_tag_list_from_xmp_buffer        (const GstBuffer *buffer);

Parse a xmp packet into a taglist.

`buffer` : | buffer
Returns : | new taglist or `NULL`, free the list when done

Since 0.10.29

### gst_tag_list_to_xmp_buffer ()

    GstBuffer *         gst_tag_list_to_xmp_buffer          (const GstTagList *list,
                                                             gboolean read_only);

Formats a taglist as a xmp packet.

`list` : | tags
`read_only` : | does the container forbid inplace editing
Returns : | new buffer or `NULL`, unref the buffer when done

Since 0.10.29

### gst_tag_list_to_xmp_buffer_full ()

    GstBuffer *         gst_tag_list_to_xmp_buffer_full     (const GstTagList *list,
                                                             gboolean read_only,
                                                             const gchar **schemas);

Formats a taglist as a xmp packet using only the selected schemas. An empty list (`NULL`) means that all schemas should be used

`list` : | tags
`read_only` : | does the container forbid inplace editing
`schemas` : | `NULL` terminated array of schemas to be used on serialization
Returns : | new buffer or `NULL`, unref the buffer when done

Since 0.10.33

### gst_tag_xmp_list_schemas ()

    const gchar **      gst_tag_xmp_list_schemas            (void);

Gets the list of supported schemas in the xmp lib

Returns : | a `NULL` terminated array of strings with the schema names

Since 0.10.33

## See Also

GstTagList