Skip to content

docs: define Android live-audio route design - #12

Merged
matveyb9 merged 1 commit into
mainfrom
docs/android-live-audio-route-design
Aug 20, 2026
Merged

matveyb9 merged 1 commit into
mainfrom
docs/android-live-audio-route-design

Conversation

@matveyb9

Copy link
Copy Markdown
Owner

Summary

This design-only slice selects Android API 26+ foreground playback/capture as AudioModem's first experimental live-audio platform target. It does not implement an Android adapter or enable any route.

It adds bilingual research comparing Android’s explicit permission/focus/PCM lifecycle with Linux PipeWire session/routing scope, plus a bilingual Android foreground live-audio RFC. The RFC fixes a narrow default-route design: 48 kHz mono PCM16 LE must be verified after native creation; microphone permission, playback focus, route changes, interruption and stop/dispose behavior are first-class gates; no auto-resume, background service, route picker, Bluetooth/cable/radio scope, duplex or physical-delivery claim is allowed.

The device-acceptance schema and zero-dependency validator now reserve a machine-checkable adapter_observation for future real Android speaker-to-microphone measurements. It requires the v1 adapter contract, API level 26+, exact requested/effective PCM format, granted permission, granted/delayed focus, stop-without-auto-resume and discarded raw PCM. The added JSON fixture is an unexecuted template and contains no device/run/outcome evidence.

Documentation indexes, implementation plan, platform matrix, roadmap, CI bilingual pair checks and public status are synchronized to describe this as a draft design only.

Explicit non-claims

This pull request does not add microphone capture, speaker playback, a Flutter/Android audio plugin, RECORD_AUDIO, audio focus code, an Android target build, Android runtime verification, a device result, speaker-to-microphone delivery, Bluetooth/cable/radio support, encryption or a supported-platform claim.

Validation

The following completed successfully:

  • cargo fmt --all -- --check
  • cargo clippy --workspace --all-targets -- -D warnings
  • cargo test --workspace
  • flutter analyze
  • flutter test — 10 passing tests and 2 deliberately skipped opt-in native-runtime tests
  • flutter build web --release
  • flutter build linux --debug
  • JSON Schema parse check
  • Generic and Android unexecuted device-acceptance template validation
  • Extended zero-dependency validator tests
  • Bilingual document-pair existence checks
  • git diff --check

The web build completes with the existing flutter_rust_bridge wasm dry-run warning. The native bridge remains intentionally unavailable in the web build.

@matveyb9
matveyb9 merged commit 0b6da39 into main Aug 20, 2026
5 checks passed
@matveyb9
matveyb9 deleted the docs/android-live-audio-route-design branch August 20, 2026 19:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant