## gsttagxmpwriter

gsttagxmpwriter — Interface for elements that provide XMP serialization

## Synopsis

    void                gst_tag_xmp_writer_add_all_schemas  (GstTagXmpWriter *config);
    void                gst_tag_xmp_writer_add_schema       (GstTagXmpWriter *config,
                                                             const gchar *schema);
    gboolean            gst_tag_xmp_writer_has_schema       (GstTagXmpWriter *config,
                                                             const gchar *schema);
    void                gst_tag_xmp_writer_remove_schema    (GstTagXmpWriter *config,
                                                             const gchar *schema);
    void                gst_tag_xmp_writer_remove_all_schemas
                                                            (GstTagXmpWriter *config);
    GstBuffer *         gst_tag_xmp_writer_tag_list_to_xmp_buffer
                                                            (GstTagXmpWriter *config,
                                                             const GstTagList *taglist,
                                                             gboolean read_only);

## Description

This interface is implemented by elements that are able to do XMP serialization. Examples for such elements are jifmux and qtmux.

Applications can use this interface to configure which XMP schemas should be used when serializing tags into XMP. Schemas are represented by their names, a full list of the supported schemas can be obtained from `gst_tag_xmp_list_schemas()`. By default, all schemas are used.

## Details

### gst_tag_xmp_writer_add_all_schemas ()

    void                gst_tag_xmp_writer_add_all_schemas  (GstTagXmpWriter *config);

Adds all available XMP schemas to the configuration. Meaning that all will be used.

`config` : | a GstTagXmpWriter

Since 0.10.33

### gst_tag_xmp_writer_add_schema ()

    void                gst_tag_xmp_writer_add_schema       (GstTagXmpWriter *config,
                                                             const gchar *schema);

Adds `schema` to the list schemas

`config` : | a GstTagXmpWriter
`schema` : | the schema to be added

Since 0.10.33

### gst_tag_xmp_writer_has_schema ()

    gboolean            gst_tag_xmp_writer_has_schema       (GstTagXmpWriter *config,
                                                             const gchar *schema);

Checks if `schema` is going to be used

`config` : | a GstTagXmpWriter
`schema` : | the schema to test
Returns : | `TRUE` if it is going to be used

Since 0.10.33

### gst_tag_xmp_writer_remove_schema ()

    void                gst_tag_xmp_writer_remove_schema    (GstTagXmpWriter *config,
                                                             const gchar *schema);

Removes a schema from the list of schemas to use. Nothing is done if the schema wasn't in the list

`config` : | a GstTagXmpWriter
`schema` : | the schema to remove

Since 0.10.33

### gst_tag_xmp_writer_remove_all_schemas ()

    void                gst_tag_xmp_writer_remove_all_schemas
                                                            (GstTagXmpWriter *config);

Removes all schemas from the list of schemas to use. Meaning that no XMP will be generated.

`config` : | a GstTagXmpWriter

Since 0.10.33

### gst_tag_xmp_writer_tag_list_to_xmp_buffer ()

    GstBuffer *         gst_tag_xmp_writer_tag_list_to_xmp_buffer
                                                            (GstTagXmpWriter *config,
                                                             const GstTagList *taglist,
                                                             gboolean read_only);