From 1ac2769009812e1324d44f902e099aa00fd577df Mon Sep 17 00:00:00 2001 From: Paul B Mahol Date: Tue, 12 Sep 2023 19:19:08 +0200 Subject: [PATCH] avcodec/adx_parser: make packet split work if nb_channels is set --- libavcodec/adx_parser.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/libavcodec/adx_parser.c b/libavcodec/adx_parser.c index 52aa14b7ad..62b4415bc1 100644 --- a/libavcodec/adx_parser.c +++ b/libavcodec/adx_parser.c @@ -73,6 +73,16 @@ static int adx_parse(AVCodecParserContext *s1, s->remaining = 0; } else s->remaining -= buf_size; + } else if (avctx->ch_layout.nb_channels > 0) { + if (!s->block_size) + s->block_size = avctx->ch_layout.nb_channels * BLOCK_SIZE; + if (!s->remaining) + s->remaining = s->block_size; + if (s->remaining <= buf_size) { + next = s->remaining; + s->remaining = 0; + } else + s->remaining -= buf_size; } if (ff_combine_frame(pc, next, &buf, &buf_size) < 0 || !buf_size) {