| <!DOCTYPE html> |
| <html> |
| <head><title>getUserMedia sanity test</title></head> |
| <body> |
| <video id="localVideo" width="1280" height="720" autoplay muted></video> |
| <script> |
| |
| var testStatus = 'running'; |
| |
| function getStatus() { |
| return testStatus; |
| } |
| |
| function runTest() { |
| var test = new SanityTest(); |
| test.start(); |
| } |
| |
| function SanityTest() { |
| this.localVideo = document.getElementById("localVideo"); |
| } |
| |
| SanityTest.prototype = { |
| start: function() { |
| this.localVideo.addEventListener('play', |
| this.onVideoPlaying.bind(this), false); |
| navigator.getUserMedia = navigator.getUserMedia || |
| navigator.webkitGetUserMedia || navigator.mozGetUserMedia; |
| navigator.getUserMedia({audio: true, video: true}, |
| this.gotLocalStream.bind(this), |
| this.gotUserMediaError.bind(this)); |
| }, |
| |
| gotLocalStream: function(stream) { |
| console.log('Attaching video stream to video tag, waiting for onplay()'); |
| this.localVideo.srcObject = stream; |
| }, |
| |
| gotUserMediaError: function(error) { |
| console.error('navigator.getUserMedia error: ', error); |
| testStatus = 'navigator.getUserMedia error: ' + error.toString(); |
| }, |
| |
| onVideoPlaying: function() { |
| testStatus = 'ok-video-playing'; |
| } |
| } |
| |
| window.onload = runTest; |
| window.onerror = function (message, filename, lineno, colno, error) { |
| console.log("Something went wrong, here is the stack trace --> %s", |
| error.stack); |
| testStatus = 'exception-in-test-page: ' + error.stack |
| }; |
| </script> |
| </body> |
| </html> |