diff options
author | Anton Khirnov <anton@khirnov.net> | 2024-08-06 08:50:21 +0200 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2024-08-15 19:34:27 +0200 |
commit | 42cbf66fffed5a8bba2f14b5247ce60d788b9e01 (patch) | |
tree | 4b744e56f719ffc0455331703e844bf1299b8db9 /libavfilter/f_segment.c | |
parent | a23d565ea7d41e61f160578f9714a23e695f3bfd (diff) | |
download | ffmpeg-42cbf66fffed5a8bba2f14b5247ce60d788b9e01.tar.gz |
lavfi: move AVFilterLink.{frame,sample}_count_{in,out} to FilterLink
Diffstat (limited to 'libavfilter/f_segment.c')
-rw-r--r-- | libavfilter/f_segment.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/libavfilter/f_segment.c b/libavfilter/f_segment.c index 16c611b4a8..f655c1e675 100644 --- a/libavfilter/f_segment.c +++ b/libavfilter/f_segment.c @@ -162,6 +162,7 @@ static int current_segment_finished(AVFilterContext *ctx, AVFrame *frame) { SegmentContext *s = ctx->priv; AVFilterLink *inlink = ctx->inputs[0]; + FilterLink *inl = ff_filter_link(inlink); int ret = 0; if (s->use_timestamps) { @@ -169,10 +170,10 @@ static int current_segment_finished(AVFilterContext *ctx, AVFrame *frame) } else { switch (inlink->type) { case AVMEDIA_TYPE_VIDEO: - ret = inlink->frame_count_out - 1 >= s->points[s->current_point]; + ret = inl->frame_count_out - 1 >= s->points[s->current_point]; break; case AVMEDIA_TYPE_AUDIO: - ret = inlink->sample_count_out - frame->nb_samples >= s->points[s->current_point]; + ret = inl->sample_count_out - frame->nb_samples >= s->points[s->current_point]; break; } } @@ -183,6 +184,7 @@ static int current_segment_finished(AVFilterContext *ctx, AVFrame *frame) static int activate(AVFilterContext *ctx) { AVFilterLink *inlink = ctx->inputs[0]; + FilterLink *inl = ff_filter_link(inlink); SegmentContext *s = ctx->priv; AVFrame *frame = NULL; int ret, status; @@ -199,14 +201,14 @@ static int activate(AVFilterContext *ctx) ret = ff_inlink_consume_frame(inlink, &frame); break; case AVMEDIA_TYPE_AUDIO: - diff = s->points[s->current_point] - inlink->sample_count_out; + diff = s->points[s->current_point] - inl->sample_count_out; while (diff <= 0) { ff_outlink_set_status(ctx->outputs[s->current_point], AVERROR_EOF, s->last_pts); s->current_point++; if (s->current_point >= s->nb_points) return AVERROR(EINVAL); - diff = s->points[s->current_point] - inlink->sample_count_out; + diff = s->points[s->current_point] - inl->sample_count_out; } if (s->use_timestamps) { max_samples = av_rescale_q(diff, av_make_q(1, inlink->sample_rate), inlink->time_base); |