private void OnPeerDisconnected() { Logger.Log($"Peer disconnected."); //// Update the video source if needed //var selectedVideoTrack = LocalVideoTracks.SelectedItem; //if (selectedVideoTrack.IsRemote) //{ // _remoteVideoPlayer.Pause(); // _remoteVideoPlayer.Source = null; // remoteVideo.SetMediaPlayer(null); // _remoteVideoSource?.NotifyError(MediaStreamSourceErrorStatus.ConnectionToServerLost); // _remoteMediaSource?.Dispose(); //} ThreadHelper.RunOnMainThread(() => { // Remove all remote tracks for (int i = AudioTracks.Count - 1; i >= 0; --i) { if (AudioTracks[i].IsRemote) { AudioTracks.RemoveAt(i); } } for (int i = VideoTracks.Count - 1; i >= 0; --i) { if (VideoTracks[i].IsRemote) { VideoTracks.RemoveAt(i); } } }); }