fix(audio): reject false-positive uac sanity runs
This commit is contained in:
parent
74e664a28a
commit
49c25bbf21
6
Cargo.lock
generated
6
Cargo.lock
generated
@ -1642,7 +1642,7 @@ checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2"
|
||||
|
||||
[[package]]
|
||||
name = "lesavka_client"
|
||||
version = "0.13.8"
|
||||
version = "0.13.9"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"async-stream",
|
||||
@ -1676,7 +1676,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "lesavka_common"
|
||||
version = "0.13.8"
|
||||
version = "0.13.9"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"base64",
|
||||
@ -1688,7 +1688,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "lesavka_server"
|
||||
version = "0.13.8"
|
||||
version = "0.13.9"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"base64",
|
||||
|
||||
@ -4,7 +4,7 @@ path = "src/main.rs"
|
||||
|
||||
[package]
|
||||
name = "lesavka_client"
|
||||
version = "0.13.8"
|
||||
version = "0.13.9"
|
||||
edition = "2024"
|
||||
|
||||
[dependencies]
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "lesavka_common"
|
||||
version = "0.13.8"
|
||||
version = "0.13.9"
|
||||
edition = "2024"
|
||||
build = "build.rs"
|
||||
|
||||
|
||||
@ -92,6 +92,8 @@ build_candidates() {
|
||||
|
||||
run_tone() {
|
||||
local candidate="$1"
|
||||
local log
|
||||
log=$(mktemp)
|
||||
echo "🎧 trying UAC playback device: $candidate" >&2
|
||||
set +e
|
||||
timeout --signal=INT "${DURATION_SECONDS}s" \
|
||||
@ -107,14 +109,24 @@ run_tone() {
|
||||
provide-clock=false \
|
||||
enable-last-sample=false \
|
||||
buffer-time="$BUFFER_TIME_US" \
|
||||
latency-time="$LATENCY_TIME_US"
|
||||
latency-time="$LATENCY_TIME_US" \
|
||||
2>"$log"
|
||||
local rc=$?
|
||||
set -e
|
||||
if grep -Eiq 'unknown pcm|playback open error|invalid argument|no such (device|file)|^error:|could not open|failed to change state|not-negotiated' "$log"; then
|
||||
echo "⚠️ tone failed on $candidate (sink open error)" >&2
|
||||
sed 's/^/ /' "$log" >&2 || true
|
||||
rm -f "$log"
|
||||
return 1
|
||||
fi
|
||||
if [[ $rc -eq 0 || $rc -eq 124 ]]; then
|
||||
echo "✅ UAC tone completed on $candidate" >&2
|
||||
rm -f "$log"
|
||||
return 0
|
||||
fi
|
||||
echo "⚠️ tone failed on $candidate (rc=$rc)" >&2
|
||||
sed 's/^/ /' "$log" >&2 || true
|
||||
rm -f "$log"
|
||||
return "$rc"
|
||||
}
|
||||
|
||||
|
||||
@ -10,7 +10,7 @@ bench = false
|
||||
|
||||
[package]
|
||||
name = "lesavka_server"
|
||||
version = "0.13.8"
|
||||
version = "0.13.9"
|
||||
edition = "2024"
|
||||
autobins = false
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user