Skip to content

demux/mp4: support international metadata strings

We currently lack support for what the below linked documentation describe:

Elaboration

In short, what is previously described allows contents within \x{a9}...-atoms to contain several strings, with an associated encoding and conditional language. The sample attached to this ticket contains the below entities:

= atom = = data = lang/encoding = = data = = lang/encoding =
= \x{a9}nam= SÚck THÌS eng/MACINTOSH hello world fra/UTF-8
= \x{a9}ART= RèFp eng/UTF-8 räfp fra/UTF-8
= \x{a9}cpy = BjörŃ i SKõGẽÑ swe/UTF-16BE

Currently demux/mp4 interpret the strings as regular ones, meaning that we in many cases display no data at all due to the associated entry-size (often) contains0x00 (which is then mistaken for a null-byte).

Screenshot from QuickTime

The below linked screenshot contains profanity because I have a weird habit of writing such wen I test things (without even thinking about it).

ePirat has already helped me enough (he is the one who took the screenshot for me), and I feel bad asking him to create another one. He is also the one who acknowledged the lack of support for these metadata entities.

The sample in this ticket was modified after the above screenshot was created, to avoid excessive profanity.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information