[FFmpeg-devel] [PATCH 4/4] tests/fate: add fate test for excessive frame buffering when using filters

Marton Balint cus at passwd.hu
Mon Jul 7 01:00:04 EEST 2025


Based on the command line of ticket #10959.

Signed-off-by: Marton Balint <cus at passwd.hu>
---
 tests/fate/filter-video.mak            |  4 ++++
 tests/filtergraphs/select-buffering    |  1 +
 tests/ref/fate/filter-select-buffering | 30 ++++++++++++++++++++++++++
 3 files changed, 35 insertions(+)
 create mode 100644 tests/filtergraphs/select-buffering
 create mode 100644 tests/ref/fate/filter-select-buffering

diff --git a/tests/fate/filter-video.mak b/tests/fate/filter-video.mak
index 34cf7afa83..65d4cc6c14 100644
--- a/tests/fate/filter-video.mak
+++ b/tests/fate/filter-video.mak
@@ -328,6 +328,10 @@ fate-filter-select-alternate: CMD = framecrc -c:v pgmyuv -i $(SRC) -/filter $(TA
 FATE_FILTER-$(call ALLYES, FFPROBE SELECT_FILTER SMPTEBARS_FILTER LAVFI_INDEV) += fate-filter-select-ffprobe
 fate-filter-select-ffprobe: CMD = probe -print_format compact -show_entries packet=stream_index,pts,pts_time -f lavfi "smptebars=d=1,select=n=2:e=1[out0][out1]"
 
+FATE_FILTER-$(call FILTERFRAMECRC, SMPTEBARS SELECT, LAVFI_INDEV WRAPPED_AVFRAME_ENCODER NULL_MUXER) += fate-filter-select-buffering
+fate-filter-select-buffering: tests/data/filtergraphs/select-buffering
+fate-filter-select-buffering: CMD = framecrc -filter_buffered_frames 1 -f lavfi -i "smptebars=d=21" -/filter_complex $(TARGET_PATH)/tests/data/filtergraphs/select-buffering -map "[o1]" -f null none -map "[o2]" -f null none -map "[o3]"
+
 FATE_FILTER_VSYNTH_PGMYUV-$(call ALLYES, SETPTS_FILTER  SETTB_FILTER) += fate-filter-setpts
 fate-filter-setpts: tests/data/filtergraphs/setpts
 fate-filter-setpts: CMD = framecrc -c:v pgmyuv -i $(SRC) -/filter $(TARGET_PATH)/tests/data/filtergraphs/setpts
diff --git a/tests/filtergraphs/select-buffering b/tests/filtergraphs/select-buffering
new file mode 100644
index 0000000000..38b23db896
--- /dev/null
+++ b/tests/filtergraphs/select-buffering
@@ -0,0 +1 @@
+select=n=3:e='lt(t,10)+gte(t,10)*lt(t,20)*2+gte(t,20)*3'[o1][o2][o3]
diff --git a/tests/ref/fate/filter-select-buffering b/tests/ref/fate/filter-select-buffering
new file mode 100644
index 0000000000..b9834bf4da
--- /dev/null
+++ b/tests/ref/fate/filter-select-buffering
@@ -0,0 +1,30 @@
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 320x240
+#sar 0: 1/1
+0,        500,        500,        1,   115200, 0x87d91dc5
+0,        501,        501,        1,   115200, 0x87d91dc5
+0,        502,        502,        1,   115200, 0x87d91dc5
+0,        503,        503,        1,   115200, 0x87d91dc5
+0,        504,        504,        1,   115200, 0x87d91dc5
+0,        505,        505,        1,   115200, 0x87d91dc5
+0,        506,        506,        1,   115200, 0x87d91dc5
+0,        507,        507,        1,   115200, 0x87d91dc5
+0,        508,        508,        1,   115200, 0x87d91dc5
+0,        509,        509,        1,   115200, 0x87d91dc5
+0,        510,        510,        1,   115200, 0x87d91dc5
+0,        511,        511,        1,   115200, 0x87d91dc5
+0,        512,        512,        1,   115200, 0x87d91dc5
+0,        513,        513,        1,   115200, 0x87d91dc5
+0,        514,        514,        1,   115200, 0x87d91dc5
+0,        515,        515,        1,   115200, 0x87d91dc5
+0,        516,        516,        1,   115200, 0x87d91dc5
+0,        517,        517,        1,   115200, 0x87d91dc5
+0,        518,        518,        1,   115200, 0x87d91dc5
+0,        519,        519,        1,   115200, 0x87d91dc5
+0,        520,        520,        1,   115200, 0x87d91dc5
+0,        521,        521,        1,   115200, 0x87d91dc5
+0,        522,        522,        1,   115200, 0x87d91dc5
+0,        523,        523,        1,   115200, 0x87d91dc5
+0,        524,        524,        1,   115200, 0x87d91dc5
-- 
2.43.0



More information about the ffmpeg-devel mailing list