public WebRtcCoreWindows() { // text = GameObject.Find("TestText").GetComponent<UnityEngine.UI.Text>(); Close(); List <string> servers = new List <string>(); servers.Add("stun: stun.l.google.com:19302"); peer = new PeerConnectionM(servers, "", ""); UniquePeerId = peer.GetUniqueId(); peer.OnLocalSdpReadytoSend += OnLocalSdpReadytoSend; peer.OnIceCandiateReadytoSend += OnIceCandiateReadytoSend; peer.FramgeGate_onReceived += ReceivedRGBFrame; peer.OnFailureMessage += OnFailureMessage; peer.OnDataFromDataChannelReady += DataFromDataChannelReady; peer.OnLocalDataChannelReady += DataFromDataChannelReady2; peer.AddStream(false); bool rst = peer.AddDataChannel(); Debug.Log("add data channel rst : " + rst); Texture2D tex = new Texture2D((int)1920, (int)1080, TextureFormat.ARGB32, false); ReceivedVideoFrame = new RTCVideoFrame(tex, 0); receivedTextureBuffer = new byte[4 * ReceivedVideoFrame.texture2D.height * ReceivedVideoFrame.texture2D.width]; Debug.Log("Created WebRTC Core for Windows x64"); }
public WebRtcCoreiOS() { CoMuLogger_Log("WebRtcCoreiOS is creating"); peer = new PeerConnectioniOS(); peer.OnLocalSdpReady += SdpReadyCallback; CoMuLogger_Log("WebRtcCoreiOS is created"); Texture2D tex = new Texture2D(480, 640, TextureFormat.RGBA32, false); ReceivedVideoFrame = new RTCVideoFrame(tex, 0); peer.ReceivedVideoFrame = this.ReceivedVideoFrame; }
public void DidCaptureSampleBuffer(CMSampleBuffer sampleBuffer) { if (sampleBuffer.NumSamples != 1 || !sampleBuffer.IsValid || !sampleBuffer.DataIsReady) { return; } var pixelBuffer = sampleBuffer.GetImageBuffer() as CVPixelBuffer; if (pixelBuffer == null) { return; } var rtcPixelBuffer = new RTCCVPixelBuffer(pixelBuffer); var timeSpanNS = (long)(sampleBuffer.PresentationTimeStamp.Seconds * 1000); var videoFrame = new RTCVideoFrame(rtcPixelBuffer, RTCVideoRotation.Rotation0, timeSpanNS); Delegate?.Capturer(this, videoFrame); }