aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul B Mahol <onemda@gmail.com>2020-06-03 15:22:41 +0200
committerPaul B Mahol <onemda@gmail.com>2021-08-05 15:42:48 +0200
commitc317862c883bdec40292f709add3ba30f606c6a3 (patch)
treee34d70bf2a04a420326a0944d85aa9a88aab9616
parent82123e133db6d556f3366a1cbb4f0439d70539d4 (diff)
downloadffmpeg-c317862c883bdec40292f709add3ba30f606c6a3.tar.gz
avfilter/avfilter: add sample_count_in and sample_count_out
-rw-r--r--libavfilter/avfilter.c2
-rw-r--r--libavfilter/avfilter.h5
2 files changed, 7 insertions, 0 deletions
diff --git a/libavfilter/avfilter.c b/libavfilter/avfilter.c
index 24de8ebee3..e0847c724b 100644
--- a/libavfilter/avfilter.c
+++ b/libavfilter/avfilter.c
@@ -1013,6 +1013,7 @@ int ff_filter_frame(AVFilterLink *link, AVFrame *frame)
link->frame_blocked_in = link->frame_wanted_out = 0;
link->frame_count_in++;
+ link->sample_count_in += frame->nb_samples;
filter_unblock(link->dst);
ret = ff_framequeue_add(&link->fifo, frame);
if (ret < 0) {
@@ -1372,6 +1373,7 @@ static void consume_update(AVFilterLink *link, const AVFrame *frame)
ff_inlink_process_commands(link, frame);
link->dst->is_disabled = !ff_inlink_evaluate_timeline_at_frame(link, frame);
link->frame_count_out++;
+ link->sample_count_out += frame->nb_samples;
}
int ff_inlink_consume_frame(AVFilterLink *link, AVFrame **rframe)
diff --git a/libavfilter/avfilter.h b/libavfilter/avfilter.h
index b82f72d040..a71745283c 100644
--- a/libavfilter/avfilter.h
+++ b/libavfilter/avfilter.h
@@ -585,6 +585,11 @@ struct AVFilterLink {
int64_t frame_count_in, frame_count_out;
/**
+ * Number of past samples sent through the link.
+ */
+ int64_t sample_count_in, sample_count_out;
+
+ /**
* A pointer to a FFFramePool struct.
*/
void *frame_pool;