GNOME Bugzilla – Bug 609539
xmp metadata support in tag library
Last modified: 2010-03-13 06:45:39 UTC
Created attachment 153416 [details] [review] xmp metadata support XMP is a generic metadata standard driven by adobe. XMP metadata can be embeded in many media file formats. Several of those file formats are supported by gstreamer and thus it would be nice to have a common implementation to easy adding XMP support to plugins. XMP is done as RDF in XML representation. Under linux one can use libexempi (a c wrapper around the adobe xmp toolkit). This unfortunately drag a lot of dependencies (although not very exotic ones). The implementation in this patch attempts to provide xmp support without any dependencies. For XMP output this is straight forward, it is basically sprintf. The XMP parsing is done as manual xml parsing and quite relaxed interpretation. I have another set of patches for jpegformat plugin in -bad, demoing the xmp reading/writing. Does that sound like a good plan? If agreed next steps would be testing and extending the tag_match[] array.
Created attachment 153527 [details] [review] xmp metadata support This adds a test for the parser and fixes a few bugs in the parser.
Created attachment 154433 [details] [review] qtmux: add xmp support Adds xmp metatags adding to qtmux. Still doesn't seem to add the content of the tags, but the xml is there. Haven't investigated why yet Fixes #609539
What tags have you tried? Right now the mapping table only contains: {GST_TAG_ARTIST, "dc:creator"}, {GST_TAG_COPYRIGHT, "dc:rights"}, {GST_TAG_DATE, "dc:date"}, {GST_TAG_DATE, "exif:DateTimeOriginal"}, {GST_TAG_DESCRIPTION, "dc:description"}, {GST_TAG_KEYWORDS, "dc:subject"}, {GST_TAG_TITLE, "dc:title"}, /* FIXME: we probably want GST_TAG_{,AUDIO_,VIDEO_}MIME_TYPE */ {GST_TAG_VIDEO_CODEC, "dc:format"},
it works, I forgot to put id3demux and was hoping that mp3parse would find the tags, sorry ;) Now I can see title and creator in the resulting file.
Created attachment 155312 [details] [review] qtdemux: add XMP parsing support Use xmp helpers to parse XMP metadata in udta atom. Fixes #609539
Created attachment 155747 [details] [review] tags: Add new mapping to XMP helpers Following 612410, we can add those tags to the XMP helpers mappings.
Is there anything left here? I pushed the following: Module: gst-plugins-base Branch: master Commit: 6d1f406a7740c72e74df947241759615f7b8e7b1 URL: http://cgit.freedesktop.org/gstreamer/gst-plugins-base/commit/?id=6d1f406a7740c72e74df947241759615f7b8e7b1 Author: Thiago Santos <thiago.sousa.santos@collabora.co.uk> Date: Wed Mar 10 10:50:32 2010 -0300 tags: Add new mapping to XMP helpers Adds geotagging mappings to XMP helpers Fixes #609539 Module: gst-plugins-good Branch: master Commit: 5efda5caf7d5ce050a200d747a2989b74c077b28 URL: http://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=5efda5caf7d5ce050a200d747a2989b74c077b28 Author: Thiago Santos <thiago.sousa.santos@collabora.co.uk> Date: Fri Mar 5 11:06:47 2010 -0300 qtdemux: add XMP parsing support Use xmp helpers to parse XMP metadata in udta atom. Fixes #609539 Module: gst-plugins-bad Branch: master Commit: 5e883634308171dabb7722cc632df79b8c5901c5 URL: http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/?id=5e883634308171dabb7722cc632df79b8c5901c5 Author: Thiago Santos <thiago.sousa.santos@collabora.co.uk> Date: Mon Feb 22 16:45:34 2010 -0300 qtmux: add xmp support Adds xmp metatags adding to qtmux. Fixes #609539