diff --git a/libavfilter/avcodec.c b/libavfilter/avcodec.c index 0ccdc5c0cb..3f79c20dff 100644 --- a/libavfilter/avcodec.c +++ b/libavfilter/avcodec.c @@ -59,10 +59,13 @@ int avfilter_fill_frame_from_audio_buffer_ref(AVFrame *frame, return AVERROR(EINVAL); memcpy(frame->data, samplesref->data, sizeof(frame->data)); - frame->pkt_pos = samplesref->pos; - frame->format = samplesref->format; - frame->nb_samples = samplesref->audio->nb_samples; - frame->pts = samplesref->pts; + memcpy(frame->linesize, samplesref->linesize, sizeof(frame->linesize)); + frame->pkt_pos = samplesref->pos; + frame->format = samplesref->format; + frame->nb_samples = samplesref->audio->nb_samples; + frame->pts = samplesref->pts; + frame->sample_rate = samplesref->audio->sample_rate; + frame->channel_layout = samplesref->audio->channel_layout; return 0; }