avformat/movenc: fix size calculation in mov_write_eac3_tag()
authorPaul B Mahol <onemda@gmail.com>
Wed, 21 Nov 2018 10:45:02 +0000 (11:45 +0100)
committerPaul B Mahol <onemda@gmail.com>
Thu, 22 Nov 2018 09:18:15 +0000 (10:18 +0100)
Otherwise it would assert when flushing bits.

libavformat/movenc.c

index 33978ee..bee8e89 100644 (file)
@@ -541,7 +541,7 @@ static int mov_write_eac3_tag(AVIOContext *pb, MOVTrack *track)
         return AVERROR(EINVAL);
 
     info = track->eac3_priv;
-    size = 2 + 4 * (info->num_ind_sub + 1);
+    size = 2 + ((34 * (info->num_ind_sub + 1) + 7) >> 3);
     buf = av_malloc(size);
     if (!buf) {
         size = AVERROR(ENOMEM);