summaryrefslogtreecommitdiff
path: root/libavfilter/vf_drawtext.c
diff options
context:
space:
mode:
authorNicolas George <george@nsup.org>2016-08-30 15:28:41 +0200
committerNicolas George <george@nsup.org>2016-11-13 10:41:16 +0100
commit183ce55b0de0a597b838d08bbac67f54c27ed42f (patch)
treeffd40aaf4f522d18b6b87b35e1b49f276cff913d /libavfilter/vf_drawtext.c
parent22aa649c13b452f11353958a51f073f5fbc3bcaa (diff)
lavfi: split frame_count between input and output.
AVFilterLink.frame_count is supposed to count the number of frames that were passed on the link, but with min_samples, that number is not always the same for the source and destination filters. With the addition of a FIFO on the link, the difference will become more significant. Split the variable in two: frame_count_in counts the number of frames that entered the link, frame_count_out counts the number of frames that were sent to the destination filter.
Diffstat (limited to 'libavfilter/vf_drawtext.c')
-rw-r--r--libavfilter/vf_drawtext.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libavfilter/vf_drawtext.c b/libavfilter/vf_drawtext.c
index 331d6b92a8..649240b010 100644
--- a/libavfilter/vf_drawtext.c
+++ b/libavfilter/vf_drawtext.c
@@ -1184,7 +1184,7 @@ static int draw_text(AVFilterContext *ctx, AVFrame *frame,
if (s->tc_opt_string) {
char tcbuf[AV_TIMECODE_STR_SIZE];
- av_timecode_make_string(&s->tc, tcbuf, inlink->frame_count);
+ av_timecode_make_string(&s->tc, tcbuf, inlink->frame_count_out);
av_bprint_clear(bp);
av_bprintf(bp, "%s%s", s->text, tcbuf);
}
@@ -1345,7 +1345,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *frame)
#endif
}
- s->var_values[VAR_N] = inlink->frame_count+s->start_number;
+ s->var_values[VAR_N] = inlink->frame_count_out + s->start_number;
s->var_values[VAR_T] = frame->pts == AV_NOPTS_VALUE ?
NAN : frame->pts * av_q2d(inlink->time_base);