From 91244073fd8b983e7cd1f97da83daf956fbbddc6 Mon Sep 17 00:00:00 2001 From: Nicolas George Date: Fri, 18 Jul 2014 10:34:39 +0200 Subject: [PATCH] ffmpeg_filter: refuse to configure input without a decoder. The decoder is necessary in order to filter frames. This makes the error message clearer in this case: currently, it will usually fail because the pixel or sample format is not defined and is converted into "(null)" (non-portable). Enhance trac ticket #3779. --- ffmpeg_filter.c | 6 ++++++ 1 file changed, 6 insertions(+) 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);