mirror of
https://github.com/legop3/MultiRoombaRover.git
synced 2026-09-16 01:21:20 -04:00
38 lines
1.3 KiB
Bash
Executable File
38 lines
1.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
# These publishers contain hardware-facing infinite retry loops, so executing them in a unit
|
|
# test would require unsafe process-group traps and fake camera/ALSA devices. Pin the small
|
|
# transport boundary directly instead: every publisher must request RTSP/TCP and none may
|
|
# reintroduce the high-latency MPEG-TS muxer.
|
|
SCRIPT_DIR=$(cd "$(dirname "$0")" && pwd)
|
|
|
|
assert_rtsp_tcp() {
|
|
local file="$1"
|
|
if ! grep -q -- '-f rtsp' "$file"; then
|
|
echo "Missing RTSP muxer in $file" >&2
|
|
exit 1
|
|
fi
|
|
if ! grep -q -- '-rtsp_transport tcp' "$file"; then
|
|
echo "Missing RTSP/TCP pin in $file" >&2
|
|
exit 1
|
|
fi
|
|
if grep -q -- '-f mpegts' "$file"; then
|
|
echo "Unexpected MPEG-TS muxer in $file" >&2
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
assert_rtsp_tcp "$SCRIPT_DIR/video-publisher.sh"
|
|
assert_rtsp_tcp "$SCRIPT_DIR/debian-laptop-video-publisher.sh"
|
|
assert_rtsp_tcp "$SCRIPT_DIR/audio-only-publisher.sh"
|
|
|
|
# The speaker path reads rather than publishes, so it has no output muxer. It must still pin
|
|
# RTSP/TCP before its input URL to match the server's TCP-only listener.
|
|
if ! grep -q -- '-rtsp_transport tcp' "$SCRIPT_DIR/audio-forward-listener.sh"; then
|
|
echo "Missing RTSP/TCP input pin in audio-forward-listener.sh" >&2
|
|
exit 1
|
|
fi
|
|
|
|
echo "Media publisher transport checks passed"
|