[FFmpeg-devel] [PATCH] ffmpeg: check for unconnected outputs
Steven Liu
lingjiujianke at gmail.com
Wed May 3 04:17:41 EEST 2017
2017-05-03 7:06 GMT+08:00 wm4 <nfxjfg at googlemail.com>:
> Fixes e.g.:
>
> ffmpeg -f lavfi -i testsrc -f lavfi -i testsrc -filter_complex
> "[0:v][1:v]psnr[out]" -f null none
> ---
> ffmpeg.h | 1 +
> ffmpeg_filter.c | 15 +++++++++++++++
> ffmpeg_opt.c | 2 ++
> 3 files changed, 18 insertions(+)
>
> diff --git a/ffmpeg.h b/ffmpeg.h
> index 4d0456c1fb..d34561275a 100644
> --- a/ffmpeg.h
> +++ b/ffmpeg.h
> @@ -638,6 +638,7 @@ void choose_sample_fmt(AVStream *st, AVCodec *codec);
>
> int configure_filtergraph(FilterGraph *fg);
> int configure_output_filter(FilterGraph *fg, OutputFilter *ofilter,
> AVFilterInOut *out);
> +void check_filter_outputs(void);
> int ist_in_filtergraph(FilterGraph *fg, InputStream *ist);
> int filtergraph_is_simple(FilterGraph *fg);
> int init_simple_filtergraph(InputStream *ist, OutputStream *ost);
> diff --git a/ffmpeg_filter.c b/ffmpeg_filter.c
> index 896161a869..817f48f473 100644
> --- a/ffmpeg_filter.c
> +++ b/ffmpeg_filter.c
> @@ -678,6 +678,21 @@ int configure_output_filter(FilterGraph *fg,
> OutputFilter *ofilter, AVFilterInOu
> }
> }
>
> +void check_filter_outputs(void)
> +{
> + int i;
> + for (i = 0; i < nb_filtergraphs; i++) {
> + int n;
> + for (n = 0; n < filtergraphs[i]->nb_outputs; n++) {
> + OutputFilter *output = filtergraphs[i]->outputs[n];
> + if (!output->ost) {
> + av_log(NULL, AV_LOG_FATAL, "Filter %s has an unconnected
> output\n", output->name);
> + exit_program(1);
> + }
> + }
> + }
> +}
> +
> static int sub2video_prepare(InputStream *ist, InputFilter *ifilter)
> {
> AVFormatContext *avf = input_files[ist->file_index]->ctx;
> diff --git a/ffmpeg_opt.c b/ffmpeg_opt.c
> index d1fe8742ff..e73a61059f 100644
> --- a/ffmpeg_opt.c
> +++ b/ffmpeg_opt.c
> @@ -3260,6 +3260,8 @@ int ffmpeg_parse_options(int argc, char **argv)
> goto fail;
> }
>
> + check_filter_outputs();
> +
> fail:
> uninit_parse_context(&octx);
> if (ret < 0) {
> --
> 2.11.0
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
LGTM
Thanks
More information about the ffmpeg-devel
mailing list