diff --git a/core/chanora_core/src/lib.rs b/core/chanora_core/src/lib.rs index df859d1..a98e45e 100644 --- a/core/chanora_core/src/lib.rs +++ b/core/chanora_core/src/lib.rs @@ -998,7 +998,13 @@ impl ChanoraSession { ) -> Result<(), CoreError> { let guard = self.inner.lock().await; let state = guard.as_ref().ok_or(CoreError::NotConnected)?; - state.protocol.set_muted(input, output).await?; + // Server-side output mute/deafen makes TeamSpeak/tsclientlib + // consider the client unable to send audio. That is correct + // for a server-visible "deafened" state, but our P0 speaker + // button is a local playback mute. Keep output mute local-only + // so Android can still transmit while the user silences remote + // playback on this device. + state.protocol.set_muted(input, None).await?; if let Some(muted) = output { if let Some(audio) = state.audio.as_ref() { audio.set_output_muted(muted);