- New wzp-android crate with Oboe C++ backend, lock-free SPSC ring buffers, engine orchestrator, codec pipeline, and Android Gradle project structure - AEC (NLMS adaptive filter), AGC (two-stage with fast attack/slow release), windowed-sinc FIR resampler replacing linear interpolation (wzp-codec) - Opus encoder tuning: complexity 7 default, set_expected_loss support - Mobile jitter buffer: asymmetric EMA (fast up/slow down), handoff spike detection with 2s cooldown, configurable safety margin - Network-aware quality control: cellular-specific thresholds, faster downgrade on cellular, proactive tier drop on WiFi→cellular handoff, FEC ratio boost during network transitions - Handoff detection in PathMonitor via RTT jitter spike analysis Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
16 lines
471 B
Rust
16 lines
471 B
Rust
//! Engine commands sent from the JNI/UI thread to the engine.
|
|
|
|
use wzp_proto::QualityProfile;
|
|
|
|
/// Commands that can be sent to the running engine.
|
|
pub enum EngineCommand {
|
|
/// Mute or unmute the microphone.
|
|
SetMute(bool),
|
|
/// Enable or disable speaker (loudspeaker) mode.
|
|
SetSpeaker(bool),
|
|
/// Force a specific quality profile (overrides adaptive logic).
|
|
ForceProfile(QualityProfile),
|
|
/// Stop the call and shut down the engine.
|
|
Stop,
|
|
}
|