diff --git a/webrtc/test/manual/adapter.js b/webrtc/test/manual/adapter.js new file mode 100644 index 0000000000..b03d758b2f --- /dev/null +++ b/webrtc/test/manual/adapter.js @@ -0,0 +1,51 @@ +var RTCPeerConnection = null; +var getUserMedia = null; +var attachMediaStream = null; + +if (navigator.mozGetUserMedia) { + console.log("This appears to be Firefox"); + + // The RTCPeerConnection object. + RTCPeerConnection = mozRTCPeerConnection; + + // Get UserMedia (only difference is the prefix). + // Code from Adam Barth. + getUserMedia = navigator.mozGetUserMedia.bind(navigator); + + // Attach a media stream to an element. + attachMediaStream = function(element, stream) { + console.log("Attaching media stream"); + element.mozSrcObject = stream; + element.play(); + }; +} else if (navigator.webkitGetUserMedia) { + console.log("This appears to be Chrome"); + + // The RTCPeerConnection object. + RTCPeerConnection = webkitRTCPeerConnection; + + // Get UserMedia (only difference is the prefix). + // Code from Adam Barth. + getUserMedia = navigator.webkitGetUserMedia.bind(navigator); + + // Attach a media stream to an element. + attachMediaStream = function(element, stream) { + element.src = webkitURL.createObjectURL(stream); + }; + + // The representation of tracks in a stream is changed in M26. + // Unify them for earlier Chrome versions in the coexisting period. + if (!webkitMediaStream.prototype.getVideoTracks) { + webkitMediaStream.prototype.getVideoTracks = function() { + return this.videoTracks; + } + } + + if (!webkitMediaStream.prototype.getAudioTracks) { + webkitMediaStream.prototype.getAudioTracks = function() { + return this.audioTracks; + } + } +} else { + console.log("Browser does not appear to be WebRTC-capable"); +} diff --git a/webrtc/test/manual/audio-and-video.html b/webrtc/test/manual/audio-and-video.html index 1e54424d47..c4e1d84c92 100644 --- a/webrtc/test/manual/audio-and-video.html +++ b/webrtc/test/manual/audio-and-video.html @@ -11,11 +11,15 @@