-
Notifications
You must be signed in to change notification settings - Fork 115
Send UpdateTrackSettings after resume #51
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
| } else { | ||
| val remoteParticipants = remoteParticipants.values.toList() | ||
| for (participant in remoteParticipants) { | ||
| for (pub in participant.videoTracks.values) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UpdateTrackSettings has a disabled field. I am guessing that is set for audio tracks when subscriber mutes the remote audio track. So, I think this should include update on both audio & video tracks?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm, at the moment the server doesn't seem to be using the disabled field for audio tracks. Not sure if we're meaning to use UpdateTrackSettings for audio tracks? (Though it does make sense for it to.)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It should be @davidliu . If not, it is a bug.
It applies to both audio and video (the naming could be confusing) - https://github.com/livekit/livekit-server/blob/745939ec24c32562c7c40dfcbbb9fb53625edab8/pkg/rtc/subscribedtrack.go#L90. It calls updateDownTrackMute here (https://github.com/livekit/livekit-server/blob/745939ec24c32562c7c40dfcbbb9fb53625edab8/pkg/rtc/subscribedtrack.go#L101) which will stop the forwarder for that track in the SFU.
| override fun onSignalConnected(isReconnect: Boolean) { | ||
| if (state == State.RECONNECTING && isReconnect) { | ||
| override fun onSignalConnected(isFullReconnect: Boolean) { | ||
| if (state == State.RECONNECTING && isFullReconnect) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe sync state is only needed for migration, not full reconnect.
| for (participant in remoteParticipants) { | ||
| for (pub in participant.videoTracks.values) { | ||
| val remotePub = pub as? RemoteTrackPublication ?: continue | ||
| remotePub.sendUpdateTrackSettings.invoke() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we don't need to send unless it's subscribed.
No description provided.