On Tue, Oct 8, 2019 at 10:44 AM Steven Liu <l...@chinaffmpeg.org> wrote: > > only frame linesize[0] can get length size, > i have tested before patch like this: > ffmpeg -i /Users/liuqi/input.mp3 -codec:a ac3 -ac 5 a.ac3 > ./doc/examples/decode_audio a.ac3 a.pcm > ffplay -f f32le -ac 5 -ar 44100 a.pcm > there have problem. > > no problem after this patch. > > Reported-by: Bepartofyou > Signed-off-by: Steven Liu <l...@chinaffmpeg.org> > --- > doc/examples/decode_audio.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/doc/examples/decode_audio.c b/doc/examples/decode_audio.c > index 6c2a8ed550..4a81302ad3 100644 > --- a/doc/examples/decode_audio.c > +++ b/doc/examples/decode_audio.c > @@ -98,7 +98,7 @@ static void decode(AVCodecContext *dec_ctx, AVPacket *pkt, > AVFrame *frame, > } > for (i = 0; i < frame->nb_samples; i++) > for (ch = 0; ch < dec_ctx->channels; ch++) > - fwrite(frame->data[ch] + data_size*i, 1, data_size, outfile); > + fwrite(frame->data[0] + data_size*i, 1, data_size, outfile); > } > } >
This change is definitely not correct. Without further changes, all this does is copy the same block up to "channels" times. But whats with all the other channel? The current code is correct for handling planar audio. (ie. S16P/FLTP, for example), but not packed audio (ie. S16/FLT). If you want to support both planar and packed, you will need more changes then this. - Hendrik _______________________________________________ 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".