diff --git a/libavfilter/af_amerge.c b/libavfilter/af_amerge.c index abccfe4e29..27a35a8cba 100644 --- a/libavfilter/af_amerge.c +++ b/libavfilter/af_amerge.c @@ -216,6 +216,11 @@ static void filter_samples(AVFilterLink *inlink, AVFilterBufferRef *insamples) ins[i] = (*inbuf[i])->data[0] + am->queue[i].pos * am->nb_in_ch[i] * am->bps; } + outbuf->pts = (*inbuf[0])->pts == AV_NOPTS_VALUE ? AV_NOPTS_VALUE : + (*inbuf[0])->pts + + av_rescale_q(am->queue[0].pos, + (AVRational){ 1, ctx->inputs[0]->sample_rate }, + ctx->outputs[0]->time_base); avfilter_copy_buffer_ref_props(outbuf, *inbuf[0]); outbuf->audio->nb_samples = nb_samples;