private void Conductor_OnAddLocalTrack(UseMediaStreamTrack track) { RunOnUiThread(() => { lock (this) { if (status == Status.InCall || status == Status.Connected) { ((Org.WebRtc.MediaStreamTrack)track).OnMediaSourceChanged += () => { RunOnUiThread(() => { lock (this) { Plugin.LoadLocalMediaStreamSource(((Org.WebRtc.MediaSource)track.Source).Source); } }); }; Conductor.Instance.EnableLocalVideoStream(); Conductor.Instance.UnmuteMicrophone(); } else { System.Diagnostics.Debug.WriteLine("Conductor.OnAddLocalStream() - wrong status - " + status); } } }); }
private void Conductor_OnAddRemoteTrack(UseMediaStreamTrack track) { RunOnUiThread(() => { lock (this) { if (status == Status.InCall || status == Status.Connected) { ((Org.WebRtc.MediaStreamTrack)track).OnMediaSourceChanged += () => { RunOnUiThread(() => { lock (this) { Plugin.LoadRemoteMediaStreamSource(((Org.WebRtc.MediaSource)track.Source).Source); } }); }; } else { System.Diagnostics.Debug.WriteLine("Conductor.OnAddRemoteStream() - wrong status - " + status); } } }); }
private void Conductor_OnRemoveRemoteTrack(UseMediaStreamTrack track) { RunOnUiThread(() => { lock (this) { if (status == Status.InCall || status == Status.Connected) { } else { System.Diagnostics.Debug.WriteLine("Conductor.OnRemoveRemoteStream() - wrong status - " + status); } } }); }