1var webrtcHandler = { 2 createOffer: function(callback) { 3 var captureStream = document.getElementById('main-canvas').captureStream(); 4 var peer = this.getPeer(); 5 6 captureStream.getTracks().forEach(function(track) { 7 peer.addTrack(track, captureStream); 8 }); 9 10 peer.onicecandidate = function(event) { 11 if (!event || !!event.candidate) { 12 return; 13 } 14 15 callback({ 16 sdp: peer.localDescription.sdp, 17 type: peer.localDescription.type 18 }); 19 }; 20 peer.createOffer({ 21 OfferToReceiveAudio: false, 22 OfferToReceiveVideo: false 23 }).then(function(sdp) { 24 peer.setLocalDescription(sdp); 25 }); 26 }, 27 setRemoteDescription: function(sdp) { 28 this.peer.setRemoteDescription(new RTCSessionDescription(sdp)).then(function() { 29 if (typeof setTemporaryLine === 'function') { 30 setTemporaryLine(); 31 } 32 }); 33 }, 34 createAnswer: function(sdp, callback) { 35 var peer = this.getPeer(); 36 peer.onicecandidate = function(event) { 37 if (!event || !!event.candidate) { 38 return; 39 } 40 41 callback({ 42 sdp: peer.localDescription.sdp, 43 type: peer.localDescription.type 44 }); 45 }; 46 this.peer.setRemoteDescription(new RTCSessionDescription(sdp)).then(function() { 47 peer.createAnswer({ 48 OfferToReceiveAudio: false, 49 OfferToReceiveVideo: true 50 }).then(function(sdp) { 51 peer.setLocalDescription(sdp); 52 }); 53 }); 54 55 peer.ontrack = function(event) { 56 callback({ 57 stream: event.streams[0] 58 }); 59 }; 60 }, 61 getPeer: function() { 62 var WebRTC_Native_Peer = window.RTCPeerConnection || window.webkitRTCPeerConnection || window.mozRTCPeerConnection; 63 var RTCSessionDescription = window.RTCSessionDescription || window.mozRTCSessionDescription; 64 var RTCIceCandidate = window.RTCIceCandidate || window.mozRTCIceCandidate; 65 66 var peer = new WebRTC_Native_Peer(null); 67 this.peer = peer; 68 return peer; 69 } 70};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.