feat(audio,android): add MobileVoiceAudioBackend + AndroidVoiceUnit (oboe-rs)

Add the cross-platform MobileVoiceAudioBackend trait, plus the
Android implementation AndroidVoiceUnit backed by oboe-rs 0.6.x.
AndroidVoiceUnit owns AAudio stream setup with VoiceCommunication
usage/preset, performance-mode LowLatency request, sharing-mode
Exclusive best-effort, hardware AEC/NS/AGC engagement via JNI, and
the diagnostics snapshot publish path used by SDD-116 evidence
collection.

Cargo.toml: adds oboe = "0.6" under the Android target.

Trace: SDD-111, SDD-112, SDD-113, SRS-210, SRS-211, SRS-212, SRS-213,
SRS-214.
This commit is contained in:
EdisonJwa
2026-05-18 10:38:19 +08:00
parent da0b208075
commit 76c6d1d40c
5 changed files with 1709 additions and 0 deletions
Generated
+21
View File
@@ -393,6 +393,7 @@ dependencies = [
"futures-util",
"jni 0.21.1",
"ndk-context",
"oboe",
"rand 0.8.6",
"reqwest",
"sdl2",
@@ -2293,6 +2294,26 @@ dependencies = [
"memchr",
]
[[package]]
name = "oboe"
version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e8b61bebd49e5d43f5f8cc7ee2891c16e0f41ec7954d36bcb6c14c5e0de867fb"
dependencies = [
"num-derive",
"num-traits",
"oboe-sys",
]
[[package]]
name = "oboe-sys"
version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6c8bb09a4a2b1d668170cfe0a7d5bc103f8999fb316c98099b6a9939c9f2e79d"
dependencies = [
"cc",
]
[[package]]
name = "omnom"
version = "3.0.0"