feat(voice): harden Android audio and channel joins
This commit is contained in:
@@ -52,7 +52,7 @@ pub use engine::{AudioEngine, AudioEngineConfig};
|
||||
// bench harness under `crates/chanora_audio/benches/` can construct a
|
||||
// CaptureState and drive `ingest` without re-implementing the engine.
|
||||
// Not part of the supported public API.
|
||||
#[cfg(not(target_os = "ios"))]
|
||||
#[cfg(not(any(target_os = "ios", target_os = "android")))]
|
||||
#[doc(hidden)]
|
||||
pub use engine::bench_seam;
|
||||
pub use ptt::{AudioTransmitGate, MissedKeyUpWatchdog, PttBackendDescriptor, PttCapabilityLevel};
|
||||
@@ -84,6 +84,11 @@ pub enum AudioError {
|
||||
/// A backend-specific failure surfaced without a typed mapping.
|
||||
#[error("audio backend: {0}")]
|
||||
Backend(String),
|
||||
/// Android platform not ready — ndk_context not initialised before
|
||||
/// audio engine start. This occurs when `initChanoraContext` has not
|
||||
/// been called before `voice_join` triggers the audio engine.
|
||||
#[error("android platform not ready: ndk_context not initialised")]
|
||||
PlatformNotReady,
|
||||
}
|
||||
|
||||
/// Audio-effect toggles. Defaults match DEC-007 (AEC),
|
||||
|
||||
Reference in New Issue
Block a user