On 17/05/2025 18:52, softworkz . wrote: > > >> -----Original Message----- >> From: ffmpeg-devel <ffmpeg-devel-boun...@ffmpeg.org> On Behalf Of Mark >> Thompson >> Sent: Samstag, 17. Mai 2025 13:14 >> To: ffmpeg-devel@ffmpeg.org >> Subject: [FFmpeg-devel] [PATCH 1/3] ffmpeg: Don't print graphs if there are >> no >> graphs to print >> >> Avoids writing an empty json blob in setup error cases. >> --- >> fftools/ffmpeg.c | 3 ++- >> 1 file changed, 2 insertions(+), 1 deletion(-) >> >> diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c >> index 964770df23..ad28cff78d 100644 >> --- a/fftools/ffmpeg.c >> +++ b/fftools/ffmpeg.c >> @@ -309,7 +309,8 @@ const AVIOInterruptCB int_cb = { decode_interrupt_cb, >> NULL >> }; >> >> static void ffmpeg_cleanup(int ret) >> { >> - if (print_graphs || print_graphs_file) >> + if ((print_graphs || print_graphs_file) && >> + (nb_filtergraphs > 0 || nb_output_files > 0)) >> print_filtergraphs(filtergraphs, nb_filtergraphs, input_files, >> nb_input_files, output_files, nb_output_files); > > The feature is not just about filter graphs, that's why it's been renamed > as "Execution Graph Printing". It also works when no filter graphs are > in play at all. > Here's an example: > > https://softworkz.github.io/ffmpeg_output_apis/1_nofilters_3_in_1_out.html > > > As for the nb_output_files check, I'm not sure - is it 0 or 1 in case of > -f null output?
1, including when you stream copy to null and there aren't any real graphs. At least one output is mandatory for a valid command line, so it should always appear in non-error cases as far as I am aware. The aim is to avoid to the nonsense json blob when an early error happens - example below. It does still get printed on later errors (such as a muxer error), because the graph is created then and some operations will have happened at that point. Thanks, - Mark $ ./ffmpeg_g -print_graphs -i nonexistent -f null - ... [in#0 @ 0x513000000200] Error opening input: No such file or directory Error opening input file nonexistent. Error opening input files: No such file or directory { "graphs": [ ], "inputfiles": [ { "index": "0", "inputstreams": [ ] } ], "decoders": [ ], "encoders": [ ], "outputfiles": [ ], "streamlinks": [ ] } _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".