Skip to content

Commit

Permalink
avformat/iamf_parse: use get_bits_long() to read the remaining AAC ex…
Browse files Browse the repository at this point in the history
…tradata bits

The output of put_bits_left() here can be as big as 27, which is a bit
count not supported by get_bits().

Fixes fate-iamf-stereo-demux when using --assert-level=2

Signed-off-by: James Almer <jamrial@gmail.com>
  • Loading branch information
jamrial committed Aug 31, 2024
1 parent 9c0e0c0 commit fa5d3cc
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions libavformat/iamf_parse.c
Original file line number Diff line number Diff line change
Expand Up @@ -305,10 +305,10 @@ static int update_extradata(AVCodecParameters *codecpar)
skip_bits(&gb, 4);
put_bits(&pb, 4, codecpar->ch_layout.nb_channels); // set channel config
ret = put_bits_left(&pb);
put_bits(&pb, ret, get_bits(&gb, ret));
put_bits(&pb, ret, get_bits_long(&gb, ret));
flush_put_bits(&pb);

memcpy(codecpar->extradata, buf, sizeof(buf));
memcpy(codecpar->extradata, buf, put_bytes_output(&pb));
break;
}
case AV_CODEC_ID_FLAC: {
Expand Down

0 comments on commit fa5d3cc

Please sign in to comment.