aboutsummaryrefslogtreecommitdiff
path: root/tests/normalize-notify/fake-ffmpeg
diff options
context:
space:
mode:
Diffstat (limited to 'tests/normalize-notify/fake-ffmpeg')
-rw-r--r--tests/normalize-notify/fake-ffmpeg25
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/normalize-notify/fake-ffmpeg b/tests/normalize-notify/fake-ffmpeg
new file mode 100644
index 0000000..cdfcb6f
--- /dev/null
+++ b/tests/normalize-notify/fake-ffmpeg
@@ -0,0 +1,25 @@
+#!/bin/bash
+# Fake ffmpeg for the normalize-notify-sounds tests. Two modes:
+# measure (args include the `volumedetect` filter): print a mean_volume line
+# to stderr, driven by FAKE_MEAN (default -20.0).
+# encode (otherwise): write to the output file (the last argument), driven
+# by FAKE_FFMPEG_EMPTY (1 -> zero-byte output) and FAKE_FFMPEG_FAIL
+# (1 -> exit non-zero without writing).
+set -uo pipefail
+
+for a in "$@"; do
+ if [ "$a" = "volumedetect" ]; then
+ echo "mean_volume: ${FAKE_MEAN:--20.0} dB" >&2
+ exit 0
+ fi
+done
+
+out="${*: -1}"
+if [ "${FAKE_FFMPEG_FAIL:-0}" = 1 ]; then
+ exit 1
+fi
+if [ "${FAKE_FFMPEG_EMPTY:-0}" = 1 ]; then
+ : > "$out"
+else
+ echo ENCODED > "$out"
+fi