tag: xmp: Refactor mappings storage
authorThiago Santos <thiago.sousa.santos@collabora.co.uk>
Sat, 20 Mar 2010 14:17:38 +0000 (11:17 -0300)
committerThiago Santos <thiago.sousa.santos@collabora.co.uk>
Wed, 24 Mar 2010 18:32:58 +0000 (15:32 -0300)
commite82414643caf876f094f78a8df2293068fe11f13
tree383284cc5a367bc837f7fa4354ecb5b5f02160a7
parent23e3a1d94dfcfb99462cb21e737d46681e0303b4
tag: xmp: Refactor mappings storage

This commit is only refactoring, no fetaures added.

Do not store tags in flexible arrays as it doesn't allow us
to use nested flexible arrays. This is going to be needed in the
following commits to map gst tags that are stored into
2 separate tags in xmp (Not that they are alternatives, but
they are complementary).

For example, GST_TAG_ELEVATION is represented in the exif
schema with 2 fields: the absolute altitude and an integer
to indicate if it is above or below sea level.

The previous mappings storage wouldn't allow us to
express it.

Also store a serialization and a deserialization function
for each xmp tag as some of them require some non-trivial
convertion to its string form.

Fixes #613690
gst-libs/gst/tag/gstxmptag.c