> segfaults > > ./ffmpeg -f lavfi -i > "amovie=fate-suite/wavpack/num_channels/eva_2.22_6.1_16bit-partial.wv,asplit=3[out1][a][b]; > [a]showwaves=s=340x240,pad=iw:ih*2[waves]; > [b]showspectrum=s=340x240[spectrum]; [waves][spectrum] overlay=0:h [out0]" > -t 0.1 -qscale 2 -bitexact /tmp/file-waves.avi > > Thread 1 "ffmpeg_g" received signal SIGSEGV, Segmentation fault. > 0x00005555557a7c07 in query_formats () > (gdb) bt > #0 0x00005555557a7c07 in query_formats () > #1 0x00005555557a84d5 in avfilter_graph_config () > #2 0x000055555569ac0a in lavfi_read_header () > #3 0x0000555555a7bd61 in avformat_open_input () > #4 0x000055555574cb43 in ifile_open () > #5 0x0000555555763c49 in open_files.isra () > #6 0x0000555555765327 in ffmpeg_parse_options () > #7 0x00005555557442b4 in main () > > (i can provide better backtrace if you cannot reproduce ...)
The culprit appears to be from this logic in formats.c: case FF_FILTER_FORMATS_PASSTHROUGH: case FF_FILTER_FORMATS_QUERY_FUNC: type = ctx->nb_inputs ? ctx->inputs [0]->type : ctx->nb_outputs ? ctx->outputs[0]->type : AVMEDIA_TYPE_VIDEO; formats = ff_all_formats(type); break; In the case of an a/v filter (like avf_showspectrum), this incorrectly determines the filter type as an audio filter, and therefore does not run the default configuration logic on the video *output*. Indeed, this logic would appear to break also in the case of a (hypothetical) video->audio conversion filter, in which case channel counts and samplerates would similarly fail to get assigned, because the filter type would be incorrectly determined to be a video filter. I think the correct resolution here would be to simply remove these conditionals and always run ff_set_common_* in ff_default_query_formats. They already explicitly ignore inputs/outputs of mismatching type, and are a no-op if there is nothing to ref. _______________________________________________ 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".