aboutsummaryrefslogtreecommitdiffstats
path: root/libavfilter
diff options
context:
space:
mode:
authorStefano Sabatini <stefasab@gmail.com>2013-02-07 21:16:11 +0100
committerStefano Sabatini <stefasab@gmail.com>2013-02-07 21:28:46 +0100
commitc0a4871c1687279c5fbe6d5d7f475a393c645b05 (patch)
treea45ac792c1930a97f8bc171e8f8cdcbf81465709 /libavfilter
parent872855e2a5ead964dab50feb7d800509fc61d15a (diff)
downloadffmpeg-c0a4871c1687279c5fbe6d5d7f475a393c645b05.tar.gz
lavfi/select: correctly set prev_t and prev_pts
In particular, fix trac ticket #2248.
Diffstat (limited to 'libavfilter')
-rw-r--r--libavfilter/f_select.c4
1 files changed, 3 insertions, 1 deletions
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;
}