![]() |
![]() |
![]() |
GStreamer Bad Plugins 0.10 Plugins Reference Manual | ![]() |
---|---|---|---|---|
Top | Description | Object Hierarchy | Properties |
metadatademuxmetadatademux — Send metadata tags (EXIF, IPTC and XMP) and remove metadata chunks from stream |
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.
typedef struct _GstMetadataDemux GstMetadataDemux;
The opaque GstMetadataDemux data structure.
"parse-only"
property"parse-only" gboolean : Read / Write
If TRUE, don't strip out any chunk.
Default value: FALSE