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.

Synopsis

Element Information

plugin

metadata

author

Edgard Lima <edgard.lima@indt.org.br>

class

Demuxer/Extracter/Metadata

Element Pads

name

src

direction

source

presence

always

details

image/jpeg, tags-extracted=(boolean)true

image/png, tags-extracted=(boolean)true

name

sink

direction

sink

presence

always

details

image/jpeg, tags-extracted=(boolean)false

image/png, tags-extracted=(boolean)false

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