From c8b11b28d1eb8dfa34c727c5da9b266124196799 Mon Sep 17 00:00:00 2001 From: Andreas Rheinhardt Date: Fri, 21 Jan 2022 10:53:17 +0100 Subject: avformat/mov: Fix endian-dependent parsing MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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ö Signed-off-by: Andreas Rheinhardt --- libavformat/mov.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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')) { -- cgit v1.2.3