Commit Graph
4 Commits
Author SHA1 Message Date
evgeny 0219624c7d Reproduce voice capture rollback and playback cleanup failures 2026-10-28 11:36:13 +01:00
evgeny 537814e7fd Model microphone permission for voice recorder host tests 2026-10-28 11:36:13 +01:00
evgeny c31bdf74d8 Add host audio output controls for voice recorder failures 2026-10-28 11:36:13 +01:00
evgeny 005d136dc7 Make Android microphone capture stoppable and cleanup resilient
Use nonblocking AudioRecord reads with data and timestamp deadlines. Serialize idempotent close, finish interrupted joins before release, isolate callback failures, and abort stereo fallback when partial-record cleanup fails.

Close failed shared readers to new subscriptions, roll back worker startup, isolate observers, preserve interrupt state, and release the last consumer exactly once. Add an independent capture-tests JVM module to the standard Android unit-test task.

Validation: 38 capture scenarios (25 AudioRecord plus 13 PCM/PTT), 455 JVM tests, assembleDebug, core build, and full check.sh (225 tests plus proxy/burst/load) passed.
2026-10-28 00:53:01 +01:00