#11409: Using -af and -vf with non-exhistant filter succeeds if input lacks required stream type -------------------------------------+------------------------------------- Reporter: Wes Castro | Type: defect Status: new | Priority: normal Component: ffmpeg | Version: | unspecified Keywords: | Blocked By: Blocking: | Reproduced by developer: 0 Analyzed by developer: 0 | -------------------------------------+------------------------------------- Summary of the bug:
When invoking the FFmpeg binary with `-af` of `-vf` followed by a filter that doesn't exist (for example `not_a_filter`) it silently ignores the error and succeeds as if the option wasn't passed in if the input has no streams of the required type. For example, if an audio input is used and `-vf not_a_filter` is passed in, it succeeds. Similarly, if a video input is used and `-af not_a_filter` is passed in it will also succeed. Note that with `-filter_complex` it seems to always fail if a filter isn't found regardless of input type. How to reproduce: Audio input with `-vf`: {{{ ./ffmpeg -f lavfi -i sine=frequency=1000:duration=1 -vf not_a_filter -f null - ffmpeg version N-118273-g251de1791e Copyright (c) 2000-2025 the FFmpeg developers built with gcc 11 (GCC) configuration: --enable-gpl libavutil 59. 54.101 / 59. 54.101 libavcodec 61. 31.100 / 61. 31.100 libavformat 61. 9.104 / 61. 9.104 libavdevice 61. 4.100 / 61. 4.100 libavfilter 10. 6.101 / 10. 6.101 libswscale 8. 13.100 / 8. 13.100 libswresample 5. 4.100 / 5. 4.100 libpostproc 58. 4.100 / 58. 4.100 [out @ 0x2fd9b80] The "sample_fmts" option is deprecated: set the supported sample formats [out @ 0x2fd9b80] The "all_channel_counts" option is deprecated: accept all channel counts Input #0, lavfi, from 'sine=frequency=1000:duration=1': Duration: N/A, start: 0.000000, bitrate: 705 kb/s Stream #0:0: Audio: pcm_s16le, 44100 Hz, mono, s16, 705 kb/s Stream mapping: Stream #0:0 -> #0:0 (pcm_s16le (native) -> pcm_s16le (native)) Press [q] to stop, [?] for help Output #0, null, to 'pipe:': Metadata: encoder : Lavf61.9.104 Stream #0:0: Audio: pcm_s16le, 44100 Hz, mono, s16, 705 kb/s Metadata: encoder : Lavc61.31.100 pcm_s16le [out#0/null @ 0x2fddfc0] video:0KiB audio:86KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: unknown size=N/A time=00:00:01.00 bitrate=N/A speed= 351x }}} Video input with `-af`: {{{ ./ffmpeg -f lavfi -i testsrc -t 10 -af not_a_filter -f null - ffmpeg version N-118273-g251de1791e Copyright (c) 2000-2025 the FFmpeg developers built with gcc 11 (GCC) configuration: --enable-gpl libavutil 59. 54.101 / 59. 54.101 libavcodec 61. 31.100 / 61. 31.100 libavformat 61. 9.104 / 61. 9.104 libavdevice 61. 4.100 / 61. 4.100 libavfilter 10. 6.101 / 10. 6.101 libswscale 8. 13.100 / 8. 13.100 libswresample 5. 4.100 / 5. 4.100 libpostproc 58. 4.100 / 58. 4.100 Input #0, lavfi, from 'testsrc': Duration: N/A, start: 0.000000, bitrate: N/A Stream #0:0: Video: wrapped_avframe, rgb24, 320x240 [SAR 1:1 DAR 4:3], 25 fps, 25 tbr, 25 tbn Stream mapping: Stream #0:0 -> #0:0 (wrapped_avframe (native) -> wrapped_avframe (native)) Press [q] to stop, [?] for help Output #0, null, to 'pipe:': Metadata: encoder : Lavf61.9.104 Stream #0:0: Video: wrapped_avframe, rgb24(pc, gbr/unknown/unknown, progressive), 320x240 [SAR 1:1 DAR 4:3], q=2-31, 200 kb/s, 25 fps, 25 tbn Metadata: encoder : Lavc61.31.100 wrapped_avframe [out#0/null @ 0x2fcd140] video:107KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: unknown frame= 250 fps=0.0 q=-0.0 Lsize=N/A time=00:00:10.00 bitrate=N/A speed= 315x }}} -- Ticket URL: <https://trac.ffmpeg.org/ticket/11409> FFmpeg <https://ffmpeg.org> FFmpeg issue tracker
_______________________________________________ FFmpeg-trac mailing list FFmpeg-trac@avcodec.org https://ffmpeg.org/mailman/listinfo/ffmpeg-trac To unsubscribe, visit link above, or email ffmpeg-trac-requ...@ffmpeg.org with subject "unsubscribe".