History

avfilter/af_dynaudnorm: improve EOF timestamp precision

Paul B Mahol committed 5 years ago

Commit f78d0f61 parent 19802d11 file · +6 −3Browse files

Showing the changes to libavfilter (1 of 1 file). Show all

Unified · Split

libavfilter/af_dynaudnorm.c+6−3
@@ -706,7 +706,8 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in) · 705 unmodified lines
706 cqueue_dequeue(s->is_enabled, &is_enabled);706 cqueue_dequeue(s->is_enabled, &is_enabled);
707 707
708 amplify_frame(s, out, is_enabled > 0.);708 amplify_frame(s, out, is_enabled > 0.);
709 s->pts = out->pts + out->nb_samples;709 s->pts = out->pts + av_rescale_q(out->nb_samples, av_make_q(1, outlink->sample_rate),
710 outlink->time_base);
710 ret = ff_filter_frame(outlink, out);711 ret = ff_filter_frame(outlink, out);
711 }712 }
712 713
@@ -749,15 +750,17 @@ static int flush_buffer(DynamicAudioNormalizerContext *s, AVFilterLink *inlink, · 36 unmodified lines
749static int flush(AVFilterLink *outlink)750static int flush(AVFilterLink *outlink)
750{751{
751 AVFilterContext *ctx = outlink->src;752 AVFilterContext *ctx = outlink->src;
753 AVFilterLink *inlink = ctx->inputs[0];
752 DynamicAudioNormalizerContext *s = ctx->priv;754 DynamicAudioNormalizerContext *s = ctx->priv;
753 int ret = 0;755 int ret = 0;
754 756
755 if (!cqueue_empty(s->gain_history_smoothed[0])) {757 if (!cqueue_empty(s->gain_history_smoothed[0])) {
756 ret = flush_buffer(s, ctx->inputs[0], outlink);758 ret = flush_buffer(s, inlink, outlink);
757 } else if (s->queue.available) {759 } else if (s->queue.available) {
758 AVFrame *out = ff_bufqueue_get(&s->queue);760 AVFrame *out = ff_bufqueue_get(&s->queue);
759 761
760 s->pts = out->pts + out->nb_samples;762 s->pts = out->pts + av_rescale_q(out->nb_samples, av_make_q(1, outlink->sample_rate),
763 outlink->time_base);
761 ret = ff_filter_frame(outlink, out);764 ret = ff_filter_frame(outlink, out);
762 }765 }
763 766

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t