aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolas George <george@nsup.org>2014-07-18 10:34:39 +0200
committerNicolas George <george@nsup.org>2014-07-30 14:40:45 +0200
commit91244073fd8b983e7cd1f97da83daf956fbbddc6 (patch)
treed4675355588799c91ff395935d1bff24208f1989
parentff9a154157ecca30f585c5eb97f1cd600f500213 (diff)
downloadffmpeg-91244073fd8b983e7cd1f97da83daf956fbbddc6.tar.gz
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.
-rw-r--r--ffmpeg_filter.c6
1 files changed, 6 insertions, 0 deletions
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);