aboutsummaryrefslogtreecommitdiffstats
path: root/libavfilter/f_segment.c
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2024-08-06 08:50:21 +0200
committerAnton Khirnov <anton@khirnov.net>2024-08-15 19:34:27 +0200
commit42cbf66fffed5a8bba2f14b5247ce60d788b9e01 (patch)
tree4b744e56f719ffc0455331703e844bf1299b8db9 /libavfilter/f_segment.c
parenta23d565ea7d41e61f160578f9714a23e695f3bfd (diff)
downloadffmpeg-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.c10
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);