X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavfilter%2Fsplit.c;h=da5f681af85ae9e697cf78c6f024586490278f02;hb=bd96c54fe4819b3ca9a975e2083d67f4443c559b;hp=8b260a9ba3371b555fb0040be00e47e12a3bc270;hpb=94d98330ed6c5562341315c26c1af92771a2e6de;p=ffmpeg diff --git a/libavfilter/split.c b/libavfilter/split.c index 8b260a9ba33..da5f681af85 100644 --- a/libavfilter/split.c +++ b/libavfilter/split.c @@ -26,15 +26,14 @@ #include #include "libavutil/attributes.h" +#include "libavutil/avstring.h" #include "libavutil/internal.h" #include "libavutil/mem.h" #include "libavutil/opt.h" -#define FF_INTERNAL_FIELDS 1 -#include "framequeue.h" - #include "avfilter.h" #include "audio.h" +#include "filters.h" #include "formats.h" #include "internal.h" #include "video.h" @@ -50,12 +49,10 @@ static av_cold int split_init(AVFilterContext *ctx) int i, ret; for (i = 0; i < s->nb_outputs; i++) { - char name[32]; AVFilterPad pad = { 0 }; - snprintf(name, sizeof(name), "output%d", i); pad.type = ctx->filter->inputs[0].type; - pad.name = av_strdup(name); + pad.name = av_asprintf("output%d", i); if (!pad.name) return AVERROR(ENOMEM); @@ -84,7 +81,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *frame) for (i = 0; i < ctx->nb_outputs; i++) { AVFrame *buf_out; - if (ctx->outputs[i]->status_in) + if (ff_outlink_get_status(ctx->outputs[i])) continue; buf_out = av_frame_clone(frame); if (!buf_out) { @@ -122,7 +119,7 @@ static const AVFilterPad avfilter_vf_split_inputs[] = { { NULL } }; -AVFilter ff_vf_split = { +const AVFilter ff_vf_split = { .name = "split", .description = NULL_IF_CONFIG_SMALL("Pass on the input to N video outputs."), .priv_size = sizeof(SplitContext), @@ -143,7 +140,7 @@ static const AVFilterPad avfilter_af_asplit_inputs[] = { { NULL } }; -AVFilter ff_af_asplit = { +const AVFilter ff_af_asplit = { .name = "asplit", .description = NULL_IF_CONFIG_SMALL("Pass on the audio input to N audio outputs."), .priv_size = sizeof(SplitContext),