[FFmpeg-devel] [PATCH 1/6] lavf/latmenc: fix units mismatch

Anton Khirnov anton at khirnov.net
Mon Oct 26 15:41:54 EET 2020


avpriv_copy_bits() takes the size in bits, not bytes. According to
a736eb4a605f46d5ff96c7b32e55710ecd9cce89, nobody is quite sure whether
this code produces working files.
---
 libavformat/latmenc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavformat/latmenc.c b/libavformat/latmenc.c
index 5458ce2596..684483bc71 100644
--- a/libavformat/latmenc.c
+++ b/libavformat/latmenc.c
@@ -120,7 +120,7 @@ static void latm_write_frame_header(AVFormatContext *s, PutBitContext *bs)
 
         /* AudioSpecificConfig */
         if (ctx->object_type == AOT_ALS) {
-            header_size = par->extradata_size-(ctx->off >> 3);
+            header_size = (par->extradata_size - (ctx->off >> 3)) * 8;
             avpriv_copy_bits(bs, &par->extradata[ctx->off >> 3], header_size);
         } else {
             // + 3 assumes not scalable and dependsOnCoreCoder == 0,
-- 
2.28.0



More information about the ffmpeg-devel mailing list