ffmpeg: check for unconnected outputs
Fixes e.g.: ffmpeg -f lavfi -i testsrc -f lavfi -i testsrc -filter_complex "[0:v][1:v]psnr[out]" -f null none Fixes ticket #6323. (cherry picked from commit 974ee16d6a71c31d0b5db4f139a40831c2f45776)
This commit is contained in:
parent
329176adc5
commit
059db22040
1
ffmpeg.h
1
ffmpeg.h
@ -638,6 +638,7 @@ void choose_sample_fmt(AVStream *st, AVCodec *codec);
|
|||||||
|
|
||||||
int configure_filtergraph(FilterGraph *fg);
|
int configure_filtergraph(FilterGraph *fg);
|
||||||
int configure_output_filter(FilterGraph *fg, OutputFilter *ofilter, AVFilterInOut *out);
|
int configure_output_filter(FilterGraph *fg, OutputFilter *ofilter, AVFilterInOut *out);
|
||||||
|
void check_filter_outputs(void);
|
||||||
int ist_in_filtergraph(FilterGraph *fg, InputStream *ist);
|
int ist_in_filtergraph(FilterGraph *fg, InputStream *ist);
|
||||||
int filtergraph_is_simple(FilterGraph *fg);
|
int filtergraph_is_simple(FilterGraph *fg);
|
||||||
int init_simple_filtergraph(InputStream *ist, OutputStream *ost);
|
int init_simple_filtergraph(InputStream *ist, OutputStream *ost);
|
||||||
|
@ -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)
|
static int sub2video_prepare(InputStream *ist, InputFilter *ifilter)
|
||||||
{
|
{
|
||||||
AVFormatContext *avf = input_files[ist->file_index]->ctx;
|
AVFormatContext *avf = input_files[ist->file_index]->ctx;
|
||||||
|
@ -3260,6 +3260,8 @@ int ffmpeg_parse_options(int argc, char **argv)
|
|||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
check_filter_outputs();
|
||||||
|
|
||||||
fail:
|
fail:
|
||||||
uninit_parse_context(&octx);
|
uninit_parse_context(&octx);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user