/// <summary> /// Add local stream event handler. /// </summary> /// <param name="evt">Details about Media stream event.</param> private void Conductor_OnAddLocalStream(MediaStreamEvent evt) { _selfVideoTrack = evt.Stream.GetVideoTracks().FirstOrDefault(); if (_selfVideoTrack != null) { //var source = Media.CreateMedia().CreateMediaSource(_selfVideoTrack, "SELF"); RunOnUiThread(() => { if (_cameraEnabled) { Conductor.Instance.EnableLocalVideoStream(); } else { Conductor.Instance.DisableLocalVideoStream(); } if (_microphoneIsOn) { Conductor.Instance.UnmuteMicrophone(); } else { Conductor.Instance.MuteMicrophone(); } }); } }
private async void connection_OnAddStream(MediaStreamEvent ev) { this.remoteVideoTrack = ev.Stream.GetVideoTracks().FirstOrDefault(); if (this.remoteVideoTrack != null) { if (this.mediaOptions.ReceiveVideo) { await this.runOnUI(() => { this.media.AddVideoTrackMediaElementPair( this.remoteVideoTrack, this.remoteVideo, "Remote"); }); } else { await this.destroyRemoteVideo(); } } var remoteAudioTrack = ev.Stream.GetAudioTracks().FirstOrDefault(); if (remoteAudioTrack != null) { if (!this.mediaOptions.ReceiveAudio) { this.destroyRemoteAudio(); } } this.RemoteStreamAdded?.Invoke(this, EventArgs.Empty); }
private void Conductor_OnRemoveRemoteStream(MediaStreamEvent evt) { RunOnUiThread(() => { // TODO: Setup Remote Video Stream }); }
private void Instance_OnAddRemoteStream(MediaStreamEvent evt) { RunOnUiThread(() => { System.Diagnostics.Debug.WriteLine("Conductor_OnAddRemoteStream()"); _peerVideoTrack = evt.Stream.GetVideoTracks().FirstOrDefault(); if (_peerVideoTrack != null) { System.Diagnostics.Debug.WriteLine( "Conductor_OnAddRemoteStream() - GetVideoTracks: {0}", evt.Stream.GetVideoTracks().Count); // Raw Video from VP8 Encoded Sender // H264 Encoded Stream does not trigger this event // TODO: Switch between RAW or ENCODED Frame #if HACK_VP8 rawVideo = Media.CreateMedia().CreateRawVideoSource(_peerVideoTrack); rawVideo.OnRawVideoFrame += Source_OnRawVideoFrame; #else encodedVideo = Media.CreateMedia().CreateEncodedVideoSource(_peerVideoTrack); encodedVideo.OnEncodedVideoFrame += EncodedVideo_OnEncodedVideoFrame; #endif } else { System.Diagnostics.Debug.WriteLine("Conductor_OnAddRemoteStream() - peerVideoTrack NULL"); } _webRtcControl.IsReadyToDisconnect = true; } ); }
/// <summary> /// Remove remote stream event handler. /// </summary> /// <param name="evt">Details about Media stream event.</param> private void Conductor_OnRemoveRemoteStream(MediaStreamEvent evt) { RunOnUiThread(() => { Conductor.Instance.Media.RemoveVideoTrackMediaElementPair(_peerVideoTrack); //PeerVideo.SetMediaStreamSource(null); }); }
//private void _remoteRtcPeerConnection_OnIceConnectionChange(RTCPeerConnectionIceStateChangeEvent __param0) //{ // Debug.WriteLine($"Entered _remoteRtcPeerConnection_OnIceConnectionChange {__param0.State}"); //} //private async void _remoteRtcPeerConnection_OnIceCandidate(RTCPeerConnectionIceEvent __param0) //{ // Debug.WriteLine("Entered _remoteRtcPeerConnection_OnIceCandidate"); // await _remoteRtcPeerConnection.AddIceCandidate(__param0.Candidate); //} //private void _remoteRtcPeerConnection_OnAddStream(MediaStreamEvent __param0) //{ // MediaStream remoteStream = __param0.Stream; // var tracks = remoteStream.GetVideoTracks(); // _media.AddVideoTrackMediaElementPair(tracks.FirstOrDefault(), _remoteVideo, remoteStream.Id); // Debug.WriteLine("Received a remote stream"); //} private void _peerConnection_OnAddStream(MediaStreamEvent __param0) { MediaStream remoteStream = __param0.Stream; var tracks = remoteStream.GetVideoTracks(); _media.AddVideoTrackMediaElementPair(tracks.FirstOrDefault(), _remoteVideo, remoteStream.Id); Debug.WriteLine("Received a remote stream"); }
async void OnPeerAddsRemoteStreamAsync(MediaStreamEvent args) { var stream = args?.Stream; if (stream != null) { await this.mediaManager.AddRemoteStreamAsync(stream); } }
private void PeerConnection_OnAddStream(MediaStreamEvent evt) { var remoteVideoTrack = evt.Stream.GetVideoTracks().FirstOrDefault(); if (remoteVideoTrack != null) { this.Wrapper.Media.AddVideoTrackMediaElementPair(remoteVideoTrack, this.RemoteVideo, "Remote"); } }
private void Conductor_OnAddRemoteStream(MediaStreamEvent evt) { _peerVideoTrack = evt.Stream.GetVideoTracks().FirstOrDefault(); if (_peerVideoTrack != null) { _decodedVideo = Media.CreateMedia().CreateDecodedVideoSource(_peerVideoTrack); _decodedVideo.OnDecodedVideoFrame += Source_OnDecodedVideoFrame; } }
private void Conductor_OnAddRemoteStream(MediaStreamEvent evt) { System.Diagnostics.Debug.WriteLine("Conductor_OnAddRemoteStream()"); _peerVideoTrack = evt.Stream.GetVideoTracks().FirstOrDefault(); if (_peerVideoTrack != null) { System.Diagnostics.Debug.WriteLine( "Conductor_OnAddRemoteStream() - GetVideoTracks: {0}", evt.Stream.GetVideoTracks().Count); } else { System.Diagnostics.Debug.WriteLine("Conductor_OnAddRemoteStream() - peerVideoTrack NULL"); } _webRtcControl.IsReadyToDisconnect = true; }
private void Conductor_OnAddLocalStream(MediaStreamEvent evt) { if (evt == null) { var msg = "Conductor_OnAddLocalStream--media stream NULL"; Debug.WriteLine(msg); OnStatusMessageUpdate?.Invoke(msg); } _selfVideoTrack = evt.Stream.GetVideoTracks().FirstOrDefault(); //if ((_selfVideoTrack != null) && (SelectedCamera != null)) if (_selfVideoTrack != null) { Debug.WriteLine("selfVideoTrack Setup-IsCameraEnabled:{0}-IsMicrophoneEnabled:{1}", IsCameraEnabled, IsMicrophoneEnabled); RunOnUiThread(() => { if (IsCameraEnabled) { Conductor.Instance.EnableLocalVideoStream(); } else { Conductor.Instance.DisableLocalVideoStream(); } if (IsMicrophoneEnabled) { Conductor.Instance.UnmuteMicrophone(); } else { Conductor.Instance.MuteMicrophone(); } // TODO: Handle Video Loopback // if ((VideoLoopbackEnabled) && (SelfVideo != null)) // { // var source = Media.CreateMedia().CreateMediaSource(_selfVideoTrack, "SELF"); // SelfVideo.SetMediaStreamSource(source); // } }); } else { Debug.WriteLine("selfVideoTrack NULL"); } }
private void Conn_OnAddStream(MediaStreamEvent __param0) { var stream = __param0.Stream; var videotracks = stream.GetVideoTracks(); //var media = Media.CreateMedia(); //var apd = media.GetAudioPlayoutDevices(); //if (apd.Count > 0) //{ // media.SelectAudioPlayoutDevice(apd[0]); //} var source = LocalMedia.CreateMediaSource(videotracks.FirstOrDefault(), stream.Id); RemoteMediaPlayer.SetMediaStreamSource(source); RemoteMediaPlayer.Play(); }
/// <summary> /// Add remote stream event handler. /// </summary> /// <param name="evt">Details about Media stream event.</param> private void Conductor_OnAddRemoteStream(MediaStreamEvent evt) { _peerVideoTrack = evt.Stream.GetVideoTracks().FirstOrDefault(); if (_peerVideoTrack != null) { //if (!_isHoloLens) //{ // Conductor.Instance.Media.AddVideoTrackMediaElementPair(_peerVideoTrack, PeerVideo, "PEER"); //} //var source = Media.CreateMedia().CreateMediaSource(_peerVideoTrack, "PEER"); //RunOnUiThread(() => //{ // PeerVideo.SetMediaStreamSource(source); //}); // Pass the spatial coordinate system to webrtc. var spatialCoordinateSystem = UrhoAppView.Current.ReferenceFrame.CoordinateSystem; Media.SetSpatialCoordinateSystem(spatialCoordinateSystem); } IsReadyToDisconnect = true; }
private void PeerConnection_OnRemoveStream(MediaStreamEvent evt) { OnRemoveRemoteStream?.Invoke(evt); }
private void Conductor_OnRemoveRemoteStream(MediaStreamEvent obj) { }
private void Conductor_OnAddLocalStream(MediaStreamEvent obj) { }