fix(core): keep speaker mute local
This commit is contained in:
@@ -998,7 +998,13 @@ impl ChanoraSession {
|
|||||||
) -> Result<(), CoreError> {
|
) -> Result<(), CoreError> {
|
||||||
let guard = self.inner.lock().await;
|
let guard = self.inner.lock().await;
|
||||||
let state = guard.as_ref().ok_or(CoreError::NotConnected)?;
|
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(muted) = output {
|
||||||
if let Some(audio) = state.audio.as_ref() {
|
if let Some(audio) = state.audio.as_ref() {
|
||||||
audio.set_output_muted(muted);
|
audio.set_output_muted(muted);
|
||||||
|
|||||||
Reference in New Issue
Block a user