David Liu

protocol 3: remote mute/unmute

resolves LK-94
... ... @@ -372,6 +372,7 @@ internal constructor(
fun onAddTrack(track: MediaStreamTrack, streams: Array<out MediaStream>)
fun onUpdateParticipants(updates: List<LivekitModels.ParticipantInfo>)
fun onActiveSpeakersUpdate(speakers: List<LivekitModels.SpeakerInfo>)
fun onRemoteMuteChanged(trackSid: String, muted: Boolean)
fun onSpeakersChanged(speakers: List<LivekitModels.SpeakerInfo>)
fun onDisconnect(reason: String)
fun onFailToConnect(error: Exception)
... ... @@ -492,6 +493,10 @@ internal constructor(
listener?.onDisconnect(reason)
}
override fun onRemoteMuteChanged(trackSid: String, muted: Boolean) {
listener?.onRemoteMuteChanged(trackSid, muted)
}
override fun onLeave() {
close()
listener?.onDisconnect("")
... ...
... ... @@ -314,6 +314,10 @@ constructor(
handleActiveSpeakersUpdate(speakers)
}
override fun onRemoteMuteChanged(trackSid: String, muted: Boolean) {
localParticipant.onRemoteMuteChanged(trackSid, muted)
}
/**
* @suppress
*/
... ...
... ... @@ -369,7 +369,7 @@ constructor(
listener?.onLeave()
}
LivekitRtc.SignalResponse.MessageCase.MUTE -> {
//TODO
listener?.onRemoteMuteChanged(response.mute.sid, response.mute.muted)
}
LivekitRtc.SignalResponse.MessageCase.ROOM_UPDATE -> {
//TODO
... ... @@ -394,6 +394,7 @@ constructor(
fun onParticipantUpdate(updates: List<LivekitModels.ParticipantInfo>)
fun onSpeakersChanged(speakers: List<LivekitModels.SpeakerInfo>)
fun onClose(reason: String, code: Int)
fun onRemoteMuteChanged(trackSid: String, muted: Boolean)
fun onLeave()
fun onError(error: Exception)
}
... ...
... ... @@ -188,6 +188,11 @@ internal constructor(
}
}
fun onRemoteMuteChanged(trackSid: String, muted: Boolean) {
val pub = tracks[trackSid]
pub?.muted = muted
}
interface PublishListener {
fun onPublishSuccess(publication: TrackPublication) {}
fun onPublishFailure(exception: Exception) {}
... ...