[FFmpeg-devel] [PATCH v4 7/7] avformat/movenc: limit ISOBMFF AC-3 mapping to bsids <=8

Jan Ekström jeebjp at gmail.com
Thu Jun 23 10:24:08 EEST 2022


From: Jan Ekström <jan.ekstrom at 24i.com>

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 <jan.ekstrom at 24i.com>
---
 libavformat/movenc.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/libavformat/movenc.c b/libavformat/movenc.c
index 58ba0bc545..a3e108c5af 100644
--- a/libavformat/movenc.c
+++ b/libavformat/movenc.c
@@ -375,6 +375,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);
+    }
+
     for (unsigned int i = 0; i < FF_ARRAY_ELEMS(ff_ac3_bitrate_tab); i++) {
         if (info->data_rate == ff_ac3_bitrate_tab[i]) {
             ac3_bit_rate_code = i;
-- 
2.36.1



More information about the ffmpeg-devel mailing list