diff --git a/ffmpeg_filter.c b/ffmpeg_filter.c index 50ee422c6c..b6dc42fe7d 100644 --- a/ffmpeg_filter.c +++ b/ffmpeg_filter.c @@ -830,6 +830,12 @@ static int configure_input_filter(FilterGraph *fg, InputFilter *ifilter, av_freep(&ifilter->name); DESCRIBE_FILTER_LINK(ifilter, in, 1); + if (!ifilter->ist->dec) { + av_log(NULL, AV_LOG_ERROR, + "No decoder for stream #%d:%d, filtering impossible\n", + ifilter->ist->file_index, ifilter->ist->st->index); + return AVERROR_DECODER_NOT_FOUND; + } switch (avfilter_pad_get_type(in->filter_ctx->input_pads, in->pad_idx)) { case AVMEDIA_TYPE_VIDEO: return configure_input_video_filter(fg, ifilter, in); case AVMEDIA_TYPE_AUDIO: return configure_input_audio_filter(fg, ifilter, in);