From 5eb8da6a81a11909d3908b47a9620096b8f3d654 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Ekstr=C3=B6m?= Date: Wed, 22 Jun 2022 09:58:27 +0300 Subject: [PATCH] avformat/movenc: limit ISOBMFF AC-3 mapping to bsids <=8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This leaves out RealAudio DolbyNet, which utilizes bsids 9 and 10, It is not clear whether the interpreted bit rate value (divided by 2 or 4 depending on the variant), or the original bit rate value should be utilized to receive the bit_rate_code index. Signed-off-by: Jan Ekström --- libavformat/movenc.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/libavformat/movenc.c b/libavformat/movenc.c index a942271beb..0ef6b3c76e 100644 --- a/libavformat/movenc.c +++ b/libavformat/movenc.c @@ -374,6 +374,14 @@ static int mov_write_ac3_tag(AVFormatContext *s, AVIOContext *pb, MOVTrack *trac return AVERROR(EINVAL); } + if (info->substream[0].bsid > 8) { + av_log(s, AV_LOG_ERROR, + "RealAudio AC-3/DolbyNet with bsid %d is not defined by the " + "ISOBMFF specification in ETSI TS 102 366!\n", + info->substream[0].bsid); + return AVERROR(EINVAL); + } + if (info->ac3_bit_rate_code < 0) { av_log(s, AV_LOG_ERROR, "No valid AC3 bit rate code for data rate of %d!\n",