static int configure_input_filter(FilterGraph *fg, InputFilter *ifilter, AVFilterInOut *in) { av_freep(&ifilter->name); DESCRIBE_FILTER_LINK(ifilter, in, 1); 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); default: av_assert0(0); } }
static int configure_input_filter(FilterGraph *fg, InputFilter *ifilter, AVFilterInOut *in) { 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); default: av_assert0(0); } }