After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 609539 - xmp metadata support in tag library
xmp metadata support in tag library
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
unspecified
Other Linux
: Normal enhancement
: 0.10.29
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2010-02-10 13:58 UTC by Stefan Sauer (gstreamer, gtkdoc dev)
Modified: 2010-03-13 06:45 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
xmp metadata support (17.92 KB, patch)
2010-02-10 13:58 UTC, Stefan Sauer (gstreamer, gtkdoc dev)
none Details | Review
xmp metadata support (20.16 KB, patch)
2010-02-11 12:45 UTC, Stefan Sauer (gstreamer, gtkdoc dev)
committed Details | Review
qtmux: add xmp support (4.25 KB, patch)
2010-02-22 19:47 UTC, Thiago Sousa Santos
committed Details | Review
qtdemux: add XMP parsing support (2.15 KB, patch)
2010-03-05 14:13 UTC, Thiago Sousa Santos
committed Details | Review
tags: Add new mapping to XMP helpers (1.56 KB, patch)
2010-03-10 13:53 UTC, Thiago Sousa Santos
committed Details | Review

Description Stefan Sauer (gstreamer, gtkdoc dev) 2010-02-10 13:58:57 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.
Comment 1 Stefan Sauer (gstreamer, gtkdoc dev) 2010-02-11 12:45:48 UTC
Created attachment 153527 [details] [review]
xmp metadata support

This adds a test for the parser and fixes a few bugs in the parser.
Comment 2 Thiago Sousa Santos 2010-02-22 19:47:19 UTC
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
Comment 3 Stefan Sauer (gstreamer, gtkdoc dev) 2010-02-23 10:27:23 UTC
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"},
Comment 4 Thiago Sousa Santos 2010-02-23 17:08:32 UTC
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.
Comment 5 Thiago Sousa Santos 2010-03-05 14:13:51 UTC
Created attachment 155312 [details] [review]
qtdemux: add XMP parsing support

Use xmp helpers to parse XMP metadata in udta atom.

Fixes #609539
Comment 6 Thiago Sousa Santos 2010-03-10 13:53:47 UTC
Created attachment 155747 [details] [review]
tags: Add new mapping to XMP helpers

Following 612410, we can add those tags to the XMP
helpers mappings.
Comment 7 Thiago Sousa Santos 2010-03-11 22:39:01 UTC
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