fftools/ffmpeg_filter: move filtergraph input type check to a better place

Perform it right after we figure out what the type is.
release/7.0
Anton Khirnov 1 year ago
parent 7b51523f12
commit cb0ec854fd
  1. 15
      fftools/ffmpeg_filter.c

@ -1005,6 +1005,14 @@ int fg_create(FilterGraph **pfg, char *graph_desc, Scheduler *sch)
ifp->type = avfilter_pad_get_type(cur->filter_ctx->input_pads, ifp->type = avfilter_pad_get_type(cur->filter_ctx->input_pads,
cur->pad_idx); cur->pad_idx);
if (ifp->type != AVMEDIA_TYPE_VIDEO && ifp->type != AVMEDIA_TYPE_AUDIO) {
av_log(fg, AV_LOG_FATAL, "Only video and audio filters supported "
"currently.\n");
ret = AVERROR(ENOSYS);
goto fail;
}
ifilter->name = describe_filter_link(fg, cur, 1); ifilter->name = describe_filter_link(fg, cur, 1);
if (!ifilter->name) { if (!ifilter->name) {
ret = AVERROR(ENOMEM); ret = AVERROR(ENOMEM);
@ -1104,13 +1112,6 @@ static int fg_complex_bind_input(FilterGraph *fg, InputFilter *ifilter)
enum AVMediaType type = ifp->type; enum AVMediaType type = ifp->type;
int i, ret; int i, ret;
// TODO: support other filter types
if (type != AVMEDIA_TYPE_VIDEO && type != AVMEDIA_TYPE_AUDIO) {
av_log(fg, AV_LOG_FATAL, "Only video and audio filters supported "
"currently.\n");
return AVERROR(ENOSYS);
}
if (ifp->linklabel) { if (ifp->linklabel) {
AVFormatContext *s; AVFormatContext *s;
AVStream *st = NULL; AVStream *st = NULL;

Loading…
Cancel
Save