From 1f5c8c71d9471883215383f2292b2cdc68b38b11 Mon Sep 17 00:00:00 2001 From: AbomDocPhibes Date: Mon, 27 Apr 2026 11:07:35 -0400 Subject: [PATCH 1/4] Camera v2.0.0 updated RecordRTC and WebRTC libs generated changelog.md --- bin/Camera.adc | Bin 101945 -> 82503 bytes changelog.md | 9 + config.xml | 10 +- resources/static/RecordRTC.js | 72 +- resources/static/adapter-latest.js | 1267 ++++++++++++---------------- 5 files changed, 598 insertions(+), 760 deletions(-) create mode 100644 changelog.md diff --git a/bin/Camera.adc b/bin/Camera.adc index 1ff3833f3ea7fdf1ac6980e42f25fbc46b5f058e..8dbd657a9ecb36d8416338dcdbbf7d552752ec76 100644 GIT binary patch literal 82503 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дkme%oO1CGXi_R^ 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 z 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 Camera d7c94a7c-10f9-4d31-8e51-82dc9c96c089 - 1.1.0 + 2.0.0 2022-09-29 - + Askia ]]> http://www.askia.com diff --git a/resources/static/RecordRTC.js b/resources/static/RecordRTC.js index 9f5eb92..93c427a 100644 --- a/resources/static/RecordRTC.js +++ b/resources/static/RecordRTC.js @@ -1,9 +1,9 @@ 'use strict'; -// Last time updated: 2022-04-05 11:18:05 AM UTC +// Last time updated: 2024-01-03 12:51:19 PM UTC // ________________ -// RecordRTC v5.6.2 +// RecordRTC v5.6.3 // Open-Sourced: https://github.com/muaz-khan/RecordRTC @@ -16,7 +16,7 @@ // RecordRTC.js /** - * {@link https://github.com/muaz-khan/RecordRTC|RecordRTC} is a WebRTC JavaScript library for audio/video as well as screen activity recording. It supports Chrome, Firefox, Opera, Android, and Microsoft Edge. Platforms: Linux, Mac and Windows. + * {@link https://github.com/muaz-khan/RecordRTC|RecordRTC} is a WebRTC JavaScript library for audio/video as well as screen activity recording. It supports Chrome, Firefox, Opera, Android, and Microsoft Edge. Platforms: Linux, Mac and Windows. * @summary Record audio, video or screen inside the browser. * @license {@link https://github.com/muaz-khan/RecordRTC/blob/master/LICENSE|MIT} * @author {@link https://MuazKhan.com|Muaz Khan} @@ -420,7 +420,7 @@ function RecordRTC(mediaStream, config) { * var blob = this.getBlob(); * video.src = this.toURL(); * }); - * + * * // or otherwise * recorder.setRecordingDuration(fiveMinutes).onRecordingStopped(function() { * var blob = this.getBlob(); @@ -781,7 +781,7 @@ function RecordRTC(mediaStream, config) { * @example * alert(recorder.version); */ - version: '5.6.2' + version: '5.6.3' }; if (!this) { @@ -799,7 +799,7 @@ function RecordRTC(mediaStream, config) { return returnObject; } -RecordRTC.version = '5.6.2'; +RecordRTC.version = '5.6.3'; if (typeof module !== 'undefined' /* && !!module.exports*/ ) { module.exports = RecordRTC; @@ -2460,8 +2460,8 @@ function MediaStreamRecorder(mediaStream, config) { return allStates; }; - // if any Track within the MediaStream is muted or not enabled at any time, - // the browser will only record black frames + // if any Track within the MediaStream is muted or not enabled at any time, + // the browser will only record black frames // or silence since that is the content produced by the Track // so we need to stopRecording as soon as any single track ends. if (typeof config.checkForInactiveTracks === 'undefined') { @@ -2572,8 +2572,8 @@ function StereoAudioRecorder(mediaStream, config) { console.log('StereoAudioRecorder is set to record number of channels: ' + numberOfAudioChannels); } - // if any Track within the MediaStream is muted or not enabled at any time, - // the browser will only record black frames + // if any Track within the MediaStream is muted or not enabled at any time, + // the browser will only record black frames // or silence since that is the content produced by the Track // so we need to stopRecording as soon as any single track ends. if (typeof config.checkForInactiveTracks === 'undefined') { @@ -2732,21 +2732,21 @@ function StereoAudioRecorder(mediaStream, config) { var view = new DataView(buffer); - // RIFF chunk descriptor/identifier + // RIFF chunk descriptor/identifier writeUTFBytes(view, 0, 'RIFF'); // RIFF chunk length // changed "44" to "36" via #401 view.setUint32(4, 36 + interleavedLength * 2, true); - // RIFF type + // RIFF type writeUTFBytes(view, 8, 'WAVE'); - // format chunk identifier + // format chunk identifier // FMT sub-chunk writeUTFBytes(view, 12, 'fmt '); - // format chunk length + // format chunk length view.setUint32(16, 16, true); // sample format (raw) @@ -2755,23 +2755,23 @@ function StereoAudioRecorder(mediaStream, config) { // stereo (2 channels) view.setUint16(22, numberOfAudioChannels, true); - // sample rate + // sample rate view.setUint32(24, sampleRate, true); // byte rate (sample rate * block align) view.setUint32(28, sampleRate * numberOfAudioChannels * 2, true); - // block align (channel count * bytes per sample) + // block align (channel count * bytes per sample) view.setUint16(32, numberOfAudioChannels * 2, true); - // bits per sample + // bits per sample view.setUint16(34, 16, true); // data sub-chunk - // data chunk identifier + // data chunk identifier writeUTFBytes(view, 36, 'data'); - // data chunk length + // data chunk length view.setUint32(40, interleavedLength * 2, true); // write the PCM samples @@ -3326,7 +3326,7 @@ function CanvasRecorder(htmlElement, config) { throw 'captureStream API are NOT available.'; } - // Note: Jan 18, 2016 status is that, + // Note: Jan 18, 2016 status is that, // Firefox MediaRecorder API can't record CanvasCaptureMediaStream object. mediaStreamRecorder = new MediaStreamRecorder(canvasMediaStream, { mimeType: config.mimeType || 'video/webm' @@ -4570,9 +4570,7 @@ if (typeof RecordRTC !== 'undefined') { function GifRecorder(mediaStream, config) { if (typeof GIFEncoder === 'undefined') { - var script = document.createElement('script'); - script.src = 'https://www.webrtc-experiment.com/gif-recorder.js'; - (document.body || document.documentElement).appendChild(script); + throw new Error('Missing https://www.webrtc-experiment.com/gif-recorder.js'); } config = config || {}; @@ -4630,27 +4628,27 @@ function GifRecorder(mediaStream, config) { // external library to record as GIF images gifEncoder = new GIFEncoder(); - // void setRepeat(int iter) - // Sets the number of times the set of GIF frames should be played. + // void setRepeat(int iter) + // Sets the number of times the set of GIF frames should be played. // Default is 1; 0 means play indefinitely. gifEncoder.setRepeat(0); - // void setFrameRate(Number fps) - // Sets frame rate in frames per second. + // void setFrameRate(Number fps) + // Sets frame rate in frames per second. // Equivalent to setDelay(1000/fps). // Using "setDelay" instead of "setFrameRate" gifEncoder.setDelay(config.frameRate || 200); - // void setQuality(int quality) - // Sets quality of color quantization (conversion of images to the - // maximum 256 colors allowed by the GIF specification). - // Lower values (minimum = 1) produce better colors, - // but slow processing significantly. 10 is the default, - // and produces good color mapping at reasonable speeds. + // void setQuality(int quality) + // Sets quality of color quantization (conversion of images to the + // maximum 256 colors allowed by the GIF specification). + // Lower values (minimum = 1) produce better colors, + // but slow processing significantly. 10 is the default, + // and produces good color mapping at reasonable speeds. // Values greater than 20 do not yield significant improvements in speed. gifEncoder.setQuality(config.quality || 10); - // Boolean start() + // Boolean start() // This writes the GIF Header and returns false if it fails. gifEncoder.start(); @@ -5670,7 +5668,7 @@ if (typeof RecordRTC !== 'undefined') { * recorder.startRecording() * .then(successCB) * .catch(errorCB); - * // Note: You can access all RecordRTC API using "recorder.recordRTC" e.g. + * // Note: You can access all RecordRTC API using "recorder.recordRTC" e.g. * recorder.recordRTC.onStateChanged = function(state) {}; * recorder.recordRTC.setRecordingDuration(5000); * @see {@link https://github.com/muaz-khan/RecordRTC|RecordRTC Source Code} @@ -5841,7 +5839,7 @@ function RecordRTCPromisesHandler(mediaStream, options) { * internalRecorder.addStreams([newAudioStream]); * internalRecorder.resetVideoStreams([screenStream]); * } - * @returns {Object} + * @returns {Object} */ this.getInternalRecorder = function() { return new Promise(function(resolve, reject) { @@ -5927,7 +5925,7 @@ function RecordRTCPromisesHandler(mediaStream, options) { * @example * alert(recorder.version); */ - this.version = '5.6.2'; + this.version = '5.6.3'; } if (typeof RecordRTC !== 'undefined') { diff --git a/resources/static/adapter-latest.js b/resources/static/adapter-latest.js index 0ee2b96..314710a 100644 --- a/resources/static/adapter-latest.js +++ b/resources/static/adapter-latest.js @@ -10,46 +10,27 @@ 'use strict'; -var _adapter_factory = require('./adapter_factory.js'); - -var adapter = (0, _adapter_factory.adapterFactory)({ window: typeof window === 'undefined' ? undefined : window }); +var _adapter_factory = require("./adapter_factory.js"); +var adapter = (0, _adapter_factory.adapterFactory)({ + window: typeof window === 'undefined' ? undefined : window +}); module.exports = adapter; // this is the difference from adapter_core. },{"./adapter_factory.js":2}],2:[function(require,module,exports){ -'use strict'; +"use strict"; +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } Object.defineProperty(exports, "__esModule", { value: true }); exports.adapterFactory = adapterFactory; - -var _utils = require('./utils'); - -var utils = _interopRequireWildcard(_utils); - -var _chrome_shim = require('./chrome/chrome_shim'); - -var chromeShim = _interopRequireWildcard(_chrome_shim); - -var _firefox_shim = require('./firefox/firefox_shim'); - -var firefoxShim = _interopRequireWildcard(_firefox_shim); - -var _safari_shim = require('./safari/safari_shim'); - -var safariShim = _interopRequireWildcard(_safari_shim); - -var _common_shim = require('./common_shim'); - -var commonShim = _interopRequireWildcard(_common_shim); - -var _sdp = require('sdp'); - -var sdp = _interopRequireWildcard(_sdp); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -// Shimming starts here. +var utils = _interopRequireWildcard(require("./utils")); +var chromeShim = _interopRequireWildcard(require("./chrome/chrome_shim")); +var firefoxShim = _interopRequireWildcard(require("./firefox/firefox_shim")); +var safariShim = _interopRequireWildcard(require("./safari/safari_shim")); +var commonShim = _interopRequireWildcard(require("./common_shim")); +var sdp = _interopRequireWildcard(require("sdp")); +function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); } /* * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. * @@ -57,20 +38,21 @@ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; * that can be found in the LICENSE file in the root of the source * tree. */ + +// Browser shims. + +// Shimming starts here. function adapterFactory() { var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, - window = _ref.window; - + window = _ref.window; var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { shimChrome: true, shimFirefox: true, shimSafari: true }; - // Utils. var logging = utils.log; var browserDetails = utils.detectBrowser(window); - var adapter = { browserDetails: browserDetails, commonShim: commonShim, @@ -98,18 +80,17 @@ function adapterFactory() { // Must be called before shimPeerConnection. commonShim.shimAddIceCandidateNullOrEmpty(window, browserDetails); - + commonShim.shimParameterlessSetLocalDescription(window, browserDetails); chromeShim.shimGetUserMedia(window, browserDetails); chromeShim.shimMediaStream(window, browserDetails); chromeShim.shimPeerConnection(window, browserDetails); chromeShim.shimOnTrack(window, browserDetails); chromeShim.shimAddTrackRemoveTrack(window, browserDetails); chromeShim.shimGetSendersWithDtmf(window, browserDetails); - chromeShim.shimGetStats(window, browserDetails); chromeShim.shimSenderReceiverGetStats(window, browserDetails); chromeShim.fixNegotiationNeeded(window, browserDetails); - commonShim.shimRTCIceCandidate(window, browserDetails); + commonShim.shimRTCIceCandidateRelayProtocol(window, browserDetails); commonShim.shimConnectionState(window, browserDetails); commonShim.shimMaxMessageSize(window, browserDetails); commonShim.shimSendThrowTypeError(window, browserDetails); @@ -126,9 +107,10 @@ function adapterFactory() { // Must be called before shimPeerConnection. commonShim.shimAddIceCandidateNullOrEmpty(window, browserDetails); - + commonShim.shimParameterlessSetLocalDescription(window, browserDetails); firefoxShim.shimGetUserMedia(window, browserDetails); firefoxShim.shimPeerConnection(window, browserDetails); + firefoxShim.shimGetStats(window, browserDetails); firefoxShim.shimOnTrack(window, browserDetails); firefoxShim.shimRemoveStream(window, browserDetails); firefoxShim.shimSenderGetStats(window, browserDetails); @@ -138,7 +120,6 @@ function adapterFactory() { firefoxShim.shimGetParameters(window, browserDetails); firefoxShim.shimCreateOffer(window, browserDetails); firefoxShim.shimCreateAnswer(window, browserDetails); - commonShim.shimRTCIceCandidate(window, browserDetails); commonShim.shimConnectionState(window, browserDetails); commonShim.shimMaxMessageSize(window, browserDetails); @@ -155,7 +136,7 @@ function adapterFactory() { // Must be called before shimCallbackAPI. commonShim.shimAddIceCandidateNullOrEmpty(window, browserDetails); - + commonShim.shimParameterlessSetLocalDescription(window, browserDetails); safariShim.shimRTCIceServerUrls(window, browserDetails); safariShim.shimCreateOfferLegacy(window, browserDetails); safariShim.shimCallbacksAPI(window, browserDetails); @@ -164,8 +145,8 @@ function adapterFactory() { safariShim.shimTrackEventTransceiver(window, browserDetails); safariShim.shimGetUserMedia(window, browserDetails); safariShim.shimAudioContext(window, browserDetails); - commonShim.shimRTCIceCandidate(window, browserDetails); + commonShim.shimRTCIceCandidateRelayProtocol(window, browserDetails); commonShim.shimMaxMessageSize(window, browserDetails); commonShim.shimSendThrowTypeError(window, browserDetails); commonShim.removeExtmapAllowMixed(window, browserDetails); @@ -174,13 +155,10 @@ function adapterFactory() { logging('Unsupported browser!'); break; } - return adapter; } -// Browser shims. - -},{"./chrome/chrome_shim":3,"./common_shim":6,"./firefox/firefox_shim":7,"./safari/safari_shim":10,"./utils":11,"sdp":12}],3:[function(require,module,exports){ +},{"./chrome/chrome_shim":3,"./common_shim":5,"./firefox/firefox_shim":6,"./safari/safari_shim":9,"./utils":10,"sdp":11}],3:[function(require,module,exports){ /* * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. * @@ -194,51 +172,36 @@ function adapterFactory() { Object.defineProperty(exports, "__esModule", { value: true }); -exports.shimGetDisplayMedia = exports.shimGetUserMedia = undefined; - -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - -var _getusermedia = require('./getusermedia'); - -Object.defineProperty(exports, 'shimGetUserMedia', { +exports.fixNegotiationNeeded = fixNegotiationNeeded; +exports.shimAddTrackRemoveTrack = shimAddTrackRemoveTrack; +exports.shimAddTrackRemoveTrackWithNative = shimAddTrackRemoveTrackWithNative; +exports.shimGetSendersWithDtmf = shimGetSendersWithDtmf; +Object.defineProperty(exports, "shimGetUserMedia", { enumerable: true, get: function get() { return _getusermedia.shimGetUserMedia; } }); - -var _getdisplaymedia = require('./getdisplaymedia'); - -Object.defineProperty(exports, 'shimGetDisplayMedia', { - enumerable: true, - get: function get() { - return _getdisplaymedia.shimGetDisplayMedia; - } -}); exports.shimMediaStream = shimMediaStream; exports.shimOnTrack = shimOnTrack; -exports.shimGetSendersWithDtmf = shimGetSendersWithDtmf; -exports.shimGetStats = shimGetStats; -exports.shimSenderReceiverGetStats = shimSenderReceiverGetStats; -exports.shimAddTrackRemoveTrackWithNative = shimAddTrackRemoveTrackWithNative; -exports.shimAddTrackRemoveTrack = shimAddTrackRemoveTrack; exports.shimPeerConnection = shimPeerConnection; -exports.fixNegotiationNeeded = fixNegotiationNeeded; - -var _utils = require('../utils.js'); - -var utils = _interopRequireWildcard(_utils); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } - +exports.shimSenderReceiverGetStats = shimSenderReceiverGetStats; +var utils = _interopRequireWildcard(require("../utils.js")); +var _getusermedia = require("./getusermedia"); +function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); } +function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function shimMediaStream(window) { window.MediaStream = window.MediaStream || window.webkitMediaStream; } - -function shimOnTrack(window) { - if ((typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object' && window.RTCPeerConnection && !('ontrack' in window.RTCPeerConnection.prototype)) { +function shimOnTrack(window, browserDetails) { + if (browserDetails.version > 102) { + // Unified plan is supported so no need to do anything. + return; + } + if (_typeof(window) === 'object' && window.RTCPeerConnection && !('ontrack' in window.RTCPeerConnection.prototype)) { Object.defineProperty(window.RTCPeerConnection.prototype, 'ontrack', { get: function get() { return this._ontrack; @@ -249,48 +212,53 @@ function shimOnTrack(window) { } this.addEventListener('track', this._ontrack = f); }, - enumerable: true, configurable: true }); var origSetRemoteDescription = window.RTCPeerConnection.prototype.setRemoteDescription; window.RTCPeerConnection.prototype.setRemoteDescription = function setRemoteDescription() { var _this = this; - if (!this._ontrackpoly) { this._ontrackpoly = function (e) { // onaddstream does not fire when a track is added to an existing // stream. But stream.onaddtrack is implemented so we use that. e.stream.addEventListener('addtrack', function (te) { - var receiver = void 0; + var receiver; if (window.RTCPeerConnection.prototype.getReceivers) { receiver = _this.getReceivers().find(function (r) { return r.track && r.track.id === te.track.id; }); } else { - receiver = { track: te.track }; + receiver = { + track: te.track + }; } - var event = new Event('track'); event.track = te.track; event.receiver = receiver; - event.transceiver = { receiver: receiver }; + event.transceiver = { + receiver: receiver + }; event.streams = [e.stream]; _this.dispatchEvent(event); }); e.stream.getTracks().forEach(function (track) { - var receiver = void 0; + var receiver; if (window.RTCPeerConnection.prototype.getReceivers) { receiver = _this.getReceivers().find(function (r) { return r.track && r.track.id === track.id; }); } else { - receiver = { track: track }; + receiver = { + track: track + }; } var event = new Event('track'); event.track = track; event.receiver = receiver; - event.transceiver = { receiver: receiver }; + event.transceiver = { + receiver: receiver + }; event.streams = [e.stream]; _this.dispatchEvent(event); }); @@ -305,16 +273,19 @@ function shimOnTrack(window) { // to unconditionally wrap the event. utils.wrapPeerConnectionEvent(window, 'track', function (e) { if (!e.transceiver) { - Object.defineProperty(e, 'transceiver', { value: { receiver: e.receiver } }); + Object.defineProperty(e, 'transceiver', { + value: { + receiver: e.receiver + } + }); } return e; }); } } - function shimGetSendersWithDtmf(window) { // Overrides addTrack/removeTrack, depends on shimAddTrackRemoveTrack. - if ((typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object' && window.RTCPeerConnection && !('getSenders' in window.RTCPeerConnection.prototype) && 'createDTMFSender' in window.RTCPeerConnection.prototype) { + if (_typeof(window) === 'object' && window.RTCPeerConnection && !('getSenders' in window.RTCPeerConnection.prototype) && 'createDTMFSender' in window.RTCPeerConnection.prototype) { var shimSenderWithDtmf = function shimSenderWithDtmf(pc, track) { return { track: track, @@ -347,7 +318,6 @@ function shimGetSendersWithDtmf(window) { } return sender; }; - var origRemoveTrack = window.RTCPeerConnection.prototype.removeTrack; window.RTCPeerConnection.prototype.removeTrack = function removeTrack(sender) { origRemoveTrack.apply(this, arguments); @@ -360,21 +330,17 @@ function shimGetSendersWithDtmf(window) { var origAddStream = window.RTCPeerConnection.prototype.addStream; window.RTCPeerConnection.prototype.addStream = function addStream(stream) { var _this2 = this; - this._senders = this._senders || []; origAddStream.apply(this, [stream]); stream.getTracks().forEach(function (track) { _this2._senders.push(shimSenderWithDtmf(_this2, track)); }); }; - var origRemoveStream = window.RTCPeerConnection.prototype.removeStream; window.RTCPeerConnection.prototype.removeStream = function removeStream(stream) { var _this3 = this; - this._senders = this._senders || []; origRemoveStream.apply(this, [stream]); - stream.getTracks().forEach(function (track) { var sender = _this3._senders.find(function (s) { return s.track === track; @@ -385,18 +351,16 @@ function shimGetSendersWithDtmf(window) { } }); }; - } else if ((typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object' && window.RTCPeerConnection && 'getSenders' in window.RTCPeerConnection.prototype && 'createDTMFSender' in window.RTCPeerConnection.prototype && window.RTCRtpSender && !('dtmf' in window.RTCRtpSender.prototype)) { + } else if (_typeof(window) === 'object' && window.RTCPeerConnection && 'getSenders' in window.RTCPeerConnection.prototype && 'createDTMFSender' in window.RTCPeerConnection.prototype && window.RTCRtpSender && !('dtmf' in window.RTCRtpSender.prototype)) { var origGetSenders = window.RTCPeerConnection.prototype.getSenders; window.RTCPeerConnection.prototype.getSenders = function getSenders() { var _this4 = this; - var senders = origGetSenders.apply(this, []); senders.forEach(function (sender) { return sender._pc = _this4; }); return senders; }; - Object.defineProperty(window.RTCRtpSender.prototype, 'dtmf', { get: function get() { if (this._dtmf === undefined) { @@ -411,82 +375,11 @@ function shimGetSendersWithDtmf(window) { }); } } - -function shimGetStats(window) { - if (!window.RTCPeerConnection) { +function shimSenderReceiverGetStats(window, browserDetails) { + if (browserDetails.version >= 67) { return; } - - var origGetStats = window.RTCPeerConnection.prototype.getStats; - window.RTCPeerConnection.prototype.getStats = function getStats() { - var _this5 = this; - - var _arguments = Array.prototype.slice.call(arguments), - selector = _arguments[0], - onSucc = _arguments[1], - onErr = _arguments[2]; - - // If selector is a function then we are in the old style stats so just - // pass back the original getStats format to avoid breaking old users. - - - if (arguments.length > 0 && typeof selector === 'function') { - return origGetStats.apply(this, arguments); - } - - // When spec-style getStats is supported, return those when called with - // either no arguments or the selector argument is null. - if (origGetStats.length === 0 && (arguments.length === 0 || typeof selector !== 'function')) { - return origGetStats.apply(this, []); - } - - var fixChromeStats_ = function fixChromeStats_(response) { - var standardReport = {}; - var reports = response.result(); - reports.forEach(function (report) { - var standardStats = { - id: report.id, - timestamp: report.timestamp, - type: { - localcandidate: 'local-candidate', - remotecandidate: 'remote-candidate' - }[report.type] || report.type - }; - report.names().forEach(function (name) { - standardStats[name] = report.stat(name); - }); - standardReport[standardStats.id] = standardStats; - }); - - return standardReport; - }; - - // shim getStats with maplike support - var makeMapStats = function makeMapStats(stats) { - return new Map(Object.keys(stats).map(function (key) { - return [key, stats[key]]; - })); - }; - - if (arguments.length >= 2) { - var successCallbackWrapper_ = function successCallbackWrapper_(response) { - onSucc(makeMapStats(fixChromeStats_(response))); - }; - - return origGetStats.apply(this, [successCallbackWrapper_, selector]); - } - - // promise-support - return new Promise(function (resolve, reject) { - origGetStats.apply(_this5, [function (response) { - resolve(makeMapStats(fixChromeStats_(response))); - }, reject]); - }).then(onSucc, onErr); - }; -} - -function shimSenderReceiverGetStats(window) { - if (!((typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object' && window.RTCPeerConnection && window.RTCRtpSender && window.RTCRtpReceiver)) { + if (!(_typeof(window) === 'object' && window.RTCPeerConnection && window.RTCRtpSender && window.RTCRtpReceiver)) { return; } @@ -495,16 +388,14 @@ function shimSenderReceiverGetStats(window) { var origGetSenders = window.RTCPeerConnection.prototype.getSenders; if (origGetSenders) { window.RTCPeerConnection.prototype.getSenders = function getSenders() { - var _this6 = this; - + var _this5 = this; var senders = origGetSenders.apply(this, []); senders.forEach(function (sender) { - return sender._pc = _this6; + return sender._pc = _this5; }); return senders; }; } - var origAddTrack = window.RTCPeerConnection.prototype.addTrack; if (origAddTrack) { window.RTCPeerConnection.prototype.addTrack = function addTrack() { @@ -532,11 +423,10 @@ function shimSenderReceiverGetStats(window) { var origGetReceivers = window.RTCPeerConnection.prototype.getReceivers; if (origGetReceivers) { window.RTCPeerConnection.prototype.getReceivers = function getReceivers() { - var _this7 = this; - + var _this6 = this; var receivers = origGetReceivers.apply(this, []); receivers.forEach(function (receiver) { - return receiver._pc = _this7; + return receiver._pc = _this6; }); return receivers; }; @@ -552,7 +442,6 @@ function shimSenderReceiverGetStats(window) { }); }; } - if (!('getStats' in window.RTCRtpSender.prototype && 'getStats' in window.RTCRtpReceiver.prototype)) { return; } @@ -562,9 +451,9 @@ function shimSenderReceiverGetStats(window) { window.RTCPeerConnection.prototype.getStats = function getStats() { if (arguments.length > 0 && arguments[0] instanceof window.MediaStreamTrack) { var track = arguments[0]; - var sender = void 0; - var receiver = void 0; - var err = void 0; + var sender; + var receiver; + var err; this.getSenders().forEach(function (s) { if (s.track === track) { if (sender) { @@ -596,27 +485,23 @@ function shimSenderReceiverGetStats(window) { return origGetStats.apply(this, arguments); }; } - function shimAddTrackRemoveTrackWithNative(window) { // shim addTrack/removeTrack with native variants in order to make // the interactions with legacy getLocalStreams behave as in other browsers. // Keeps a mapping stream.id => [stream, rtpsenders...] window.RTCPeerConnection.prototype.getLocalStreams = function getLocalStreams() { - var _this8 = this; - + var _this7 = this; this._shimmedLocalStreams = this._shimmedLocalStreams || {}; return Object.keys(this._shimmedLocalStreams).map(function (streamId) { - return _this8._shimmedLocalStreams[streamId][0]; + return _this7._shimmedLocalStreams[streamId][0]; }); }; - var origAddTrack = window.RTCPeerConnection.prototype.addTrack; window.RTCPeerConnection.prototype.addTrack = function addTrack(track, stream) { if (!stream) { return origAddTrack.apply(this, arguments); } this._shimmedLocalStreams = this._shimmedLocalStreams || {}; - var sender = origAddTrack.apply(this, arguments); if (!this._shimmedLocalStreams[stream.id]) { this._shimmedLocalStreams[stream.id] = [stream, sender]; @@ -625,15 +510,12 @@ function shimAddTrackRemoveTrackWithNative(window) { } return sender; }; - var origAddStream = window.RTCPeerConnection.prototype.addStream; window.RTCPeerConnection.prototype.addStream = function addStream(stream) { - var _this9 = this; - + var _this8 = this; this._shimmedLocalStreams = this._shimmedLocalStreams || {}; - stream.getTracks().forEach(function (track) { - var alreadyExists = _this9.getSenders().find(function (s) { + var alreadyExists = _this8.getSenders().find(function (s) { return s.track === track; }); if (alreadyExists) { @@ -647,34 +529,30 @@ function shimAddTrackRemoveTrackWithNative(window) { }); this._shimmedLocalStreams[stream.id] = [stream].concat(newSenders); }; - var origRemoveStream = window.RTCPeerConnection.prototype.removeStream; window.RTCPeerConnection.prototype.removeStream = function removeStream(stream) { this._shimmedLocalStreams = this._shimmedLocalStreams || {}; delete this._shimmedLocalStreams[stream.id]; return origRemoveStream.apply(this, arguments); }; - var origRemoveTrack = window.RTCPeerConnection.prototype.removeTrack; window.RTCPeerConnection.prototype.removeTrack = function removeTrack(sender) { - var _this10 = this; - + var _this9 = this; this._shimmedLocalStreams = this._shimmedLocalStreams || {}; if (sender) { Object.keys(this._shimmedLocalStreams).forEach(function (streamId) { - var idx = _this10._shimmedLocalStreams[streamId].indexOf(sender); + var idx = _this9._shimmedLocalStreams[streamId].indexOf(sender); if (idx !== -1) { - _this10._shimmedLocalStreams[streamId].splice(idx, 1); + _this9._shimmedLocalStreams[streamId].splice(idx, 1); } - if (_this10._shimmedLocalStreams[streamId].length === 1) { - delete _this10._shimmedLocalStreams[streamId]; + if (_this9._shimmedLocalStreams[streamId].length === 1) { + delete _this9._shimmedLocalStreams[streamId]; } }); } return origRemoveTrack.apply(this, arguments); }; } - function shimAddTrackRemoveTrack(window, browserDetails) { if (!window.RTCPeerConnection) { return; @@ -688,24 +566,20 @@ function shimAddTrackRemoveTrack(window, browserDetails) { // to return the original streams. var origGetLocalStreams = window.RTCPeerConnection.prototype.getLocalStreams; window.RTCPeerConnection.prototype.getLocalStreams = function getLocalStreams() { - var _this11 = this; - + var _this0 = this; var nativeStreams = origGetLocalStreams.apply(this); this._reverseStreams = this._reverseStreams || {}; return nativeStreams.map(function (stream) { - return _this11._reverseStreams[stream.id]; + return _this0._reverseStreams[stream.id]; }); }; - var origAddStream = window.RTCPeerConnection.prototype.addStream; window.RTCPeerConnection.prototype.addStream = function addStream(stream) { - var _this12 = this; - + var _this1 = this; this._streams = this._streams || {}; this._reverseStreams = this._reverseStreams || {}; - stream.getTracks().forEach(function (track) { - var alreadyExists = _this12.getSenders().find(function (s) { + var alreadyExists = _this1.getSenders().find(function (s) { return s.track === track; }); if (alreadyExists) { @@ -722,20 +596,16 @@ function shimAddTrackRemoveTrack(window, browserDetails) { } origAddStream.apply(this, [stream]); }; - var origRemoveStream = window.RTCPeerConnection.prototype.removeStream; window.RTCPeerConnection.prototype.removeStream = function removeStream(stream) { this._streams = this._streams || {}; this._reverseStreams = this._reverseStreams || {}; - origRemoveStream.apply(this, [this._streams[stream.id] || stream]); delete this._reverseStreams[this._streams[stream.id] ? this._streams[stream.id].id : stream.id]; delete this._streams[stream.id]; }; - window.RTCPeerConnection.prototype.addTrack = function addTrack(track, stream) { - var _this13 = this; - + var _this10 = this; if (this.signalingState === 'closed') { throw new DOMException('The RTCPeerConnection\'s signalingState is \'closed\'.', 'InvalidStateError'); } @@ -747,14 +617,12 @@ function shimAddTrackRemoveTrack(window, browserDetails) { // [[associated MediaStreams]] internal slot. throw new DOMException('The adapter.js addTrack polyfill only supports a single ' + ' stream which is associated with the specified track.', 'NotSupportedError'); } - var alreadyExists = this.getSenders().find(function (s) { return s.track === track; }); if (alreadyExists) { throw new DOMException('Track already exists.', 'InvalidAccessError'); } - this._streams = this._streams || {}; this._reverseStreams = this._reverseStreams || {}; var oldStream = this._streams[stream.id]; @@ -767,7 +635,7 @@ function shimAddTrackRemoveTrack(window, browserDetails) { // Trigger ONN async. Promise.resolve().then(function () { - _this13.dispatchEvent(new Event('negotiationneeded')); + _this10.dispatchEvent(new Event('negotiationneeded')); }); } else { var newStream = new window.MediaStream([track]); @@ -809,13 +677,12 @@ function shimAddTrackRemoveTrack(window, browserDetails) { ['createOffer', 'createAnswer'].forEach(function (method) { var nativeMethod = window.RTCPeerConnection.prototype[method]; var methodObj = _defineProperty({}, method, function () { - var _this14 = this; - + var _this11 = this; var args = arguments; var isLegacyCall = arguments.length && typeof arguments[0] === 'function'; if (isLegacyCall) { return nativeMethod.apply(this, [function (description) { - var desc = replaceInternalStreamId(_this14, description); + var desc = replaceInternalStreamId(_this11, description); args[0].apply(null, [desc]); }, function (err) { if (args[1]) { @@ -824,12 +691,11 @@ function shimAddTrackRemoveTrack(window, browserDetails) { }, arguments[2]]); } return nativeMethod.apply(this, arguments).then(function (description) { - return replaceInternalStreamId(_this14, description); + return replaceInternalStreamId(_this11, description); }); }); window.RTCPeerConnection.prototype[method] = methodObj[method]; }); - var origSetLocalDescription = window.RTCPeerConnection.prototype.setLocalDescription; window.RTCPeerConnection.prototype.setLocalDescription = function setLocalDescription() { if (!arguments.length || !arguments[0].type) { @@ -851,10 +717,8 @@ function shimAddTrackRemoveTrack(window, browserDetails) { return replaceInternalStreamId(this, description); } }); - window.RTCPeerConnection.prototype.removeTrack = function removeTrack(sender) { - var _this15 = this; - + var _this12 = this; if (this.signalingState === 'closed') { throw new DOMException('The RTCPeerConnection\'s signalingState is \'closed\'.', 'InvalidStateError'); } @@ -870,16 +734,15 @@ function shimAddTrackRemoveTrack(window, browserDetails) { // Search for the native stream the senders track belongs to. this._streams = this._streams || {}; - var stream = void 0; + var stream; Object.keys(this._streams).forEach(function (streamid) { - var hasTrack = _this15._streams[streamid].getTracks().find(function (track) { + var hasTrack = _this12._streams[streamid].getTracks().find(function (track) { return sender.track === track; }); if (hasTrack) { - stream = _this15._streams[streamid]; + stream = _this12._streams[streamid]; } }); - if (stream) { if (stream.getTracks().length === 1) { // if this is the last track of the stream, remove the stream. This @@ -893,7 +756,6 @@ function shimAddTrackRemoveTrack(window, browserDetails) { } }; } - function shimPeerConnection(window, browserDetails) { if (!window.RTCPeerConnection && window.webkitRTCPeerConnection) { // very basic support for old versions. @@ -918,6 +780,10 @@ function shimPeerConnection(window, browserDetails) { // Attempt to fix ONN in plan-b mode. function fixNegotiationNeeded(window, browserDetails) { + if (browserDetails.version > 102) { + // Plan-B is no longer supported. + return; + } utils.wrapPeerConnectionEvent(window, 'negotiationneeded', function (e) { var pc = e.target; if (browserDetails.version < 72 || pc.getConfiguration && pc.getConfiguration().sdpSemantics === 'plan-b') { @@ -929,58 +795,7 @@ function fixNegotiationNeeded(window, browserDetails) { }); } -},{"../utils.js":11,"./getdisplaymedia":4,"./getusermedia":5}],4:[function(require,module,exports){ -/* - * Copyright (c) 2018 The adapter.js project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. - */ -/* eslint-env node */ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.shimGetDisplayMedia = shimGetDisplayMedia; -function shimGetDisplayMedia(window, getSourceId) { - if (window.navigator.mediaDevices && 'getDisplayMedia' in window.navigator.mediaDevices) { - return; - } - if (!window.navigator.mediaDevices) { - return; - } - // getSourceId is a function that returns a promise resolving with - // the sourceId of the screen/window/tab to be shared. - if (typeof getSourceId !== 'function') { - console.error('shimGetDisplayMedia: getSourceId argument is not ' + 'a function'); - return; - } - window.navigator.mediaDevices.getDisplayMedia = function getDisplayMedia(constraints) { - return getSourceId(constraints).then(function (sourceId) { - var widthSpecified = constraints.video && constraints.video.width; - var heightSpecified = constraints.video && constraints.video.height; - var frameRateSpecified = constraints.video && constraints.video.frameRate; - constraints.video = { - mandatory: { - chromeMediaSource: 'desktop', - chromeMediaSourceId: sourceId, - maxFrameRate: frameRateSpecified || 3 - } - }; - if (widthSpecified) { - constraints.video.mandatory.maxWidth = widthSpecified; - } - if (heightSpecified) { - constraints.video.mandatory.maxHeight = heightSpecified; - } - return window.navigator.mediaDevices.getUserMedia(constraints); - }); - }; -} - -},{}],5:[function(require,module,exports){ +},{"../utils.js":10,"./getusermedia":4}],4:[function(require,module,exports){ /* * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. * @@ -994,28 +809,18 @@ function shimGetDisplayMedia(window, getSourceId) { Object.defineProperty(exports, "__esModule", { value: true }); - -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - exports.shimGetUserMedia = shimGetUserMedia; - -var _utils = require('../utils.js'); - -var utils = _interopRequireWildcard(_utils); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - +var utils = _interopRequireWildcard(require("../utils.js")); +function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); } +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } var logging = utils.log; - function shimGetUserMedia(window, browserDetails) { var navigator = window && window.navigator; - if (!navigator.mediaDevices) { return; } - var constraintsToChrome_ = function constraintsToChrome_(c) { - if ((typeof c === 'undefined' ? 'undefined' : _typeof(c)) !== 'object' || c.mandatory || c.optional) { + if (_typeof(c) !== 'object' || c.mandatory || c.optional) { return c; } var cc = {}; @@ -1023,7 +828,9 @@ function shimGetUserMedia(window, browserDetails) { if (key === 'require' || key === 'advanced' || key === 'mediaSource') { return; } - var r = _typeof(c[key]) === 'object' ? c[key] : { ideal: c[key] }; + var r = _typeof(c[key]) === 'object' ? c[key] : { + ideal: c[key] + }; if (r.exact !== undefined && typeof r.exact === 'number') { r.min = r.max = r.exact; } @@ -1064,7 +871,6 @@ function shimGetUserMedia(window, browserDetails) { } return cc; }; - var shimConstraints_ = function shimConstraints_(constraints, func) { if (browserDetails.version >= 61) { return func(constraints); @@ -1085,12 +891,13 @@ function shimGetUserMedia(window, browserDetails) { if (constraints && _typeof(constraints.video) === 'object') { // Shim facingMode for mobile & surface pro. var face = constraints.video.facingMode; - face = face && ((typeof face === 'undefined' ? 'undefined' : _typeof(face)) === 'object' ? face : { ideal: face }); + face = face && (_typeof(face) === 'object' ? face : { + ideal: face + }); var getSupportedFacingModeLies = browserDetails.version < 66; - if (face && (face.exact === 'user' || face.exact === 'environment' || face.ideal === 'user' || face.ideal === 'environment') && !(navigator.mediaDevices.getSupportedConstraints && navigator.mediaDevices.getSupportedConstraints().facingMode && !getSupportedFacingModeLies)) { delete constraints.video.facingMode; - var matches = void 0; + var matches; if (face.exact === 'environment' || face.ideal === 'environment') { matches = ['back', 'rear']; } else if (face.exact === 'user' || face.ideal === 'user') { @@ -1111,7 +918,11 @@ function shimGetUserMedia(window, browserDetails) { dev = devices[devices.length - 1]; // more likely the back cam } if (dev) { - constraints.video.deviceId = face.exact ? { exact: dev.deviceId } : { ideal: dev.deviceId }; + constraints.video.deviceId = face.exact ? { + exact: dev.deviceId + } : { + ideal: dev.deviceId + }; } constraints.video = constraintsToChrome_(constraints.video); logging('chrome: ' + JSON.stringify(constraints)); @@ -1124,7 +935,6 @@ function shimGetUserMedia(window, browserDetails) { logging('chrome: ' + JSON.stringify(constraints)); return func(constraints); }; - var shimError_ = function shimError_(e) { if (browserDetails.version >= 64) { return e; @@ -1150,7 +960,6 @@ function shimGetUserMedia(window, browserDetails) { } }; }; - var getUserMedia_ = function getUserMedia_(constraints, onSuccess, onError) { shimConstraints_(constraints, function (c) { navigator.webkitGetUserMedia(c, onSuccess, function (e) { @@ -1185,7 +994,7 @@ function shimGetUserMedia(window, browserDetails) { } } -},{"../utils.js":11}],6:[function(require,module,exports){ +},{"../utils.js":10}],5:[function(require,module,exports){ /* * Copyright (c) 2017 The WebRTC project authors. All Rights Reserved. * @@ -1199,59 +1008,54 @@ function shimGetUserMedia(window, browserDetails) { Object.defineProperty(exports, "__esModule", { value: true }); - -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - -exports.shimRTCIceCandidate = shimRTCIceCandidate; -exports.shimMaxMessageSize = shimMaxMessageSize; -exports.shimSendThrowTypeError = shimSendThrowTypeError; -exports.shimConnectionState = shimConnectionState; exports.removeExtmapAllowMixed = removeExtmapAllowMixed; exports.shimAddIceCandidateNullOrEmpty = shimAddIceCandidateNullOrEmpty; - -var _sdp = require('sdp'); - -var _sdp2 = _interopRequireDefault(_sdp); - -var _utils = require('./utils'); - -var utils = _interopRequireWildcard(_utils); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - +exports.shimConnectionState = shimConnectionState; +exports.shimMaxMessageSize = shimMaxMessageSize; +exports.shimParameterlessSetLocalDescription = shimParameterlessSetLocalDescription; +exports.shimRTCIceCandidate = shimRTCIceCandidate; +exports.shimRTCIceCandidateRelayProtocol = shimRTCIceCandidateRelayProtocol; +exports.shimSendThrowTypeError = shimSendThrowTypeError; +var _sdp = _interopRequireDefault(require("sdp")); +var utils = _interopRequireWildcard(require("./utils")); +function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); } +function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; } +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function shimRTCIceCandidate(window) { // foundation is arbitrarily chosen as an indicator for full support for // https://w3c.github.io/webrtc-pc/#rtcicecandidate-interface if (!window.RTCIceCandidate || window.RTCIceCandidate && 'foundation' in window.RTCIceCandidate.prototype) { return; } - var NativeRTCIceCandidate = window.RTCIceCandidate; window.RTCIceCandidate = function RTCIceCandidate(args) { // Remove the a= which shouldn't be part of the candidate string. - if ((typeof args === 'undefined' ? 'undefined' : _typeof(args)) === 'object' && args.candidate && args.candidate.indexOf('a=') === 0) { + if (_typeof(args) === 'object' && args.candidate && args.candidate.indexOf('a=') === 0) { args = JSON.parse(JSON.stringify(args)); - args.candidate = args.candidate.substr(2); + args.candidate = args.candidate.substring(2); } - if (args.candidate && args.candidate.length) { // Augment the native candidate with the parsed fields. var nativeCandidate = new NativeRTCIceCandidate(args); - var parsedCandidate = _sdp2.default.parseCandidate(args.candidate); - var augmentedCandidate = Object.assign(nativeCandidate, parsedCandidate); + var parsedCandidate = _sdp["default"].parseCandidate(args.candidate); + for (var key in parsedCandidate) { + if (!(key in nativeCandidate)) { + Object.defineProperty(nativeCandidate, key, { + value: parsedCandidate[key] + }); + } + } - // Add a serializer that does not serialize the extra attributes. - augmentedCandidate.toJSON = function toJSON() { + // Override serializer to not serialize the extra attributes. + nativeCandidate.toJSON = function toJSON() { return { - candidate: augmentedCandidate.candidate, - sdpMid: augmentedCandidate.sdpMid, - sdpMLineIndex: augmentedCandidate.sdpMLineIndex, - usernameFragment: augmentedCandidate.usernameFragment + candidate: nativeCandidate.candidate, + sdpMid: nativeCandidate.sdpMid, + sdpMLineIndex: nativeCandidate.sdpMLineIndex, + usernameFragment: nativeCandidate.usernameFragment }; }; - return augmentedCandidate; + return nativeCandidate; } return new NativeRTCIceCandidate(args); }; @@ -1269,12 +1073,33 @@ function shimRTCIceCandidate(window) { return e; }); } +function shimRTCIceCandidateRelayProtocol(window) { + if (!window.RTCIceCandidate || window.RTCIceCandidate && 'relayProtocol' in window.RTCIceCandidate.prototype) { + return; + } + // Hook up the augmented candidate in onicecandidate and + // addEventListener('icecandidate', ...) + utils.wrapPeerConnectionEvent(window, 'icecandidate', function (e) { + if (e.candidate) { + var parsedCandidate = _sdp["default"].parseCandidate(e.candidate.candidate); + if (parsedCandidate.type === 'relay') { + // This is a libwebrtc-specific mapping of local type preference + // to relayProtocol. + e.candidate.relayProtocol = { + 0: 'tls', + 1: 'tcp', + 2: 'udp' + }[parsedCandidate.priority >> 24]; + } + } + return e; + }); +} function shimMaxMessageSize(window, browserDetails) { if (!window.RTCPeerConnection) { return; } - if (!('sctp' in window.RTCPeerConnection.prototype)) { Object.defineProperty(window.RTCPeerConnection.prototype, 'sctp', { get: function get() { @@ -1282,19 +1107,17 @@ function shimMaxMessageSize(window, browserDetails) { } }); } - var sctpInDescription = function sctpInDescription(description) { if (!description || !description.sdp) { return false; } - var sections = _sdp2.default.splitSections(description.sdp); + var sections = _sdp["default"].splitSections(description.sdp); sections.shift(); return sections.some(function (mediaSection) { - var mLine = _sdp2.default.parseMLine(mediaSection); + var mLine = _sdp["default"].parseMLine(mediaSection); return mLine && mLine.kind === 'application' && mLine.protocol.indexOf('SCTP') !== -1; }); }; - var getRemoteFirefoxVersion = function getRemoteFirefoxVersion(description) { // TODO: Is there a better solution for detecting Firefox? var match = description.sdp.match(/mozilla...THIS_IS_SDPARTA-(\d+)/); @@ -1305,7 +1128,6 @@ function shimMaxMessageSize(window, browserDetails) { // Test for NaN (yes, this is ugly) return version !== version ? -1 : version; }; - var getCanSendMaxMessageSize = function getCanSendMaxMessageSize(remoteIsFirefox) { // Every implementation we know can send at least 64 KiB. // Note: Although Chrome is technically able to send up to 256 KiB, the @@ -1336,7 +1158,6 @@ function shimMaxMessageSize(window, browserDetails) { } return canSendMaxMessageSize; }; - var getMaxMessageSize = function getMaxMessageSize(description, remoteIsFirefox) { // Note: 65536 bytes is the default value from the SDP spec. Also, // every implementation we know supports receiving 65536 bytes. @@ -1348,10 +1169,9 @@ function shimMaxMessageSize(window, browserDetails) { if (browserDetails.browser === 'firefox' && browserDetails.version === 57) { maxMessageSize = 65535; } - - var match = _sdp2.default.matchPrefix(description.sdp, 'a=max-message-size:'); + var match = _sdp["default"].matchPrefix(description.sdp, 'a=max-message-size:'); if (match.length > 0) { - maxMessageSize = parseInt(match[0].substr(19), 10); + maxMessageSize = parseInt(match[0].substring(19), 10); } else if (browserDetails.browser === 'firefox' && remoteIsFirefox !== -1) { // If the maximum message size is not present in the remote SDP and // both local and remote are Firefox, the remote peer can receive @@ -1360,7 +1180,6 @@ function shimMaxMessageSize(window, browserDetails) { } return maxMessageSize; }; - var origSetRemoteDescription = window.RTCPeerConnection.prototype.setRemoteDescription; window.RTCPeerConnection.prototype.setRemoteDescription = function setRemoteDescription() { this._sctp = null; @@ -1368,21 +1187,18 @@ function shimMaxMessageSize(window, browserDetails) { // As usual, adapter.js has to do an 'ugly worakaround' // to cover up the mess. if (browserDetails.browser === 'chrome' && browserDetails.version >= 76) { - var _getConfiguration = this.getConfiguration(), - sdpSemantics = _getConfiguration.sdpSemantics; - + var _this$getConfiguratio = this.getConfiguration(), + sdpSemantics = _this$getConfiguratio.sdpSemantics; if (sdpSemantics === 'plan-b') { Object.defineProperty(this, 'sctp', { get: function get() { return typeof this._sctp === 'undefined' ? null : this._sctp; }, - enumerable: true, configurable: true }); } } - if (sctpInDescription(arguments[0])) { // Check if the remote is FF. var isFirefox = getRemoteFirefoxVersion(arguments[0]); @@ -1394,7 +1210,7 @@ function shimMaxMessageSize(window, browserDetails) { var remoteMMS = getMaxMessageSize(arguments[0], isFirefox); // Determine final maximum message size - var maxMessageSize = void 0; + var maxMessageSize; if (canSendMMS === 0 && remoteMMS === 0) { maxMessageSize = Number.POSITIVE_INFINITY; } else if (canSendMMS === 0 || remoteMMS === 0) { @@ -1413,20 +1229,24 @@ function shimMaxMessageSize(window, browserDetails) { }); this._sctp = sctp; } - return origSetRemoteDescription.apply(this, arguments); }; } - -function shimSendThrowTypeError(window) { +function shimSendThrowTypeError(window, browserDetails) { if (!(window.RTCPeerConnection && 'createDataChannel' in window.RTCPeerConnection.prototype)) { return; } + if (browserDetails.browser === 'chrome' && browserDetails.version > 149) { + // Fixed by https://issues.chromium.org/issues/490588131 + return; + } // Note: Although Firefox >= 57 has a native implementation, the maximum // message size can be reset for all data channels at a later stage. // See: https://bugzilla.mozilla.org/show_bug.cgi?id=1426831 - + if (browserDetails.browser === 'firefox' && browserDetails.version > 60) { + return; + } function wrapDcSend(dc, pc) { var origDataChannelSend = dc.send; dc.send = function send() { @@ -1469,7 +1289,6 @@ function shimConnectionState(window) { checking: 'connecting' }[this.iceConnectionState] || this.iceConnectionState; }, - enumerable: true, configurable: true }); @@ -1486,11 +1305,9 @@ function shimConnectionState(window) { this.addEventListener('connectionstatechange', this._onconnectionstatechange = cb); } }, - enumerable: true, configurable: true }); - ['setLocalDescription', 'setRemoteDescription'].forEach(function (method) { var origMethod = proto[method]; proto[method] = function () { @@ -1510,7 +1327,6 @@ function shimConnectionState(window) { }; }); } - function removeExtmapAllowMixed(window, browserDetails) { /* remove a=extmap-allow-mixed for webrtc.org < M71 */ if (!window.RTCPeerConnection) { @@ -1519,7 +1335,7 @@ function removeExtmapAllowMixed(window, browserDetails) { if (browserDetails.browser === 'chrome' && browserDetails.version >= 71) { return; } - if (browserDetails.browser === 'safari' && browserDetails.version >= 605) { + if (browserDetails.browser === 'safari' && browserDetails._safariVersion >= 13.1) { return; } var nativeSRD = window.RTCPeerConnection.prototype.setRemoteDescription; @@ -1541,7 +1357,6 @@ function removeExtmapAllowMixed(window, browserDetails) { return nativeSRD.apply(this, arguments); }; } - function shimAddIceCandidateNullOrEmpty(window, browserDetails) { // Support for addIceCandidate(null or undefined) // as well as addIceCandidate({candidate: "", ...}) @@ -1573,7 +1388,56 @@ function shimAddIceCandidateNullOrEmpty(window, browserDetails) { }; } -},{"./utils":11,"sdp":12}],7:[function(require,module,exports){ +// Note: Make sure to call this ahead of APIs that modify +// setLocalDescription.length +function shimParameterlessSetLocalDescription(window, browserDetails) { + if (!(window.RTCPeerConnection && window.RTCPeerConnection.prototype)) { + return; + } + var nativeSetLocalDescription = window.RTCPeerConnection.prototype.setLocalDescription; + if (!nativeSetLocalDescription || nativeSetLocalDescription.length === 0) { + return; + } + window.RTCPeerConnection.prototype.setLocalDescription = function setLocalDescription() { + var _this = this; + var desc = arguments[0] || {}; + if (_typeof(desc) !== 'object' || desc.type && desc.sdp) { + return nativeSetLocalDescription.apply(this, arguments); + } + // The remaining steps should technically happen when SLD comes off the + // RTCPeerConnection's operations chain (not ahead of going on it), but + // this is too difficult to shim. Instead, this shim only covers the + // common case where the operations chain is empty. This is imperfect, but + // should cover many cases. Rationale: Even if we can't reduce the glare + // window to zero on imperfect implementations, there's value in tapping + // into the perfect negotiation pattern that several browsers support. + desc = { + type: desc.type, + sdp: desc.sdp + }; + if (!desc.type) { + switch (this.signalingState) { + case 'stable': + case 'have-local-offer': + case 'have-remote-pranswer': + desc.type = 'offer'; + break; + default: + desc.type = 'answer'; + break; + } + } + if (desc.sdp || desc.type !== 'offer' && desc.type !== 'answer') { + return nativeSetLocalDescription.apply(this, [desc]); + } + var func = desc.type === 'offer' ? this.createOffer : this.createAnswer; + return func.apply(this).then(function (d) { + return nativeSetLocalDescription.apply(_this, [d]); + }); + }; +} + +},{"./utils":10,"sdp":11}],6:[function(require,module,exports){ /* * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. * @@ -1587,65 +1451,62 @@ function shimAddIceCandidateNullOrEmpty(window, browserDetails) { Object.defineProperty(exports, "__esModule", { value: true }); -exports.shimGetDisplayMedia = exports.shimGetUserMedia = undefined; - -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - -var _getusermedia = require('./getusermedia'); - -Object.defineProperty(exports, 'shimGetUserMedia', { +exports.shimAddTransceiver = shimAddTransceiver; +exports.shimCreateAnswer = shimCreateAnswer; +exports.shimCreateOffer = shimCreateOffer; +Object.defineProperty(exports, "shimGetDisplayMedia", { enumerable: true, get: function get() { - return _getusermedia.shimGetUserMedia; + return _getdisplaymedia.shimGetDisplayMedia; } }); - -var _getdisplaymedia = require('./getdisplaymedia'); - -Object.defineProperty(exports, 'shimGetDisplayMedia', { +exports.shimGetParameters = shimGetParameters; +exports.shimGetStats = shimGetStats; +Object.defineProperty(exports, "shimGetUserMedia", { enumerable: true, get: function get() { - return _getdisplaymedia.shimGetDisplayMedia; + return _getusermedia.shimGetUserMedia; } }); exports.shimOnTrack = shimOnTrack; exports.shimPeerConnection = shimPeerConnection; -exports.shimSenderGetStats = shimSenderGetStats; +exports.shimRTCDataChannel = shimRTCDataChannel; exports.shimReceiverGetStats = shimReceiverGetStats; exports.shimRemoveStream = shimRemoveStream; -exports.shimRTCDataChannel = shimRTCDataChannel; -exports.shimAddTransceiver = shimAddTransceiver; -exports.shimGetParameters = shimGetParameters; -exports.shimCreateOffer = shimCreateOffer; -exports.shimCreateAnswer = shimCreateAnswer; - -var _utils = require('../utils'); - -var utils = _interopRequireWildcard(_utils); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } - +exports.shimSenderGetStats = shimSenderGetStats; +var utils = _interopRequireWildcard(require("../utils")); +var _getusermedia = require("./getusermedia"); +var _getdisplaymedia = require("./getdisplaymedia"); +function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); } +function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); } +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } +function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } +function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); } +function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); } +function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } +function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function shimOnTrack(window) { - if ((typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object' && window.RTCTrackEvent && 'receiver' in window.RTCTrackEvent.prototype && !('transceiver' in window.RTCTrackEvent.prototype)) { + if (_typeof(window) === 'object' && window.RTCTrackEvent && 'receiver' in window.RTCTrackEvent.prototype && !('transceiver' in window.RTCTrackEvent.prototype)) { Object.defineProperty(window.RTCTrackEvent.prototype, 'transceiver', { get: function get() { - return { receiver: this.receiver }; + return { + receiver: this.receiver + }; } }); } } - function shimPeerConnection(window, browserDetails) { - if ((typeof window === 'undefined' ? 'undefined' : _typeof(window)) !== 'object' || !(window.RTCPeerConnection || window.mozRTCPeerConnection)) { + if (_typeof(window) !== 'object' || !(window.RTCPeerConnection || window.mozRTCPeerConnection)) { return; // probably media.peerconnection.enabled=false in about:config } if (!window.RTCPeerConnection && window.mozRTCPeerConnection) { // very basic support for old versions. window.RTCPeerConnection = window.mozRTCPeerConnection; } - if (browserDetails.version < 53) { // shim away need for obsolete RTCIceCandidate/RTCSessionDescription. ['setLocalDescription', 'setRemoteDescription', 'addIceCandidate'].forEach(function (method) { @@ -1657,7 +1518,15 @@ function shimPeerConnection(window, browserDetails) { window.RTCPeerConnection.prototype[method] = methodObj[method]; }); } - +} +function shimGetStats(window, browserDetails) { + if (_typeof(window) !== 'object' || !(window.RTCPeerConnection || window.mozRTCPeerConnection)) { + return; // probably media.peerconnection.enabled=false in about:config + } + if (browserDetails.version >= 151) { + // https://bugzilla.mozilla.org/show_bug.cgi?id=1056433 + return; + } var modernStatsTypes = { inboundrtp: 'inbound-rtp', outboundrtp: 'outbound-rtp', @@ -1665,14 +1534,16 @@ function shimPeerConnection(window, browserDetails) { localcandidate: 'local-candidate', remotecandidate: 'remote-candidate' }; - var nativeGetStats = window.RTCPeerConnection.prototype.getStats; window.RTCPeerConnection.prototype.getStats = function getStats() { var _arguments = Array.prototype.slice.call(arguments), - selector = _arguments[0], - onSucc = _arguments[1], - onErr = _arguments[2]; - + selector = _arguments[0], + onSucc = _arguments[1], + onErr = _arguments[2]; + if (this.signalingState === 'closed') { + // No longer required in FF151+ + return Promise.resolve(new Map()); + } return nativeGetStats.apply(this, [selector || null]).then(function (stats) { if (browserDetails.version < 53 && !onSucc) { // Shim only promise getStats with spec-hyphens in type names @@ -1697,9 +1568,8 @@ function shimPeerConnection(window, browserDetails) { }).then(onSucc, onErr); }; } - function shimSenderGetStats(window) { - if (!((typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object' && window.RTCPeerConnection && window.RTCRtpSender)) { + if (!(_typeof(window) === 'object' && window.RTCPeerConnection && window.RTCRtpSender)) { return; } if (window.RTCRtpSender && 'getStats' in window.RTCRtpSender.prototype) { @@ -1709,7 +1579,6 @@ function shimSenderGetStats(window) { if (origGetSenders) { window.RTCPeerConnection.prototype.getSenders = function getSenders() { var _this = this; - var senders = origGetSenders.apply(this, []); senders.forEach(function (sender) { return sender._pc = _this; @@ -1717,7 +1586,6 @@ function shimSenderGetStats(window) { return senders; }; } - var origAddTrack = window.RTCPeerConnection.prototype.addTrack; if (origAddTrack) { window.RTCPeerConnection.prototype.addTrack = function addTrack() { @@ -1730,9 +1598,8 @@ function shimSenderGetStats(window) { return this.track ? this._pc.getStats(this.track) : Promise.resolve(new Map()); }; } - function shimReceiverGetStats(window) { - if (!((typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object' && window.RTCPeerConnection && window.RTCRtpSender)) { + if (!(_typeof(window) === 'object' && window.RTCPeerConnection && window.RTCRtpSender)) { return; } if (window.RTCRtpSender && 'getStats' in window.RTCRtpReceiver.prototype) { @@ -1742,7 +1609,6 @@ function shimReceiverGetStats(window) { if (origGetReceivers) { window.RTCPeerConnection.prototype.getReceivers = function getReceivers() { var _this2 = this; - var receivers = origGetReceivers.apply(this, []); receivers.forEach(function (receiver) { return receiver._pc = _this2; @@ -1758,14 +1624,12 @@ function shimReceiverGetStats(window) { return this._pc.getStats(this.track); }; } - function shimRemoveStream(window) { if (!window.RTCPeerConnection || 'removeStream' in window.RTCPeerConnection.prototype) { return; } window.RTCPeerConnection.prototype.removeStream = function removeStream(stream) { var _this3 = this; - utils.deprecated('removeStream', 'removeTrack'); this.getSenders().forEach(function (sender) { if (sender.track && stream.getTracks().includes(sender.track)) { @@ -1774,7 +1638,6 @@ function shimRemoveStream(window) { }); }; } - function shimRTCDataChannel(window) { // rename DataChannel to RTCDataChannel (native fix in FF60): // https://bugzilla.mozilla.org/show_bug.cgi?id=1173851 @@ -1782,23 +1645,27 @@ function shimRTCDataChannel(window) { window.RTCDataChannel = window.DataChannel; } } - function shimAddTransceiver(window) { // https://github.com/webrtcHacks/adapter/issues/998#issuecomment-516921647 // Firefox ignores the init sendEncodings options passed to addTransceiver // https://bugzilla.mozilla.org/show_bug.cgi?id=1396918 - if (!((typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object' && window.RTCPeerConnection)) { + if (!(_typeof(window) === 'object' && window.RTCPeerConnection)) { return; } var origAddTransceiver = window.RTCPeerConnection.prototype.addTransceiver; if (origAddTransceiver) { window.RTCPeerConnection.prototype.addTransceiver = function addTransceiver() { this.setParametersPromises = []; - var initParameters = arguments[1]; - var shouldPerformCheck = initParameters && 'sendEncodings' in initParameters; + // WebIDL input coercion and validation + var sendEncodings = arguments[1] && arguments[1].sendEncodings; + if (sendEncodings === undefined) { + sendEncodings = []; + } + sendEncodings = _toConsumableArray(sendEncodings); + var shouldPerformCheck = sendEncodings.length > 0; if (shouldPerformCheck) { // If sendEncodings params are provided, validate grammar - initParameters.sendEncodings.forEach(function (encodingParam) { + sendEncodings.forEach(function (encodingParam) { if ('rid' in encodingParam) { var ridRegex = /^[a-z0-9]{0,16}$/i; if (!ridRegex.test(encodingParam.rid)) { @@ -1827,16 +1694,15 @@ function shimAddTransceiver(window) { // the params were asynchronously applied so we might miss the // opportunity to recreate offer. var sender = transceiver.sender; - var params = sender.getParameters(); if (!('encodings' in params) || // Avoid being fooled by patched getParameters() below. params.encodings.length === 1 && Object.keys(params.encodings[0]).length === 0) { - params.encodings = initParameters.sendEncodings; - sender.sendEncodings = initParameters.sendEncodings; + params.encodings = sendEncodings; + sender.sendEncodings = sendEncodings; this.setParametersPromises.push(sender.setParameters(params).then(function () { delete sender.sendEncodings; - }).catch(function () { + })["catch"](function () { delete sender.sendEncodings; })); } @@ -1845,9 +1711,8 @@ function shimAddTransceiver(window) { }; } } - function shimGetParameters(window) { - if (!((typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object' && window.RTCRtpSender)) { + if (!(_typeof(window) === 'object' && window.RTCRtpSender)) { return; } var origGetParameters = window.RTCRtpSender.prototype.getParameters; @@ -1861,46 +1726,42 @@ function shimGetParameters(window) { }; } } - function shimCreateOffer(window) { // https://github.com/webrtcHacks/adapter/issues/998#issuecomment-516921647 // Firefox ignores the init sendEncodings options passed to addTransceiver // https://bugzilla.mozilla.org/show_bug.cgi?id=1396918 - if (!((typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object' && window.RTCPeerConnection)) { + if (!(_typeof(window) === 'object' && window.RTCPeerConnection)) { return; } var origCreateOffer = window.RTCPeerConnection.prototype.createOffer; window.RTCPeerConnection.prototype.createOffer = function createOffer() { - var _this4 = this, - _arguments2 = arguments; - + var _arguments2 = arguments, + _this4 = this; if (this.setParametersPromises && this.setParametersPromises.length) { return Promise.all(this.setParametersPromises).then(function () { return origCreateOffer.apply(_this4, _arguments2); - }).finally(function () { + })["finally"](function () { _this4.setParametersPromises = []; }); } return origCreateOffer.apply(this, arguments); }; } - function shimCreateAnswer(window) { // https://github.com/webrtcHacks/adapter/issues/998#issuecomment-516921647 // Firefox ignores the init sendEncodings options passed to addTransceiver // https://bugzilla.mozilla.org/show_bug.cgi?id=1396918 - if (!((typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object' && window.RTCPeerConnection)) { + if (!(_typeof(window) === 'object' && window.RTCPeerConnection)) { return; } var origCreateAnswer = window.RTCPeerConnection.prototype.createAnswer; window.RTCPeerConnection.prototype.createAnswer = function createAnswer() { - var _this5 = this, - _arguments3 = arguments; - + var _arguments3 = arguments, + _this5 = this; if (this.setParametersPromises && this.setParametersPromises.length) { return Promise.all(this.setParametersPromises).then(function () { return origCreateAnswer.apply(_this5, _arguments3); - }).finally(function () { + })["finally"](function () { _this5.setParametersPromises = []; }); } @@ -1908,7 +1769,7 @@ function shimCreateAnswer(window) { }; } -},{"../utils":11,"./getdisplaymedia":8,"./getusermedia":9}],8:[function(require,module,exports){ +},{"../utils":10,"./getdisplaymedia":7,"./getusermedia":8}],7:[function(require,module,exports){ /* * Copyright (c) 2018 The adapter.js project authors. All Rights Reserved. * @@ -1939,7 +1800,9 @@ function shimGetDisplayMedia(window, preferredMediaSource) { return Promise.reject(err); } if (constraints.video === true) { - constraints.video = { mediaSource: preferredMediaSource }; + constraints.video = { + mediaSource: preferredMediaSource + }; } else { constraints.video.mediaSource = preferredMediaSource; } @@ -1947,7 +1810,7 @@ function shimGetDisplayMedia(window, preferredMediaSource) { }; } -},{}],9:[function(require,module,exports){ +},{}],8:[function(require,module,exports){ /* * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. * @@ -1961,27 +1824,18 @@ function shimGetDisplayMedia(window, preferredMediaSource) { Object.defineProperty(exports, "__esModule", { value: true }); - -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - exports.shimGetUserMedia = shimGetUserMedia; - -var _utils = require('../utils'); - -var utils = _interopRequireWildcard(_utils); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - +var utils = _interopRequireWildcard(require("../utils")); +function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); } +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function shimGetUserMedia(window, browserDetails) { var navigator = window && window.navigator; var MediaStreamTrack = window && window.MediaStreamTrack; - navigator.getUserMedia = function (constraints, onSuccess, onError) { // Replace Firefox 44+'s deprecation warning with unprefixed version. utils.deprecated('navigator.getUserMedia', 'navigator.mediaDevices.getUserMedia'); navigator.mediaDevices.getUserMedia(constraints).then(onSuccess, onError); }; - if (!(browserDetails.version > 55 && 'autoGainControl' in navigator.mediaDevices.getSupportedConstraints())) { var remap = function remap(obj, a, b) { if (a in obj && !(b in obj)) { @@ -1989,17 +1843,15 @@ function shimGetUserMedia(window, browserDetails) { delete obj[a]; } }; - var nativeGetUserMedia = navigator.mediaDevices.getUserMedia.bind(navigator.mediaDevices); navigator.mediaDevices.getUserMedia = function (c) { - if ((typeof c === 'undefined' ? 'undefined' : _typeof(c)) === 'object' && _typeof(c.audio) === 'object') { + if (_typeof(c) === 'object' && _typeof(c.audio) === 'object') { c = JSON.parse(JSON.stringify(c)); remap(c.audio, 'autoGainControl', 'mozAutoGainControl'); remap(c.audio, 'noiseSuppression', 'mozNoiseSuppression'); } return nativeGetUserMedia(c); }; - if (MediaStreamTrack && MediaStreamTrack.prototype.getSettings) { var nativeGetSettings = MediaStreamTrack.prototype.getSettings; MediaStreamTrack.prototype.getSettings = function () { @@ -2009,11 +1861,10 @@ function shimGetUserMedia(window, browserDetails) { return obj; }; } - if (MediaStreamTrack && MediaStreamTrack.prototype.applyConstraints) { var nativeApplyConstraints = MediaStreamTrack.prototype.applyConstraints; MediaStreamTrack.prototype.applyConstraints = function (c) { - if (this.kind === 'audio' && (typeof c === 'undefined' ? 'undefined' : _typeof(c)) === 'object') { + if (this.kind === 'audio' && _typeof(c) === 'object') { c = JSON.parse(JSON.stringify(c)); remap(c, 'autoGainControl', 'mozAutoGainControl'); remap(c, 'noiseSuppression', 'mozNoiseSuppression'); @@ -2024,7 +1875,7 @@ function shimGetUserMedia(window, browserDetails) { } } -},{"../utils":11}],10:[function(require,module,exports){ +},{"../utils":10}],9:[function(require,module,exports){ /* * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. * @@ -2037,27 +1888,20 @@ function shimGetUserMedia(window, browserDetails) { Object.defineProperty(exports, "__esModule", { value: true }); - -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - -exports.shimLocalStreamsAPI = shimLocalStreamsAPI; -exports.shimRemoteStreamsAPI = shimRemoteStreamsAPI; +exports.shimAudioContext = shimAudioContext; exports.shimCallbacksAPI = shimCallbacksAPI; -exports.shimGetUserMedia = shimGetUserMedia; exports.shimConstraints = shimConstraints; +exports.shimCreateOfferLegacy = shimCreateOfferLegacy; +exports.shimGetUserMedia = shimGetUserMedia; +exports.shimLocalStreamsAPI = shimLocalStreamsAPI; exports.shimRTCIceServerUrls = shimRTCIceServerUrls; +exports.shimRemoteStreamsAPI = shimRemoteStreamsAPI; exports.shimTrackEventTransceiver = shimTrackEventTransceiver; -exports.shimCreateOfferLegacy = shimCreateOfferLegacy; -exports.shimAudioContext = shimAudioContext; - -var _utils = require('../utils'); - -var utils = _interopRequireWildcard(_utils); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - +var utils = _interopRequireWildcard(require("../utils")); +function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); } +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function shimLocalStreamsAPI(window) { - if ((typeof window === 'undefined' ? 'undefined' : _typeof(window)) !== 'object' || !window.RTCPeerConnection) { + if (_typeof(window) !== 'object' || !window.RTCPeerConnection) { return; } if (!('getLocalStreams' in window.RTCPeerConnection.prototype)) { @@ -2072,7 +1916,6 @@ function shimLocalStreamsAPI(window) { var _addTrack = window.RTCPeerConnection.prototype.addTrack; window.RTCPeerConnection.prototype.addStream = function addStream(stream) { var _this = this; - if (!this._localStreams) { this._localStreams = []; } @@ -2088,14 +1931,11 @@ function shimLocalStreamsAPI(window) { return _addTrack.call(_this, track, stream); }); }; - window.RTCPeerConnection.prototype.addTrack = function addTrack(track) { var _this2 = this; - - for (var _len = arguments.length, streams = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + for (var _len = arguments.length, streams = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { streams[_key - 1] = arguments[_key]; } - if (streams) { streams.forEach(function (stream) { if (!_this2._localStreams) { @@ -2111,7 +1951,6 @@ function shimLocalStreamsAPI(window) { if (!('removeStream' in window.RTCPeerConnection.prototype)) { window.RTCPeerConnection.prototype.removeStream = function removeStream(stream) { var _this3 = this; - if (!this._localStreams) { this._localStreams = []; } @@ -2129,9 +1968,8 @@ function shimLocalStreamsAPI(window) { }; } } - function shimRemoteStreamsAPI(window) { - if ((typeof window === 'undefined' ? 'undefined' : _typeof(window)) !== 'object' || !window.RTCPeerConnection) { + if (_typeof(window) !== 'object' || !window.RTCPeerConnection) { return; } if (!('getRemoteStreams' in window.RTCPeerConnection.prototype)) { @@ -2146,7 +1984,6 @@ function shimRemoteStreamsAPI(window) { }, set: function set(f) { var _this4 = this; - if (this._onaddstream) { this.removeEventListener('addstream', this._onaddstream); this.removeEventListener('track', this._onaddstreampoly); @@ -2191,9 +2028,8 @@ function shimRemoteStreamsAPI(window) { }; } } - function shimCallbacksAPI(window) { - if ((typeof window === 'undefined' ? 'undefined' : _typeof(window)) !== 'object' || !window.RTCPeerConnection) { + if (_typeof(window) !== 'object' || !window.RTCPeerConnection) { return; } var prototype = window.RTCPeerConnection.prototype; @@ -2202,7 +2038,6 @@ function shimCallbacksAPI(window) { var setLocalDescription = prototype.setLocalDescription; var setRemoteDescription = prototype.setRemoteDescription; var addIceCandidate = prototype.addIceCandidate; - prototype.createOffer = function createOffer(successCallback, failureCallback) { var options = arguments.length >= 2 ? arguments[2] : arguments[0]; var promise = origCreateOffer.apply(this, [options]); @@ -2212,7 +2047,6 @@ function shimCallbacksAPI(window) { promise.then(successCallback, failureCallback); return Promise.resolve(); }; - prototype.createAnswer = function createAnswer(successCallback, failureCallback) { var options = arguments.length >= 2 ? arguments[2] : arguments[0]; var promise = origCreateAnswer.apply(this, [options]); @@ -2222,7 +2056,6 @@ function shimCallbacksAPI(window) { promise.then(successCallback, failureCallback); return Promise.resolve(); }; - var withCallback = function withCallback(description, successCallback, failureCallback) { var promise = setLocalDescription.apply(this, [description]); if (!failureCallback) { @@ -2232,7 +2065,6 @@ function shimCallbacksAPI(window) { return Promise.resolve(); }; prototype.setLocalDescription = withCallback; - withCallback = function withCallback(description, successCallback, failureCallback) { var promise = setRemoteDescription.apply(this, [description]); if (!failureCallback) { @@ -2242,7 +2074,6 @@ function shimCallbacksAPI(window) { return Promise.resolve(); }; prototype.setRemoteDescription = withCallback; - withCallback = function withCallback(candidate, successCallback, failureCallback) { var promise = addIceCandidate.apply(this, [candidate]); if (!failureCallback) { @@ -2253,10 +2084,8 @@ function shimCallbacksAPI(window) { }; prototype.addIceCandidate = withCallback; } - function shimGetUserMedia(window) { var navigator = window && window.navigator; - if (navigator.mediaDevices && navigator.mediaDevices.getUserMedia) { // shim not needed in Safari 12.1 var mediaDevices = navigator.mediaDevices; @@ -2265,22 +2094,20 @@ function shimGetUserMedia(window) { return _getUserMedia(shimConstraints(constraints)); }; } - if (!navigator.getUserMedia && navigator.mediaDevices && navigator.mediaDevices.getUserMedia) { navigator.getUserMedia = function getUserMedia(constraints, cb, errcb) { navigator.mediaDevices.getUserMedia(constraints).then(cb, errcb); }.bind(navigator); } } - function shimConstraints(constraints) { if (constraints && constraints.video !== undefined) { - return Object.assign({}, constraints, { video: utils.compactObject(constraints.video) }); + return Object.assign({}, constraints, { + video: utils.compactObject(constraints.video) + }); } - return constraints; } - function shimRTCIceServerUrls(window) { if (!window.RTCPeerConnection) { return; @@ -2292,7 +2119,7 @@ function shimRTCIceServerUrls(window) { var newIceServers = []; for (var i = 0; i < pcConfig.iceServers.length; i++) { var server = pcConfig.iceServers[i]; - if (!server.hasOwnProperty('urls') && server.hasOwnProperty('url')) { + if (server.urls === undefined && server.url) { utils.deprecated('RTCIceServer.url', 'RTCIceServer.urls'); server = JSON.parse(JSON.stringify(server)); server.urls = server.url; @@ -2316,18 +2143,18 @@ function shimRTCIceServerUrls(window) { }); } } - function shimTrackEventTransceiver(window) { // Add event.transceiver member over deprecated event.receiver - if ((typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object' && window.RTCTrackEvent && 'receiver' in window.RTCTrackEvent.prototype && !('transceiver' in window.RTCTrackEvent.prototype)) { + if (_typeof(window) === 'object' && window.RTCTrackEvent && 'receiver' in window.RTCTrackEvent.prototype && !('transceiver' in window.RTCTrackEvent.prototype)) { Object.defineProperty(window.RTCTrackEvent.prototype, 'transceiver', { get: function get() { - return { receiver: this.receiver }; + return { + receiver: this.receiver + }; } }); } } - function shimCreateOfferLegacy(window) { var origCreateOffer = window.RTCPeerConnection.prototype.createOffer; window.RTCPeerConnection.prototype.createOffer = function createOffer(offerOptions) { @@ -2354,9 +2181,10 @@ function shimCreateOfferLegacy(window) { } } } else if (offerOptions.offerToReceiveAudio === true && !audioTransceiver) { - this.addTransceiver('audio'); + this.addTransceiver('audio', { + direction: 'recvonly' + }); } - if (typeof offerOptions.offerToReceiveVideo !== 'undefined') { // support bit values offerOptions.offerToReceiveVideo = !!offerOptions.offerToReceiveVideo; @@ -2379,21 +2207,22 @@ function shimCreateOfferLegacy(window) { } } } else if (offerOptions.offerToReceiveVideo === true && !videoTransceiver) { - this.addTransceiver('video'); + this.addTransceiver('video', { + direction: 'recvonly' + }); } } return origCreateOffer.apply(this, arguments); }; } - function shimAudioContext(window) { - if ((typeof window === 'undefined' ? 'undefined' : _typeof(window)) !== 'object' || window.AudioContext) { + if (_typeof(window) !== 'object' || window.AudioContext) { return; } window.AudioContext = window.webkitAudioContext; } -},{"../utils":11}],11:[function(require,module,exports){ +},{"../utils":10}],10:[function(require,module,exports){ /* * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. * @@ -2407,22 +2236,20 @@ function shimAudioContext(window) { Object.defineProperty(exports, "__esModule", { value: true }); - -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - -exports.extractVersion = extractVersion; -exports.wrapPeerConnectionEvent = wrapPeerConnectionEvent; +exports.compactObject = compactObject; +exports.deprecated = deprecated; +exports.detectBrowser = detectBrowser; exports.disableLog = disableLog; exports.disableWarnings = disableWarnings; +exports.extractVersion = extractVersion; +exports.filterStats = filterStats; exports.log = log; -exports.deprecated = deprecated; -exports.detectBrowser = detectBrowser; -exports.compactObject = compactObject; exports.walkStats = walkStats; -exports.filterStats = filterStats; - -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } - +exports.wrapPeerConnectionEvent = wrapPeerConnectionEvent; +function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } var logDisabled_ = true; var deprecationWarnings_ = true; @@ -2436,7 +2263,7 @@ var deprecationWarnings_ = true; */ function extractVersion(uastring, expr, pos) { var match = uastring.match(expr); - return match && match.length >= pos && parseInt(match[pos], 10); + return match && match.length >= pos && parseFloat(match[pos], 10); } // Wraps the peerconnection event eventNameToWrap in a function @@ -2446,6 +2273,11 @@ function wrapPeerConnectionEvent(window, eventNameToWrap, wrapper) { if (!window.RTCPeerConnection) { return; } + var addEventListener = Object.getOwnPropertyDescriptor(EventTarget.prototype, 'addEventListener'); + if (!addEventListener.writable) { + log('Unable to polyfill events'); + return; + } var proto = window.RTCPeerConnection.prototype; var nativeAddEventListener = proto.addEventListener; proto.addEventListener = function (nativeEventName, cb) { @@ -2469,7 +2301,6 @@ function wrapPeerConnectionEvent(window, eventNameToWrap, wrapper) { this._eventMap[eventNameToWrap].set(cb, wrappedCallback); return nativeAddEventListener.apply(this, [nativeEventName, wrappedCallback]); }; - var nativeRemoveEventListener = proto.removeEventListener; proto.removeEventListener = function (nativeEventName, cb) { if (nativeEventName !== eventNameToWrap || !this._eventMap || !this._eventMap[eventNameToWrap]) { @@ -2479,7 +2310,7 @@ function wrapPeerConnectionEvent(window, eventNameToWrap, wrapper) { return nativeRemoveEventListener.apply(this, arguments); } var unwrappedCb = this._eventMap[eventNameToWrap].get(cb); - this._eventMap[eventNameToWrap].delete(cb); + this._eventMap[eventNameToWrap]["delete"](cb); if (this._eventMap[eventNameToWrap].size === 0) { delete this._eventMap[eventNameToWrap]; } @@ -2488,7 +2319,6 @@ function wrapPeerConnectionEvent(window, eventNameToWrap, wrapper) { } return nativeRemoveEventListener.apply(this, [nativeEventName, unwrappedCb]); }; - Object.defineProperty(proto, 'on' + eventNameToWrap, { get: function get() { return this['_on' + eventNameToWrap]; @@ -2502,15 +2332,13 @@ function wrapPeerConnectionEvent(window, eventNameToWrap, wrapper) { this.addEventListener(eventNameToWrap, this['_on' + eventNameToWrap] = cb); } }, - enumerable: true, configurable: true }); } - function disableLog(bool) { if (typeof bool !== 'boolean') { - return new Error('Argument type: ' + (typeof bool === 'undefined' ? 'undefined' : _typeof(bool)) + '. Please use a boolean.'); + return new Error('Argument type: ' + _typeof(bool) + '. Please use a boolean.'); } logDisabled_ = bool; return bool ? 'adapter.js logging disabled' : 'adapter.js logging enabled'; @@ -2522,14 +2350,13 @@ function disableLog(bool) { */ function disableWarnings(bool) { if (typeof bool !== 'boolean') { - return new Error('Argument type: ' + (typeof bool === 'undefined' ? 'undefined' : _typeof(bool)) + '. Please use a boolean.'); + return new Error('Argument type: ' + _typeof(bool) + '. Please use a boolean.'); } deprecationWarnings_ = !bool; return 'adapter.js deprecation warnings ' + (bool ? 'disabled' : 'enabled'); } - function log() { - if ((typeof window === 'undefined' ? 'undefined' : _typeof(window)) === 'object') { + if ((typeof window === "undefined" ? "undefined" : _typeof(window)) === 'object') { if (logDisabled_) { return; } @@ -2557,39 +2384,53 @@ function deprecated(oldMethod, newMethod) { */ function detectBrowser(window) { // Returned result object. - var result = { browser: null, version: null }; + var result = { + browser: null, + version: null + }; // Fail early if it's not a browser - if (typeof window === 'undefined' || !window.navigator) { + if (typeof window === 'undefined' || !window.navigator || !window.navigator.userAgent) { result.browser = 'Not a browser.'; return result; } - var navigator = window.navigator; - + // Prefer navigator.userAgentData. + if (navigator.userAgentData && navigator.userAgentData.brands) { + var chromium = navigator.userAgentData.brands.find(function (brand) { + return brand.brand === 'Chromium'; + }); + if (chromium) { + return { + browser: 'chrome', + version: parseInt(chromium.version, 10) + }; + } + } if (navigator.mozGetUserMedia) { // Firefox. result.browser = 'firefox'; - result.version = extractVersion(navigator.userAgent, /Firefox\/(\d+)\./, 1); - } else if (navigator.webkitGetUserMedia || window.isSecureContext === false && window.webkitRTCPeerConnection && !window.RTCIceGatherer) { + result.version = parseInt(extractVersion(navigator.userAgent, /Firefox\/(\d+)\./, 1)); + } else if (navigator.webkitGetUserMedia || window.isSecureContext === false && window.webkitRTCPeerConnection) { // Chrome, Chromium, Webview, Opera. // Version matches Chrome/WebRTC version. // Chrome 74 removed webkitGetUserMedia on http as well so we need the // more complicated fallback to webkitRTCPeerConnection. result.browser = 'chrome'; - result.version = extractVersion(navigator.userAgent, /Chrom(e|ium)\/(\d+)\./, 2); + result.version = parseInt(extractVersion(navigator.userAgent, /Chrom(e|ium)\/(\d+)\./, 2)) || null; } else if (window.RTCPeerConnection && navigator.userAgent.match(/AppleWebKit\/(\d+)\./)) { // Safari. result.browser = 'safari'; - result.version = extractVersion(navigator.userAgent, /AppleWebKit\/(\d+)\./, 1); + result.version = parseInt(extractVersion(navigator.userAgent, /AppleWebKit\/(\d+)\./, 1)); result.supportsUnifiedPlan = window.RTCRtpTransceiver && 'currentDirection' in window.RTCRtpTransceiver.prototype; + // Only for internal usage. + result._safariVersion = extractVersion(navigator.userAgent, /Version\/(\d+(\.?\d+))/, 1); } else { // Default fallthrough: not supported. result.browser = 'Not a supported browser.'; return result; } - return result; } @@ -2612,7 +2453,6 @@ function compactObject(data) { if (!isObject(data)) { return data; } - return Object.keys(data).reduce(function (accumulator, key) { var isObj = isObject(data[key]); var value = isObj ? compactObject(data[key]) : data[key]; @@ -2664,20 +2504,18 @@ function filterStats(result, track, outbound) { return filteredResult; } -},{}],12:[function(require,module,exports){ +},{}],11:[function(require,module,exports){ /* eslint-env node */ 'use strict'; // SDP helpers. -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - -var SDPUtils = {}; +const SDPUtils = {}; // Generate an alphanumeric identifier for cname or mids. // TODO: use UUIDs instead? https://gist.github.com/jed/982883 SDPUtils.generateIdentifier = function () { - return Math.random().toString(36).substr(2, 10); + return Math.random().toString(36).substring(2, 12); }; // The RTCP CNAME used by all peerconnections from the same JS. @@ -2685,43 +2523,38 @@ SDPUtils.localCName = SDPUtils.generateIdentifier(); // Splits SDP into lines, dealing with both CRLF and LF. SDPUtils.splitLines = function (blob) { - return blob.trim().split('\n').map(function (line) { - return line.trim(); - }); + return blob.trim().split('\n').map(line => line.trim()); }; // Splits SDP into sessionpart and mediasections. Ensures CRLF. SDPUtils.splitSections = function (blob) { - var parts = blob.split('\nm='); - return parts.map(function (part, index) { - return (index > 0 ? 'm=' + part : part).trim() + '\r\n'; - }); + const parts = blob.split('\nm='); + return parts.map((part, index) => (index > 0 ? 'm=' + part : part).trim() + '\r\n'); }; -// returns the session description. +// Returns the session description. SDPUtils.getDescription = function (blob) { - var sections = SDPUtils.splitSections(blob); + const sections = SDPUtils.splitSections(blob); return sections && sections[0]; }; -// returns the individual media sections. +// Returns the individual media sections. SDPUtils.getMediaSections = function (blob) { - var sections = SDPUtils.splitSections(blob); + const sections = SDPUtils.splitSections(blob); sections.shift(); return sections; }; // Returns lines that start with a certain prefix. SDPUtils.matchPrefix = function (blob, prefix) { - return SDPUtils.splitLines(blob).filter(function (line) { - return line.indexOf(prefix) === 0; - }); + return SDPUtils.splitLines(blob).filter(line => line.indexOf(prefix) === 0); }; // Parses an ICE candidate line. Sample input: // candidate:702786350 2 udp 41819902 8.8.8.8 60769 typ relay raddr 8.8.8.8 // rport 55996" +// Input can be prefixed with a=. SDPUtils.parseCandidate = function (line) { - var parts = void 0; + let parts; // Parse both variants. if (line.indexOf('a=candidate:') === 0) { parts = line.substring(12).split(' '); @@ -2729,9 +2562,9 @@ SDPUtils.parseCandidate = function (line) { parts = line.substring(10).split(' '); } - var candidate = { + const candidate = { foundation: parts[0], - component: { 1: 'rtp', 2: 'rtcp' }[parts[1]], + component: { 1: 'rtp', 2: 'rtcp' }[parts[1]] || parts[1], protocol: parts[2].toLowerCase(), priority: parseInt(parts[3], 10), ip: parts[4], @@ -2741,7 +2574,7 @@ SDPUtils.parseCandidate = function (line) { type: parts[7] }; - for (var i = 8; i < parts.length; i += 2) { + for (let i = 8; i < parts.length; i += 2) { switch (parts[i]) { case 'raddr': candidate.relatedAddress = parts[i + 1]; @@ -2768,11 +2601,12 @@ SDPUtils.parseCandidate = function (line) { }; // Translates a candidate object into SDP candidate attribute. +// This does not include the a= prefix! SDPUtils.writeCandidate = function (candidate) { - var sdp = []; + const sdp = []; sdp.push(candidate.foundation); - var component = candidate.component; + const component = candidate.component; if (component === 'rtp') { sdp.push(1); } else if (component === 'rtcp') { @@ -2785,10 +2619,10 @@ SDPUtils.writeCandidate = function (candidate) { sdp.push(candidate.address || candidate.ip); sdp.push(candidate.port); - var type = candidate.type; + const type = candidate.type; sdp.push('typ'); sdp.push(type); - if (type !== 'host' && candidate.relatedAddress && candidate.relatedPort) { + if (type !== 'host' && candidate.relatedAddress && candidate.relatedPort !== undefined) { sdp.push('raddr'); sdp.push(candidate.relatedAddress); sdp.push('rport'); @@ -2806,16 +2640,17 @@ SDPUtils.writeCandidate = function (candidate) { }; // Parses an ice-options line, returns an array of option tags. +// Sample input: // a=ice-options:foo bar SDPUtils.parseIceOptions = function (line) { - return line.substr(14).split(' '); + return line.substring(14).split(' '); }; -// Parses an rtpmap line, returns RTCRtpCoddecParameters. Sample input: +// Parses a rtpmap line, returns RTCRtpCoddecParameters. Sample input: // a=rtpmap:111 opus/48000/2 SDPUtils.parseRtpMap = function (line) { - var parts = line.substr(9).split(' '); - var parsed = { + let parts = line.substring(9).split(' '); + const parsed = { payloadType: parseInt(parts.shift(), 10) // was: id }; @@ -2829,60 +2664,63 @@ SDPUtils.parseRtpMap = function (line) { return parsed; }; -// Generate an a=rtpmap line from RTCRtpCodecCapability or +// Generates a rtpmap line from RTCRtpCodecCapability or // RTCRtpCodecParameters. SDPUtils.writeRtpMap = function (codec) { - var pt = codec.payloadType; + let pt = codec.payloadType; if (codec.preferredPayloadType !== undefined) { pt = codec.preferredPayloadType; } - var channels = codec.channels || codec.numChannels || 1; + const channels = codec.channels || codec.numChannels || 1; return 'a=rtpmap:' + pt + ' ' + codec.name + '/' + codec.clockRate + (channels !== 1 ? '/' + channels : '') + '\r\n'; }; -// Parses an a=extmap line (headerextension from RFC 5285). Sample input: +// Parses a extmap line (headerextension from RFC 5285). Sample input: // a=extmap:2 urn:ietf:params:rtp-hdrext:toffset // a=extmap:2/sendonly urn:ietf:params:rtp-hdrext:toffset SDPUtils.parseExtmap = function (line) { - var parts = line.substr(9).split(' '); + const parts = line.substring(9).split(' '); return { id: parseInt(parts[0], 10), direction: parts[0].indexOf('/') > 0 ? parts[0].split('/')[1] : 'sendrecv', - uri: parts[1] + uri: parts[1], + attributes: parts.slice(2).join(' ') }; }; -// Generates a=extmap line from RTCRtpHeaderExtensionParameters or +// Generates an extmap line from RTCRtpHeaderExtensionParameters or // RTCRtpHeaderExtension. SDPUtils.writeExtmap = function (headerExtension) { - return 'a=extmap:' + (headerExtension.id || headerExtension.preferredId) + (headerExtension.direction && headerExtension.direction !== 'sendrecv' ? '/' + headerExtension.direction : '') + ' ' + headerExtension.uri + '\r\n'; + return 'a=extmap:' + (headerExtension.id || headerExtension.preferredId) + (headerExtension.direction && headerExtension.direction !== 'sendrecv' ? '/' + headerExtension.direction : '') + ' ' + headerExtension.uri + (headerExtension.attributes ? ' ' + headerExtension.attributes : '') + '\r\n'; }; -// Parses an ftmp line, returns dictionary. Sample input: +// Parses a fmtp line, returns dictionary. Sample input: // a=fmtp:96 vbr=on;cng=on // Also deals with vbr=on; cng=on +// Non-key-value such as telephone-events `0-15` get parsed as +// {`0-15`:undefined} SDPUtils.parseFmtp = function (line) { - var parsed = {}; - var kv = void 0; - var parts = line.substr(line.indexOf(' ') + 1).split(';'); - for (var j = 0; j < parts.length; j++) { + const parsed = {}; + let kv; + const parts = line.substring(line.indexOf(' ') + 1).split(';'); + for (let j = 0; j < parts.length; j++) { kv = parts[j].trim().split('='); parsed[kv[0].trim()] = kv[1]; } return parsed; }; -// Generates an a=ftmp line from RTCRtpCodecCapability or RTCRtpCodecParameters. +// Generates a fmtp line from RTCRtpCodecCapability or RTCRtpCodecParameters. SDPUtils.writeFmtp = function (codec) { - var line = ''; - var pt = codec.payloadType; + let line = ''; + let pt = codec.payloadType; if (codec.preferredPayloadType !== undefined) { pt = codec.preferredPayloadType; } if (codec.parameters && Object.keys(codec.parameters).length) { - var params = []; - Object.keys(codec.parameters).forEach(function (param) { - if (codec.parameters[param]) { + const params = []; + Object.keys(codec.parameters).forEach(param => { + if (codec.parameters[param] !== undefined) { params.push(param + '=' + codec.parameters[param]); } else { params.push(param); @@ -2893,72 +2731,74 @@ SDPUtils.writeFmtp = function (codec) { return line; }; -// Parses an rtcp-fb line, returns RTCPRtcpFeedback object. Sample input: +// Parses a rtcp-fb line, returns RTCPRtcpFeedback object. Sample input: // a=rtcp-fb:98 nack rpsi SDPUtils.parseRtcpFb = function (line) { - var parts = line.substr(line.indexOf(' ') + 1).split(' '); + const parts = line.substring(line.indexOf(' ') + 1).split(' '); return { type: parts.shift(), parameter: parts.join(' ') }; }; + // Generate a=rtcp-fb lines from RTCRtpCodecCapability or RTCRtpCodecParameters. SDPUtils.writeRtcpFb = function (codec) { - var lines = ''; - var pt = codec.payloadType; + let lines = ''; + let pt = codec.payloadType; if (codec.preferredPayloadType !== undefined) { pt = codec.preferredPayloadType; } if (codec.rtcpFeedback && codec.rtcpFeedback.length) { // FIXME: special handling for trr-int? - codec.rtcpFeedback.forEach(function (fb) { + codec.rtcpFeedback.forEach(fb => { lines += 'a=rtcp-fb:' + pt + ' ' + fb.type + (fb.parameter && fb.parameter.length ? ' ' + fb.parameter : '') + '\r\n'; }); } return lines; }; -// Parses an RFC 5576 ssrc media attribute. Sample input: +// Parses a RFC 5576 ssrc media attribute. Sample input: // a=ssrc:3735928559 cname:something SDPUtils.parseSsrcMedia = function (line) { - var sp = line.indexOf(' '); - var parts = { - ssrc: parseInt(line.substr(7, sp - 7), 10) + const sp = line.indexOf(' '); + const parts = { + ssrc: parseInt(line.substring(7, sp), 10) }; - var colon = line.indexOf(':', sp); + const colon = line.indexOf(':', sp); if (colon > -1) { - parts.attribute = line.substr(sp + 1, colon - sp - 1); - parts.value = line.substr(colon + 1); + parts.attribute = line.substring(sp + 1, colon); + parts.value = line.substring(colon + 1); } else { - parts.attribute = line.substr(sp + 1); + parts.attribute = line.substring(sp + 1); } return parts; }; +// Parse a ssrc-group line (see RFC 5576). Sample input: +// a=ssrc-group:semantics 12 34 SDPUtils.parseSsrcGroup = function (line) { - var parts = line.substr(13).split(' '); + const parts = line.substring(13).split(' '); return { semantics: parts.shift(), - ssrcs: parts.map(function (ssrc) { - return parseInt(ssrc, 10); - }) + ssrcs: parts.map(ssrc => parseInt(ssrc, 10)) }; }; // Extracts the MID (RFC 5888) from a media section. -// returns the MID or undefined if no mid line was found. +// Returns the MID or undefined if no mid line was found. SDPUtils.getMid = function (mediaSection) { - var mid = SDPUtils.matchPrefix(mediaSection, 'a=mid:')[0]; + const mid = SDPUtils.matchPrefix(mediaSection, 'a=mid:')[0]; if (mid) { - return mid.substr(6); + return mid.substring(6); } }; +// Parses a fingerprint line for DTLS-SRTP. SDPUtils.parseFingerprint = function (line) { - var parts = line.substr(14).split(' '); + const parts = line.substring(14).split(' '); return { algorithm: parts[0].toLowerCase(), // algorithm is case-sensitive in Edge. - value: parts[1] + value: parts[1].toUpperCase() // the definition is upper-case in RFC 4572. }; }; @@ -2966,9 +2806,8 @@ SDPUtils.parseFingerprint = function (line) { // FIXME: for consistency with other functions this should only // get the fingerprint line as input. See also getIceParameters. SDPUtils.getDtlsParameters = function (mediaSection, sessionpart) { - var lines = SDPUtils.matchPrefix(mediaSection + sessionpart, 'a=fingerprint:'); - // Note: a=setup line is ignored since we use the 'auto' role. - // Note2: 'algorithm' is not case sensitive except in Edge. + const lines = SDPUtils.matchPrefix(mediaSection + sessionpart, 'a=fingerprint:'); + // Note: a=setup line is ignored since we use the 'auto' role in Edge. return { role: 'auto', fingerprints: lines.map(SDPUtils.parseFingerprint) @@ -2977,8 +2816,8 @@ SDPUtils.getDtlsParameters = function (mediaSection, sessionpart) { // Serializes DTLS parameters to SDP. SDPUtils.writeDtlsParameters = function (params, setupType) { - var sdp = 'a=setup:' + setupType + '\r\n'; - params.fingerprints.forEach(function (fp) { + let sdp = 'a=setup:' + setupType + '\r\n'; + params.fingerprints.forEach(fp => { sdp += 'a=fingerprint:' + fp.algorithm + ' ' + fp.value + '\r\n'; }); return sdp; @@ -2987,7 +2826,7 @@ SDPUtils.writeDtlsParameters = function (params, setupType) { // Parses a=crypto lines into // https://rawgit.com/aboba/edgertc/master/msortc-rs4.html#dictionary-rtcsrtpsdesparameters-members SDPUtils.parseCryptoLine = function (line) { - var parts = line.substr(9).split(' '); + const parts = line.substring(9).split(' '); return { tag: parseInt(parts[0], 10), cryptoSuite: parts[1], @@ -2997,7 +2836,7 @@ SDPUtils.parseCryptoLine = function (line) { }; SDPUtils.writeCryptoLine = function (parameters) { - return 'a=crypto:' + parameters.tag + ' ' + parameters.cryptoSuite + ' ' + (_typeof(parameters.keyParams) === 'object' ? SDPUtils.writeCryptoKeyParams(parameters.keyParams) : parameters.keyParams) + (parameters.sessionParams ? ' ' + parameters.sessionParams.join(' ') : '') + '\r\n'; + return 'a=crypto:' + parameters.tag + ' ' + parameters.cryptoSuite + ' ' + (typeof parameters.keyParams === 'object' ? SDPUtils.writeCryptoKeyParams(parameters.keyParams) : parameters.keyParams) + (parameters.sessionParams ? ' ' + parameters.sessionParams.join(' ') : '') + '\r\n'; }; // Parses the crypto key parameters into @@ -3006,7 +2845,7 @@ SDPUtils.parseCryptoKeyParams = function (keyParams) { if (keyParams.indexOf('inline:') !== 0) { return null; } - var parts = keyParams.substr(7).split('|'); + const parts = keyParams.substring(7).split('|'); return { keyMethod: 'inline', keySalt: parts[0], @@ -3022,7 +2861,7 @@ SDPUtils.writeCryptoKeyParams = function (keyParams) { // Extracts all SDES parameters. SDPUtils.getCryptoParameters = function (mediaSection, sessionpart) { - var lines = SDPUtils.matchPrefix(mediaSection + sessionpart, 'a=crypto:'); + const lines = SDPUtils.matchPrefix(mediaSection + sessionpart, 'a=crypto:'); return lines.map(SDPUtils.parseCryptoLine); }; @@ -3030,20 +2869,20 @@ SDPUtils.getCryptoParameters = function (mediaSection, sessionpart) { // FIXME: for consistency with other functions this should only // get the ice-ufrag and ice-pwd lines as input. SDPUtils.getIceParameters = function (mediaSection, sessionpart) { - var ufrag = SDPUtils.matchPrefix(mediaSection + sessionpart, 'a=ice-ufrag:')[0]; - var pwd = SDPUtils.matchPrefix(mediaSection + sessionpart, 'a=ice-pwd:')[0]; + const ufrag = SDPUtils.matchPrefix(mediaSection + sessionpart, 'a=ice-ufrag:')[0]; + const pwd = SDPUtils.matchPrefix(mediaSection + sessionpart, 'a=ice-pwd:')[0]; if (!(ufrag && pwd)) { return null; } return { - usernameFragment: ufrag.substr(12), - password: pwd.substr(10) + usernameFragment: ufrag.substring(12), + password: pwd.substring(10) }; }; // Serializes ICE parameters to SDP. SDPUtils.writeIceParameters = function (params) { - var sdp = 'a=ice-ufrag:' + params.usernameFragment + '\r\n' + 'a=ice-pwd:' + params.password + '\r\n'; + let sdp = 'a=ice-ufrag:' + params.usernameFragment + '\r\n' + 'a=ice-pwd:' + params.password + '\r\n'; if (params.iceLite) { sdp += 'a=ice-lite\r\n'; } @@ -3052,21 +2891,22 @@ SDPUtils.writeIceParameters = function (params) { // Parses the SDP media section and returns RTCRtpParameters. SDPUtils.parseRtpParameters = function (mediaSection) { - var description = { + const description = { codecs: [], headerExtensions: [], fecMechanisms: [], rtcp: [] }; - var lines = SDPUtils.splitLines(mediaSection); - var mline = lines[0].split(' '); - for (var i = 3; i < mline.length; i++) { + const lines = SDPUtils.splitLines(mediaSection); + const mline = lines[0].split(' '); + description.profile = mline[2]; + for (let i = 3; i < mline.length; i++) { // find all codecs from mline[3..] - var pt = mline[i]; - var rtpmapline = SDPUtils.matchPrefix(mediaSection, 'a=rtpmap:' + pt + ' ')[0]; + const pt = mline[i]; + const rtpmapline = SDPUtils.matchPrefix(mediaSection, 'a=rtpmap:' + pt + ' ')[0]; if (rtpmapline) { - var codec = SDPUtils.parseRtpMap(rtpmapline); - var fmtps = SDPUtils.matchPrefix(mediaSection, 'a=fmtp:' + pt + ' '); + const codec = SDPUtils.parseRtpMap(rtpmapline); + const fmtps = SDPUtils.matchPrefix(mediaSection, 'a=fmtp:' + pt + ' '); // Only the first a=fmtp: is considered. codec.parameters = fmtps.length ? SDPUtils.parseFmtp(fmtps[0]) : {}; codec.rtcpFeedback = SDPUtils.matchPrefix(mediaSection, 'a=rtcp-fb:' + pt + ' ').map(SDPUtils.parseRtcpFb); @@ -3083,9 +2923,20 @@ SDPUtils.parseRtpParameters = function (mediaSection) { } } } - SDPUtils.matchPrefix(mediaSection, 'a=extmap:').forEach(function (line) { + SDPUtils.matchPrefix(mediaSection, 'a=extmap:').forEach(line => { description.headerExtensions.push(SDPUtils.parseExtmap(line)); }); + const wildcardRtcpFb = SDPUtils.matchPrefix(mediaSection, 'a=rtcp-fb:* ').map(SDPUtils.parseRtcpFb); + description.codecs.forEach(codec => { + wildcardRtcpFb.forEach(fb => { + const duplicate = codec.rtcpFeedback.find(existingFeedback => { + return existingFeedback.type === fb.type && existingFeedback.parameter === fb.parameter; + }); + if (!duplicate) { + codec.rtcpFeedback.push(fb); + } + }); + }); // FIXME: parse rtcp. return description; }; @@ -3093,13 +2944,13 @@ SDPUtils.parseRtpParameters = function (mediaSection) { // Generates parts of the SDP media section describing the capabilities / // parameters. SDPUtils.writeRtpDescription = function (kind, caps) { - var sdp = ''; + let sdp = ''; // Build the mline. sdp += 'm=' + kind + ' '; sdp += caps.codecs.length > 0 ? '9' : '0'; // reject if no codecs. - sdp += ' UDP/TLS/RTP/SAVPF '; - sdp += caps.codecs.map(function (codec) { + sdp += ' ' + (caps.profile || 'UDP/TLS/RTP/SAVPF') + ' '; + sdp += caps.codecs.map(codec => { if (codec.preferredPayloadType !== undefined) { return codec.preferredPayloadType; } @@ -3110,13 +2961,13 @@ SDPUtils.writeRtpDescription = function (kind, caps) { sdp += 'a=rtcp:9 IN IP4 0.0.0.0\r\n'; // Add a=rtpmap lines for each codec. Also fmtp and rtcp-fb. - caps.codecs.forEach(function (codec) { + caps.codecs.forEach(codec => { sdp += SDPUtils.writeRtpMap(codec); sdp += SDPUtils.writeFmtp(codec); sdp += SDPUtils.writeRtcpFb(codec); }); - var maxptime = 0; - caps.codecs.forEach(function (codec) { + let maxptime = 0; + caps.codecs.forEach(codec => { if (codec.maxptime > maxptime) { maxptime = codec.maxptime; } @@ -3126,7 +2977,7 @@ SDPUtils.writeRtpDescription = function (kind, caps) { } if (caps.headerExtensions) { - caps.headerExtensions.forEach(function (extension) { + caps.headerExtensions.forEach(extension => { sdp += SDPUtils.writeExtmap(extension); }); } @@ -3137,33 +2988,27 @@ SDPUtils.writeRtpDescription = function (kind, caps) { // Parses the SDP media section and returns an array of // RTCRtpEncodingParameters. SDPUtils.parseRtpEncodingParameters = function (mediaSection) { - var encodingParameters = []; - var description = SDPUtils.parseRtpParameters(mediaSection); - var hasRed = description.fecMechanisms.indexOf('RED') !== -1; - var hasUlpfec = description.fecMechanisms.indexOf('ULPFEC') !== -1; + const encodingParameters = []; + const description = SDPUtils.parseRtpParameters(mediaSection); + const hasRed = description.fecMechanisms.indexOf('RED') !== -1; + const hasUlpfec = description.fecMechanisms.indexOf('ULPFEC') !== -1; // filter a=ssrc:... cname:, ignore PlanB-msid - var ssrcs = SDPUtils.matchPrefix(mediaSection, 'a=ssrc:').map(function (line) { - return SDPUtils.parseSsrcMedia(line); - }).filter(function (parts) { - return parts.attribute === 'cname'; - }); - var primarySsrc = ssrcs.length > 0 && ssrcs[0].ssrc; - var secondarySsrc = void 0; + const ssrcs = SDPUtils.matchPrefix(mediaSection, 'a=ssrc:').map(line => SDPUtils.parseSsrcMedia(line)).filter(parts => parts.attribute === 'cname'); + const primarySsrc = ssrcs.length > 0 && ssrcs[0].ssrc; + let secondarySsrc; - var flows = SDPUtils.matchPrefix(mediaSection, 'a=ssrc-group:FID').map(function (line) { - var parts = line.substr(17).split(' '); - return parts.map(function (part) { - return parseInt(part, 10); - }); + const flows = SDPUtils.matchPrefix(mediaSection, 'a=ssrc-group:FID').map(line => { + const parts = line.substring(17).split(' '); + return parts.map(part => parseInt(part, 10)); }); if (flows.length > 0 && flows[0].length > 1 && flows[0][0] === primarySsrc) { secondarySsrc = flows[0][1]; } - description.codecs.forEach(function (codec) { + description.codecs.forEach(codec => { if (codec.name.toUpperCase() === 'RTX' && codec.parameters.apt) { - var encParam = { + let encParam = { ssrc: primarySsrc, codecPayloadType: parseInt(codec.parameters.apt, 10) }; @@ -3188,17 +3033,17 @@ SDPUtils.parseRtpEncodingParameters = function (mediaSection) { } // we support both b=AS and b=TIAS but interpret AS as TIAS. - var bandwidth = SDPUtils.matchPrefix(mediaSection, 'b='); + let bandwidth = SDPUtils.matchPrefix(mediaSection, 'b='); if (bandwidth.length) { if (bandwidth[0].indexOf('b=TIAS:') === 0) { - bandwidth = parseInt(bandwidth[0].substr(7), 10); + bandwidth = parseInt(bandwidth[0].substring(7), 10); } else if (bandwidth[0].indexOf('b=AS:') === 0) { // use formula from JSEP to convert b=AS to TIAS value. - bandwidth = parseInt(bandwidth[0].substr(5), 10) * 1000 * 0.95 - 50 * 40 * 8; + bandwidth = parseInt(bandwidth[0].substring(5), 10) * 1000 * 0.95 - 50 * 40 * 8; } else { bandwidth = undefined; } - encodingParameters.forEach(function (params) { + encodingParameters.forEach(params => { params.maxBitrate = bandwidth; }); } @@ -3207,15 +3052,11 @@ SDPUtils.parseRtpEncodingParameters = function (mediaSection) { // parses http://draft.ortc.org/#rtcrtcpparameters* SDPUtils.parseRtcpParameters = function (mediaSection) { - var rtcpParameters = {}; + const rtcpParameters = {}; // Gets the first SSRC. Note that with RTX there might be multiple // SSRCs. - var remoteSsrc = SDPUtils.matchPrefix(mediaSection, 'a=ssrc:').map(function (line) { - return SDPUtils.parseSsrcMedia(line); - }).filter(function (obj) { - return obj.attribute === 'cname'; - })[0]; + const remoteSsrc = SDPUtils.matchPrefix(mediaSection, 'a=ssrc:').map(line => SDPUtils.parseSsrcMedia(line)).filter(obj => obj.attribute === 'cname')[0]; if (remoteSsrc) { rtcpParameters.cname = remoteSsrc.value; rtcpParameters.ssrc = remoteSsrc.ssrc; @@ -3223,20 +3064,20 @@ SDPUtils.parseRtcpParameters = function (mediaSection) { // Edge uses the compound attribute instead of reducedSize // compound is !reducedSize - var rsize = SDPUtils.matchPrefix(mediaSection, 'a=rtcp-rsize'); + const rsize = SDPUtils.matchPrefix(mediaSection, 'a=rtcp-rsize'); rtcpParameters.reducedSize = rsize.length > 0; rtcpParameters.compound = rsize.length === 0; // parses the rtcp-mux attrÑ–bute. // Note that Edge does not support unmuxed RTCP. - var mux = SDPUtils.matchPrefix(mediaSection, 'a=rtcp-mux'); + const mux = SDPUtils.matchPrefix(mediaSection, 'a=rtcp-mux'); rtcpParameters.mux = mux.length > 0; return rtcpParameters; }; SDPUtils.writeRtcpParameters = function (rtcpParameters) { - var sdp = ''; + let sdp = ''; if (rtcpParameters.reducedSize) { sdp += 'a=rtcp-rsize\r\n'; } @@ -3252,17 +3093,13 @@ SDPUtils.writeRtcpParameters = function (rtcpParameters) { // parses either a=msid: or a=ssrc:... msid lines and returns // the id of the MediaStream and MediaStreamTrack. SDPUtils.parseMsid = function (mediaSection) { - var parts = void 0; - var spec = SDPUtils.matchPrefix(mediaSection, 'a=msid:'); + let parts; + const spec = SDPUtils.matchPrefix(mediaSection, 'a=msid:'); if (spec.length === 1) { - parts = spec[0].substr(7).split(' '); + parts = spec[0].substring(7).split(' '); return { stream: parts[0], track: parts[1] }; } - var planB = SDPUtils.matchPrefix(mediaSection, 'a=ssrc:').map(function (line) { - return SDPUtils.parseSsrcMedia(line); - }).filter(function (msidParts) { - return msidParts.attribute === 'msid'; - }); + const planB = SDPUtils.matchPrefix(mediaSection, 'a=ssrc:').map(line => SDPUtils.parseSsrcMedia(line)).filter(msidParts => msidParts.attribute === 'msid'); if (planB.length > 0) { parts = planB[0].value.split(' '); return { stream: parts[0], track: parts[1] }; @@ -3273,30 +3110,30 @@ SDPUtils.parseMsid = function (mediaSection) { // parses draft-ietf-mmusic-sctp-sdp-26 first and falls back // to draft-ietf-mmusic-sctp-sdp-05 SDPUtils.parseSctpDescription = function (mediaSection) { - var mline = SDPUtils.parseMLine(mediaSection); - var maxSizeLine = SDPUtils.matchPrefix(mediaSection, 'a=max-message-size:'); - var maxMessageSize = void 0; + const mline = SDPUtils.parseMLine(mediaSection); + const maxSizeLine = SDPUtils.matchPrefix(mediaSection, 'a=max-message-size:'); + let maxMessageSize; if (maxSizeLine.length > 0) { - maxMessageSize = parseInt(maxSizeLine[0].substr(19), 10); + maxMessageSize = parseInt(maxSizeLine[0].substring(19), 10); } if (isNaN(maxMessageSize)) { maxMessageSize = 65536; } - var sctpPort = SDPUtils.matchPrefix(mediaSection, 'a=sctp-port:'); + const sctpPort = SDPUtils.matchPrefix(mediaSection, 'a=sctp-port:'); if (sctpPort.length > 0) { return { - port: parseInt(sctpPort[0].substr(12), 10), + port: parseInt(sctpPort[0].substring(12), 10), protocol: mline.fmt, - maxMessageSize: maxMessageSize + maxMessageSize }; } - var sctpMapLines = SDPUtils.matchPrefix(mediaSection, 'a=sctpmap:'); + const sctpMapLines = SDPUtils.matchPrefix(mediaSection, 'a=sctpmap:'); if (sctpMapLines.length > 0) { - var parts = sctpMapLines[0].substr(10).split(' '); + const parts = sctpMapLines[0].substring(10).split(' '); return { port: parseInt(parts[0], 10), protocol: parts[1], - maxMessageSize: maxMessageSize + maxMessageSize }; } }; @@ -3307,7 +3144,7 @@ SDPUtils.parseSctpDescription = function (mediaSection) { // as the draft-ietf-mmusic-sctp-sdp-05 format (indicated by the m-line // protocol of DTLS/SCTP -- without UDP/ or TCP/) SDPUtils.writeSctpDescription = function (media, sctp) { - var output = []; + let output = []; if (media.protocol !== 'DTLS/SCTP') { output = ['m=' + media.kind + ' 9 ' + media.protocol + ' ' + sctp.protocol + '\r\n', 'c=IN IP4 0.0.0.0\r\n', 'a=sctp-port:' + sctp.port + '\r\n']; } else { @@ -3324,7 +3161,7 @@ SDPUtils.writeSctpDescription = function (media, sctp) { // recommends using a cryptographically random +ve 64-bit value // but right now this should be acceptable and within the right range SDPUtils.generateSessionId = function () { - return Math.random().toString().substr(2, 21); + return Math.random().toString().substr(2, 22); }; // Write boiler plate for start of SDP @@ -3333,14 +3170,14 @@ SDPUtils.generateSessionId = function () { // sessVersion is optional and defaults to 2 // sessUser is optional and defaults to 'thisisadapterortc' SDPUtils.writeSessionBoilerplate = function (sessId, sessVer, sessUser) { - var sessionId = void 0; - var version = sessVer !== undefined ? sessVer : 2; + let sessionId; + const version = sessVer !== undefined ? sessVer : 2; if (sessId) { sessionId = sessId; } else { sessionId = SDPUtils.generateSessionId(); } - var user = sessUser || 'thisisadapterortc'; + const user = sessUser || 'thisisadapterortc'; // FIXME: sess-id should be an NTP timestamp. return 'v=0\r\n' + 'o=' + user + ' ' + sessionId + ' ' + version + ' IN IP4 127.0.0.1\r\n' + 's=-\r\n' + 't=0 0\r\n'; }; @@ -3348,14 +3185,14 @@ SDPUtils.writeSessionBoilerplate = function (sessId, sessVer, sessUser) { // Gets the direction from the mediaSection or the sessionpart. SDPUtils.getDirection = function (mediaSection, sessionpart) { // Look for sendrecv, sendonly, recvonly, inactive, default to sendrecv. - var lines = SDPUtils.splitLines(mediaSection); - for (var i = 0; i < lines.length; i++) { + const lines = SDPUtils.splitLines(mediaSection); + for (let i = 0; i < lines.length; i++) { switch (lines[i]) { case 'a=sendrecv': case 'a=sendonly': case 'a=recvonly': case 'a=inactive': - return lines[i].substr(2); + return lines[i].substring(2); default: // FIXME: What should happen here? } @@ -3367,9 +3204,9 @@ SDPUtils.getDirection = function (mediaSection, sessionpart) { }; SDPUtils.getKind = function (mediaSection) { - var lines = SDPUtils.splitLines(mediaSection); - var mline = lines[0].split(' '); - return mline[0].substr(2); + const lines = SDPUtils.splitLines(mediaSection); + const mline = lines[0].split(' '); + return mline[0].substring(2); }; SDPUtils.isRejected = function (mediaSection) { @@ -3377,8 +3214,8 @@ SDPUtils.isRejected = function (mediaSection) { }; SDPUtils.parseMLine = function (mediaSection) { - var lines = SDPUtils.splitLines(mediaSection); - var parts = lines[0].substr(2).split(' '); + const lines = SDPUtils.splitLines(mediaSection); + const parts = lines[0].substring(2).split(' '); return { kind: parts[0], port: parseInt(parts[1], 10), @@ -3388,8 +3225,8 @@ SDPUtils.parseMLine = function (mediaSection) { }; SDPUtils.parseOLine = function (mediaSection) { - var line = SDPUtils.matchPrefix(mediaSection, 'o=')[0]; - var parts = line.substr(2).split(' '); + const line = SDPUtils.matchPrefix(mediaSection, 'o=')[0]; + const parts = line.substring(2).split(' '); return { username: parts[0], sessionId: parts[1], @@ -3405,8 +3242,8 @@ SDPUtils.isValidSDP = function (blob) { if (typeof blob !== 'string' || blob.length === 0) { return false; } - var lines = SDPUtils.splitLines(blob); - for (var i = 0; i < lines.length; i++) { + const lines = SDPUtils.splitLines(blob); + for (let i = 0; i < lines.length; i++) { if (lines[i].length < 2 || lines[i].charAt(1) !== '=') { return false; } @@ -3416,7 +3253,7 @@ SDPUtils.isValidSDP = function (blob) { }; // Expose public methods. -if ((typeof module === 'undefined' ? 'undefined' : _typeof(module)) === 'object') { +if (typeof module === 'object') { module.exports = SDPUtils; } },{}]},{},[1])(1) From fb2062e3f1e06e3a017b1df8bb34f563c02c784d Mon Sep 17 00:00:00 2001 From: AbomDocPhibes Date: Tue, 28 Apr 2026 11:44:11 -0400 Subject: [PATCH 2/4] v2.0.1 fixed/modernized buttons with button instead of input removed onclick listeners with addeventhandler updated example QEX --- bin/Camera.adc | Bin 82503 -> 82877 bytes changelog.md | 1 + config.xml | 2 +- example/Camera.qex | Bin 195146 -> 191174 bytes resources/dynamic/open.html | 258 +++++++++++++++++++++++++++++------- 5 files changed, 213 insertions(+), 48 deletions(-) diff --git a/bin/Camera.adc b/bin/Camera.adc index 8dbd657a9ecb36d8416338dcdbbf7d552752ec76..490c2854b2281769aba7140f9d92d994332bc37c 100644 GIT binary patch delta 3317 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 delta 3004 zcmZWr2{@E(7k&q0pD_%kjD|s47+JHHH7&9<$`Xb_DrW4AQYLGKLSkAhm6*uBRCbbN znJoPx*%@1(ohYAtGo!!$zW=?h_j>Np9ie!A%ihvV{pd2QL5s+`z4% zhxRc!!v}jAJ1YnMgFMy$f|I&LwT9AUpbN0q9-mE zBoTKD$|NVu<^^x;JC5hiig8`}vO!jV-o6?5a-f0pN?eij-b3|=5Xa9iJqdLo(e-?< zzc3cSg&pV6+D|S~&W=st(U>sUp?6l#JN%U!Smm3OE2^^&Wtr{Xl_FPfZ7%38#<7PF zUiSB+4tXCOemP~3ka$_?sI^IghGp;N;n;nG?l_AK4b+rC)7uGmaU%G~5a}qkSmtwSWsScLPAaB$W3eWPG}_QSc9i0*Z}fmZ zfwA*8_#VOUml@<9(prAdAZy@MQJ=f@u!PN>k9w^eO%WsWyTt?@iw;DnX-!?W|hIhI@K1p3=On9;xUF6o>V ziswz^m?%1|iO@_I;yH_5fGAuaa7=1Tp_OuG5P_~qq>x|wBI%`J@_qX={hhh zrnPokWEnRb%@5T?=ltafd3UQ#h#V-5L z=n>nr=-i2f(FyKF9}q#g4qp*@w|mqJD!$Y5K^*o2@11(vMpcRM*bM3R^s?uobTN*@ zOYf2>>^Wy1*-g+gl}~xj2-8oYHt1RAK~<%z^~Xas?J;1-fTluh(|cb*j|?NN&um+N zqu|-Rw%qQ#o&J4ESg(~_?v8E; z4l6??{zYfblZs&3{?~i#_hkpdM199={2BEsZT|zPG_%8@E)rEEX}_xTE)cQAde%@@Vy)Xo`Yp3NU^Y8Zm zrLu^L{EjLkx#V2pCu50$50+__ zO~q$stG*F2a~?2qo}{XhyxVU!@gpoca*MyX=W-?M&rSX{S1%gXN>%OysN&9Uqo6d8mb$_E*Tg zTx268xVA4wp9}#vv?~i+JDzM`e#1*YuBILEE;Z8ifO$teis0Ybi_%_6*!U8gX$6&t zM%Sr-jTds#eLui5f%AJuY$#daqGt+eH3Tu7czaJ#t zEGclW;sBZhFb6d&>~M6)|DLI zFh6zZqa_=iS5MxYJ3BkqOtl^-v$OGXT{HWLa=@uxa$O8YUi3=V;Z2w0K6d%J>1wa3 z$h1hJ^QIO#UmQjPXWTG;7U=u~5&CvYDA=ci8tgFh&3o;2UiZT5uKH(Pxaz;6l&8I2 zzRAyS(jo_3u7A(Rb3tAiu@f}h-791L-5b0^XaQ;W9`)^8aeID|juIORhAV>Gztd@j zrn|N(s|F9*uH~GuRVWYhfA|QpfDVpmhuyT+#cjlpd*;?iLqFCx1=?|^b37ALZS2;B zM_P2|ql(+*>%U4K+>aff(oPG8PrHpAvWbVP5R2WB9Q! z0kH}H3}DLq4g&zbUmF+$J)qPc28pp``WZ584ZM_2U63#Zq6>nsth;m>)|H=DGhGlu zk|}7IvUIDL=^ zi~7G_p9(@pm#XJfiH4+E_zy)Cgq<%4(AcV;jq3kpOAz4f;7iRtg zl<^-J{=0GJaSW#9|Me*4qB++vHvs4{bY=gL#-%X=c2TMgejaB_iQ=mp48}6!75{@7 zMrD=DWe7sBx`Q@kbjRo!)0jA&%}22}{Mj}SrsGQv%MqW;PoWxuV4MLujDrUL0S;mK ANdN!< diff --git a/changelog.md b/changelog.md index ef0b64a..605cd49 100644 --- a/changelog.md +++ b/changelog.md @@ -6,4 +6,5 @@ v1.0.4 - photo button caption disappears when mobile - fixed v1.1.0 - WebRTC,RecordRTC library update - Fixed - DOF runtime errors v2.0.0 - RecordRTC & WebRTC library update +v2.0.1 - fixed/modernized buttons with button instead of input, removed onclick listeners with addeventhandler \ No newline at end of file diff --git a/config.xml b/config.xml index 6baae13..e30fc85 100644 --- a/config.xml +++ b/config.xml @@ -7,7 +7,7 @@ Camera d7c94a7c-10f9-4d31-8e51-82dc9c96c089 - 2.0.0 + 2.0.1 2022-09-29 Askia diff --git a/example/Camera.qex b/example/Camera.qex index c6f4ca17c6cdb87f5813041d8c872c5a5bf67d25..9e6f42e900593568a761a5620b48773d9471bcb6 100644 GIT binary patch delta 115513 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�HIXg=)O4 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 delta 122800 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 z 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

1wVUqo8-n>$<0 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 IB*-KG16&~>+W-In diff --git a/resources/dynamic/open.html b/resources/dynamic/open.html index c15b471..0b22271 100644 --- a/resources/dynamic/open.html +++ b/resources/dynamic/open.html @@ -15,8 +15,8 @@ Dim loop = (CurrentADC.PropValue("loop") = "1") Dim enabledNextAfterUpload = (CurrentADC.PropValue("nextAfterUpload") = "1") - %} + + {%if enabledNextAfterUpload then%} {%EndIf%} + {%if typeOfCapture = "image" Then%} {%EndIf%} + {% if typeOfCapture = "video" then %} {%EndIf%} - +

+
+ {% if typeOfCapture = "video" Then %}
- - -
- + + + + +
+ +
+
+ {%if allowSaveFile then%} - + {%EndIf%} - - + + + + + + {% Endif %} {% if typeOfCapture = "image" Then %} +
- -
+ + +
+
+ {%if allowSaveFile then%} - + {%EndIf%} - - + + + + + + {% EndIf %} + + From bccb2398b1cf53f71a7f311fe095f8296f443062 Mon Sep 17 00:00:00 2001 From: AbomDocPhibes Date: Mon, 4 May 2026 07:38:20 -0400 Subject: [PATCH 3/4] v2.0.2 Camera ADC fixed instance ID referencing that prevented the control from working on desktop --- .adxstudio/workspace.json | 2 +- bin/Camera.adc | Bin 82877 -> 83291 bytes changelog.md | 2 +- config.xml | 2 +- resources/dynamic/open.html | 129 ++------ resources/static/adc_camera.js | 543 +++++++++++++++++++++++++-------- 6 files changed, 446 insertions(+), 232 deletions(-) diff --git a/.adxstudio/workspace.json b/.adxstudio/workspace.json index 41a2ba2..23fc8bd 100644 --- a/.adxstudio/workspace.json +++ b/.adxstudio/workspace.json @@ -1 +1 @@ -{"tabs":[{"id":"2cec0e67-0b8f-425c-b0eb-b099d07acf7a","pane":"main","current":true,"path":"C:\\Users\\Quentin\\Documents\\camera_adc\\config.xml","type":"projectSettings","mode":"form"},{"id":"2de4cf48-434e-4f38-9c33-b980bdf9ae44","pane":"main","path":"C:\\Users\\Quentin\\Documents\\camera_adc\\resources\\dynamic\\open.html","type":"file"},{"id":"fc889f10-19af-4cca-91e7-e5e9779ff811","pane":"main","path":"C:\\Users\\Quentin\\Documents\\camera_adc\\resources\\static\\adc_camera.js","type":"file"},{"id":"bd8fe99e-e996-4240-9fdb-8ce80db2e80c","pane":"main","path":"C:\\Users\\Quentin\\Documents\\camera_adc\\resources\\dynamic\\default.css","type":"file"},{"id":"a1efba25-fcc9-4c66-9c29-20846d24d6b1","pane":"main","path":"C:\\Users\\Quentin\\Documents\\camera_adc\\resources\\dynamic\\fallback_mobiles_open.html","type":"file"},{"id":"c5657dce-d817-45a9-9127-43cdb8c3a144","pane":"main","path":"C:\\Users\\Quentin\\Documents\\camera_adc\\resources\\static\\adc_camera_mobiles.js","type":"file"},{"id":"bfafd1f8-3c81-4b4b-bcbc-2ab1b53ee6cc","pane":"main","path":"C:\\Users\\Quentin\\Documents\\camera_adc\\resources\\dynamic\\fallback_open.html","type":"file"},{"id":"b44a24b3-877b-44fe-9f0a-9e5fe2c1078b","pane":"main","path":"C:\\Users\\Quentin\\Documents\\camera_adc\\readme.md","type":"file"},{"id":"7d784d4f-60ed-4d60-ba28-4852c27acb4e","pane":"main","path":"C:\\Users\\Quentin\\Documents\\ADC_Camera\\resources\\static\\adc_camera_mobiles.js","type":"file"},{"id":"6ada7478-961e-4ce5-8c41-168b343e2e71","pane":"main","path":"C:\\Users\\Quentin\\Documents\\ADC_Camera\\resources\\static\\adc_camera.js","type":"file"},{"id":"8a2c5a0f-2da2-4ae0-a5ea-7861d627d220","pane":"main","path":"C:\\Users\\Quentin\\Documents\\ADC_Camera\\resources\\dynamic\\open.html","type":"file"},{"id":"2adb3c8c-0f19-4157-be72-7399cf6f3505","pane":"main","path":"C:\\Users\\Quentin\\Documents\\GitHub\\MyADCs\\Camera\\config.xml","type":"projectSettings","mode":"form","adxVersion":"2.0.0","adxType":"adc"}]} \ No newline at end of file +{"tabs":[{"id":"0a91f9a4-ecba-4b24-a030-bd894ab800ef","pane":"main","current":true,"path":"C:\\Users\\Quentin\\Documents\\camera_adc\\config.xml","type":"projectSettings","mode":"form"},{"id":"d51b30dc-05ae-428e-a441-da1bacc7b447","pane":"main","path":"C:\\Users\\Quentin\\Documents\\camera_adc\\resources\\dynamic\\open.html","type":"file"},{"id":"e7cc8a9a-09f2-4e3f-875c-19d6cf1d076f","pane":"main","path":"C:\\Users\\Quentin\\Documents\\camera_adc\\resources\\static\\adc_camera.js","type":"file"},{"id":"b7cfe526-9936-4062-a526-9cfdb6d4fd31","pane":"main","path":"C:\\Users\\Quentin\\Documents\\camera_adc\\resources\\dynamic\\default.css","type":"file"},{"id":"1028798b-1e9f-4a5a-827a-02f29bf0dcf9","pane":"main","path":"C:\\Users\\Quentin\\Documents\\camera_adc\\resources\\dynamic\\fallback_mobiles_open.html","type":"file"},{"id":"1c67e3d3-c4f3-4454-bf5c-aa43f6e300e5","pane":"main","path":"C:\\Users\\Quentin\\Documents\\camera_adc\\resources\\static\\adc_camera_mobiles.js","type":"file"},{"id":"ecdb6429-8330-4770-aaa8-aac6a2edf996","pane":"main","path":"C:\\Users\\Quentin\\Documents\\camera_adc\\resources\\dynamic\\fallback_open.html","type":"file"},{"id":"59181ece-2c88-456a-a684-a6fdd0c429bb","pane":"main","path":"C:\\Users\\Quentin\\Documents\\camera_adc\\readme.md","type":"file"},{"id":"e58c731f-a216-46ad-9b4d-fb8e2d982294","pane":"main","path":"C:\\Users\\Quentin\\Documents\\ADC_Camera\\resources\\static\\adc_camera_mobiles.js","type":"file"},{"id":"b20b5873-15ba-40c3-94f6-ca6adad1b3f0","pane":"main","path":"C:\\Users\\Quentin\\Documents\\ADC_Camera\\resources\\static\\adc_camera.js","type":"file"},{"id":"5881a8d2-453f-4a09-b6c7-1580b51b5c1a","pane":"main","path":"C:\\Users\\Quentin\\Documents\\ADC_Camera\\resources\\dynamic\\open.html","type":"file"},{"id":"e17bc251-9b5a-4cfb-be56-3576e58ea01e","pane":"main","path":"C:\\Users\\Quentin\\Documents\\GitHub\\MyADCs\\Camera\\config.xml","type":"projectSettings","mode":"form"},{"id":"c89f74ed-7c49-435e-8e68-57ff07caf5b4","pane":"main","path":"C:\\Users\\JordanGrindle\\Documents\\GitHub\\Camera\\config.xml","type":"projectSettings","mode":"code","adxVersion":"2.0.0","adxType":"adc"}]} \ No newline at end of file diff --git a/bin/Camera.adc b/bin/Camera.adc index 490c2854b2281769aba7140f9d92d994332bc37c..c0ea44ece284b730e4ef7357fed0c80aca0a7aa8 100644 GIT binary patch delta 9995 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 O1JPi@h2Op~;C}$10Dd?C delta 9579 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 BxqAQr diff --git a/changelog.md b/changelog.md index 605cd49..4677c01 100644 --- a/changelog.md +++ b/changelog.md @@ -7,4 +7,4 @@ v1.1.0 - WebRTC,RecordRTC library update - Fixed - DOF runtime errors v2.0.0 - RecordRTC & WebRTC library update v2.0.1 - fixed/modernized buttons with button instead of input, removed onclick listeners with addeventhandler - \ No newline at end of file +v2.0.2 fixed issue where desktop recording wouldnt function properly \ No newline at end of file diff --git a/config.xml b/config.xml index e30fc85..5b5a0f4 100644 --- a/config.xml +++ b/config.xml @@ -7,7 +7,7 @@ Camera d7c94a7c-10f9-4d31-8e51-82dc9c96c089 - 2.0.1 + 2.0.2 2022-09-29 Askia diff --git a/resources/dynamic/open.html b/resources/dynamic/open.html index 0b22271..a333376 100644 --- a/resources/dynamic/open.html +++ b/resources/dynamic/open.html @@ -45,15 +45,12 @@ EnabledNextAfterUpload : '{%=CurrentADC.PropValue("nextAfterUpload")%}', AutoSubmitAfterUpload : '{%=CurrentADC.PropValue("autoSubmitUpload")%}' }; - - var videoRecorder; {%if enabledNextAfterUpload then%} {%EndIf%} @@ -80,7 +70,7 @@ {%EndIf%} - -
    @@ -121,7 +106,8 @@ @@ -129,6 +115,7 @@ type="button" id="btn-stop-recording_{%=CurrentADC.InstanceId%}" class="btn" + onclick="stopRecordingVideo({%=CurrentADC.InstanceId%});" disabled="disabled"> {%=CurrentADC.PropValue("stopBtnText")%} @@ -136,7 +123,7 @@
    @@ -148,7 +135,8 @@ {%EndIf%} @@ -156,7 +144,8 @@ @@ -178,22 +167,24 @@
    - - - + + + {%if allowSaveFile then%} {%EndIf%} @@ -201,7 +192,8 @@ @@ -215,85 +207,4 @@ -{% EndIf %} - - +{% EndIf %} \ No newline at end of file diff --git a/resources/static/adc_camera.js b/resources/static/adc_camera.js index 1850f0d..21e54e3 100644 --- a/resources/static/adc_camera.js +++ b/resources/static/adc_camera.js @@ -1,9 +1,103 @@ +var videoRecorders = videoRecorders || {}; +var imageStreams = imageStreams || {}; + +function getVideoRecorder(instanceId) { + return videoRecorders[instanceId]; +} + +function setVideoRecorder(instanceId, recorder) { + videoRecorders[instanceId] = recorder; +} + +function getSupportedVideoMimeType() { + if (typeof MediaRecorder === "undefined" || !MediaRecorder.isTypeSupported) { + return ""; + } + + var mimeTypes = [ + "video/webm;codecs=vp9,opus", + "video/webm;codecs=vp8,opus", + "video/webm;codecs=h264,opus", + "video/webm", + "video/mp4;codecs=h264,aac", + "video/mp4" + ]; + + for (var i = 0; i < mimeTypes.length; i++) { + if (MediaRecorder.isTypeSupported(mimeTypes[i])) { + return mimeTypes[i]; + } + } + + return ""; +} + +function getVideoFileExtension(blob) { + if (!blob || !blob.type) { + return "webm"; + } + + var mimeType = blob.type.toLowerCase(); + + if (mimeType.indexOf("mp4") > -1) { + return "mp4"; + } + + if (mimeType.indexOf("webm") > -1) { + return "webm"; + } + + if (mimeType.indexOf("ogg") > -1) { + return "ogv"; + } + + return "webm"; +} + +function getVideoFileName(blob, baseName) { + return (baseName || "my_video") + "." + getVideoFileExtension(blob); +} + +function stopStreamTracks(stream) { + if (!stream || !stream.getTracks) { + return; + } + + var tracks = stream.getTracks(); + + for (var i = 0; i < tracks.length; i++) { + try { + tracks[i].stop(); + } catch (e) {} + } +} + +function clearMediaSource(mediaElement) { + if (!mediaElement) { + return; + } + + try { + mediaElement.pause(); + } catch (e) {} + + if ("srcObject" in mediaElement && mediaElement.srcObject) { + mediaElement.srcObject = null; + } + + mediaElement.removeAttribute("src"); + + try { + mediaElement.load(); + } catch (e) {} +} + function showOverlay(instanceId){ - removeClass(getElementByDynamicId("overlay_loader", instanceId),'hidden'); + removeClass(getElementByDynamicId("overlay_loader", instanceId), 'hidden'); } function hideOverlay(instanceId){ - addClass(getElementByDynamicId("overlay_loader", instanceId),'hidden'); + addClass(getElementByDynamicId("overlay_loader", instanceId), 'hidden'); } /* @@ -11,28 +105,45 @@ function hideOverlay(instanceId){ * Save the recorded video on the user's disk */ function saveVideo(instanceId){ - hideErrorMessage(instanceId); + hideErrorMessage(instanceId); hideSuccessMessage(instanceId); - var video = document.getElementById("player"); + + var video = getElementByDynamicId("player", instanceId); + var recorder = getVideoRecorder(instanceId); + if (!hasClass(video, "saved")) { - if(videoRecorder != undefined){ - if (window.navigator.msSaveOrOpenBlob) { // Edge - window.navigator.msSaveOrOpenBlob(videoRecorder.blob, "my_video.mp4"); - } else { // Others + if (recorder != undefined && recorder.blob) { + var fileName = getVideoFileName(recorder.blob, "my_video"); + + if (window.navigator.msSaveOrOpenBlob) { + window.navigator.msSaveOrOpenBlob(recorder.blob, fileName); + } else { var a = document.createElement("a"); - a.href = video.src; - a.download = "my_video.mp4"; + var objectUrl = video.src; + + if (!objectUrl) { + objectUrl = URL.createObjectURL(recorder.blob); + } + + a.href = objectUrl; + a.download = fileName; document.body.appendChild(a); a.click(); + setTimeout(function() { document.body.removeChild(a); - window.URL.revokeObjectURL(video.src); }, 0); } + addClass(video, "saved"); - getElementByDynamicId("btnSave", instanceId).disabled = true; + + var saveBtn = getElementByDynamicId("btnSave", instanceId); + if (saveBtn) { + saveBtn.disabled = true; + } + displaySuccessMessage(uploadConfig(instanceId).SuccessMsgSave, uploadConfig(instanceId).SuccessMsgColor, instanceId); - } else{ + } else { displayErrorMessage(uploadConfig(instanceId).ErrMsgSave, instanceId); } } @@ -43,26 +154,30 @@ function saveVideo(instanceId){ * Save the captured photo on the user's disk */ function saveImage(instanceId){ - hideErrorMessage(instanceId); + hideErrorMessage(instanceId); hideSuccessMessage(instanceId); - var image = document.getElementById("capturedImage"); - if(!image.hasAttribute('hidden')){ - if (window.navigator.msSaveOrOpenBlob) { // Edge - var blob = document.getElementById("canvas").msToBlob(); + + var image = getElementByDynamicId("capturedImage", instanceId); + var canvas = getElementByDynamicId("canvas", instanceId); + + if (image && !image.hasAttribute('hidden')) { + if (window.navigator.msSaveOrOpenBlob) { + var blob = canvas.msToBlob(); window.navigator.msSaveOrOpenBlob(blob, "my_image.png"); - } else { // Others + } else { var a = document.createElement("a"); a.href = image.src; a.download = "my_image.png"; document.body.appendChild(a); a.click(); + setTimeout(function() { document.body.removeChild(a); - window.URL.revokeObjectURL(image.src); }, 0); } + displaySuccessMessage(uploadConfig(instanceId).SuccessMsgSave, uploadConfig(instanceId).SuccessMsgColor, instanceId); - } else{ + } else { displayErrorMessage(uploadConfig(instanceId).ErrMsgSave, instanceId); } } @@ -72,29 +187,28 @@ function saveImage(instanceId){ * Upload the recorded video on the server */ function uploadVideo(instanceId){ - hideErrorMessage(instanceId); + hideErrorMessage(instanceId); hideSuccessMessage(instanceId); if (!uploadConfig(instanceId).apiKey || !uploadConfig(instanceId).secretKey) { - displayErrorMessage(uploadConfig(instanceId).ErrMsgInvalidApiSecretKeys, instanceId); + displayErrorMessage(uploadConfig(instanceId).ErrMsgInvalidApiSecretKeys, instanceId); return; } - if(videoRecorder != undefined){ // if a video has been recorded - var videoBlob; - videoBlob = videoRecorder.blob; + var recorder = getVideoRecorder(instanceId); + + if (recorder != undefined && recorder.blob) { + var videoBlob = recorder.blob; - if(validFileSize(instanceId, videoBlob)){ + if (validFileSize(instanceId, videoBlob)) { generateNewToken(function(token){ - uploadConfig(instanceId).token=token; + uploadConfig(instanceId).token = token; sendFileTransferCall(instanceId, videoBlob, 'video'); }, instanceId); - } - else{ + } else { displayErrorMessage(uploadConfig(instanceId).ErrMsgFileSizeExceeded, instanceId); } - } - else{ + } else { displayErrorMessage(uploadConfig(instanceId).ErrMsgSelectFile, instanceId); } } @@ -104,34 +218,37 @@ function uploadVideo(instanceId){ * Upload the captured photo on the server */ function uploadImage(instanceId){ - hideErrorMessage(instanceId); + hideErrorMessage(instanceId); hideSuccessMessage(instanceId); if (!uploadConfig(instanceId).apiKey || !uploadConfig(instanceId).secretKey) { - displayErrorMessage(uploadConfig(instanceId).ErrMsgInvalidApiSecretKeys, instanceId); + displayErrorMessage(uploadConfig(instanceId).ErrMsgInvalidApiSecretKeys, instanceId); + return; + } + + var image = getElementByDynamicId("capturedImage", instanceId); + + if (!image || image.hasAttribute("hidden") || !image.src) { + displayErrorMessage(uploadConfig(instanceId).ErrMsgSelectFile, instanceId); return; } - var image_b64 = window.atob(document.getElementById("capturedImage").src.split(",")[1]); + + var image_b64 = window.atob(image.src.split(",")[1]); var tmp = new Uint8Array(image_b64.length); + for (var i = 0; i < image_b64.length; i++) { tmp[i] = image_b64.charCodeAt(i); } + var file = new Blob([tmp], {type: "image/png"}); - var image = document.getElementById("capturedImage"); - if(!image.hasAttribute("hidden")){ // if a photo has been captured - if(validFileSize(instanceId, file)){ - generateNewToken(function(token){ - uploadConfig(instanceId).token=token; - sendFileTransferCall(instanceId, file, 'image'); - }, instanceId); - } - else{ - displayErrorMessage(uploadConfig(instanceId).ErrMsgFileSizeExceeded, instanceId); - } - } - else{ - displayErrorMessage(uploadConfig(instanceId).ErrMsgSelectFile, instanceId); + if (validFileSize(instanceId, file)) { + generateNewToken(function(token){ + uploadConfig(instanceId).token = token; + sendFileTransferCall(instanceId, file, 'image'); + }, instanceId); + } else { + displayErrorMessage(uploadConfig(instanceId).ErrMsgFileSizeExceeded, instanceId); } } @@ -143,6 +260,7 @@ function uploadImage(instanceId){ function validFileSize(instanceId, fileData){ var filesize = 0; var maxsize = uploadConfig(instanceId).maxfilesize; + if (fileData) { filesize = fileData.size / 1024; } @@ -150,6 +268,7 @@ function validFileSize(instanceId, fileData){ if (fileData && filesize > maxsize) { return false; } + return true; } @@ -159,7 +278,6 @@ function validFileSize(instanceId, fileData){ * Generates tokens for the post call */ function generateNewToken(callback, instanceId) { - var data = { ApiKey: uploadConfig(instanceId).apiKey, SecretKey: uploadConfig(instanceId).secretKey @@ -170,16 +288,17 @@ function generateNewToken(callback, instanceId) { var generateTokenSuccess = function (token) { callback(token); }; - var generateTokenError = function (error) { + + var generateTokenError = function () { hideOverlay(instanceId); displayErrorMessage(uploadConfig(instanceId).ErrMsgInvalidApiSecretKeys, instanceId); }; - var generateTokenBeforeSend=function(){ + + var generateTokenBeforeSend = function(){ showOverlay(instanceId); }; - sendAjaxPostCall(url, data, true, generateTokenSuccess, generateTokenError,generateTokenBeforeSend); - + sendAjaxPostCall(url, data, true, generateTokenSuccess, generateTokenError, generateTokenBeforeSend); } /* @@ -189,7 +308,7 @@ function generateNewToken(callback, instanceId) { * Generates right url, success and error callbacks and transfers it to sendAjaxPostCall function */ function sendFileTransferCall(instanceId, fileData, type) { - if(!uploadConfig(instanceId).token){ + if (!uploadConfig(instanceId).token) { displayErrorMessage(uploadConfig(instanceId).ErrMsgToken, instanceId); return; } @@ -200,40 +319,47 @@ function sendFileTransferCall(instanceId, fileData, type) { var guid = uploadConfig(instanceId).guidstring; var fileDataName = function () { - if (type == 'video') return 'file-name.webm'; - if (type == 'image') return 'file-name.png'; - } + if (type == 'video') return getVideoFileName(fileData, 'file-name'); + if (type == 'image') return 'file-name.png'; + return 'file-name'; + }; - // clean up guid of curly braces if (guid.charAt(0) == "{") guid = guid.substr(1); if (guid.charAt(guid.length - 1) == "}") guid = guid.substr(0, guid.length - 1); - var url=uploadConfig(instanceId).uploadUrl + "?tokenkey=" + uploadConfig(instanceId).token + "&filename=" + fileDataName() - + "&projectname=" + projectName + "&shortcut=" + shortcut + "&seed=" + seed + "&guid=" + guid; + var url = uploadConfig(instanceId).uploadUrl + + "?tokenkey=" + encodeURIComponent(uploadConfig(instanceId).token) + + "&filename=" + encodeURIComponent(fileDataName()) + + "&projectname=" + encodeURIComponent(projectName) + + "&shortcut=" + encodeURIComponent(shortcut) + + "&seed=" + encodeURIComponent(seed) + + "&guid=" + encodeURIComponent(guid); var uploadSuccessCallback = function (response) { - getElementByDynamicId("HidResult", instanceId).value=response.DestinationFileName; + getElementByDynamicId("HidResult", instanceId).value = response.DestinationFileName; displaySuccessMessage(uploadConfig(instanceId).SuccessMsgUpload, uploadConfig(instanceId).SuccessMsgColor, instanceId); hideOverlay(instanceId); + if (uploadConfig(instanceId).disabledUploadBtn == 1) { - disableUploadBtn(instanceId); + disableUploadBtn(instanceId); } + if (uploadConfig(instanceId).AutoSubmitAfterUpload == 1) { - document.getElementsByTagName("form")[0].submit(); + document.getElementsByTagName("form")[0].submit(); } else { if (uploadConfig(instanceId).EnabledNextAfterUpload == 1) { document.getElementsByName("Next")[0].hidden = false; } } }; - var uploadErrorCallback = function (error) { - getElementByDynamicId("HidResult", instanceId).value=''; + + var uploadErrorCallback = function () { + getElementByDynamicId("HidResult", instanceId).value = ''; displayErrorMessage(uploadConfig(instanceId).ErrMsgErrorAtUpload, instanceId); hideOverlay(instanceId); }; sendAjaxPostCall(url, fileData, false, uploadSuccessCallback, uploadErrorCallback); - } /* @@ -245,9 +371,10 @@ function sendFileTransferCall(instanceId, fileData, type) { * beforeSend {Function} Function to execute before sending request (optional) * Send the request and execute the callbacks */ -function sendAjaxPostCall(url, data, isJsonRequest, successCallback, errorCallback,beforeSend) { +function sendAjaxPostCall(url, data, isJsonRequest, successCallback, errorCallback, beforeSend) { var http = new XMLHttpRequest(); http.open("POST", url, true); + if (isJsonRequest) { http.setRequestHeader("Content-type", "application/json"); data = JSON.stringify(data); @@ -255,18 +382,26 @@ function sendAjaxPostCall(url, data, isJsonRequest, successCallback, errorCallba http.onreadystatechange = function () { if (http.readyState == 4) { + var response = null; + + try { + response = JSON.parse(http.responseText); + } catch (e) { + response = http.responseText; + } + if (http.status == 200) { - var response = JSON.parse(http.responseText); successCallback(response); } else { - var response = JSON.parse(http.responseText); errorCallback(response); } } - } - if(beforeSend){ + }; + + if (beforeSend) { beforeSend(); } + http.send(data); } @@ -275,8 +410,12 @@ function sendAjaxPostCall(url, data, isJsonRequest, successCallback, errorCallba * cls {String} A class * Returns a boolean depending on the element ele having the class cls or not */ -function hasClass(ele,cls) { - return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)')); +function hasClass(ele, cls) { + if (!ele || !ele.className) { + return false; + } + + return ele.className.match(new RegExp('(\\s|^)' + cls + '(\\s|$)')); } /* @@ -284,10 +423,14 @@ function hasClass(ele,cls) { * cls {String} A class * Removes the class cls from element ele, if ele has the class cls */ -function removeClass(ele,cls) { - if (hasClass(ele,cls)) { - var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)'); - ele.className=ele.className.replace(reg,' '); +function removeClass(ele, cls) { + if (!ele) { + return; + } + + if (hasClass(ele, cls)) { + var reg = new RegExp('(\\s|^)' + cls + '(\\s|$)'); + ele.className = ele.className.replace(reg, ' '); } } @@ -296,9 +439,13 @@ function removeClass(ele,cls) { * cls {String} A class * Add the class cls to the element ele, if ele has not the class cls already */ -function addClass(ele,cls) { - if (!hasClass(ele,cls)) { - ele.className += ' '+ cls; +function addClass(ele, cls) { + if (!ele) { + return; + } + + if (!hasClass(ele, cls)) { + ele.className += ' ' + cls; } } @@ -309,11 +456,14 @@ function addClass(ele,cls) { */ function displayErrorMessage(message, instanceId){ hideOverlay(instanceId); + var div = getElementByDynamicId("adc-errdiv", instanceId); addClass(div, "askia-errors-summary"); div.style.marginBottom = "50px"; + var ul = getElementByDynamicId("ulErrorMessages", instanceId); ul.innerHTML = ""; + var li = document.createElement("li"); li.appendChild(document.createTextNode(message)); ul.appendChild(li); @@ -327,14 +477,16 @@ function displayErrorMessage(message, instanceId){ */ function displaySuccessMessage(message, colorcode, instanceId){ hideOverlay(instanceId); + var div = getElementByDynamicId("adc-succdiv", instanceId); - div.style.backgroundColor= 'rgb(' + colorcode + ')'; + div.style.backgroundColor = 'rgb(' + colorcode + ')'; div.style.color = 'white'; div.style.width = '100%'; div.style.paddingTop = '15px'; div.style.paddingBottom = '15px'; div.style.marginBottom = '50px'; div.style.borderRadius = '3px'; + var span = getElementByDynamicId("spanSuccessMessage", instanceId); span.innerHTML = message; } @@ -345,8 +497,13 @@ function displaySuccessMessage(message, colorcode, instanceId){ */ function disableUploadBtn(instanceId) { var btn = getElementByDynamicId("btnUpload", instanceId); + + if (!btn) { + return; + } + btn.disabled = true; - addClass(btn,"disabled"); + addClass(btn, "disabled"); btn.style.cursor = "not-allowed"; } @@ -356,8 +513,13 @@ function disableUploadBtn(instanceId) { */ function enableUploadBtn(instanceId) { var btn = getElementByDynamicId("btnUpload", instanceId); - btn.disabled = false; - removeClass(btn,"disabled"); + + if (!btn) { + return; + } + + btn.disabled = false; + removeClass(btn, "disabled"); btn.style.cursor = "pointer"; } @@ -368,6 +530,7 @@ function enableUploadBtn(instanceId) { function hideSuccessMessage(instanceId) { var div = getElementByDynamicId("adc-succdiv", instanceId); div.removeAttribute("style"); + var span = getElementByDynamicId("spanSuccessMessage", instanceId); span.innerHTML = ""; } @@ -380,6 +543,7 @@ function hideErrorMessage(instanceId){ var div = getElementByDynamicId("adc-errdiv", instanceId); removeClass(div, "askia-errors-summary"); div.removeAttribute("style"); + var ul = getElementByDynamicId("ulErrorMessages", instanceId); ul.innerHTML = ""; } @@ -397,7 +561,27 @@ function getElementByDynamicId(elementId, instanceId) { * Return the uploadConfig variable containing properties of the current adc */ function uploadConfig(instanceId) { - return eval('uploadConfig_' + instanceId); + return eval('uploadConfig_' + instanceId); +} + +/* +* instanceId {Integer} ID of the current adc +* Start image preview stream +*/ +function startImagePreview(instanceId) { + var video = getElementByDynamicId('preview', instanceId); + + if (!video) { + return; + } + + navigator.mediaDevices.getUserMedia({ video: true }).then(function(stream) { + imageStreams[instanceId] = stream; + setSrcObject(stream, video); + }).catch(function(error) { + displayErrorMessage(uploadConfig(instanceId).ErrMsgUserMediaAccess, instanceId); + console.error("Cannot access media devices: ", error); + }); } /* @@ -405,62 +589,173 @@ function uploadConfig(instanceId) { * Start the record of a video, displays the stream on screen, storing the stream in videoRecorder variable */ function startRecordingVideo(instanceId) { - var video = document.getElementById('player'); - removeClass(document.getElementsByClassName("label-start")[0], "primary"); - addClass(document.getElementsByClassName("label-stop")[0], "primary"); + hideErrorMessage(instanceId); + hideSuccessMessage(instanceId); + + var video = getElementByDynamicId('player', instanceId); + var startBtn = getElementByDynamicId('btn-start-recording', instanceId); + var stopBtn = getElementByDynamicId('btn-stop-recording', instanceId); + var saveBtn = getElementByDynamicId("btnSave", instanceId); + + if (startBtn) { + startBtn.disabled = true; + } + + if (stopBtn) { + stopBtn.disabled = true; + } + removeClass(video, "saved"); - getElementByDynamicId("btnSave",instanceId).disabled = false; + + if (saveBtn) { + saveBtn.disabled = false; + } + if (uploadConfig(instanceId).allowUploadFileChange == 1) { enableUploadBtn(instanceId); } - document.getElementById('btn-start-recording').disabled = true; + + if (!navigator.mediaDevices || !navigator.mediaDevices.getUserMedia) { + displayErrorMessage(uploadConfig(instanceId).ErrMsgUserMediaAccess, instanceId); + + if (startBtn) { + startBtn.disabled = false; + } + + return; + } + navigator.mediaDevices.getUserMedia({ audio: true, video: true }).then(function(stream) { + clearMediaSource(video); setSrcObject(stream, video); - video.play(); video.muted = true; - videoRecorder = new RecordRTCPromisesHandler(stream, { - mimeType: 'video/mp4', + + var recorderOptions = { + type: "video", audioBitsPerSecond: 128000, - videoBitsPerSecond : 2500000, - }); - videoRecorder.startRecording().then(function() { - console.info('Recording video ...'); - }).catch(function(error) { - displayErrorMessage(uploadConfig(instanceId).ErrMsgStartRec, instanceId); - console.error('Cannot start video recording: ', error); - }); - videoRecorder.stream = stream; - document.getElementById('btn-stop-recording').disabled = false; + videoBitsPerSecond: 2500000 + }; + + var supportedMimeType = getSupportedVideoMimeType(); + + if (supportedMimeType) { + recorderOptions.mimeType = supportedMimeType; + } + + console.log("Selected video MIME type:", supportedMimeType || "browser default"); + + var recorder = new RecordRTCPromisesHandler(stream, recorderOptions); + recorder.stream = stream; + setVideoRecorder(instanceId, recorder); + + var playPromise; + + try { + playPromise = video.play(); + } catch (e) {} + + if (playPromise && typeof playPromise.catch === "function") { + playPromise.catch(function() {}); + } + + return recorder.startRecording(); + }).then(function() { + console.info('Recording video ...'); + + if (stopBtn) { + stopBtn.disabled = false; + } }).catch(function(error) { - displayErrorMessage(uploadConfig(instanceId).ErrMsgUserMediaAccess, instanceId); - console.error("Cannot access media devices: ", error); + console.error('Cannot start video recording: ', error); + displayErrorMessage(uploadConfig(instanceId).ErrMsgStartRec, instanceId); + + var recorder = getVideoRecorder(instanceId); + + if (recorder && recorder.stream) { + stopStreamTracks(recorder.stream); + } + + clearMediaSource(video); + setVideoRecorder(instanceId, undefined); + + if (startBtn) { + startBtn.disabled = false; + } + + if (stopBtn) { + stopBtn.disabled = true; + } }); } /* * instanceId {Integer} ID of the current adc -* Stop the video recording, diplays the recorded video on screen and stores the video in videoRecorder variable +* Stop the video recording, displays the recorded video on screen and stores the video in videoRecorder variable */ function stopRecordingVideo(instanceId) { - removeClass(document.getElementsByClassName("label-stop")[0], "primary"); - addClass(document.getElementsByClassName("label-start")[0], "primary"); - document.getElementById('btn-stop-recording').disabled = true; - var video = document.getElementById('player'); - videoRecorder.stopRecording().then(function() { + var startBtn = getElementByDynamicId('btn-start-recording', instanceId); + var stopBtn = getElementByDynamicId('btn-stop-recording', instanceId); + var video = getElementByDynamicId('player', instanceId); + var recorder = getVideoRecorder(instanceId); + + if (stopBtn) { + stopBtn.disabled = true; + } + + if (!recorder) { + displayErrorMessage(uploadConfig(instanceId).ErrMsgStopRec, instanceId); + + if (startBtn) { + startBtn.disabled = false; + } + + return; + } + + recorder.stopRecording().then(function() { console.info('stopRecording success'); - video.src = URL.createObjectURL(videoRecorder.blob); + clearMediaSource(video); + + if (!recorder.blob) { + throw "Empty video blob."; + } - video.play(); + video.src = URL.createObjectURL(recorder.blob); video.muted = false; - videoRecorder.stream.stop(); - document.getElementById('btn-start-recording').disabled = false; + + try { + video.load(); + } catch (e) {} + + var playPromise; + + try { + playPromise = video.play(); + } catch (e) {} + + if (playPromise && typeof playPromise.catch === "function") { + playPromise.catch(function() {}); + } + + stopStreamTracks(recorder.stream); + + if (startBtn) { + startBtn.disabled = false; + } }).catch(function(error) { displayErrorMessage(uploadConfig(instanceId).ErrMsgStopRec, instanceId); console.log("Stop recording error:", error); + + stopStreamTracks(recorder && recorder.stream ? recorder.stream : null); + clearMediaSource(video); + + if (startBtn) { + startBtn.disabled = false; + } }); } @@ -472,14 +767,22 @@ function captureImage(instanceId) { if (uploadConfig(instanceId).allowUploadFileChange == 1) { enableUploadBtn(instanceId); } - var video = document.getElementById('preview'); - var canvas = document.getElementById("canvas"); - var img = document.getElementById("capturedImage"); + + var video = getElementByDynamicId('preview', instanceId); + var canvas = getElementByDynamicId("canvas", instanceId); + var img = getElementByDynamicId("capturedImage", instanceId); + + if (!video || !canvas || !img) { + displayErrorMessage(uploadConfig(instanceId).ErrMsgSave, instanceId); + return; + } + if (img.hasAttribute("hidden")) { img.removeAttribute("hidden"); } + canvas.width = video.videoWidth; canvas.height = video.videoHeight; canvas.getContext('2d').drawImage(video, 0, 0); img.src = canvas.toDataURL('image/png'); -} +} \ No newline at end of file From 8da84969432a32fa1e883b95fa3e73456a5379aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20Gabri=C3=ABl?= Date: Tue, 5 May 2026 12:54:15 +0200 Subject: [PATCH 4/4] Update changelog.md --- changelog.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/changelog.md b/changelog.md index 4677c01..0e48efe 100644 --- a/changelog.md +++ b/changelog.md @@ -7,4 +7,4 @@ v1.1.0 - WebRTC,RecordRTC library update - Fixed - DOF runtime errors v2.0.0 - RecordRTC & WebRTC library update v2.0.1 - fixed/modernized buttons with button instead of input, removed onclick listeners with addeventhandler -v2.0.2 fixed issue where desktop recording wouldnt function properly \ No newline at end of file +v2.0.2 - fixed issue where desktop recording wouldn't function properly