avformat/mov: don't abort on unsupported or invalid chnl boxes

They are optional and just define a channel layout, which may also be defined
by the underlying codec.

Signed-off-by: James Almer <jamrial@gmail.com>
(cherry picked from commit 95fe0658d7)
This commit is contained in:
James Almer
2026-06-01 11:27:20 -03:00
parent 8e4147264d
commit 1e4ea2ec97
+4 -6
View File
@@ -1201,15 +1201,13 @@ static int mov_read_chnl(MOVContext *c, AVIOContext *pb, MOVAtom atom)
version = avio_r8(pb);
flags = avio_rb24(pb);
if (version != 0 || flags != 0) {
av_log(c->fc, AV_LOG_ERROR,
"Unsupported 'chnl' box with version %d, flags: %#x",
av_log(c->fc, AV_LOG_WARNING,
"Unsupported 'chnl' box with version %d, flags: %#x\n",
version, flags);
return AVERROR_INVALIDDATA;
return 0;
}
ret = ff_mov_read_chnl(c->fc, pb, st);
if (ret < 0)
return ret;
ff_mov_read_chnl(c->fc, pb, st);
if (avio_tell(pb) != end) {
av_log(c->fc, AV_LOG_WARNING, "skip %" PRId64 " bytes of unknown data inside chnl\n",