aboutsummaryrefslogtreecommitdiffstats
path: root/fftools/ffmpeg_filter.c
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2024-02-21 15:43:25 +0100
committerAnton Khirnov <anton@khirnov.net>2024-03-13 08:01:15 +0100
commitcb0ec854fd2c1248412f725b343cb8bfa95a1898 (patch)
tree9ff25acfa55c3ff5aa916c55a0c7e33af05484d6 /fftools/ffmpeg_filter.c
parent7b51523f12dca2339683a4ec244b3bfd6029196e (diff)
downloadffmpeg-cb0ec854fd2c1248412f725b343cb8bfa95a1898.tar.gz
fftools/ffmpeg_filter: move filtergraph input type check to a better place
Perform it right after we figure out what the type is.
Diffstat (limited to 'fftools/ffmpeg_filter.c')
-rw-r--r--fftools/ffmpeg_filter.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/fftools/ffmpeg_filter.c b/fftools/ffmpeg_filter.c
index 44e84c2043..427a5806af 100644
--- a/fftools/ffmpeg_filter.c
+++ b/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,
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);
if (!ifilter->name) {
ret = AVERROR(ENOMEM);
@@ -1104,13 +1112,6 @@ static int fg_complex_bind_input(FilterGraph *fg, InputFilter *ifilter)
enum AVMediaType type = ifp->type;
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) {
AVFormatContext *s;
AVStream *st = NULL;