GUACAMOLE-237: Define navigator.mediaDevices and getUserMedia when undefined.

This commit is contained in:
Nick Couchman
2018-01-02 11:43:24 -05:00
parent 1c27c66cb3
commit f6291c034c

View File

@@ -187,11 +187,15 @@ Guacamole.RawAudioRecorder = function RawAudioRecorder(stream, mimetype) {
*
* @type Function
*/
var getUserMedia = (navigator.mediaDevices.getUserMedia
|| navigator.getUserMedia
|| navigator.webkitGetUserMedia
|| navigator.mozGetUserMedia
|| navigator.msGetUserMedia).bind(navigator);
if (navigator.mediaDevices === undefined)
navigator.mediaDevices = {};
if (navigator.mediaDevices.getUserMedia === undefined)
navigator.mediaDevices.getUserMedia = (navigator.getUserMedia
|| navigator.webkitGetUserMedia
|| navigator.mozGetUserMedia
|| navigator.msGetUserMedia).bind(navigator);
/**
* Guacamole.ArrayBufferWriter wrapped around the audio output stream
@@ -420,7 +424,7 @@ Guacamole.RawAudioRecorder = function RawAudioRecorder(stream, mimetype) {
var beginAudioCapture = function beginAudioCapture() {
// Attempt to retrieve an audio input stream from the browser
getUserMedia({ 'audio' : true }, function streamReceived(stream) {
navigator.mediaDevices.getUserMedia({ 'audio' : true }, function streamReceived(stream) {
// Create processing node which receives appropriately-sized audio buffers
processor = context.createScriptProcessor(BUFFER_SIZE, format.channels, format.channels);