UNPKG

matrix-react-sdk

Version:
100 lines (84 loc) 11 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _SettingsStore = _interopRequireDefault(require("./settings/SettingsStore")); var _SettingLevel = require("./settings/SettingLevel"); var _matrix = require("matrix-js-sdk/src/matrix"); /* Copyright 2017 Michael Telatynski <7t3chguy@gmail.com> Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ var _default = { hasAnyLabeledDevices: async function () { const devices = await navigator.mediaDevices.enumerateDevices(); return devices.some(d => !!d.label); }, getDevices: function () { // Only needed for Electron atm, though should work in modern browsers // once permission has been granted to the webapp return navigator.mediaDevices.enumerateDevices().then(function (devices) { const audiooutput = []; const audioinput = []; const videoinput = []; devices.forEach(device => { switch (device.kind) { case 'audiooutput': audiooutput.push(device); break; case 'audioinput': audioinput.push(device); break; case 'videoinput': videoinput.push(device); break; } }); // console.log("Loaded WebRTC Devices", mediaDevices); return { audiooutput, audioinput, videoinput }; }, error => { console.log('Unable to refresh WebRTC Devices: ', error); }); }, loadDevices: function () { const audioDeviceId = _SettingsStore.default.getValue("webrtc_audioinput"); const videoDeviceId = _SettingsStore.default.getValue("webrtc_videoinput"); (0, _matrix.setMatrixCallAudioInput)(audioDeviceId); (0, _matrix.setMatrixCallVideoInput)(videoDeviceId); }, setAudioOutput: function (deviceId) { _SettingsStore.default.setValue("webrtc_audiooutput", null, _SettingLevel.SettingLevel.DEVICE, deviceId); }, setAudioInput: function (deviceId) { _SettingsStore.default.setValue("webrtc_audioinput", null, _SettingLevel.SettingLevel.DEVICE, deviceId); (0, _matrix.setMatrixCallAudioInput)(deviceId); }, setVideoInput: function (deviceId) { _SettingsStore.default.setValue("webrtc_videoinput", null, _SettingLevel.SettingLevel.DEVICE, deviceId); (0, _matrix.setMatrixCallVideoInput)(deviceId); }, getAudioOutput: function () { return _SettingsStore.default.getValueAt(_SettingLevel.SettingLevel.DEVICE, "webrtc_audiooutput"); }, getAudioInput: function () { return _SettingsStore.default.getValueAt(_SettingLevel.SettingLevel.DEVICE, "webrtc_audioinput"); }, getVideoInput: function () { return _SettingsStore.default.getValueAt(_SettingLevel.SettingLevel.DEVICE, "webrtc_videoinput"); } }; exports.default = _default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9DYWxsTWVkaWFIYW5kbGVyLmpzIl0sIm5hbWVzIjpbImhhc0FueUxhYmVsZWREZXZpY2VzIiwiZGV2aWNlcyIsIm5hdmlnYXRvciIsIm1lZGlhRGV2aWNlcyIsImVudW1lcmF0ZURldmljZXMiLCJzb21lIiwiZCIsImxhYmVsIiwiZ2V0RGV2aWNlcyIsInRoZW4iLCJhdWRpb291dHB1dCIsImF1ZGlvaW5wdXQiLCJ2aWRlb2lucHV0IiwiZm9yRWFjaCIsImRldmljZSIsImtpbmQiLCJwdXNoIiwiZXJyb3IiLCJjb25zb2xlIiwibG9nIiwibG9hZERldmljZXMiLCJhdWRpb0RldmljZUlkIiwiU2V0dGluZ3NTdG9yZSIsImdldFZhbHVlIiwidmlkZW9EZXZpY2VJZCIsInNldEF1ZGlvT3V0cHV0IiwiZGV2aWNlSWQiLCJzZXRWYWx1ZSIsIlNldHRpbmdMZXZlbCIsIkRFVklDRSIsInNldEF1ZGlvSW5wdXQiLCJzZXRWaWRlb0lucHV0IiwiZ2V0QXVkaW9PdXRwdXQiLCJnZXRWYWx1ZUF0IiwiZ2V0QXVkaW9JbnB1dCIsImdldFZpZGVvSW5wdXQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQWdCQTs7QUFDQTs7QUFDQTs7QUFsQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO2VBTWU7QUFDWEEsRUFBQUEsb0JBQW9CLEVBQUUsa0JBQWlCO0FBQ25DLFVBQU1DLE9BQU8sR0FBRyxNQUFNQyxTQUFTLENBQUNDLFlBQVYsQ0FBdUJDLGdCQUF2QixFQUF0QjtBQUNBLFdBQU9ILE9BQU8sQ0FBQ0ksSUFBUixDQUFhQyxDQUFDLElBQUksQ0FBQyxDQUFDQSxDQUFDLENBQUNDLEtBQXRCLENBQVA7QUFDSCxHQUpVO0FBTVhDLEVBQUFBLFVBQVUsRUFBRSxZQUFXO0FBQ25CO0FBQ0E7QUFDQSxXQUFPTixTQUFTLENBQUNDLFlBQVYsQ0FBdUJDLGdCQUF2QixHQUEwQ0ssSUFBMUMsQ0FBK0MsVUFBU1IsT0FBVCxFQUFrQjtBQUNwRSxZQUFNUyxXQUFXLEdBQUcsRUFBcEI7QUFDQSxZQUFNQyxVQUFVLEdBQUcsRUFBbkI7QUFDQSxZQUFNQyxVQUFVLEdBQUcsRUFBbkI7QUFFQVgsTUFBQUEsT0FBTyxDQUFDWSxPQUFSLENBQWlCQyxNQUFELElBQVk7QUFDeEIsZ0JBQVFBLE1BQU0sQ0FBQ0MsSUFBZjtBQUNJLGVBQUssYUFBTDtBQUFvQkwsWUFBQUEsV0FBVyxDQUFDTSxJQUFaLENBQWlCRixNQUFqQjtBQUEwQjs7QUFDOUMsZUFBSyxZQUFMO0FBQW1CSCxZQUFBQSxVQUFVLENBQUNLLElBQVgsQ0FBZ0JGLE1BQWhCO0FBQXlCOztBQUM1QyxlQUFLLFlBQUw7QUFBbUJGLFlBQUFBLFVBQVUsQ0FBQ0ksSUFBWCxDQUFnQkYsTUFBaEI7QUFBeUI7QUFIaEQ7QUFLSCxPQU5ELEVBTG9FLENBYXBFOztBQUNBLGFBQU87QUFDSEosUUFBQUEsV0FERztBQUVIQyxRQUFBQSxVQUZHO0FBR0hDLFFBQUFBO0FBSEcsT0FBUDtBQUtILEtBbkJNLEVBbUJISyxLQUFELElBQVc7QUFBRUMsTUFBQUEsT0FBTyxDQUFDQyxHQUFSLENBQVksb0NBQVosRUFBa0RGLEtBQWxEO0FBQTJELEtBbkJwRSxDQUFQO0FBb0JILEdBN0JVO0FBK0JYRyxFQUFBQSxXQUFXLEVBQUUsWUFBVztBQUNwQixVQUFNQyxhQUFhLEdBQUdDLHVCQUFjQyxRQUFkLENBQXVCLG1CQUF2QixDQUF0Qjs7QUFDQSxVQUFNQyxhQUFhLEdBQUdGLHVCQUFjQyxRQUFkLENBQXVCLG1CQUF2QixDQUF0Qjs7QUFFQSx5Q0FBd0JGLGFBQXhCO0FBQ0EseUNBQXdCRyxhQUF4QjtBQUNILEdBckNVO0FBdUNYQyxFQUFBQSxjQUFjLEVBQUUsVUFBU0MsUUFBVCxFQUFtQjtBQUMvQkosMkJBQWNLLFFBQWQsQ0FBdUIsb0JBQXZCLEVBQTZDLElBQTdDLEVBQW1EQywyQkFBYUMsTUFBaEUsRUFBd0VILFFBQXhFO0FBQ0gsR0F6Q1U7QUEyQ1hJLEVBQUFBLGFBQWEsRUFBRSxVQUFTSixRQUFULEVBQW1CO0FBQzlCSiwyQkFBY0ssUUFBZCxDQUF1QixtQkFBdkIsRUFBNEMsSUFBNUMsRUFBa0RDLDJCQUFhQyxNQUEvRCxFQUF1RUgsUUFBdkU7O0FBQ0EseUNBQXdCQSxRQUF4QjtBQUNILEdBOUNVO0FBZ0RYSyxFQUFBQSxhQUFhLEVBQUUsVUFBU0wsUUFBVCxFQUFtQjtBQUM5QkosMkJBQWNLLFFBQWQsQ0FBdUIsbUJBQXZCLEVBQTRDLElBQTVDLEVBQWtEQywyQkFBYUMsTUFBL0QsRUFBdUVILFFBQXZFOztBQUNBLHlDQUF3QkEsUUFBeEI7QUFDSCxHQW5EVTtBQXFEWE0sRUFBQUEsY0FBYyxFQUFFLFlBQVc7QUFDdkIsV0FBT1YsdUJBQWNXLFVBQWQsQ0FBeUJMLDJCQUFhQyxNQUF0QyxFQUE4QyxvQkFBOUMsQ0FBUDtBQUNILEdBdkRVO0FBeURYSyxFQUFBQSxhQUFhLEVBQUUsWUFBVztBQUN0QixXQUFPWix1QkFBY1csVUFBZCxDQUF5QkwsMkJBQWFDLE1BQXRDLEVBQThDLG1CQUE5QyxDQUFQO0FBQ0gsR0EzRFU7QUE2RFhNLEVBQUFBLGFBQWEsRUFBRSxZQUFXO0FBQ3RCLFdBQU9iLHVCQUFjVyxVQUFkLENBQXlCTCwyQkFBYUMsTUFBdEMsRUFBOEMsbUJBQTlDLENBQVA7QUFDSDtBQS9EVSxDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiBDb3B5cmlnaHQgMjAxNyBNaWNoYWVsIFRlbGF0eW5za2kgPDd0M2NoZ3V5QGdtYWlsLmNvbT5cblxuIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbmltcG9ydCBTZXR0aW5nc1N0b3JlIGZyb20gXCIuL3NldHRpbmdzL1NldHRpbmdzU3RvcmVcIjtcbmltcG9ydCB7U2V0dGluZ0xldmVsfSBmcm9tIFwiLi9zZXR0aW5ncy9TZXR0aW5nTGV2ZWxcIjtcbmltcG9ydCB7c2V0TWF0cml4Q2FsbEF1ZGlvSW5wdXQsIHNldE1hdHJpeENhbGxWaWRlb0lucHV0fSBmcm9tIFwibWF0cml4LWpzLXNkay9zcmMvbWF0cml4XCI7XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgICBoYXNBbnlMYWJlbGVkRGV2aWNlczogYXN5bmMgZnVuY3Rpb24oKSB7XG4gICAgICAgIGNvbnN0IGRldmljZXMgPSBhd2FpdCBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmVudW1lcmF0ZURldmljZXMoKTtcbiAgICAgICAgcmV0dXJuIGRldmljZXMuc29tZShkID0+ICEhZC5sYWJlbCk7XG4gICAgfSxcblxuICAgIGdldERldmljZXM6IGZ1bmN0aW9uKCkge1xuICAgICAgICAvLyBPbmx5IG5lZWRlZCBmb3IgRWxlY3Ryb24gYXRtLCB0aG91Z2ggc2hvdWxkIHdvcmsgaW4gbW9kZXJuIGJyb3dzZXJzXG4gICAgICAgIC8vIG9uY2UgcGVybWlzc2lvbiBoYXMgYmVlbiBncmFudGVkIHRvIHRoZSB3ZWJhcHBcbiAgICAgICAgcmV0dXJuIG5hdmlnYXRvci5tZWRpYURldmljZXMuZW51bWVyYXRlRGV2aWNlcygpLnRoZW4oZnVuY3Rpb24oZGV2aWNlcykge1xuICAgICAgICAgICAgY29uc3QgYXVkaW9vdXRwdXQgPSBbXTtcbiAgICAgICAgICAgIGNvbnN0IGF1ZGlvaW5wdXQgPSBbXTtcbiAgICAgICAgICAgIGNvbnN0IHZpZGVvaW5wdXQgPSBbXTtcblxuICAgICAgICAgICAgZGV2aWNlcy5mb3JFYWNoKChkZXZpY2UpID0+IHtcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKGRldmljZS5raW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ2F1ZGlvb3V0cHV0JzogYXVkaW9vdXRwdXQucHVzaChkZXZpY2UpOyBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnYXVkaW9pbnB1dCc6IGF1ZGlvaW5wdXQucHVzaChkZXZpY2UpOyBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAndmlkZW9pbnB1dCc6IHZpZGVvaW5wdXQucHVzaChkZXZpY2UpOyBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coXCJMb2FkZWQgV2ViUlRDIERldmljZXNcIiwgbWVkaWFEZXZpY2VzKTtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgYXVkaW9vdXRwdXQsXG4gICAgICAgICAgICAgICAgYXVkaW9pbnB1dCxcbiAgICAgICAgICAgICAgICB2aWRlb2lucHV0LFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSwgKGVycm9yKSA9PiB7IGNvbnNvbGUubG9nKCdVbmFibGUgdG8gcmVmcmVzaCBXZWJSVEMgRGV2aWNlczogJywgZXJyb3IpOyB9KTtcbiAgICB9LFxuXG4gICAgbG9hZERldmljZXM6IGZ1bmN0aW9uKCkge1xuICAgICAgICBjb25zdCBhdWRpb0RldmljZUlkID0gU2V0dGluZ3NTdG9yZS5nZXRWYWx1ZShcIndlYnJ0Y19hdWRpb2lucHV0XCIpO1xuICAgICAgICBjb25zdCB2aWRlb0RldmljZUlkID0gU2V0dGluZ3NTdG9yZS5nZXRWYWx1ZShcIndlYnJ0Y192aWRlb2lucHV0XCIpO1xuXG4gICAgICAgIHNldE1hdHJpeENhbGxBdWRpb0lucHV0KGF1ZGlvRGV2aWNlSWQpO1xuICAgICAgICBzZXRNYXRyaXhDYWxsVmlkZW9JbnB1dCh2aWRlb0RldmljZUlkKTtcbiAgICB9LFxuXG4gICAgc2V0QXVkaW9PdXRwdXQ6IGZ1bmN0aW9uKGRldmljZUlkKSB7XG4gICAgICAgIFNldHRpbmdzU3RvcmUuc2V0VmFsdWUoXCJ3ZWJydGNfYXVkaW9vdXRwdXRcIiwgbnVsbCwgU2V0dGluZ0xldmVsLkRFVklDRSwgZGV2aWNlSWQpO1xuICAgIH0sXG5cbiAgICBzZXRBdWRpb0lucHV0OiBmdW5jdGlvbihkZXZpY2VJZCkge1xuICAgICAgICBTZXR0aW5nc1N0b3JlLnNldFZhbHVlKFwid2VicnRjX2F1ZGlvaW5wdXRcIiwgbnVsbCwgU2V0dGluZ0xldmVsLkRFVklDRSwgZGV2aWNlSWQpO1xuICAgICAgICBzZXRNYXRyaXhDYWxsQXVkaW9JbnB1dChkZXZpY2VJZCk7XG4gICAgfSxcblxuICAgIHNldFZpZGVvSW5wdXQ6IGZ1bmN0aW9uKGRldmljZUlkKSB7XG4gICAgICAgIFNldHRpbmdzU3RvcmUuc2V0VmFsdWUoXCJ3ZWJydGNfdmlkZW9pbnB1dFwiLCBudWxsLCBTZXR0aW5nTGV2ZWwuREVWSUNFLCBkZXZpY2VJZCk7XG4gICAgICAgIHNldE1hdHJpeENhbGxWaWRlb0lucHV0KGRldmljZUlkKTtcbiAgICB9LFxuXG4gICAgZ2V0QXVkaW9PdXRwdXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gU2V0dGluZ3NTdG9yZS5nZXRWYWx1ZUF0KFNldHRpbmdMZXZlbC5ERVZJQ0UsIFwid2VicnRjX2F1ZGlvb3V0cHV0XCIpO1xuICAgIH0sXG5cbiAgICBnZXRBdWRpb0lucHV0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFNldHRpbmdzU3RvcmUuZ2V0VmFsdWVBdChTZXR0aW5nTGV2ZWwuREVWSUNFLCBcIndlYnJ0Y19hdWRpb2lucHV0XCIpO1xuICAgIH0sXG5cbiAgICBnZXRWaWRlb0lucHV0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFNldHRpbmdzU3RvcmUuZ2V0VmFsdWVBdChTZXR0aW5nTGV2ZWwuREVWSUNFLCBcIndlYnJ0Y192aWRlb2lucHV0XCIpO1xuICAgIH0sXG59O1xuIl19