fix: refine linux voice runtime behavior

This commit is contained in:
Edison Jwa
2026-05-25 18:26:49 +09:00
parent cd14aa7b98
commit d03ea937e6
9 changed files with 156 additions and 73 deletions
+5 -5
View File
@@ -1234,11 +1234,11 @@ impl ChanoraSession {
audio.set_output_muted(muted);
}
}
// Input mute must also stop local outbound voice production
// so the transmit selector stays in sync with the server-side
// mic mute. Output mute is playback-only and must not affect
// the mic gate.
let mic_disabled = state.local_input_muted;
// Muting the speaker is treated as a local deafen: it must
// also clamp microphone TX so users cannot keep talking while
// unable to hear replies. This does not send server-side
// input-mute; it only drives the local transmit gate.
let mic_disabled = state.local_input_muted || state.local_output_muted;
self.voice_selector.set_hard_mute(mic_disabled);
Ok(())
}