fix(audio): always send unhold

Alway send the unhold command since it doesn't change flip the state
(contrary to the uuid_hold toggle command).

It's not idempotent, though - so always update the internal hold state
to prevent state mismatches preventing channels from being unheld.
This commit is contained in:
prlanzarin 2024-06-27 21:22:32 -03:00
parent 631d5186e5
commit 1c57db94bb

View File

@ -25,24 +25,24 @@ trait ListenOnlyModeToggledInSfuEvtMsgHdlr {
// opposite of what we want. // opposite of what we want.
// The unhold (uuid_hold off) command is not affected by this, but we don't // The unhold (uuid_hold off) command is not affected by this, but we don't
// want to send it if the channel is already unheld. // want to send it if the channel is already unheld.
if (msg.body.enabled != vu.hold) { if ((msg.body.enabled && !vu.hold) || !msg.body.enabled) {
VoiceApp.holdChannelInVoiceConf( VoiceApp.holdChannelInVoiceConf(
liveMeeting, liveMeeting,
outGW, outGW,
vu.uuid, vu.uuid,
msg.body.enabled msg.body.enabled
) )
} else {
// If the channel is already in the desired state, just make sure
// any pending mute or unmute commands are sent.
VoiceApp.handleChannelHoldChanged(
liveMeeting,
outGW,
msg.body.userId,
vu.uuid,
msg.body.enabled
)
} }
// If the channel is already in the desired state, just make sure
// any pending mute or unmute commands are sent.
VoiceApp.handleChannelHoldChanged(
liveMeeting,
outGW,
msg.body.userId,
vu.uuid,
msg.body.enabled
)
} }
} }
} }