## metadatademux metadatademux — Send metadata tags (EXIF, IPTC and XMP) and remove metadata chunks from stream |

## Synopsis

                        GstMetadataDemux;

## Object Hierarchy

      GObject
       +----GstObject
             +----GstElement
                   +----GstBaseMetadata
                         +----GstMetadataDemux

## Properties

      "parse-only"               gboolean              : Read / Write

## Description

### Example launch line

This element parses image files JPEG and PNG, to find metadata chunks (EXIF, IPTC, XMP) in it, and then send individual tags as a 'tag message' do the application and as 'tag event' to the next element in pipeline. It also strips out the metadata chunks from original stream (unless the 'parse-only' property is set to 'true'). In addition the whole metadata chunk (striped or not) it also sent as a message to the application bus, so the application can have more controls about the metadata.

    gst-launch -v -m filesrc location=./test.jpeg ! metadatademux ! fakesink
    silent=TRUE

    GST_DEBUG:*metadata:5 gst-launch filesrc location=./test.jpeg !
    metadatademux ! fakesink

    val = gst_tag_list_get_value_index (taglist, GST_TAG_EXIF, 0);
    if (val) {
     exif_chunk = gst_value_get_buffer (val);
     if (exif_chunk) {
       ed = exif_data_new_from_data (GST_BUFFER_DATA (exif_chunk),
           GST_BUFFER_SIZE (exif_chunk));
     }
    }

This same idea can be used to handle IPTC and XMP directly by using libdata and exempi (or any other libraries). Notice: the whole metadata chunk sent as a message to the application contains only metadata data, i.e. the wrapper specific to the file format (JPEG, PNG, ...) is already striped out.

## Details

### GstMetadataDemux

    typedef struct _GstMetadataDemux GstMetadataDemux;

The opaque GstMetadataDemux data structure.

## Property Details

### The `"parse-only"` property

      "parse-only"               gboolean              : Read / Write

If TRUE, don't strip out any chunk.

Default value: FALSE

## See Also

metadatamux