refactor: extract audio receiver engine, modularize server, and improve Kotlin safety #12

Merged kexan.ru
targeting main from refactor/architecture-improvements
Merged opened by and assigned to kexan.ru
targeting main from refactor/architecture-improvements
  • crates/protocol: Introduce typed AudioFormat and ControlCommand enums and standard network constants.
  • crates/receiver: Extract standalone audio-streamer-receiver crate with platform-agnostic jitter, playout, pipeline, and calibration logic and integration tests.
  • crates/android-receiver: Slim down to AAudio and JNI adapter and guard AAudioStream pointer extraction.
  • src/client: Upgrade desktop client to use AudioReceiverCore with full drift compensation, jitter buffer, and PLC.
  • src/server: Modularize server into capture, sender, pipeline, control, and calibration submodules; sanitize ALSA device names.
  • src/main: Use clap::ValueEnum for --codec CLI parsing.
  • crates/gui: Extract NixOS schema detection to nixos module and clean up device list population.
  • android: Add typed AudioCodec enum, decouple mic recording into AcousticCalibrator, and prevent Activity lifecycle leaks/crashes.
Commits 0