diff options
author | Nicolas George <george@nsup.org> | 2014-07-18 10:34:39 +0200 |
---|---|---|
committer | Nicolas George <george@nsup.org> | 2014-07-30 14:40:45 +0200 |
commit | 91244073fd8b983e7cd1f97da83daf956fbbddc6 (patch) | |
tree | d4675355588799c91ff395935d1bff24208f1989 | |
parent | ff9a154157ecca30f585c5eb97f1cd600f500213 (diff) | |
download | ffmpeg-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.c | 6 |
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); |