diff options
author | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2022-01-21 10:53:17 +0100 |
---|---|---|
committer | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2022-01-21 11:52:45 +0100 |
commit | c8b11b28d1eb8dfa34c727c5da9b266124196799 (patch) | |
tree | 1e02be450af853eaf30dbd51a2ac5fe9af5467bd | |
parent | 137c808f1aaf2b5641b0e7319f35bd9dd7866e6f (diff) |
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>
-rw-r--r-- | libavformat/mov.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libavformat/mov.c b/libavformat/mov.c index e401cd39b5..1437d160f8 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -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')) { |