docs(ios): drop stale debug comments + TeamTalk refs from audio router

After the stereo-mic/A2DP debugging settled, the iOS audio code carried
leftover TeamTalk5 comparison notes, source-line citations, TEMP DIAGNOSTIC
markers, and "this was the bug" narratives that no longer help. Reworded
those to state the current rules; kept the comments that document real
constraints (the setPreferredInputNumberOfChannels(2) trap, the re-entrancy
guard, the ma_context no-session-management config).

Comment-only — no behavior change. core builds, ctest --preset dev 21/21.
This commit is contained in:
2026-06-20 03:03:34 +02:00
parent f1e1ef59ed
commit f3c1172a3e
7 changed files with 51 additions and 76 deletions

View File

@@ -491,8 +491,7 @@ VC_API vc_result vc_audio_resume(vc_client* c);
* were opened), vc_audio_restart() uninitializes and re-initializes the capture and playback
* devices so they pick up a new AVAudioSession route. Call this from the Swift layer AFTER
* reconfiguring AVAudioSession (setCategory, setPreferredInput, setPreferredPolarPattern, etc.)
* so the core's devices reopen against the new route. Mirrors TeamTalk5's
* closeSoundDevices()/initSoundInputDevice()/initSoundOutputDevice() reconfiguration pattern.
* so the core's devices reopen against the new route.
* Safe to call when the engine is not running (it will just start it). */
VC_API vc_result vc_audio_restart(vc_client* c);

View File

@@ -301,8 +301,7 @@ class AudioEngine {
// selected. The iOS Swift layer is the SOLE owner of the audio session (activated in
// AppState on connect, configured by IOSAudioRouter); miniaudio must only open the
// AudioUnit against the already-configured, already-active route. These coreaudio fields
// are no-ops on non-Apple backends. See PROGRESS.md / the "stereo mic kills output"
// investigation.
// are no-ops on non-Apple backends.
static ma_context_config make_context_config();
// Owned context, shared by the playback, capture, and loopback devices so they all honor

View File

@@ -1426,8 +1426,7 @@ vc_result vc_client::audio_resume() {
vc_result vc_client::audio_restart() {
// Full uninit + re-init (not just stop/start like suspend/resume) so the miniaudio
// devices reopen against the current AVAudioSession route. Mirrors TeamTalk5's
// closeSoundDevices()/initSoundInputDevice()/initSoundOutputDevice() pattern.
// devices reopen against the current AVAudioSession route.
// IMPORTANT: only restart if the engine was already running — calling
// ensure_audio_running() when the engine isn't running would start it prematurely
// (opening the capture device / mic without an active mic stream), which on iOS