Otherwise one could read into the frame's padding when one encounters the small last frame; furthermore, one would indicate a packet size that is not a multiple of the actual block size and one would write into the padding of said packet.
This actually happened in our FATE tests (where the number of samples is 2 mod 4), which therefore needed to be updated. Signed-off-by: Andreas Rheinhardt <andreas.rheinha...@outlook.com> --- libavcodec/aptxenc.c | 5 +++-- tests/ref/fate/aptx | 4 ++-- tests/ref/fate/aptx-hd | 4 ++-- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/libavcodec/aptxenc.c b/libavcodec/aptxenc.c index 5ea6053c26..0760d1932e 100644 --- a/libavcodec/aptxenc.c +++ b/libavcodec/aptxenc.c @@ -215,7 +215,7 @@ static int aptx_encode_frame(AVCodecContext *avctx, AVPacket *avpkt, if ((ret = ff_af_queue_add(&s->afq, frame)) < 0) return ret; - output_size = s->block_size * frame->nb_samples/4; + output_size = s->block_size * (frame->nb_samples/4); if ((ret = ff_get_encode_buffer(avctx, avpkt, output_size, 0)) < 0) return ret; @@ -229,7 +229,8 @@ static int aptx_encode_frame(AVCodecContext *avctx, AVPacket *avpkt, aptx_encode_samples(s, samples, avpkt->data + pos); } - ff_af_queue_remove(&s->afq, frame->nb_samples, &avpkt->pts, &avpkt->duration); + ff_af_queue_remove(&s->afq, frame->nb_samples & ~3, + &avpkt->pts, &avpkt->duration); *got_packet_ptr = 1; return 0; } diff --git a/tests/ref/fate/aptx b/tests/ref/fate/aptx index 35729b77c7..ccc3a49ac9 100644 --- a/tests/ref/fate/aptx +++ b/tests/ref/fate/aptx @@ -1,5 +1,5 @@ -b5d8a297c0e8d9854f19d9d3e8b82859 *tests/data/fate/aptx.aptx -418950 tests/data/fate/aptx.aptx +966f4391a8472208409a52603494846f *tests/data/fate/aptx.aptx +418948 tests/data/fate/aptx.aptx #tb 0: 1/44100 #media_type 0: audio #codec_id 0: pcm_s16le diff --git a/tests/ref/fate/aptx-hd b/tests/ref/fate/aptx-hd index fe611de03e..a3cb78daa5 100644 --- a/tests/ref/fate/aptx-hd +++ b/tests/ref/fate/aptx-hd @@ -1,5 +1,5 @@ -48ecaa81ee5adaaa62ed3ff6574b6666 *tests/data/fate/aptx-hd.aptx_hd -628425 tests/data/fate/aptx-hd.aptx_hd +0bb7bb4313bd33fe44e409c67d392fd0 *tests/data/fate/aptx-hd.aptx_hd +628422 tests/data/fate/aptx-hd.aptx_hd #tb 0: 1/44100 #media_type 0: audio #codec_id 0: pcm_s32le -- 2.30.2 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".