mirror of
https://github.com/legop3/MultiRoombaRover.git
synced 2026-09-17 18:10:47 -04:00
guhw
This commit is contained in:
@@ -67,15 +67,7 @@ run_pipeline() {
|
|||||||
# Background ALSA capture; keep it simple to avoid CPU on ffmpeg.
|
# Background ALSA capture; keep it simple to avoid CPU on ffmpeg.
|
||||||
arecord -D "${AUDIO_DEVICE}" -f "${AUDIO_FORMAT}" -r "${AUDIO_RATE}" -c "${AUDIO_CHANNELS}" -q -t raw "${AUDIO_FIFO}" &
|
arecord -D "${AUDIO_DEVICE}" -f "${AUDIO_FORMAT}" -r "${AUDIO_RATE}" -c "${AUDIO_CHANNELS}" -q -t raw "${AUDIO_FIFO}" &
|
||||||
ARECORD_PID=$!
|
ARECORD_PID=$!
|
||||||
cleanup_audio() {
|
trap 'kill "${ARECORD_PID}" >/dev/null 2>&1 || true; wait "${ARECORD_PID}" 2>/dev/null || true; rm -f "${AUDIO_FIFO}"' EXIT INT TERM
|
||||||
if [[ -n "${ARECORD_PID:-}" ]]; then
|
|
||||||
kill "${ARECORD_PID}" >/dev/null 2>&1 || true
|
|
||||||
wait "${ARECORD_PID}" 2>/dev/null || true
|
|
||||||
unset ARECORD_PID
|
|
||||||
}
|
|
||||||
rm -f "${AUDIO_FIFO:-}"
|
|
||||||
}
|
|
||||||
trap cleanup_audio EXIT INT TERM
|
|
||||||
|
|
||||||
# Try audio + video; if audio device is missing, fallback to video-only.
|
# Try audio + video; if audio device is missing, fallback to video-only.
|
||||||
if ! "${LIBCAMERA_BIN_PATH}" \
|
if ! "${LIBCAMERA_BIN_PATH}" \
|
||||||
@@ -116,7 +108,9 @@ run_pipeline() {
|
|||||||
echo "Audio pipeline failed; falling back to video-only this run" >&2
|
echo "Audio pipeline failed; falling back to video-only this run" >&2
|
||||||
AUDIO_ENABLE=0
|
AUDIO_ENABLE=0
|
||||||
fi
|
fi
|
||||||
cleanup_audio
|
kill "${ARECORD_PID}" >/dev/null 2>&1 || true
|
||||||
|
wait "${ARECORD_PID}" 2>/dev/null || true
|
||||||
|
rm -f "${AUDIO_FIFO}"
|
||||||
trap - EXIT INT TERM
|
trap - EXIT INT TERM
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user