From c0a4871c1687279c5fbe6d5d7f475a393c645b05 Mon Sep 17 00:00:00 2001 From: Stefano Sabatini Date: Thu, 7 Feb 2013 21:16:11 +0100 Subject: lavfi/select: correctly set prev_t and prev_pts In particular, fix trac ticket #2248. --- libavfilter/f_select.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'libavfilter/f_select.c') diff --git a/libavfilter/f_select.c b/libavfilter/f_select.c index fabddefcc9..0f211454ef 100644 --- a/libavfilter/f_select.c +++ b/libavfilter/f_select.c @@ -184,6 +184,7 @@ static int config_input(AVFilterLink *inlink) select->var_values[VAR_PREV_PTS] = NAN; select->var_values[VAR_PREV_SELECTED_PTS] = NAN; select->var_values[VAR_PREV_SELECTED_T] = NAN; + select->var_values[VAR_PREV_T] = NAN; select->var_values[VAR_START_PTS] = NAN; select->var_values[VAR_START_T] = NAN; @@ -273,7 +274,6 @@ static int select_frame(AVFilterContext *ctx, AVFilterBufferRef *ref) select->var_values[VAR_PTS] = TS2D(ref->pts); select->var_values[VAR_T ] = TS2D(ref->pts) * av_q2d(inlink->time_base); select->var_values[VAR_POS] = ref->pos == -1 ? NAN : ref->pos; - select->var_values[VAR_PREV_PTS] = TS2D(ref ->pts); switch (inlink->type) { case AVMEDIA_TYPE_AUDIO: @@ -334,6 +334,8 @@ static int select_frame(AVFilterContext *ctx, AVFilterBufferRef *ref) } select->var_values[VAR_N] += 1.0; + select->var_values[VAR_PREV_PTS] = select->var_values[VAR_PTS]; + select->var_values[VAR_PREV_T] = select->var_values[VAR_T]; return res; } -- cgit v1.2.3