avformat/mov: Fix endian-dependent parsing

MOVAtom.type is always read as a little-endian number
(despite MOV/ISOBMFF being big-endian).
Fixes the matroska-dovi-write-config8 FATE-test on big-endian
arches (which runs into the "index out of range" warning message).

Reviewed-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
Andreas Rheinhardt 2022-01-21 10:53:17 +01:00
parent 137c808f1a
commit c8b11b28d1
1 changed files with 1 additions and 1 deletions

View File

@ -407,7 +407,7 @@ retry:
atom.size -= 16;
if (!key && c->found_hdlr_mdta && c->meta_keys) {
uint32_t index = AV_RB32(&atom.type);
uint32_t index = av_bswap32(atom.type); // BE number has been read as LE
if (index < c->meta_keys_count && index > 0) {
key = c->meta_keys[index];
} else if (atom.type != MKTAG('c', 'o', 'v', 'r')) {