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.