twilio-video 2.26.0 → 2.26.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/README.md +1 -1
- package/dist/twilio-video.js +9 -8
- package/dist/twilio-video.min.js +4 -4
- package/es5/twilioconnection.js +3 -0
- package/es5/twilioconnection.js.map +1 -1
- package/es5/webrtc/getstats.js +4 -6
- package/es5/webrtc/getstats.js.map +1 -1
- package/lib/twilioconnection.js +4 -0
- package/lib/webrtc/getstats.js +4 -6
- package/package.json +1 -1
- package/tsdef/AudioTrack.d.ts +2 -13
- package/tsdef/MediaTrack.d.ts +16 -0
- package/tsdef/VideoTrack.d.ts +2 -12
- package/tsdef/index.d.ts +4 -3
- package/tsdef/twilio-video-tests.ts +3 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,18 @@ The Twilio Programmable Video SDKs use [Semantic Versioning](http://www.semver.o
|
|
|
2
2
|
|
|
3
3
|
**Version 1.x reached End of Life on September 8th, 2021.** See the changelog entry [here](https://www.twilio.com/changelog/end-of-life-complete-for-unsupported-versions-of-the-programmable-video-sdk). Support for the 1.x version ended on December 4th, 2020.
|
|
4
4
|
|
|
5
|
+
2.26.1 (January 31, 2023)
|
|
6
|
+
=========================
|
|
7
|
+
|
|
8
|
+
Bug Fixes
|
|
9
|
+
---------
|
|
10
|
+
|
|
11
|
+
- Fixed a bug that manifests on Chrome versions 112+ where `Room.getStats()` rejects the returned Promise due to a
|
|
12
|
+
TypeError caused by trying to read from the now-removed `RTCMediaStreamTrackStats`. Instead, the SDK now reads from
|
|
13
|
+
the `RTCMediaSourceStats`. (VIDEO-12411)
|
|
14
|
+
- Fixed an error in the type definition for the `attach()` method of `AudioTrack` and `VideoTrack`. (VIDEO-12242)
|
|
15
|
+
- Fixed an error in the type definition for `createLocalAudioTrack()`. (VIDEO-12383)
|
|
16
|
+
|
|
5
17
|
2.26.0 (December 14, 2022)
|
|
6
18
|
==========================
|
|
7
19
|
|
package/README.md
CHANGED
|
@@ -74,7 +74,7 @@ Releases of twilio-video.js are hosted on a CDN, and you can include these
|
|
|
74
74
|
directly in your web app using a <script> tag.
|
|
75
75
|
|
|
76
76
|
```html
|
|
77
|
-
<script src="//sdk.twilio.com/js/video/releases/2.26.
|
|
77
|
+
<script src="//sdk.twilio.com/js/video/releases/2.26.1/twilio-video.min.js"></script>
|
|
78
78
|
```
|
|
79
79
|
|
|
80
80
|
Using this method, twilio-video.js will set a browser global:
|
package/dist/twilio-video.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! twilio-video.js 2.26.
|
|
1
|
+
/*! twilio-video.js 2.26.1
|
|
2
2
|
|
|
3
3
|
The following license applies to all parts of this software except as
|
|
4
4
|
documented below.
|
|
@@ -20258,6 +20258,9 @@ var WS_CLOSE_NETWORK_CHANGED = 3004;
|
|
|
20258
20258
|
var WS_CLOSE_BUSY_WAIT = 3005;
|
|
20259
20259
|
var WS_CLOSE_SERVER_BUSY = 3006;
|
|
20260
20260
|
var WS_CLOSE_OPEN_TIMEOUT = 3007;
|
|
20261
|
+
// NOTE(joma): If you want to use close code 3008, please increment
|
|
20262
|
+
// the close code in test/integration/spec/docker/reconnection.js
|
|
20263
|
+
// line number 492.
|
|
20261
20264
|
var toplevel = globalThis;
|
|
20262
20265
|
var WebSocket = toplevel.WebSocket ? toplevel.WebSocket : require('ws');
|
|
20263
20266
|
var CloseReason = {
|
|
@@ -26526,9 +26529,7 @@ function _getStats(peerConnection, options) {
|
|
|
26526
26529
|
], function (_a) {
|
|
26527
26530
|
var _b = __read(_a, 3), tracks = _b[0], statsArrayName = _b[1], isRemote = _b[2];
|
|
26528
26531
|
return tracks.map(function (track) {
|
|
26529
|
-
return getTrackStats(peerConnection, track, Object.assign({
|
|
26530
|
-
isRemote: isRemote
|
|
26531
|
-
}, options)).then(function (trackStatsArray) {
|
|
26532
|
+
return getTrackStats(peerConnection, track, Object.assign({ isRemote: isRemote }, options)).then(function (trackStatsArray) {
|
|
26532
26533
|
trackStatsArray.forEach(function (trackStats) {
|
|
26533
26534
|
trackStats.trackId = track.id;
|
|
26534
26535
|
statsResponse[statsArrayName].push(trackStats);
|
|
@@ -26922,7 +26923,7 @@ function standardizeChromeOrSafariStats(response) {
|
|
|
26922
26923
|
break;
|
|
26923
26924
|
}
|
|
26924
26925
|
});
|
|
26925
|
-
var isRemote = track
|
|
26926
|
+
var isRemote = track ? track.remoteSource : !localMedia;
|
|
26926
26927
|
var mainSources = isRemote ? [inbound] : outbound;
|
|
26927
26928
|
var stats = [];
|
|
26928
26929
|
var remoteSource = isRemote ? remoteOutbound : remoteInbound; // remote rtp stats
|
|
@@ -26967,7 +26968,7 @@ function standardizeChromeOrSafariStats(response) {
|
|
|
26967
26968
|
}
|
|
26968
26969
|
else {
|
|
26969
26970
|
standardizedStats.frameWidthSent = frameWidth;
|
|
26970
|
-
standardizedStats.frameWidthInput = track.frameWidth;
|
|
26971
|
+
standardizedStats.frameWidthInput = track ? track.frameWidth : localMedia.width;
|
|
26971
26972
|
}
|
|
26972
26973
|
}
|
|
26973
26974
|
var frameHeight = getStatValue('frameHeight');
|
|
@@ -26977,7 +26978,7 @@ function standardizeChromeOrSafariStats(response) {
|
|
|
26977
26978
|
}
|
|
26978
26979
|
else {
|
|
26979
26980
|
standardizedStats.frameHeightSent = frameHeight;
|
|
26980
|
-
standardizedStats.frameHeightInput = track.frameHeight;
|
|
26981
|
+
standardizedStats.frameHeightInput = track ? track.frameHeight : localMedia.height;
|
|
26981
26982
|
}
|
|
26982
26983
|
}
|
|
26983
26984
|
var framesPerSecond = getStatValue('framesPerSecond');
|
|
@@ -30009,7 +30010,7 @@ module.exports={
|
|
|
30009
30010
|
"name": "twilio-video",
|
|
30010
30011
|
"title": "Twilio Video",
|
|
30011
30012
|
"description": "Twilio Video JavaScript Library",
|
|
30012
|
-
"version": "2.26.
|
|
30013
|
+
"version": "2.26.1",
|
|
30013
30014
|
"homepage": "https://twilio.com",
|
|
30014
30015
|
"author": "Mark Andrus Roberts <mroberts@twilio.com>",
|
|
30015
30016
|
"contributors": [
|
package/dist/twilio-video.min.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! twilio-video.js 2.26.
|
|
1
|
+
/*! twilio-video.js 2.26.1
|
|
2
2
|
|
|
3
3
|
The following license applies to all parts of this software except as
|
|
4
4
|
documented below.
|
|
@@ -52,6 +52,6 @@ return new LocalVideoTrackStats(report.trackId,report,prepareForInsights)}),enum
|
|
|
52
52
|
return EventObserver}(EventEmitter);module.exports=EventObserver},{events:173}],131:[function(require,module,exports){"use strict";var Filter=function(){function Filter(options){options=Object.assign({getKey:function defaultGetKey(a){return a},getValue:function defaultGetValue(a){return a},isLessThanOrEqualTo:function defaultIsLessThanOrEqualTo(a,b){return a<=b}},options);Object.defineProperties(this,{_getKey:{value:options.getKey},_getValue:{value:options.getValue},_isLessThanOrEqualTo:{value:options.isLessThanOrEqualTo},_map:{value:new Map}})}Filter.prototype.toMap=function(){return new Map(this._map)};Filter.prototype.updateAndFilter=function(entries){return entries.filter(this.update,this)};Filter.prototype.update=function(entry){var key=this._getKey(entry);var value=this._getValue(entry);if(this._map.has(key)&&this._isLessThanOrEqualTo(value,this._map.get(key))){return false}this._map.set(key,value);return true};return Filter}();module.exports=Filter},{}],132:[function(require,module,exports){"use strict";var __extends=this&&this.__extends||function(){var extendStatics=function(d,b){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(Object.prototype.hasOwnProperty.call(b,p))d[p]=b[p]};return extendStatics(d,b)};return function(d,b){if(typeof b!=="function"&&b!==null)throw new TypeError("Class extends value "+String(b)+" is not a constructor or null");extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();var __read=this&&this.__read||function(o,n){var m=typeof Symbol==="function"&&o[Symbol.iterator];if(!m)return o;var i=m.call(o),r,ar=[],e;try{while((n===void 0||n-- >0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error:error}}finally{try{if(r&&!r.done&&(m=i["return"]))m.call(i)}finally{if(e)throw e.error}}return ar};var __spreadArray=this&&this.__spreadArray||function(to,from){for(var i=0,il=from.length,j=to.length;i<il;i++,j++)to[j]=from[i];return to};var constants=require("./constants");var E=constants.typeErrors,trackPriority=constants.trackPriority;var util=require("../webrtc/util");var sessionSID=require("./sid").sessionSID;var TwilioWarning=require("./twiliowarning");function asLocalTrack(track,options){if(track instanceof options.LocalAudioTrack||track instanceof options.LocalVideoTrack||track instanceof options.LocalDataTrack){return track}if(track instanceof options.MediaStreamTrack){return track.kind==="audio"?new options.LocalAudioTrack(track,options):new options.LocalVideoTrack(track,options)}throw E.INVALID_TYPE("track","LocalAudioTrack, LocalVideoTrack, LocalDataTrack, or MediaStreamTrack")}function asLocalTrackPublication(track,signaling,unpublish,options){var LocalTrackPublication={audio:options.LocalAudioTrackPublication,video:options.LocalVideoTrackPublication,data:options.LocalDataTrackPublication}[track.kind];return new LocalTrackPublication(signaling,track,unpublish,options)}function capitalize(word){return word[0].toUpperCase()+word.slice(1)}function deprecateEvents(name,emitter,events,log){var warningsShown=new Set;emitter.on("newListener",function newListener(event){if(events.has(event)&&!warningsShown.has(event)){log.deprecated(name+"#"+event+" has been deprecated and scheduled for removal in twilio-video.js@2.0.0."+(events.get(event)?" Use "+name+"#"+events.get(event)+" instead.":""));warningsShown.add(event)}if(warningsShown.size>=events.size){emitter.removeListener("newListener",newListener)}})}function difference(list1,list2){list1=Array.isArray(list1)?new Set(list1):new Set(list1.values());list2=Array.isArray(list2)?new Set(list2):new Set(list2.values());var difference=new Set;list1.forEach(function(item){if(!list2.has(item)){difference.add(item)}});return difference}function filterObject(object,filterValue){return Object.keys(object).reduce(function(filtered,key){if(object[key]!==filterValue){filtered[key]=object[key]}return filtered},{})}function flatMap(list,mapFn){var listArray=list instanceof Map||list instanceof Set?Array.from(list.values()):list;mapFn=mapFn||function mapFn(item){return item};return listArray.reduce(function(flattened,item){var mapped=mapFn(item);return flattened.concat(mapped)},[])}function getUserAgent(){return typeof navigator!=="undefined"&&navigator.userAgent?navigator.userAgent:"Unknown"}function getPlatform(){var userAgent=getUserAgent();var _a=__read(userAgent.match(/\(([^)]+)\)/)||[],2),_b=_a[1],match=_b===void 0?"unknown":_b;var _c=__read(match.split(";").map(function(entry){return entry.trim()}),1),platform=_c[0];return platform.toLowerCase()}function makeUUID(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(c){var r=Math.random()*16|0;var v=c==="x"?r:r&3|8;return v.toString(16)})}function oncePerTick(fn){var timeout=null;function nextTick(){timeout=null;fn()}return function scheduleNextTick(){if(timeout){clearTimeout(timeout)}timeout=setTimeout(nextTick)}}function promiseFromEvents(operation,eventEmitter,successEvent,failureEvent){return new Promise(function(resolve,reject){function onSuccess(){var args=[].slice.call(arguments);if(failureEvent){eventEmitter.removeListener(failureEvent,onFailure)}resolve.apply(void 0,__spreadArray([],__read(args)))}function onFailure(){var args=[].slice.call(arguments);eventEmitter.removeListener(successEvent,onSuccess);reject.apply(void 0,__spreadArray([],__read(args)))}eventEmitter.once(successEvent,onSuccess);if(failureEvent){eventEmitter.once(failureEvent,onFailure)}operation()})}function getOrNull(obj,path){return path.split(".").reduce(function(output,step){if(!output){return null}return output[step]},obj)}function defer(){var deferred={};deferred.promise=new Promise(function(resolve,reject){deferred.resolve=resolve;deferred.reject=reject});return deferred}function delegateMethod(source,wrapper,target,methodName){if(methodName in wrapper){return}else if(methodName.match(/^on[a-z]+$/)){return}var type;try{type=typeof source[methodName]}catch(error){}if(type!=="function"){return}wrapper[methodName]=function(){var _a;var args=[];for(var _i=0;_i<arguments.length;_i++){args[_i]=arguments[_i]}return(_a=this[target])[methodName].apply(_a,__spreadArray([],__read(args)))}}function delegateMethods(source,wrapper,target){for(var methodName in source){delegateMethod(source,wrapper,target,methodName)}}function isDeepEqual(val1,val2){if(val1===val2){return true}if(typeof val1!==typeof val2){return false}if(val1===null){return val2===null}if(val2===null){return false}if(Array.isArray(val1)){return Array.isArray(val2)&&val1.length===val2.length&&val1.every(function(val,i){return isDeepEqual(val,val2[i])})}if(typeof val1==="object"){var val1Keys=Object.keys(val1).sort();var val2Keys=Object.keys(val2).sort();return!Array.isArray(val2)&&isDeepEqual(val1Keys,val2Keys)&&val1Keys.every(function(key){return isDeepEqual(val1[key],val2[key])})}return false}function isNonArrayObject(object){return typeof object==="object"&&!Array.isArray(object)}function proxyProperties(source,wrapper,target){Object.getOwnPropertyNames(source).forEach(function(propertyName){proxyProperty(source,wrapper,target,propertyName)})}function proxyProperty(source,wrapper,target,propertyName){if(propertyName in wrapper){return}else if(propertyName.match(/^on[a-z]+$/)){Object.defineProperty(wrapper,propertyName,{value:null,writable:true});target.addEventListener(propertyName.slice(2),function(){var args=[];for(var _i=0;_i<arguments.length;_i++){args[_i]=arguments[_i]}wrapper.dispatchEvent.apply(wrapper,__spreadArray([],__read(args)))});return}Object.defineProperty(wrapper,propertyName,{enumerable:true,get:function(){return target[propertyName]}})}function legacyPromise(promise,onSuccess,onFailure){if(onSuccess){return promise.then(function(result){onSuccess(result)},function(error){onFailure(error)})}return promise}function buildLogLevels(logLevel){if(typeof logLevel==="string"){return{default:logLevel,media:logLevel,signaling:logLevel,webrtc:logLevel}}return logLevel}function trackClass(track,local){local=local?"Local":"";return local+(track.kind||"").replace(/\w{1}/,function(m){return m.toUpperCase()})+"Track"}function trackPublicationClass(publication,local){local=local?"Local":"";return local+(publication.kind||"").replace(/\w{1}/,function(m){return m.toUpperCase()})+"TrackPublication"}function hidePrivateProperties(object){Object.getOwnPropertyNames(object).forEach(function(name){if(name.startsWith("_")){hideProperty(object,name)}})}function hidePrivateAndCertainPublicPropertiesInClass(klass,props){return function(_super){__extends(class_1,_super);function class_1(){var args=[];for(var _i=0;_i<arguments.length;_i++){args[_i]=arguments[_i]}var _this=_super.apply(this,__spreadArray([],__read(args)))||this;hidePrivateProperties(_this);hidePublicProperties(_this,props);return _this}return class_1}(klass)}function hideProperty(object,name){var descriptor=Object.getOwnPropertyDescriptor(object,name);descriptor.enumerable=false;Object.defineProperty(object,name,descriptor)}function hidePublicProperties(object,props){if(props===void 0){props=[]}props.forEach(function(name){if(object.hasOwnProperty(name)){hideProperty(object,name)}})}function arrayToJSON(array){return array.map(valueToJSON)}function setToJSON(set){return arrayToJSON(__spreadArray([],__read(set)))}function mapToJSON(map){return __spreadArray([],__read(map.entries())).reduce(function(json,_a){var _b;var _c=__read(_a,2),key=_c[0],value=_c[1];return Object.assign((_b={},_b[key]=valueToJSON(value),_b),json)},{})}function objectToJSON(object){return Object.entries(object).reduce(function(json,_a){var _b;var _c=__read(_a,2),key=_c[0],value=_c[1];return Object.assign((_b={},_b[key]=valueToJSON(value),_b),json)},{})}function valueToJSON(value){if(Array.isArray(value)){return arrayToJSON(value)}else if(value instanceof Set){return setToJSON(value)}else if(value instanceof Map){return mapToJSON(value)}else if(value&&typeof value==="object"){return objectToJSON(value)}return value}function createRoomConnectEventPayload(connectOptions){function boolToString(val){return val?"true":"false"}var payload={sessionSID:sessionSID,iceServers:(connectOptions.iceServers||[]).length,audioTracks:(connectOptions.tracks||[]).filter(function(track){return track.kind==="audio"}).length,videoTracks:(connectOptions.tracks||[]).filter(function(track){return track.kind==="video"}).length,dataTracks:(connectOptions.tracks||[]).filter(function(track){return track.kind==="data"}).length};[["audio"],["automaticSubscription"],["enableDscp"],["eventListener"],["preflight"],["video"],["dominantSpeaker","enableDominantSpeaker"]].forEach(function(_a){var _b=__read(_a,2),prop=_b[0],eventProp=_b[1];eventProp=eventProp||prop;payload[eventProp]=boolToString(!!connectOptions[prop])});[["maxVideoBitrate"],["maxAudioBitrate"]].forEach(function(_a){var _b=__read(_a,2),prop=_b[0],eventProp=_b[1];eventProp=eventProp||prop;if(typeof connectOptions[prop]==="number"){payload[eventProp]=connectOptions[prop]}else if(!isNaN(Number(connectOptions[prop]))){payload[eventProp]=Number(connectOptions[prop])}});[["iceTransportPolicy"],["region"],["name","roomName"]].forEach(function(_a){var _b=__read(_a,2),prop=_b[0],eventProp=_b[1];eventProp=eventProp||prop;if(typeof connectOptions[prop]==="string"){payload[eventProp]=connectOptions[prop]}else if(typeof connectOptions[prop]==="number"&&prop==="name"){payload[eventProp]=connectOptions[prop].toString()}});["preferredAudioCodecs","preferredVideoCodecs"].forEach(function(prop){if(prop in connectOptions){payload[prop]=JSON.stringify(connectOptions[prop])}});if("networkQuality"in connectOptions){payload.networkQualityConfiguration={};if(isNonArrayObject(connectOptions.networkQuality)){["local","remote"].forEach(function(prop){if(typeof connectOptions.networkQuality[prop]==="number"){payload.networkQualityConfiguration[prop]=connectOptions.networkQuality[prop]}})}else{payload.networkQualityConfiguration.remote=0;payload.networkQualityConfiguration.local=connectOptions.networkQuality?1:0}}if(connectOptions.bandwidthProfile&&connectOptions.bandwidthProfile.video){var videoBPOptions_1=connectOptions.bandwidthProfile.video||{};payload.bandwidthProfileOptions={};["mode","maxTracks","trackSwitchOffMode","dominantSpeakerPriority","maxSubscriptionBitrate","renderDimensions","contentPreferencesMode","clientTrackSwitchOffControl"].forEach(function(prop){if(typeof videoBPOptions_1[prop]==="number"||typeof videoBPOptions_1[prop]==="string"){payload.bandwidthProfileOptions[prop]=videoBPOptions_1[prop]}else if(typeof videoBPOptions_1[prop]==="boolean"){payload.bandwidthProfileOptions[prop]=boolToString(videoBPOptions_1[prop])}else if(typeof videoBPOptions_1[prop]==="object"){payload.bandwidthProfileOptions[prop]=JSON.stringify(videoBPOptions_1[prop])}})}return{group:"room",name:"connect",level:"info",payload:payload}}function createBandwidthProfilePayload(bandwidthProfile){return createRSPPayload(bandwidthProfile,[{prop:"video",type:"object",transform:createBandwidthProfileVideoPayload}])}function createBandwidthProfileVideoPayload(bandwidthProfileVideo){return createRSPPayload(bandwidthProfileVideo,[{prop:"dominantSpeakerPriority",type:"string",payloadProp:"active_speaker_priority"},{prop:"maxSubscriptionBitrate",type:"number",payloadProp:"max_subscription_bandwidth"},{prop:"maxTracks",type:"number",payloadProp:"max_tracks"},{prop:"mode",type:"string"},{prop:"renderDimensions",type:"object",payloadProp:"render_dimensions",transform:createRenderDimensionsPayload},{prop:"trackSwitchOffMode",type:"string",payloadProp:"track_switch_off"}])}function createMediaSignalingPayload(dominantSpeaker,networkQuality,trackPriority,trackSwitchOff,adaptiveSimulcast,renderHints){var transports={transports:[{type:"data-channel"}]};return Object.assign(dominantSpeaker?{active_speaker:transports}:{},networkQuality?{network_quality:transports}:{},renderHints?{render_hints:transports}:{},adaptiveSimulcast?{publisher_hints:transports}:{},trackPriority?{track_priority:transports}:{},trackSwitchOff?{track_switch_off:transports}:{})}function createDimensionsPayload(dimensions){return createRSPPayload(dimensions,[{prop:"height",type:"number"},{prop:"width",type:"number"}])}function createRenderDimensionsPayload(renderDimensions){var PRIORITY_HIGH=trackPriority.PRIORITY_HIGH,PRIORITY_LOW=trackPriority.PRIORITY_LOW,PRIORITY_STANDARD=trackPriority.PRIORITY_STANDARD;return createRSPPayload(renderDimensions,[{prop:PRIORITY_HIGH,type:"object",transform:createDimensionsPayload},{prop:PRIORITY_LOW,type:"object",transform:createDimensionsPayload},{prop:PRIORITY_STANDARD,type:"object",transform:createDimensionsPayload}])}function createRSPPayload(object,propConversions){return propConversions.reduce(function(payload,_a){var _b;var prop=_a.prop,type=_a.type,_c=_a.payloadProp,payloadProp=_c===void 0?prop:_c,_d=_a.transform,transform=_d===void 0?function(x){return x}:_d;return typeof object[prop]===type?Object.assign((_b={},_b[payloadProp]=transform(object[prop]),_b),payload):payload},{})}function createSubscribePayload(automaticSubscription){return{rules:[{type:automaticSubscription?"include":"exclude",all:true}],revision:1}}function createMediaWarningsPayload(notifyWarnings){var _a;var mediaWarnings=(_a={},_a[TwilioWarning.recordingMediaLost]="recordings",_a);return notifyWarnings.map(function(twilioWarningName){return mediaWarnings[twilioWarningName]}).filter(function(name){return!!name})}function withJitter(value,jitter){var rand=Math.random();return value-jitter+Math.floor(2*jitter*rand+.5)}function inRange(num,min,max){return min<=num&&num<=max}function isChromeScreenShareTrack(track){return util.guessBrowser()==="chrome"&&track.kind==="video"&&"displaySurface"in track.getSettings()}function isUserMediaTrack(track){return typeof track.getSettings().deviceId==="string"}function waitForSometime(timeoutMS){if(timeoutMS===void 0){timeoutMS=10}return new Promise(function(resolve){return setTimeout(resolve,timeoutMS)})}function waitForEvent(eventTarget,event){return new Promise(function(resolve){eventTarget.addEventListener(event,function onevent(e){eventTarget.removeEventListener(event,onevent);resolve(e)})})}exports.constants=constants;exports.createBandwidthProfilePayload=createBandwidthProfilePayload;exports.createMediaSignalingPayload=createMediaSignalingPayload;exports.createMediaWarningsPayload=createMediaWarningsPayload;exports.createRoomConnectEventPayload=createRoomConnectEventPayload;exports.createSubscribePayload=createSubscribePayload;exports.asLocalTrack=asLocalTrack;exports.asLocalTrackPublication=asLocalTrackPublication;exports.capitalize=capitalize;exports.deprecateEvents=deprecateEvents;exports.difference=difference;exports.filterObject=filterObject;exports.flatMap=flatMap;exports.getPlatform=getPlatform;exports.getUserAgent=getUserAgent;exports.hidePrivateProperties=hidePrivateProperties;exports.hidePrivateAndCertainPublicPropertiesInClass=hidePrivateAndCertainPublicPropertiesInClass;exports.isDeepEqual=isDeepEqual;exports.isNonArrayObject=isNonArrayObject;exports.inRange=inRange;exports.makeUUID=makeUUID;exports.oncePerTick=oncePerTick;exports.promiseFromEvents=promiseFromEvents;exports.getOrNull=getOrNull;exports.defer=defer;exports.delegateMethods=delegateMethods;exports.proxyProperties=proxyProperties;exports.legacyPromise=legacyPromise;exports.buildLogLevels=buildLogLevels;exports.trackClass=trackClass;exports.trackPublicationClass=trackPublicationClass;exports.valueToJSON=valueToJSON;exports.withJitter=withJitter;exports.isChromeScreenShareTrack=isChromeScreenShareTrack;exports.isUserMediaTrack=isUserMediaTrack;exports.waitForSometime=waitForSometime;exports.waitForEvent=waitForEvent},{"../webrtc/util":170,"./constants":125,"./sid":144,"./twiliowarning":149}],133:[function(require,module,exports){"use strict";var __extends=this&&this.__extends||function(){var extendStatics=function(d,b){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(Object.prototype.hasOwnProperty.call(b,p))d[p]=b[p]};return extendStatics(d,b)};return function(d,b){if(typeof b!=="function"&&b!==null)throw new TypeError("Class extends value "+String(b)+" is not a constructor or null");extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();var __assign=this&&this.__assign||function(){__assign=Object.assign||function(t){for(var s,i=1,n=arguments.length;i<n;i++){s=arguments[i];for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))t[p]=s[p]}return t};return __assign.apply(this,arguments)};var EventEmitter=require("events").EventEmitter;var getUserAgent=require("..").getUserAgent;var MAX_RECONNECT_ATTEMPTS=5;var RECONNECT_INTERVAL_MS=50;var WS_CLOSE_NORMAL=1e3;var toplevel=globalThis;var WebSocket=toplevel.WebSocket?toplevel.WebSocket:require("ws");var _a=require("../constants"),hardwareDevicePublisheriPad=_a.hardwareDevicePublisheriPad,hardwareDevicePublisheriPhone=_a.hardwareDevicePublisheriPhone;var util=require("../../util");var browserdetection=require("../browserdetection");var InsightsPublisher=function(_super){__extends(InsightsPublisher,_super);function InsightsPublisher(token,sdkName,sdkVersion,environment,realm,options){var _this=_super.call(this)||this;options=Object.assign({gateway:createGateway(environment,realm)+"/v1/VideoEvents",maxReconnectAttempts:MAX_RECONNECT_ATTEMPTS,reconnectIntervalMs:RECONNECT_INTERVAL_MS,userAgent:getUserAgent(),WebSocket:WebSocket},options);Object.defineProperties(_this,{_connectTimestamp:{value:0,writable:true},_eventQueue:{value:[]},_readyToConnect:{value:util.defer()},_reconnectAttemptsLeft:{value:options.maxReconnectAttempts,writable:true},_ws:{value:null,writable:true},_WebSocket:{value:options.WebSocket}});_this._readyToConnect.promise.then(function(_a){var roomSid=_a.roomSid,participantSid=_a.participantSid;var self=_this;_this.on("disconnected",function maybeReconnect(error){self._session=null;if(error&&self._reconnectAttemptsLeft>0){self.emit("reconnecting");reconnect(self,token,sdkName,sdkVersion,roomSid,participantSid,options);return}self.removeListener("disconnected",maybeReconnect)});connect(_this,token,sdkName,sdkVersion,roomSid,participantSid,options)}).catch(function(){});return _this}InsightsPublisher.prototype.connect=function(roomSid,participantSid){this._readyToConnect.resolve({roomSid:roomSid,participantSid:participantSid})};InsightsPublisher.prototype._publish=function(event){event.session=this._session;this._ws.send(JSON.stringify(event))};InsightsPublisher.prototype.disconnect=function(){if(this._ws===null||this._ws.readyState===this._WebSocket.CLOSING||this._ws.readyState===this._WebSocket.CLOSED){return false}try{this._ws.close()}catch(error){}this.emit("disconnected");return true};InsightsPublisher.prototype.publish=function(groupName,eventName,payload){if(this._ws!==null&&(this._ws.readyState===this._WebSocket.CLOSING||this._ws.readyState===this._WebSocket.CLOSED)){return false}var publishOrEnqueue=typeof this._session==="string"?this._publish.bind(this):this._eventQueue.push.bind(this._eventQueue);publishOrEnqueue({group:groupName,name:eventName,payload:payload,timestamp:Date.now(),type:"event",version:1});return true};return InsightsPublisher}(EventEmitter);function connect(publisher,token,sdkName,sdkVersion,roomSid,participantSid,options){publisher._connectTimestamp=Date.now();publisher._reconnectAttemptsLeft--;publisher._ws=new options.WebSocket(options.gateway);var ws=publisher._ws;ws.addEventListener("close",function(event){if(event.code===WS_CLOSE_NORMAL){publisher.emit("disconnected");return}publisher.emit("disconnected",new Error("WebSocket Error "+event.code+": "+event.reason))});ws.addEventListener("message",function(message){handleConnectResponse(publisher,JSON.parse(message.data),options)});ws.addEventListener("open",function(){var connectRequest={type:"connect",token:token,version:1};connectRequest.publisher={name:sdkName,sdkVersion:sdkVersion,userAgent:options.userAgent,participantSid:participantSid,roomSid:roomSid};if(browserdetection.isIpad()){connectRequest.publisher=__assign(__assign({},connectRequest.publisher),hardwareDevicePublisheriPad)}else if(browserdetection.isIphone()){connectRequest.publisher=__assign(__assign({},connectRequest.publisher),hardwareDevicePublisheriPhone)}ws.send(JSON.stringify(connectRequest))})}function createGateway(environment,realm){return environment==="prod"?"wss://sdkgw."+realm+".twilio.com":"wss://sdkgw."+environment+"-"+realm+".twilio.com"}function handleConnectResponse(publisher,response,options){switch(response.type){case"connected":publisher._session=response.session;publisher._reconnectAttemptsLeft=options.maxReconnectAttempts;publisher._eventQueue.splice(0).forEach(publisher._publish,publisher);publisher.emit("connected");break;case"error":publisher._ws.close();publisher.emit("disconnected",new Error(response.message));break}}function reconnect(publisher,token,sdkName,sdkVersion,roomSid,participantSid,options){var connectInterval=Date.now()-publisher._connectTimestamp;var timeToWait=options.reconnectIntervalMs-connectInterval;if(timeToWait>0){setTimeout(function(){connect(publisher,token,sdkName,sdkVersion,roomSid,participantSid,options)},timeToWait);return}connect(publisher,token,sdkName,sdkVersion,roomSid,participantSid,options)}module.exports=InsightsPublisher},{"..":132,"../../util":132,"../browserdetection":123,"../constants":125,events:173,ws:175}],134:[function(require,module,exports){"use strict";var InsightsPublisher=function(){function InsightsPublisher(){Object.defineProperties(this,{_connected:{writable:true,value:true}})}InsightsPublisher.prototype.connect=function(){};InsightsPublisher.prototype.disconnect=function(){if(this._connected){this._connected=false;return true}return false};InsightsPublisher.prototype.publish=function(){return this._connected};return InsightsPublisher}();module.exports=InsightsPublisher},{}],135:[function(require,module,exports){"use strict";var defer=require("./").defer;var LocalMediaRestartDeferreds=function(){function LocalMediaRestartDeferreds(){Object.defineProperties(this,{_audio:{value:defer(),writable:true},_video:{value:defer(),writable:true}});this._audio.resolve();this._video.resolve()}LocalMediaRestartDeferreds.prototype.resolveDeferred=function(kind){if(kind==="audio"){this._audio.resolve()}else{this._video.resolve()}};LocalMediaRestartDeferreds.prototype.startDeferred=function(kind){if(kind==="audio"){this._audio=defer()}else{this._video=defer()}};LocalMediaRestartDeferreds.prototype.whenResolved=function(kind){return kind==="audio"?this._audio.promise:this._video.promise};return LocalMediaRestartDeferreds}();module.exports=new LocalMediaRestartDeferreds},{"./":132}],136:[function(require,module,exports){"use strict";var __read=this&&this.__read||function(o,n){var m=typeof Symbol==="function"&&o[Symbol.iterator];if(!m)return o;var i=m.call(o),r,ar=[],e;try{while((n===void 0||n-- >0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error:error}}finally{try{if(r&&!r.done&&(m=i["return"]))m.call(i)}finally{if(e)throw e.error}}return ar};var __spreadArray=this&&this.__spreadArray||function(to,from){for(var i=0,il=from.length,j=to.length;i<il;i++,j++)to[j]=from[i];return to};var defaultGetLogger=require("../vendor/loglevel").getLogger;var constants=require("./constants");var DEFAULT_LOG_LEVEL=constants.DEFAULT_LOG_LEVEL,DEFAULT_LOGGER_NAME=constants.DEFAULT_LOGGER_NAME;var E=require("./constants").typeErrors;var deprecationWarningsByComponentConstructor;function getDeprecationWarnings(componentConstructor){deprecationWarningsByComponentConstructor=deprecationWarningsByComponentConstructor||new Map;if(deprecationWarningsByComponentConstructor.has(componentConstructor)){return deprecationWarningsByComponentConstructor.get(componentConstructor)}var deprecationWarnings=new Set;deprecationWarningsByComponentConstructor.set(componentConstructor,deprecationWarnings);return deprecationWarnings}var Log=function(){function Log(moduleName,component,logLevels,loggerName,getLogger){if(typeof moduleName!=="string"){throw E.INVALID_TYPE("moduleName","string")}if(!component){throw E.REQUIRED_ARGUMENT("component")}if(typeof logLevels!=="object"){logLevels={}}getLogger=getLogger||defaultGetLogger;validateLogLevels(logLevels);Object.defineProperties(this,{_component:{value:component},_logLevels:{value:logLevels},_warnings:{value:new Set},_loggerName:{get:function get(){var name=loggerName&&typeof loggerName==="string"?loggerName:DEFAULT_LOGGER_NAME;if(!this._logLevelsEqual){name=name+"-"+moduleName}return name}},_logger:{get:function get(){var logger=getLogger(this._loggerName);var level=this._logLevels[moduleName]||DEFAULT_LOG_LEVEL;level=level==="off"?"silent":level;logger.setDefaultLevel(level);return logger}},_logLevelsEqual:{get:function get(){return new Set(Object.values(this._logLevels)).size===1}},logLevel:{get:function get(){return Log.getLevelByName(logLevels[moduleName]||DEFAULT_LOG_LEVEL)}},name:{get:component.toString.bind(component)}})}Log.getLevelByName=function(name){if(!isNaN(name)){return parseInt(name,10)}name=name.toUpperCase();validateLogLevel(name);return Log[name]};Log.prototype.createLog=function(moduleName,component){var name=this._loggerName;if(!this._logLevelsEqual){name=name.substring(0,name.lastIndexOf("-"))}return new Log(moduleName,component,this._logLevels,name)};Log.prototype.setLevels=function(levels){validateLogLevels(levels);Object.assign(this._logLevels,levels);return this};Log.prototype.log=function(logLevel,messages){var name=Log._levels[logLevel];if(!name){throw E.INVALID_VALUE("logLevel",LOG_LEVEL_VALUES)}name=name.toLowerCase();var prefix=[(new Date).toISOString(),name,this.name];(this._logger[name]||function noop(){}).apply(void 0,__spreadArray([],__read(prefix.concat(messages))));return this};Log.prototype.debug=function(){return this.log(Log.DEBUG,[].slice.call(arguments))};Log.prototype.deprecated=function(deprecationWarning){var deprecationWarnings=getDeprecationWarnings(this._component.constructor);if(deprecationWarnings.has(deprecationWarning)){return this}deprecationWarnings.add(deprecationWarning);return this.warn(deprecationWarning)};Log.prototype.info=function(){return this.log(Log.INFO,[].slice.call(arguments))};Log.prototype.warn=function(){return this.log(Log.WARN,[].slice.call(arguments))};Log.prototype.warnOnce=function(warning){if(this._warnings.has(warning)){return this}this._warnings.add(warning);return this.warn(warning)};Log.prototype.error=function(){return this.log(Log.ERROR,[].slice.call(arguments))};Log.prototype.throw=function(error,customMessage){if(error.clone){error=error.clone(customMessage)}this.log(Log.ERROR,error);throw error};return Log}();Object.defineProperties(Log,{DEBUG:{value:0},INFO:{value:1},WARN:{value:2},ERROR:{value:3},OFF:{value:4},_levels:{value:["DEBUG","INFO","WARN","ERROR","OFF"]}});var LOG_LEVELS_SET={};var LOG_LEVEL_VALUES=[];var LOG_LEVEL_NAMES=Log._levels.map(function(level,i){LOG_LEVELS_SET[level]=true;LOG_LEVEL_VALUES.push(i);return level});function validateLogLevel(level){if(!(level in LOG_LEVELS_SET)){throw E.INVALID_VALUE("level",LOG_LEVEL_NAMES)}}function validateLogLevels(levels){Object.keys(levels).forEach(function(moduleName){validateLogLevel(levels[moduleName].toUpperCase())})}module.exports=Log},{"../vendor/loglevel":152,"./constants":125}],137:[function(require,module,exports){"use strict";var MovingAverageDelta=function(){function MovingAverageDelta(){Object.defineProperties(this,{_samples:{value:[{denominator:0,numerator:0},{denominator:0,numerator:0}]}})}MovingAverageDelta.prototype.get=function(){var samples=this._samples;var denominatorDelta=samples[1].denominator-samples[0].denominator||Infinity;var numeratorDelta=samples[1].numerator-samples[0].numerator;return numeratorDelta/denominatorDelta};MovingAverageDelta.prototype.putSample=function(numerator,denominator){var samples=this._samples;samples.shift();samples.push({denominator:denominator,numerator:numerator})};return MovingAverageDelta}();module.exports=MovingAverageDelta},{}],138:[function(require,module,exports){"use strict";var NetworkMonitor=function(){function NetworkMonitor(onNetworkChanged,options){var _this=this;options=Object.assign({navigator:navigator,window:window},options);var nav=options.navigator;var connection=nav.connection||{type:null};var type=connection.type;var _a=connection.type?{_events:{value:["change","typechange"]},_listener:{value:function(){var networkChanged=type!==_this.type&&_this.isOnline;type=_this.type;if(networkChanged){onNetworkChanged()}}},_target:{value:connection}}:{_events:{value:["online"]},_listener:{value:onNetworkChanged},_target:{value:options.window}},_events=_a._events,_listener=_a._listener,_target=_a._target;Object.defineProperties(this,{isOnline:{enumerable:true,get:function(){return typeof nav.onLine==="boolean"?nav.onLine:true}},type:{enumerable:true,get:function(){return connection.type||null}},_listener:_listener,_events:_events,_target:_target})}NetworkMonitor.prototype.start=function(){var _this=this;this._events.forEach(function(event){_this._target.addEventListener(event,_this._listener)})};NetworkMonitor.prototype.stop=function(){var _this=this;this._events.forEach(function(event){_this._target.removeEventListener(event,_this._listener)})};return NetworkMonitor}();module.exports=NetworkMonitor},{}],139:[function(require,module,exports){"use strict";var __extends=this&&this.__extends||function(){var extendStatics=function(d,b){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(Object.prototype.hasOwnProperty.call(b,p))d[p]=b[p]};return extendStatics(d,b)};return function(d,b){
|
|
53
53
|
if(typeof b!=="function"&&b!==null)throw new TypeError("Class extends value "+String(b)+" is not a constructor or null");extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();var NullObserver=function(){function NullObserver(callback){Object.defineProperties(this,{_callback:{value:callback}})}NullObserver.prototype.observe=function(){};NullObserver.prototype.unobserve=function(){};NullObserver.prototype.makeVisible=function(videoEl){var visibleEntry=this._makeFakeEntry(videoEl,true);this._callback([visibleEntry])};NullObserver.prototype.makeInvisible=function(videoEl){var invisibleEntry=this._makeFakeEntry(videoEl,false);this._callback([invisibleEntry])};NullObserver.prototype._makeFakeEntry=function(videoElement,isIntersecting){return{target:videoElement,isIntersecting:isIntersecting}};return NullObserver}();var NullIntersectionObserver=function(_super){__extends(NullIntersectionObserver,_super);function NullIntersectionObserver(){return _super!==null&&_super.apply(this,arguments)||this}return NullIntersectionObserver}(NullObserver);var NullResizeObserver=function(_super){__extends(NullResizeObserver,_super);function NullResizeObserver(){return _super!==null&&_super.apply(this,arguments)||this}NullResizeObserver.prototype.resize=function(videoEl){var entry=this._makeFakeEntry(videoEl,true);this._callback([entry])};return NullResizeObserver}(NullObserver);module.exports={NullIntersectionObserver:NullIntersectionObserver,NullResizeObserver:NullResizeObserver,NullObserver:NullObserver}},{}],140:[function(require,module,exports){"use strict";var __read=this&&this.__read||function(o,n){var m=typeof Symbol==="function"&&o[Symbol.iterator];if(!m)return o;var i=m.call(o),r,ar=[],e;try{while((n===void 0||n-- >0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error:error}}finally{try{if(r&&!r.done&&(m=i["return"]))m.call(i)}finally{if(e)throw e.error}}return ar};var _a=require("../"),difference=_a.difference,flatMap=_a.flatMap;var setSimulcastInMediaSection=require("./simulcast");var ptToFixedBitrateAudioCodecName={0:"PCMU",8:"PCMA"};function createCodecMapForMediaSection(section){return Array.from(createPtToCodecName(section)).reduce(function(codecMap,pair){var pt=pair[0];var codecName=pair[1];var pts=codecMap.get(codecName)||[];return codecMap.set(codecName,pts.concat(pt))},new Map)}function createMidToMediaSectionMap(sdp){return getMediaSections(sdp).reduce(function(midsToMediaSections,mediaSection){var mid=getMidForMediaSection(mediaSection);return mid?midsToMediaSections.set(mid,mediaSection):midsToMediaSections},new Map)}function createPtToCodecName(mediaSection){return getPayloadTypesInMediaSection(mediaSection).reduce(function(ptToCodecName,pt){var rtpmapPattern=new RegExp("a=rtpmap:"+pt+" ([^/]+)");var matches=mediaSection.match(rtpmapPattern);var codecName=matches?matches[1].toLowerCase():ptToFixedBitrateAudioCodecName[pt]?ptToFixedBitrateAudioCodecName[pt].toLowerCase():"";return ptToCodecName.set(pt,codecName)},new Map)}function getFmtpAttributesForPt(pt,mediaSection){var fmtpRegex=new RegExp("^a=fmtp:"+pt+" (.+)$","m");var matches=mediaSection.match(fmtpRegex);return matches&&matches[1].split(";").reduce(function(attrs,nvPair){var _a=__read(nvPair.split("="),2),name=_a[0],value=_a[1];attrs[name]=isNaN(value)?value:parseInt(value,10);return attrs},{})}function getMidForMediaSection(mediaSection){var midMatches=mediaSection.match(/^a=mid:(.+)$/m);return midMatches&&midMatches[1]}function getMediaSections(sdp,kind,direction){return sdp.replace(/\r\n\r\n$/,"\r\n").split("\r\nm=").slice(1).map(function(mediaSection){return"m="+mediaSection}).filter(function(mediaSection){var kindPattern=new RegExp("m="+(kind||".*"),"gm");var directionPattern=new RegExp("a="+(direction||".*"),"gm");return kindPattern.test(mediaSection)&&directionPattern.test(mediaSection)})}function getPayloadTypesInMediaSection(section){var mLine=section.split("\r\n")[0];var matches=mLine.match(/([0-9]+)/g);if(!matches){return[]}return matches.slice(1).map(function(match){return parseInt(match,10)})}function getReorderedPayloadTypes(codecMap,preferredCodecs){preferredCodecs=preferredCodecs.map(function(_a){var codec=_a.codec;return codec.toLowerCase()});var preferredPayloadTypes=flatMap(preferredCodecs,function(codecName){return codecMap.get(codecName)||[]});var remainingCodecs=difference(Array.from(codecMap.keys()),preferredCodecs);var remainingPayloadTypes=flatMap(remainingCodecs,function(codecName){return codecMap.get(codecName)});return preferredPayloadTypes.concat(remainingPayloadTypes)}function setPayloadTypesInMediaSection(payloadTypes,section){var lines=section.split("\r\n");var mLine=lines[0];var otherLines=lines.slice(1);mLine=mLine.replace(/([0-9]+\s?)+$/,payloadTypes.join(" "));return[mLine].concat(otherLines).join("\r\n")}function setCodecPreferences(sdp,preferredAudioCodecs,preferredVideoCodecs){var mediaSections=getMediaSections(sdp);var session=sdp.split("\r\nm=")[0];return[session].concat(mediaSections.map(function(section){if(!/^m=(audio|video)/.test(section)){return section}var kind=section.match(/^m=(audio|video)/)[1];var codecMap=createCodecMapForMediaSection(section);var preferredCodecs=kind==="audio"?preferredAudioCodecs:preferredVideoCodecs;var payloadTypes=getReorderedPayloadTypes(codecMap,preferredCodecs);var newSection=setPayloadTypesInMediaSection(payloadTypes,section);var pcmaPayloadTypes=codecMap.get("pcma")||[];var pcmuPayloadTypes=codecMap.get("pcmu")||[];var fixedBitratePayloadTypes=kind==="audio"?new Set(pcmaPayloadTypes.concat(pcmuPayloadTypes)):new Set;return fixedBitratePayloadTypes.has(payloadTypes[0])?newSection.replace(/\r\nb=(AS|TIAS):([0-9]+)/g,""):newSection})).join("\r\n")}function setSimulcast(sdp,trackIdsToAttributes){var mediaSections=getMediaSections(sdp);var session=sdp.split("\r\nm=")[0];return[session].concat(mediaSections.map(function(section){section=section.replace(/\r\n$/,"");if(!/^m=video/.test(section)){return section}var codecMap=createCodecMapForMediaSection(section);var payloadTypes=getPayloadTypesInMediaSection(section);var vp8PayloadTypes=new Set(codecMap.get("vp8")||[]);var hasVP8PayloadType=payloadTypes.some(function(payloadType){return vp8PayloadTypes.has(payloadType)});return hasVP8PayloadType?setSimulcastInMediaSection(section,trackIdsToAttributes):section})).concat("").join("\r\n")}function getMatchingPayloadTypes(peerCodec,peerPt,codecsToPts,section,peerSection){var matchingPts=codecsToPts.get(peerCodec)||[];if(matchingPts.length<=1){return matchingPts}var peerFmtpAttrs=getFmtpAttributesForPt(peerPt,peerSection);if(!peerFmtpAttrs){return matchingPts}var matchingPt=matchingPts.find(function(pt){var fmtpAttrs=getFmtpAttributesForPt(pt,section);return fmtpAttrs&&Object.keys(peerFmtpAttrs).every(function(attr){return peerFmtpAttrs[attr]===fmtpAttrs[attr]})});return typeof matchingPt==="number"?[matchingPt]:matchingPts}function filterCodecsInMediaSection(section,peerMidsToMediaSections,codecsToRemove){if(!/^m=(audio|video)/.test(section)){return section}var mid=getMidForMediaSection(section);var peerSection=mid&&peerMidsToMediaSections.get(mid);if(!peerSection){return section}var peerPtToCodecs=createPtToCodecName(peerSection);var codecsToPts=createCodecMapForMediaSection(section);var pts=flatMap(Array.from(peerPtToCodecs),function(_a){var _b=__read(_a,2),peerPt=_b[0],peerCodec=_b[1];return peerCodec!=="rtx"&&!codecsToRemove.includes(peerCodec)?getMatchingPayloadTypes(peerCodec,peerPt,codecsToPts,section,peerSection):[]});var rtxPts=codecsToPts.get("rtx")||[];pts=pts.concat(rtxPts.filter(function(rtxPt){var fmtpAttrs=getFmtpAttributesForPt(rtxPt,section);return fmtpAttrs&&pts.includes(fmtpAttrs.apt)}));var lines=section.split("\r\n").filter(function(line){var ptMatches=line.match(/^a=(rtpmap|fmtp|rtcp-fb):(.+) .+$/);var pt=ptMatches&&ptMatches[2];return!ptMatches||pt&&pts.includes(parseInt(pt,10))});var orderedPts=getPayloadTypesInMediaSection(section).filter(function(pt){return pts.includes(pt)});return setPayloadTypesInMediaSection(orderedPts,lines.join("\r\n"))}function filterLocalCodecs(localSdp,remoteSdp){var localMediaSections=getMediaSections(localSdp);var localSession=localSdp.split("\r\nm=")[0];var remoteMidsToMediaSections=createMidToMediaSectionMap(remoteSdp);return[localSession].concat(localMediaSections.map(function(localSection){return filterCodecsInMediaSection(localSection,remoteMidsToMediaSections,[])})).join("\r\n")}function revertSimulcast(localSdp,localSdpWithoutSimulcast,remoteSdp,revertForAll){if(revertForAll===void 0){revertForAll=false}var remoteMidToMediaSections=createMidToMediaSectionMap(remoteSdp);var localMidToMediaSectionsWithoutSimulcast=createMidToMediaSectionMap(localSdpWithoutSimulcast);var mediaSections=getMediaSections(localSdp);var session=localSdp.split("\r\nm=")[0];return[session].concat(mediaSections.map(function(section){section=section.replace(/\r\n$/,"");if(!/^m=video/.test(section)){return section}var midMatches=section.match(/^a=mid:(.+)$/m);var mid=midMatches&&midMatches[1];if(!mid){return section}var remoteSection=remoteMidToMediaSections.get(mid);var remotePtToCodecs=createPtToCodecName(remoteSection);var remotePayloadTypes=getPayloadTypesInMediaSection(remoteSection);var isVP8ThePreferredCodec=remotePayloadTypes.length&&remotePtToCodecs.get(remotePayloadTypes[0])==="vp8";var shouldRevertSimulcast=revertForAll||!isVP8ThePreferredCodec;return shouldRevertSimulcast?localMidToMediaSectionsWithoutSimulcast.get(mid).replace(/\r\n$/,""):section})).concat("").join("\r\n")}function addOrRewriteNewTrackIds(sdp,activeMidsToTrackIds,trackIdsByKind){var newMidsToTrackIds=Array.from(trackIdsByKind).reduce(function(midsToTrackIds,_a){var _b=__read(_a,2),kind=_b[0],trackIds=_b[1];var mediaSections=getMediaSections(sdp,kind,"send(only|recv)");var newMids=mediaSections.map(getMidForMediaSection).filter(function(mid){return!activeMidsToTrackIds.has(mid)});newMids.forEach(function(mid,i){return midsToTrackIds.set(mid,trackIds[i])});return midsToTrackIds},new Map);return addOrRewriteTrackIds(sdp,newMidsToTrackIds)}function addOrRewriteTrackIds(sdp,midsToTrackIds){var mediaSections=getMediaSections(sdp);var session=sdp.split("\r\nm=")[0];return[session].concat(mediaSections.map(function(mediaSection){if(!/^m=(audio|video)/.test(mediaSection)){return mediaSection}var mid=getMidForMediaSection(mediaSection);if(!mid){return mediaSection}var trackId=midsToTrackIds.get(mid);if(!trackId){return mediaSection}var attributes=(mediaSection.match(/^a=msid:(.+)$/m)||[])[1];if(!attributes){return mediaSection}var _a=__read(attributes.split(" "),2),msid=_a[0],trackIdToRewrite=_a[1];var msidRegex=new RegExp("msid:"+msid+(trackIdToRewrite?" "+trackIdToRewrite:"")+"$","gm");return mediaSection.replace(msidRegex,"msid:"+msid+" "+trackId)})).join("\r\n")}function removeSSRCAttributes(sdp,ssrcAttributesToRemove){return sdp.split("\r\n").filter(function(line){return!ssrcAttributesToRemove.find(function(srcAttribute){return new RegExp("a=ssrc:.*"+srcAttribute+":","g").test(line)})}).join("\r\n")}function disableRtx(sdp){var mediaSections=getMediaSections(sdp);var session=sdp.split("\r\nm=")[0];return[session].concat(mediaSections.map(function(mediaSection){if(!/^m=video/.test(mediaSection)){return mediaSection}var codecsToPts=createCodecMapForMediaSection(mediaSection);var rtxPts=codecsToPts.get("rtx");if(!rtxPts){return mediaSection}var pts=new Set(getPayloadTypesInMediaSection(mediaSection));rtxPts.forEach(function(rtxPt){return pts.delete(rtxPt)});var rtxSSRCMatches=mediaSection.match(/a=ssrc-group:FID [0-9]+ ([0-9]+)/);var rtxSSRC=rtxSSRCMatches&&rtxSSRCMatches[1];var filterRegexes=[/^a=fmtp:.+ apt=.+$/,/^a=rtpmap:.+ rtx\/.+$/,/^a=ssrc-group:.+$/].concat(rtxSSRC?[new RegExp("^a=ssrc:"+rtxSSRC+" .+$")]:[]);mediaSection=mediaSection.split("\r\n").filter(function(line){return filterRegexes.every(function(regex){return!regex.test(line)})}).join("\r\n");return setPayloadTypesInMediaSection(Array.from(pts),mediaSection)})).join("\r\n")}function generateFmtpLineFromPtAndAttributes(pt,fmtpAttrs){var serializedFmtpAttrs=Object.entries(fmtpAttrs).map(function(_a){var _b=__read(_a,2),name=_b[0],value=_b[1];return name+"="+value}).join(";");return"a=fmtp:"+pt+" "+serializedFmtpAttrs}function enableDtxForOpus(sdp,mids){var mediaSections=getMediaSections(sdp);var session=sdp.split("\r\nm=")[0];mids=mids||mediaSections.filter(function(section){return/^m=audio/.test(section)}).map(getMidForMediaSection);return[session].concat(mediaSections.map(function(section){if(!/^m=audio/.test(section)){return section}var codecsToPts=createCodecMapForMediaSection(section);var opusPt=codecsToPts.get("opus");if(!opusPt){return section}var opusFmtpAttrs=getFmtpAttributesForPt(opusPt,section);if(!opusFmtpAttrs){return section}var origOpusFmtpLine=generateFmtpLineFromPtAndAttributes(opusPt,opusFmtpAttrs);var origOpusFmtpRegex=new RegExp(origOpusFmtpLine);var mid=getMidForMediaSection(section);if(mids.includes(mid)){opusFmtpAttrs.usedtx=1}else{delete opusFmtpAttrs.usedtx}var opusFmtpLineWithDtx=generateFmtpLineFromPtAndAttributes(opusPt,opusFmtpAttrs);return section.replace(origOpusFmtpRegex,opusFmtpLineWithDtx)})).join("\r\n")}exports.addOrRewriteNewTrackIds=addOrRewriteNewTrackIds;exports.addOrRewriteTrackIds=addOrRewriteTrackIds;exports.createCodecMapForMediaSection=createCodecMapForMediaSection;exports.createPtToCodecName=createPtToCodecName;exports.disableRtx=disableRtx;exports.enableDtxForOpus=enableDtxForOpus;exports.filterLocalCodecs=filterLocalCodecs;exports.getMediaSections=getMediaSections;exports.removeSSRCAttributes=removeSSRCAttributes;exports.revertSimulcast=revertSimulcast;exports.setCodecPreferences=setCodecPreferences;exports.setSimulcast=setSimulcast},{"../":132,"./simulcast":142}],141:[function(require,module,exports){"use strict";var RTCSessionDescription=require("../../webrtc").RTCSessionDescription;var _a=require("./"),createPtToCodecName=_a.createPtToCodecName,getMediaSections=_a.getMediaSections;function workaround(description){var descriptionInit={type:description.type};if(description.type!=="rollback"){descriptionInit.sdp=sdpWorkaround(description.sdp)}return new RTCSessionDescription(descriptionInit)}function sdpWorkaround(sdp){var mediaSections=getMediaSections(sdp);var session=sdp.split("\r\nm=")[0];return[session].concat(mediaSections.map(mediaSectionWorkaround)).join("\r\n")}function mediaSectionWorkaround(mediaSection){var ptToCodecName=createPtToCodecName(mediaSection);mediaSection=deleteDuplicateRtxPts(mediaSection,ptToCodecName);var codecNameToPts=createCodecNameToPts(ptToCodecName);var rtxPts=codecNameToPts.get("rtx")||new Set;var invalidRtxPts=new Set;var rtxPtToAssociatedPt=createRtxPtToAssociatedPt(mediaSection,ptToCodecName,rtxPts,invalidRtxPts);var associatedPtToRtxPt=createAssociatedPtToRtxPt(rtxPtToAssociatedPt,invalidRtxPts);var unassociatedRtxPts=Array.from(invalidRtxPts);var knownCodecNames=["h264","vp8","vp9"];var unassociatedPts=knownCodecNames.reduce(function(unassociatedPts,codecName){var pts=codecNameToPts.get(codecName)||new Set;return Array.from(pts).reduce(function(unassociatedPts,pt){return associatedPtToRtxPt.has(pt)?unassociatedPts:unassociatedPts.add(pt)},unassociatedPts)},new Set);unassociatedPts.forEach(function(pt){if(unassociatedRtxPts.length){var rtxPt=unassociatedRtxPts.shift();mediaSection=deleteFmtpAttributesForRtxPt(mediaSection,rtxPt);mediaSection=addFmtpAttributeForRtxPt(mediaSection,rtxPt,pt)}});unassociatedRtxPts.forEach(function(rtxPt){mediaSection=deleteFmtpAttributesForRtxPt(mediaSection,rtxPt);mediaSection=deleteRtpmapAttributesForRtxPt(mediaSection,rtxPt)});return mediaSection}function deleteDuplicateRtxPts(mediaSection,ptToCodecName){return Array.from(ptToCodecName.keys()).reduce(function(section,pt){var rtpmapRegex=new RegExp("^a=rtpmap:"+pt+" rtx.+$","gm");return(section.match(rtpmapRegex)||[]).slice(ptToCodecName.get(pt)==="rtx"?1:0).reduce(function(section,rtpmap){var rtpmapRegex=new RegExp("\r\n"+rtpmap);var fmtpmapRegex=new RegExp("\r\na=fmtp:"+pt+" apt=[0-9]+");return section.replace(rtpmapRegex,"").replace(fmtpmapRegex,"")},section)},mediaSection)}function createCodecNameToPts(ptToCodecName){var codecNameToPts=new Map;ptToCodecName.forEach(function(codecName,pt){var pts=codecNameToPts.get(codecName)||new Set;return codecNameToPts.set(codecName,pts.add(pt))});return codecNameToPts}function createRtxPtToAssociatedPt(mediaSection,ptToCodecName,rtxPts,invalidRtxPts){return Array.from(rtxPts).reduce(function(rtxPtToAssociatedPt,rtxPt){var fmtpPattern=new RegExp("a=fmtp:"+rtxPt+" apt=(\\d+)");var matches=mediaSection.match(fmtpPattern);if(!matches){invalidRtxPts.add(rtxPt);return rtxPtToAssociatedPt}var pt=Number.parseInt(matches[1]);if(!ptToCodecName.has(pt)){invalidRtxPts.add(rtxPt);return rtxPtToAssociatedPt}var codecName=ptToCodecName.get(pt);if(codecName==="rtx"){invalidRtxPts.add(rtxPt);return rtxPtToAssociatedPt}return rtxPtToAssociatedPt.set(rtxPt,pt)},new Map)}function createAssociatedPtToRtxPt(rtxPtToAssociatedPt,invalidRtxPts){var associatedPtToRtxPts=Array.from(rtxPtToAssociatedPt).reduce(function(associatedPtToRtxPts,pair){var rtxPt=pair[0];var pt=pair[1];var rtxPts=associatedPtToRtxPts.get(pt)||new Set;return associatedPtToRtxPts.set(pt,rtxPts.add(rtxPt))},new Map);return Array.from(associatedPtToRtxPts).reduce(function(associatedPtToRtxPt,pair){var pt=pair[0];var rtxPts=Array.from(pair[1]);if(rtxPts.length>1){rtxPts.forEach(function(rtxPt){invalidRtxPts.add(rtxPt)});return associatedPtToRtxPt}return associatedPtToRtxPt.set(pt,rtxPts[0])},new Map)}function deleteFmtpAttributesForRtxPt(mediaSection,rtxPt){var pattern=new RegExp("a=fmtp:"+rtxPt+".*\r\n","gm");return mediaSection.replace(pattern,"")}function deleteRtpmapAttributesForRtxPt(mediaSection,rtxPt){var pattern=new RegExp("a=rtpmap:"+rtxPt+".*\r\n","gm");return mediaSection.replace(pattern,"")}function addFmtpAttributeForRtxPt(mediaSection,rtxPt,pt){return mediaSection.endsWith("\r\n")?mediaSection+"a=fmtp:"+rtxPt+" apt="+pt+"\r\n":mediaSection+"\r\na=fmtp:"+rtxPt+" apt="+pt}module.exports=workaround},{"../../webrtc":158,"./":140}],142:[function(require,module,exports){"use strict";var __read=this&&this.__read||function(o,n){var m=typeof Symbol==="function"&&o[Symbol.iterator];if(!m)return o;var i=m.call(o),r,ar=[],e;try{while((n===void 0||n-- >0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error:error}}finally{try{if(r&&!r.done&&(m=i["return"]))m.call(i)}finally{if(e)throw e.error}}return ar};var _a=require("../"),difference=_a.difference,flatMap=_a.flatMap;function createSSRC(){var ssrcMax=4294967295;return String(Math.floor(Math.random()*ssrcMax))}var TrackAttributes=function(){function TrackAttributes(trackId,streamId,cName){Object.defineProperties(this,{cName:{enumerable:true,value:cName},isSimulcastEnabled:{enumerable:true,value:false,writable:true},primarySSRCs:{enumerable:true,value:new Set},rtxPairs:{enumerable:true,value:new Map},streamId:{enumerable:true,value:streamId},trackId:{enumerable:true,value:trackId}})}TrackAttributes.prototype.addSimulcastSSRCs=function(){if(this.isSimulcastEnabled){return}var simulcastSSRCs=[createSSRC(),createSSRC()];simulcastSSRCs.forEach(function(ssrc){this.primarySSRCs.add(ssrc)},this);if(this.rtxPairs.size){simulcastSSRCs.forEach(function(ssrc){this.rtxPairs.set(createSSRC(),ssrc)},this)}};TrackAttributes.prototype.addSSRC=function(ssrc,primarySSRC,isSimSSRC){if(primarySSRC){this.rtxPairs.set(ssrc,primarySSRC)}else{this.primarySSRCs.add(ssrc)}this.isSimulcastEnabled=this.isSimulcastEnabled||isSimSSRC};TrackAttributes.prototype.toSdpLines=function(excludeRtx){var _this=this;var rtxPairs=excludeRtx?[]:Array.from(this.rtxPairs.entries()).map(function(rtxPair){return rtxPair.reverse()});var simSSRCs=Array.from(this.primarySSRCs.values());var ssrcs=rtxPairs.length?flatMap(rtxPairs):simSSRCs;var attrLines=flatMap(ssrcs,function(ssrc){return["a=ssrc:"+ssrc+" cname:"+_this.cName,"a=ssrc:"+ssrc+" msid:"+_this.streamId+" "+_this.trackId]});var rtxPairLines=rtxPairs.map(function(rtxPair){return"a=ssrc-group:FID "+rtxPair.join(" ")});var simGroupLines=["a=ssrc-group:SIM "+simSSRCs.join(" ")];return rtxPairLines.concat(attrLines).concat(simGroupLines)};return TrackAttributes}();function getMatches(section,pattern){var matches=section.match(new RegExp(pattern,"gm"))||[];return matches.map(function(match){var matches=match.match(new RegExp(pattern))||[];return matches.slice(1)})}function getSimulcastSSRCs(section){var simGroupPattern="^a=ssrc-group:SIM ([0-9]+) ([0-9]+) ([0-9]+)$";return new Set(flatMap(getMatches(section,simGroupPattern)))}function getSSRCAttribute(section,ssrc,attribute){var pattern="a=ssrc:"+ssrc+" "+attribute+":(.+)";return section.match(new RegExp(pattern))[1]}function getSSRCRtxPairs(section){var rtxPairPattern="^a=ssrc-group:FID ([0-9]+) ([0-9]+)$";return new Map(getMatches(section,rtxPairPattern).map(function(pair){return pair.reverse()}))}function createSSRCAttributeTuples(section){var _a=__read(flatMap(getMatches(section,"^a=msid:(.+) (.+)$")),2),streamId=_a[0],trackId=_a[1];var ssrcs=flatMap(getMatches(section,"^a=ssrc:(.+) cname:.+$"));return ssrcs.map(function(ssrc){return[ssrc,streamId,trackId]})}function createTrackIdsToAttributes(section){var simSSRCs=getSimulcastSSRCs(section);var rtxPairs=getSSRCRtxPairs(section);var ssrcAttrTuples=createSSRCAttributeTuples(section);return ssrcAttrTuples.reduce(function(trackIdsToSSRCs,tuple){var ssrc=tuple[0];var streamId=tuple[1];var trackId=tuple[2];var trackAttributes=trackIdsToSSRCs.get(trackId)||new TrackAttributes(trackId,streamId,getSSRCAttribute(section,ssrc,"cname"));var primarySSRC=rtxPairs.get(ssrc)||null;trackAttributes.addSSRC(ssrc,primarySSRC,simSSRCs.has(ssrc));return trackIdsToSSRCs.set(trackId,trackAttributes)},new Map)}function setSimulcastInMediaSection(section,trackIdsToAttributes){var newTrackIdsToAttributes=createTrackIdsToAttributes(section);var newTrackIds=Array.from(newTrackIdsToAttributes.keys());var trackIds=Array.from(trackIdsToAttributes.keys());var trackIdsToAdd=difference(newTrackIds,trackIds);var trackIdsToIgnore=difference(trackIds,newTrackIds);var trackAttributesToAdd=flatMap(trackIdsToAdd,function(trackId){return newTrackIdsToAttributes.get(trackId)});trackAttributesToAdd.forEach(function(trackAttributes){trackAttributes.addSimulcastSSRCs();trackIdsToAttributes.set(trackAttributes.trackId,trackAttributes)});trackIds=Array.from(trackIdsToAttributes.keys());var relevantTrackIds=difference(trackIds,trackIdsToIgnore);var relevantTrackAttributes=flatMap(relevantTrackIds,function(trackId){return trackIdsToAttributes.get(trackId)});var excludeRtx=!section.match(/a=rtpmap:[0-9]+ rtx/);var relevantSdpLines=flatMap(relevantTrackAttributes,function(trackAttributes){return trackAttributes.toSdpLines(excludeRtx)});var sectionLines=flatMap(new Set(section.split("\r\n").concat(relevantSdpLines)));var xGoogleFlagConference="a=x-google-flag:conference";if(!section.match(xGoogleFlagConference)){sectionLines.push(xGoogleFlagConference)}return sectionLines.join("\r\n")}module.exports=setSimulcastInMediaSection},{"../":132}],143:[function(require,module,exports){"use strict";var getMediaSections=require("./").getMediaSections;var TrackMatcher=function(){function TrackMatcher(){Object.defineProperties(this,{_midsToTrackIds:{value:new Map,writable:true}})}TrackMatcher.prototype.match=function(event){return this._midsToTrackIds.get(event.transceiver.mid)||null};TrackMatcher.prototype.update=function(sdp){var sections=getMediaSections(sdp,"(audio|video)");this._midsToTrackIds=sections.reduce(function(midsToTrackIds,section){var midMatches=section.match(/^a=mid:(.+)$/m)||[];var trackIdMatches=section.match(/^a=msid:.+ (.+)$/m)||[];var mid=midMatches[1];var trackId=trackIdMatches[1];return mid&&trackId?midsToTrackIds.set(mid,trackId):midsToTrackIds},this._midsToTrackIds)};return TrackMatcher}();module.exports=TrackMatcher},{"./":140}],144:[function(require,module,exports){var SID_CHARS="1234567890abcdef";var SID_CHAR_LENGTH=32;function createSID(prefix){var result="";for(var i=0;i<SID_CHAR_LENGTH;i++){result+=SID_CHARS.charAt(Math.floor(Math.random()*SID_CHARS.length))}return""+prefix+result}exports.sessionSID=createSID("SS");exports.createSID=createSID},{}],145:[function(require,module,exports){"use strict";var _a=require("../webrtc/util"),guessBrowser=_a.guessBrowser,isWebRTCSupported=_a.support;var getSdpFormat=require("../webrtc/util/sdp").getSdpFormat;var _b=require("./browserdetection"),isAndroid=_b.isAndroid,isMobile=_b.isMobile,isNonChromiumEdge=_b.isNonChromiumEdge,rebrandedChromeBrowser=_b.rebrandedChromeBrowser,mobileWebKitBrowser=_b.mobileWebKitBrowser;var SUPPORTED_CHROME_BASED_BROWSERS=["crios","edg","edge","electron","headlesschrome"];var SUPPORTED_ANDROID_BROWSERS=["chrome","firefox"];var SUPPORTED_IOS_BROWSERS=["chrome","safari"];var SUPPORTED_MOBILE_WEBKIT_BASED_BROWSERS=[];function isSupported(){var browser=guessBrowser();if(!browser){return false}var rebrandedChrome=rebrandedChromeBrowser(browser);var mobileWebKit=mobileWebKitBrowser(browser);var supportedMobileBrowsers=isAndroid()?SUPPORTED_ANDROID_BROWSERS:SUPPORTED_IOS_BROWSERS;return!!browser&&isWebRTCSupported()&&getSdpFormat()==="unified"&&(!rebrandedChrome||SUPPORTED_CHROME_BASED_BROWSERS.includes(rebrandedChrome))&&!isNonChromiumEdge(browser)&&(!mobileWebKit||SUPPORTED_MOBILE_WEBKIT_BASED_BROWSERS.includes(mobileWebKit))&&(!isMobile()||supportedMobileBrowsers.includes(browser))}module.exports=isSupported},{"../webrtc/util":170,"../webrtc/util/sdp":172,"./browserdetection":123}],146:[function(require,module,exports){"use strict";var Timeout=function(){function Timeout(fn,delay,autoStart){if(autoStart===void 0){autoStart=true}Object.defineProperties(this,{_delay:{value:delay,writable:true},_fn:{value:fn},_timeout:{value:null,writable:true}});if(autoStart){this.start()}}Object.defineProperty(Timeout.prototype,"delay",{get:function(){return this._delay},enumerable:false,configurable:true});Object.defineProperty(Timeout.prototype,"isSet",{get:function(){return!!this._timeout},enumerable:false,configurable:true});Timeout.prototype.setDelay=function(delay){this._delay=delay};Timeout.prototype.start=function(){var _this=this;if(!this.isSet){this._timeout=setTimeout(function(){var fn=_this._fn;_this.clear();fn()},this._delay)}};Timeout.prototype.clear=function(){clearTimeout(this._timeout);this._timeout=null};Timeout.prototype.reset=function(){this.clear();this.start()};return Timeout}();module.exports=Timeout},{}],147:[function(require,module,exports){"use strict";var __extends=this&&this.__extends||function(){var extendStatics=function(d,b){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(Object.prototype.hasOwnProperty.call(b,p))d[p]=b[p]};return extendStatics(d,b)};return function(d,b){if(typeof b!=="function"&&b!==null)throw new TypeError("Class extends value "+String(b)+" is not a constructor or null");extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();var TwilioError=require("./twilioerror");var TwilioErrorByCode={};exports.createTwilioError=function createTwilioError(code,message){code=typeof code==="number"?code:0;message=typeof message==="string"&&message?message:"Unknown error";return TwilioErrorByCode[code]?new TwilioErrorByCode[code]:new TwilioError(code,message)};var AccessTokenInvalidError=function(_super){__extends(AccessTokenInvalidError,_super);function AccessTokenInvalidError(){var _this=_super.call(this,20101,"Invalid Access Token")||this;Object.setPrototypeOf(_this,AccessTokenInvalidError.prototype);return _this}return AccessTokenInvalidError}(TwilioError);exports.AccessTokenInvalidError=AccessTokenInvalidError;Object.defineProperty(TwilioErrorByCode,20101,{value:AccessTokenInvalidError});var AccessTokenHeaderInvalidError=function(_super){__extends(AccessTokenHeaderInvalidError,_super);function AccessTokenHeaderInvalidError(){var _this=_super.call(this,20102,"Invalid Access Token header")||this;Object.setPrototypeOf(_this,AccessTokenHeaderInvalidError.prototype);return _this}return AccessTokenHeaderInvalidError}(TwilioError);exports.AccessTokenHeaderInvalidError=AccessTokenHeaderInvalidError;Object.defineProperty(TwilioErrorByCode,20102,{value:AccessTokenHeaderInvalidError});var AccessTokenIssuerInvalidError=function(_super){__extends(AccessTokenIssuerInvalidError,_super);function AccessTokenIssuerInvalidError(){var _this=_super.call(this,20103,"Invalid Access Token issuer/subject")||this;Object.setPrototypeOf(_this,AccessTokenIssuerInvalidError.prototype);return _this}return AccessTokenIssuerInvalidError}(TwilioError);exports.AccessTokenIssuerInvalidError=AccessTokenIssuerInvalidError;Object.defineProperty(TwilioErrorByCode,20103,{value:AccessTokenIssuerInvalidError});var AccessTokenExpiredError=function(_super){__extends(AccessTokenExpiredError,_super);function AccessTokenExpiredError(){var _this=_super.call(this,20104,"Access Token expired or expiration date invalid")||this;Object.setPrototypeOf(_this,AccessTokenExpiredError.prototype);return _this}return AccessTokenExpiredError}(TwilioError);exports.AccessTokenExpiredError=AccessTokenExpiredError;Object.defineProperty(TwilioErrorByCode,20104,{value:AccessTokenExpiredError});var AccessTokenNotYetValidError=function(_super){__extends(AccessTokenNotYetValidError,_super);function AccessTokenNotYetValidError(){var _this=_super.call(this,20105,"Access Token not yet valid")||this;Object.setPrototypeOf(_this,AccessTokenNotYetValidError.prototype);return _this}return AccessTokenNotYetValidError}(TwilioError);exports.AccessTokenNotYetValidError=AccessTokenNotYetValidError;Object.defineProperty(TwilioErrorByCode,20105,{value:AccessTokenNotYetValidError});var AccessTokenGrantsInvalidError=function(_super){__extends(AccessTokenGrantsInvalidError,_super);function AccessTokenGrantsInvalidError(){var _this=_super.call(this,20106,"Invalid Access Token grants")||this;Object.setPrototypeOf(_this,AccessTokenGrantsInvalidError.prototype);return _this}return AccessTokenGrantsInvalidError}(TwilioError);exports.AccessTokenGrantsInvalidError=AccessTokenGrantsInvalidError;Object.defineProperty(TwilioErrorByCode,20106,{value:AccessTokenGrantsInvalidError});var AccessTokenSignatureInvalidError=function(_super){__extends(AccessTokenSignatureInvalidError,_super);function AccessTokenSignatureInvalidError(){var _this=_super.call(this,20107,"Invalid Access Token signature")||this;Object.setPrototypeOf(_this,AccessTokenSignatureInvalidError.prototype);return _this}return AccessTokenSignatureInvalidError}(TwilioError);exports.AccessTokenSignatureInvalidError=AccessTokenSignatureInvalidError;Object.defineProperty(TwilioErrorByCode,20107,{value:AccessTokenSignatureInvalidError});var SignalingConnectionError=function(_super){__extends(SignalingConnectionError,_super);function SignalingConnectionError(){var _this=_super.call(this,53e3,"Signaling connection error")||this;Object.setPrototypeOf(_this,SignalingConnectionError.prototype);return _this}return SignalingConnectionError}(TwilioError);exports.SignalingConnectionError=SignalingConnectionError;Object.defineProperty(TwilioErrorByCode,53e3,{value:SignalingConnectionError});var SignalingConnectionDisconnectedError=function(_super){__extends(SignalingConnectionDisconnectedError,_super);function SignalingConnectionDisconnectedError(){var _this=_super.call(this,53001,"Signaling connection disconnected")||this;Object.setPrototypeOf(_this,SignalingConnectionDisconnectedError.prototype);return _this}return SignalingConnectionDisconnectedError}(TwilioError);exports.SignalingConnectionDisconnectedError=SignalingConnectionDisconnectedError;Object.defineProperty(TwilioErrorByCode,53001,{value:SignalingConnectionDisconnectedError})
|
|
54
54
|
;var SignalingConnectionTimeoutError=function(_super){__extends(SignalingConnectionTimeoutError,_super);function SignalingConnectionTimeoutError(){var _this=_super.call(this,53002,"Signaling connection timed out")||this;Object.setPrototypeOf(_this,SignalingConnectionTimeoutError.prototype);return _this}return SignalingConnectionTimeoutError}(TwilioError);exports.SignalingConnectionTimeoutError=SignalingConnectionTimeoutError;Object.defineProperty(TwilioErrorByCode,53002,{value:SignalingConnectionTimeoutError});var SignalingIncomingMessageInvalidError=function(_super){__extends(SignalingIncomingMessageInvalidError,_super);function SignalingIncomingMessageInvalidError(){var _this=_super.call(this,53003,"Client received an invalid signaling message")||this;Object.setPrototypeOf(_this,SignalingIncomingMessageInvalidError.prototype);return _this}return SignalingIncomingMessageInvalidError}(TwilioError);exports.SignalingIncomingMessageInvalidError=SignalingIncomingMessageInvalidError;Object.defineProperty(TwilioErrorByCode,53003,{value:SignalingIncomingMessageInvalidError});var SignalingOutgoingMessageInvalidError=function(_super){__extends(SignalingOutgoingMessageInvalidError,_super);function SignalingOutgoingMessageInvalidError(){var _this=_super.call(this,53004,"Client sent an invalid signaling message")||this;Object.setPrototypeOf(_this,SignalingOutgoingMessageInvalidError.prototype);return _this}return SignalingOutgoingMessageInvalidError}(TwilioError);exports.SignalingOutgoingMessageInvalidError=SignalingOutgoingMessageInvalidError;Object.defineProperty(TwilioErrorByCode,53004,{value:SignalingOutgoingMessageInvalidError});var SignalingServerBusyError=function(_super){__extends(SignalingServerBusyError,_super);function SignalingServerBusyError(){var _this=_super.call(this,53006,"Video server is busy")||this;Object.setPrototypeOf(_this,SignalingServerBusyError.prototype);return _this}return SignalingServerBusyError}(TwilioError);exports.SignalingServerBusyError=SignalingServerBusyError;Object.defineProperty(TwilioErrorByCode,53006,{value:SignalingServerBusyError});var RoomNameInvalidError=function(_super){__extends(RoomNameInvalidError,_super);function RoomNameInvalidError(){var _this=_super.call(this,53100,"Room name is invalid")||this;Object.setPrototypeOf(_this,RoomNameInvalidError.prototype);return _this}return RoomNameInvalidError}(TwilioError);exports.RoomNameInvalidError=RoomNameInvalidError;Object.defineProperty(TwilioErrorByCode,53100,{value:RoomNameInvalidError});var RoomNameTooLongError=function(_super){__extends(RoomNameTooLongError,_super);function RoomNameTooLongError(){var _this=_super.call(this,53101,"Room name is too long")||this;Object.setPrototypeOf(_this,RoomNameTooLongError.prototype);return _this}return RoomNameTooLongError}(TwilioError);exports.RoomNameTooLongError=RoomNameTooLongError;Object.defineProperty(TwilioErrorByCode,53101,{value:RoomNameTooLongError});var RoomNameCharsInvalidError=function(_super){__extends(RoomNameCharsInvalidError,_super);function RoomNameCharsInvalidError(){var _this=_super.call(this,53102,"Room name contains invalid characters")||this;Object.setPrototypeOf(_this,RoomNameCharsInvalidError.prototype);return _this}return RoomNameCharsInvalidError}(TwilioError);exports.RoomNameCharsInvalidError=RoomNameCharsInvalidError;Object.defineProperty(TwilioErrorByCode,53102,{value:RoomNameCharsInvalidError});var RoomCreateFailedError=function(_super){__extends(RoomCreateFailedError,_super);function RoomCreateFailedError(){var _this=_super.call(this,53103,"Unable to create Room")||this;Object.setPrototypeOf(_this,RoomCreateFailedError.prototype);return _this}return RoomCreateFailedError}(TwilioError);exports.RoomCreateFailedError=RoomCreateFailedError;Object.defineProperty(TwilioErrorByCode,53103,{value:RoomCreateFailedError});var RoomConnectFailedError=function(_super){__extends(RoomConnectFailedError,_super);function RoomConnectFailedError(){var _this=_super.call(this,53104,"Unable to connect to Room")||this;Object.setPrototypeOf(_this,RoomConnectFailedError.prototype);return _this}return RoomConnectFailedError}(TwilioError);exports.RoomConnectFailedError=RoomConnectFailedError;Object.defineProperty(TwilioErrorByCode,53104,{value:RoomConnectFailedError});var RoomMaxParticipantsExceededError=function(_super){__extends(RoomMaxParticipantsExceededError,_super);function RoomMaxParticipantsExceededError(){var _this=_super.call(this,53105,"Room contains too many Participants")||this;Object.setPrototypeOf(_this,RoomMaxParticipantsExceededError.prototype);return _this}return RoomMaxParticipantsExceededError}(TwilioError);exports.RoomMaxParticipantsExceededError=RoomMaxParticipantsExceededError;Object.defineProperty(TwilioErrorByCode,53105,{value:RoomMaxParticipantsExceededError});var RoomNotFoundError=function(_super){__extends(RoomNotFoundError,_super);function RoomNotFoundError(){var _this=_super.call(this,53106,"Room not found")||this;Object.setPrototypeOf(_this,RoomNotFoundError.prototype);return _this}return RoomNotFoundError}(TwilioError);exports.RoomNotFoundError=RoomNotFoundError;Object.defineProperty(TwilioErrorByCode,53106,{value:RoomNotFoundError});var RoomMaxParticipantsOutOfRangeError=function(_super){__extends(RoomMaxParticipantsOutOfRangeError,_super);function RoomMaxParticipantsOutOfRangeError(){var _this=_super.call(this,53107,"MaxParticipants is out of range")||this;Object.setPrototypeOf(_this,RoomMaxParticipantsOutOfRangeError.prototype);return _this}return RoomMaxParticipantsOutOfRangeError}(TwilioError);exports.RoomMaxParticipantsOutOfRangeError=RoomMaxParticipantsOutOfRangeError;Object.defineProperty(TwilioErrorByCode,53107,{value:RoomMaxParticipantsOutOfRangeError});var RoomTypeInvalidError=function(_super){__extends(RoomTypeInvalidError,_super);function RoomTypeInvalidError(){var _this=_super.call(this,53108,"RoomType is not valid")||this;Object.setPrototypeOf(_this,RoomTypeInvalidError.prototype);return _this}return RoomTypeInvalidError}(TwilioError);exports.RoomTypeInvalidError=RoomTypeInvalidError;Object.defineProperty(TwilioErrorByCode,53108,{value:RoomTypeInvalidError});var RoomTimeoutOutOfRangeError=function(_super){__extends(RoomTimeoutOutOfRangeError,_super);function RoomTimeoutOutOfRangeError(){var _this=_super.call(this,53109,"Timeout is out of range")||this;Object.setPrototypeOf(_this,RoomTimeoutOutOfRangeError.prototype);return _this}return RoomTimeoutOutOfRangeError}(TwilioError);exports.RoomTimeoutOutOfRangeError=RoomTimeoutOutOfRangeError;Object.defineProperty(TwilioErrorByCode,53109,{value:RoomTimeoutOutOfRangeError});var RoomStatusCallbackMethodInvalidError=function(_super){__extends(RoomStatusCallbackMethodInvalidError,_super);function RoomStatusCallbackMethodInvalidError(){var _this=_super.call(this,53110,"StatusCallbackMethod is invalid")||this;Object.setPrototypeOf(_this,RoomStatusCallbackMethodInvalidError.prototype);return _this}return RoomStatusCallbackMethodInvalidError}(TwilioError);exports.RoomStatusCallbackMethodInvalidError=RoomStatusCallbackMethodInvalidError;Object.defineProperty(TwilioErrorByCode,53110,{value:RoomStatusCallbackMethodInvalidError});var RoomStatusCallbackInvalidError=function(_super){__extends(RoomStatusCallbackInvalidError,_super);function RoomStatusCallbackInvalidError(){var _this=_super.call(this,53111,"StatusCallback is invalid")||this;Object.setPrototypeOf(_this,RoomStatusCallbackInvalidError.prototype);return _this}return RoomStatusCallbackInvalidError}(TwilioError);exports.RoomStatusCallbackInvalidError=RoomStatusCallbackInvalidError;Object.defineProperty(TwilioErrorByCode,53111,{value:RoomStatusCallbackInvalidError});var RoomStatusInvalidError=function(_super){__extends(RoomStatusInvalidError,_super);function RoomStatusInvalidError(){var _this=_super.call(this,53112,"Status is invalid")||this;Object.setPrototypeOf(_this,RoomStatusInvalidError.prototype);return _this}return RoomStatusInvalidError}(TwilioError);exports.RoomStatusInvalidError=RoomStatusInvalidError;Object.defineProperty(TwilioErrorByCode,53112,{value:RoomStatusInvalidError});var RoomRoomExistsError=function(_super){__extends(RoomRoomExistsError,_super);function RoomRoomExistsError(){var _this=_super.call(this,53113,"Room exists")||this;Object.setPrototypeOf(_this,RoomRoomExistsError.prototype);return _this}return RoomRoomExistsError}(TwilioError);exports.RoomRoomExistsError=RoomRoomExistsError;Object.defineProperty(TwilioErrorByCode,53113,{value:RoomRoomExistsError});var RoomInvalidParametersError=function(_super){__extends(RoomInvalidParametersError,_super);function RoomInvalidParametersError(){var _this=_super.call(this,53114,"Room creation parameter(s) incompatible with the Room type")||this;Object.setPrototypeOf(_this,RoomInvalidParametersError.prototype);return _this}return RoomInvalidParametersError}(TwilioError);exports.RoomInvalidParametersError=RoomInvalidParametersError;Object.defineProperty(TwilioErrorByCode,53114,{value:RoomInvalidParametersError});var RoomMediaRegionInvalidError=function(_super){__extends(RoomMediaRegionInvalidError,_super);function RoomMediaRegionInvalidError(){var _this=_super.call(this,53115,"MediaRegion is invalid")||this;Object.setPrototypeOf(_this,RoomMediaRegionInvalidError.prototype);return _this}return RoomMediaRegionInvalidError}(TwilioError);exports.RoomMediaRegionInvalidError=RoomMediaRegionInvalidError;Object.defineProperty(TwilioErrorByCode,53115,{value:RoomMediaRegionInvalidError});var RoomMediaRegionUnavailableError=function(_super){__extends(RoomMediaRegionUnavailableError,_super);function RoomMediaRegionUnavailableError(){var _this=_super.call(this,53116,"There are no media servers available in the MediaRegion")||this;Object.setPrototypeOf(_this,RoomMediaRegionUnavailableError.prototype);return _this}return RoomMediaRegionUnavailableError}(TwilioError);exports.RoomMediaRegionUnavailableError=RoomMediaRegionUnavailableError;Object.defineProperty(TwilioErrorByCode,53116,{value:RoomMediaRegionUnavailableError});var RoomSubscriptionOperationNotSupportedError=function(_super){__extends(RoomSubscriptionOperationNotSupportedError,_super);function RoomSubscriptionOperationNotSupportedError(){var _this=_super.call(this,53117,"The subscription operation requested is not supported for the Room type")||this;Object.setPrototypeOf(_this,RoomSubscriptionOperationNotSupportedError.prototype);return _this}return RoomSubscriptionOperationNotSupportedError}(TwilioError);exports.RoomSubscriptionOperationNotSupportedError=RoomSubscriptionOperationNotSupportedError;Object.defineProperty(TwilioErrorByCode,53117,{value:RoomSubscriptionOperationNotSupportedError});var RoomCompletedError=function(_super){__extends(RoomCompletedError,_super);function RoomCompletedError(){var _this=_super.call(this,53118,"Room completed")||this;Object.setPrototypeOf(_this,RoomCompletedError.prototype);return _this}return RoomCompletedError}(TwilioError);exports.RoomCompletedError=RoomCompletedError;Object.defineProperty(TwilioErrorByCode,53118,{value:RoomCompletedError});var RoomAudioOnlyFlagNotSupportedError=function(_super){__extends(RoomAudioOnlyFlagNotSupportedError,_super);function RoomAudioOnlyFlagNotSupportedError(){var _this=_super.call(this,53124,"The AudioOnly flag is not supported for the Room type")||this;Object.setPrototypeOf(_this,RoomAudioOnlyFlagNotSupportedError.prototype);return _this}return RoomAudioOnlyFlagNotSupportedError}(TwilioError);exports.RoomAudioOnlyFlagNotSupportedError=RoomAudioOnlyFlagNotSupportedError;Object.defineProperty(TwilioErrorByCode,53124,{value:RoomAudioOnlyFlagNotSupportedError});var RoomTrackKindNotSupportedError=function(_super){__extends(RoomTrackKindNotSupportedError,_super);function RoomTrackKindNotSupportedError(){var _this=_super.call(this,53125,"The track kind is not supported by the Room")||this;Object.setPrototypeOf(_this,RoomTrackKindNotSupportedError.prototype);return _this}return RoomTrackKindNotSupportedError}(TwilioError);exports.RoomTrackKindNotSupportedError=RoomTrackKindNotSupportedError;Object.defineProperty(TwilioErrorByCode,53125,{value:RoomTrackKindNotSupportedError});var ParticipantIdentityInvalidError=function(_super){__extends(ParticipantIdentityInvalidError,_super);function ParticipantIdentityInvalidError(){var _this=_super.call(this,53200,"Participant identity is invalid")||this;Object.setPrototypeOf(_this,ParticipantIdentityInvalidError.prototype);return _this}return ParticipantIdentityInvalidError}(TwilioError);exports.ParticipantIdentityInvalidError=ParticipantIdentityInvalidError;Object.defineProperty(TwilioErrorByCode,53200,{value:ParticipantIdentityInvalidError});var ParticipantIdentityTooLongError=function(_super){__extends(ParticipantIdentityTooLongError,_super);function ParticipantIdentityTooLongError(){var _this=_super.call(this,53201,"Participant identity is too long")||this;Object.setPrototypeOf(_this,ParticipantIdentityTooLongError.prototype);return _this}return ParticipantIdentityTooLongError}(TwilioError);exports.ParticipantIdentityTooLongError=ParticipantIdentityTooLongError;Object.defineProperty(TwilioErrorByCode,53201,{value:ParticipantIdentityTooLongError});var ParticipantIdentityCharsInvalidError=function(_super){__extends(ParticipantIdentityCharsInvalidError,_super);function ParticipantIdentityCharsInvalidError(){var _this=_super.call(this,53202,"Participant identity contains invalid characters")||this;Object.setPrototypeOf(_this,ParticipantIdentityCharsInvalidError.prototype);return _this}return ParticipantIdentityCharsInvalidError}(TwilioError);exports.ParticipantIdentityCharsInvalidError=ParticipantIdentityCharsInvalidError;Object.defineProperty(TwilioErrorByCode,53202,{value:ParticipantIdentityCharsInvalidError});var ParticipantMaxTracksExceededError=function(_super){__extends(ParticipantMaxTracksExceededError,_super);function ParticipantMaxTracksExceededError(){var _this=_super.call(this,53203,"The maximum number of published tracks allowed in the Room at the same time has been reached")||this;Object.setPrototypeOf(_this,ParticipantMaxTracksExceededError.prototype);return _this}return ParticipantMaxTracksExceededError}(TwilioError);exports.ParticipantMaxTracksExceededError=ParticipantMaxTracksExceededError;Object.defineProperty(TwilioErrorByCode,53203,{value:ParticipantMaxTracksExceededError});var ParticipantNotFoundError=function(_super){__extends(ParticipantNotFoundError,_super);function ParticipantNotFoundError(){var _this=_super.call(this,53204,"Participant not found")||this;Object.setPrototypeOf(_this,ParticipantNotFoundError.prototype);return _this}return ParticipantNotFoundError}(TwilioError);exports.ParticipantNotFoundError=ParticipantNotFoundError;Object.defineProperty(TwilioErrorByCode,53204,{value:ParticipantNotFoundError});var ParticipantDuplicateIdentityError=function(_super){__extends(ParticipantDuplicateIdentityError,_super);function ParticipantDuplicateIdentityError(){var _this=_super.call(this,53205,"Participant disconnected because of duplicate identity")||this;Object.setPrototypeOf(_this,ParticipantDuplicateIdentityError.prototype);return _this}return ParticipantDuplicateIdentityError}(TwilioError);exports.ParticipantDuplicateIdentityError=ParticipantDuplicateIdentityError;Object.defineProperty(TwilioErrorByCode,53205,{value:ParticipantDuplicateIdentityError});var TrackInvalidError=function(_super){__extends(TrackInvalidError,_super);function TrackInvalidError(){var _this=_super.call(this,53300,"Track is invalid")||this;Object.setPrototypeOf(_this,TrackInvalidError.prototype);return _this}return TrackInvalidError}(TwilioError);exports.TrackInvalidError=TrackInvalidError;Object.defineProperty(TwilioErrorByCode,53300,{value:TrackInvalidError});var TrackNameInvalidError=function(_super){__extends(TrackNameInvalidError,_super);function TrackNameInvalidError(){var _this=_super.call(this,53301,"Track name is invalid")||this;Object.setPrototypeOf(_this,TrackNameInvalidError.prototype);return _this}return TrackNameInvalidError}(TwilioError);exports.TrackNameInvalidError=TrackNameInvalidError;Object.defineProperty(TwilioErrorByCode,53301,{value:TrackNameInvalidError});var TrackNameTooLongError=function(_super){__extends(TrackNameTooLongError,_super);function TrackNameTooLongError(){var _this=_super.call(this,53302,"Track name is too long")||this;Object.setPrototypeOf(_this,TrackNameTooLongError.prototype);return _this}return TrackNameTooLongError}(TwilioError);exports.TrackNameTooLongError=TrackNameTooLongError;Object.defineProperty(TwilioErrorByCode,53302,{value:TrackNameTooLongError});var TrackNameCharsInvalidError=function(_super){__extends(TrackNameCharsInvalidError,_super);function TrackNameCharsInvalidError(){var _this=_super.call(this,53303,"Track name contains invalid characters")||this;Object.setPrototypeOf(_this,TrackNameCharsInvalidError.prototype);return _this}return TrackNameCharsInvalidError}(TwilioError);exports.TrackNameCharsInvalidError=TrackNameCharsInvalidError;Object.defineProperty(TwilioErrorByCode,53303,{value:TrackNameCharsInvalidError});var TrackNameIsDuplicatedError=function(_super){__extends(TrackNameIsDuplicatedError,_super);function TrackNameIsDuplicatedError(){var _this=_super.call(this,53304,"Track name is duplicated")||this;Object.setPrototypeOf(_this,TrackNameIsDuplicatedError.prototype);return _this}return TrackNameIsDuplicatedError}(TwilioError);exports.TrackNameIsDuplicatedError=TrackNameIsDuplicatedError;Object.defineProperty(TwilioErrorByCode,53304,{value:TrackNameIsDuplicatedError});var TrackServerTrackCapacityReachedError=function(_super){__extends(TrackServerTrackCapacityReachedError,_super);function TrackServerTrackCapacityReachedError(){var _this=_super.call(this,53305,"The server has reached capacity and cannot fulfill this request")||this;Object.setPrototypeOf(_this,TrackServerTrackCapacityReachedError.prototype);return _this}return TrackServerTrackCapacityReachedError}(TwilioError);exports.TrackServerTrackCapacityReachedError=TrackServerTrackCapacityReachedError;Object.defineProperty(TwilioErrorByCode,53305,{value:TrackServerTrackCapacityReachedError});var MediaClientLocalDescFailedError=function(_super){__extends(MediaClientLocalDescFailedError,_super);function MediaClientLocalDescFailedError(){var _this=_super.call(this,53400,"Client is unable to create or apply a local media description")||this;Object.setPrototypeOf(_this,MediaClientLocalDescFailedError.prototype);return _this}return MediaClientLocalDescFailedError}(TwilioError);exports.MediaClientLocalDescFailedError=MediaClientLocalDescFailedError;Object.defineProperty(TwilioErrorByCode,53400,{value:MediaClientLocalDescFailedError});var MediaServerLocalDescFailedError=function(_super){__extends(MediaServerLocalDescFailedError,_super);function MediaServerLocalDescFailedError(){var _this=_super.call(this,53401,"Server is unable to create or apply a local media description")||this;Object.setPrototypeOf(_this,MediaServerLocalDescFailedError.prototype);return _this}return MediaServerLocalDescFailedError}(TwilioError);exports.MediaServerLocalDescFailedError=MediaServerLocalDescFailedError;Object.defineProperty(TwilioErrorByCode,53401,{value:MediaServerLocalDescFailedError});var MediaClientRemoteDescFailedError=function(_super){__extends(MediaClientRemoteDescFailedError,_super);function MediaClientRemoteDescFailedError(){var _this=_super.call(this,53402,"Client is unable to apply a remote media description")||this;Object.setPrototypeOf(_this,MediaClientRemoteDescFailedError.prototype);return _this}return MediaClientRemoteDescFailedError}(TwilioError);exports.MediaClientRemoteDescFailedError=MediaClientRemoteDescFailedError;Object.defineProperty(TwilioErrorByCode,53402,{value:MediaClientRemoteDescFailedError});var MediaServerRemoteDescFailedError=function(_super){__extends(MediaServerRemoteDescFailedError,_super);function MediaServerRemoteDescFailedError(){var _this=_super.call(this,53403,"Server is unable to apply a remote media description")||this;Object.setPrototypeOf(_this,MediaServerRemoteDescFailedError.prototype);return _this}return MediaServerRemoteDescFailedError}(TwilioError);exports.MediaServerRemoteDescFailedError=MediaServerRemoteDescFailedError;Object.defineProperty(TwilioErrorByCode,53403,{value:MediaServerRemoteDescFailedError});var MediaNoSupportedCodecError=function(_super){__extends(MediaNoSupportedCodecError,_super);function MediaNoSupportedCodecError(){var _this=_super.call(this,53404,"No supported codec")||this;Object.setPrototypeOf(_this,MediaNoSupportedCodecError.prototype);return _this}return MediaNoSupportedCodecError}(TwilioError);exports.MediaNoSupportedCodecError=MediaNoSupportedCodecError;Object.defineProperty(TwilioErrorByCode,53404,{value:MediaNoSupportedCodecError});var MediaConnectionError=function(_super){__extends(MediaConnectionError,_super);function MediaConnectionError(){var _this=_super.call(this,53405,"Media connection failed or Media activity ceased")||this;Object.setPrototypeOf(_this,MediaConnectionError.prototype);return _this}return MediaConnectionError}(TwilioError);exports.MediaConnectionError=MediaConnectionError;Object.defineProperty(TwilioErrorByCode,53405,{value:MediaConnectionError});var MediaDTLSTransportFailedError=function(_super){__extends(MediaDTLSTransportFailedError,_super);function MediaDTLSTransportFailedError(){var _this=_super.call(this,53407,"Media connection failed due to DTLS handshake failure")||this;Object.setPrototypeOf(_this,MediaDTLSTransportFailedError.prototype);return _this}return MediaDTLSTransportFailedError}(TwilioError);exports.MediaDTLSTransportFailedError=MediaDTLSTransportFailedError;Object.defineProperty(TwilioErrorByCode,53407,{value:MediaDTLSTransportFailedError});var ConfigurationAcquireFailedError=function(_super){__extends(ConfigurationAcquireFailedError,_super);function ConfigurationAcquireFailedError(){var _this=_super.call(this,53500,"Unable to acquire configuration")||this;Object.setPrototypeOf(_this,ConfigurationAcquireFailedError.prototype);return _this}return ConfigurationAcquireFailedError}(TwilioError);exports.ConfigurationAcquireFailedError=ConfigurationAcquireFailedError;Object.defineProperty(TwilioErrorByCode,53500,{value:ConfigurationAcquireFailedError});var ConfigurationAcquireTurnFailedError=function(_super){__extends(ConfigurationAcquireTurnFailedError,_super);function ConfigurationAcquireTurnFailedError(){var _this=_super.call(this,53501,"Unable to acquire TURN credentials")||this;Object.setPrototypeOf(_this,ConfigurationAcquireTurnFailedError.prototype);return _this}return ConfigurationAcquireTurnFailedError}(TwilioError);exports.ConfigurationAcquireTurnFailedError=ConfigurationAcquireTurnFailedError;Object.defineProperty(TwilioErrorByCode,53501,{value:ConfigurationAcquireTurnFailedError})},{"./twilioerror":148}],148:[function(require,module,exports){"use strict";var __extends=this&&this.__extends||function(){var extendStatics=function(d,b){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(Object.prototype.hasOwnProperty.call(b,p))d[p]=b[p]};return extendStatics(d,b)};return function(d,b){if(typeof b!=="function"&&b!==null)throw new TypeError("Class extends value "+String(b)+" is not a constructor or null");extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();var __read=this&&this.__read||function(o,n){var m=typeof Symbol==="function"&&o[Symbol.iterator];if(!m)return o;var i=m.call(o),r,ar=[],e;try{while((n===void 0||n-- >0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error:error}}finally{try{if(r&&!r.done&&(m=i["return"]))m.call(i)}finally{if(e)throw e.error}}return ar};var __spreadArray=this&&this.__spreadArray||function(to,from){for(var i=0,il=from.length,j=to.length;i<il;i++,j++)to[j]=from[i];return to};var TwilioError=function(_super){__extends(TwilioError,_super);function TwilioError(code){var _this=this;var args=[].slice.call(arguments,1);_this=_super.apply(this,__spreadArray([],__read(args)))||this;Object.setPrototypeOf(_this,TwilioError.prototype);var error=Error.apply(_this,args);error.name="TwilioError";Object.defineProperty(_this,"code",{value:code,enumerable:true});Object.getOwnPropertyNames(error).forEach(function(prop){Object.defineProperty(this,prop,{value:error[prop],enumerable:true})},_this);return _this}TwilioError.prototype.toString=function(){var message=this.message?": "+this.message:"";return this.name+" "+this.code+message};return TwilioError}(Error);module.exports=TwilioError},{}],149:[function(require,module,exports){"use strict";var TwilioWarning={recordingMediaLost:"recording-media-lost"};module.exports=TwilioWarning},{}],150:[function(require,module,exports){"use strict";var isNonArrayObject=require("./").isNonArrayObject;var _a=require("./constants"),E=_a.typeErrors,clientTrackSwitchOffControl=_a.clientTrackSwitchOffControl,videoContentPreferencesMode=_a.videoContentPreferencesMode,subscriptionMode=_a.subscriptionMode,trackPriority=_a.trackPriority,trackSwitchOffMode=_a.trackSwitchOffMode;function validateBandwidthProfile(bandwidthProfile){var error=validateObject(bandwidthProfile,"options.bandwidthProfile");if(!bandwidthProfile||error){return error}error=validateObject(bandwidthProfile.video,"options.bandwidthProfile.video",[{prop:"contentPreferencesMode",values:Object.values(videoContentPreferencesMode)},{prop:"dominantSpeakerPriority",values:Object.values(trackPriority)},{prop:"maxSubscriptionBitrate",type:"number"},{prop:"maxTracks",type:"number"},{prop:"mode",values:Object.values(subscriptionMode)},{prop:"clientTrackSwitchOffControl",values:Object.values(clientTrackSwitchOffControl)},{prop:"trackSwitchOffMode",values:Object.values(trackSwitchOffMode)}]);if(error){return error}if(bandwidthProfile.video){if("maxTracks"in bandwidthProfile.video&&"clientTrackSwitchOffControl"in bandwidthProfile.video){return new TypeError("options.bandwidthProfile.video.maxTracks is deprecated. Use options.bandwidthProfile.video.clientTrackSwitchOffControl instead.")}if("renderDimensions"in bandwidthProfile.video&&"contentPreferencesMode"in bandwidthProfile.video){return new TypeError("options.bandwidthProfile.video.renderDimensions is deprecated. Use options.bandwidthProfile.video.contentPreferencesMode instead.")}return validateRenderDimensions(bandwidthProfile.video.renderDimensions)}return null}function validateLocalTrack(track,options){if(!(track instanceof options.LocalAudioTrack||track instanceof options.LocalDataTrack||track instanceof options.LocalVideoTrack||track instanceof options.MediaStreamTrack)){throw E.INVALID_TYPE("track","LocalAudioTrack, LocalVideoTrack, LocalDataTrack, or MediaStreamTrack")}}function validateObject(object,name,propChecks){if(propChecks===void 0){propChecks=[]}if(typeof object==="undefined"){return null}if(object===null||!isNonArrayObject(object)){return E.INVALID_TYPE(name,"object")}return propChecks.reduce(function(error,_a){var prop=_a.prop,type=_a.type,values=_a.values;if(error||!(prop in object)){return error}var value=object[prop];if(type&&typeof value!==type){return E.INVALID_TYPE(name+"."+prop,type)}if(type==="number"&&isNaN(value)){return E.INVALID_TYPE(name+"."+prop,type)}if(Array.isArray(values)&&!values.includes(value)){return E.INVALID_VALUE(name+"."+prop,values)}return error},null)}function validateRenderDimensions(renderDimensions){var name="options.bandwidthProfile.video.renderDimensions";var error=validateObject(renderDimensions,name);return renderDimensions?error||Object.values(trackPriority).reduce(function(error,prop){return error||validateObject(renderDimensions[prop],name+"."+prop,[{prop:"height",type:"number"},{prop:"width",type:"number"}])},null):error}exports.validateBandwidthProfile=validateBandwidthProfile;exports.validateLocalTrack=validateLocalTrack;exports.validateObject=validateObject},{"./":132,"./constants":125}],151:[function(require,module,exports){module.exports=function inherits(ctor,superCtor){if(ctor&&superCtor){ctor.super_=superCtor;if(typeof Object.create==="function"){ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:false,writable:true,configurable:true}})}else{var TempCtor=function(){function TempCtor(){}return TempCtor}();TempCtor.prototype=superCtor.prototype;ctor.prototype=new TempCtor;ctor.prototype.constructor=ctor}}}},{}],152:[function(require,module,exports){var noop=function(){};var undefinedType="undefined";var isIE=typeof window!==undefinedType&&typeof window.navigator!==undefinedType&&/Trident\/|MSIE /.test(window.navigator.userAgent);var logMethods=["trace","debug","info","warn","error"];function bindMethod(obj,methodName){var method=obj[methodName];if(typeof method.bind==="function"){return method.bind(obj)}else{try{return Function.prototype.bind.call(method,obj)}catch(e){return function(){return Function.prototype.apply.apply(method,[obj,arguments])}}}}function traceForIE(){if(console.log){if(console.log.apply){console.log.apply(console,arguments)}else{Function.prototype.apply.apply(console.log,[console,arguments])}}if(console.trace)console.trace()}function realMethod(methodName){if(methodName==="debug"){methodName="log"}if(typeof console===undefinedType){return false}else if(methodName==="trace"&&isIE){return traceForIE}else if(console[methodName]!==undefined){return bindMethod(console,methodName)}else if(console.log!==undefined){return bindMethod(console,"log")}else{return noop}}function replaceLoggingMethods(level,loggerName){for(var i=0;i<logMethods.length;i++){var methodName=logMethods[i];this[methodName]=i<level?noop:this.methodFactory(methodName,level,loggerName)}this.log=this.debug}function enableLoggingWhenConsoleArrives(methodName,level,loggerName){return function(){if(typeof console!==undefinedType){replaceLoggingMethods.call(this,level,loggerName);this[methodName].apply(this,arguments)}}}function defaultMethodFactory(methodName,level,loggerName){return realMethod(methodName)||enableLoggingWhenConsoleArrives.apply(this,arguments)}function Logger(name,defaultLevel,factory){var self=this;var currentLevel;var storageKey="loglevel";if(typeof name==="string"){storageKey+=":"+name}else if(typeof name==="symbol"){storageKey=undefined}function persistLevelIfPossible(levelNum){var levelName=(logMethods[levelNum]||"silent").toUpperCase();if(typeof window===undefinedType||!storageKey)return;try{window.localStorage[storageKey]=levelName;return}catch(ignore){}try{window.document.cookie=encodeURIComponent(storageKey)+"="+levelName+";"}catch(ignore){}}function getPersistedLevel(){var storedLevel;if(typeof window===undefinedType||!storageKey)return;try{storedLevel=window.localStorage[storageKey]}catch(ignore){}if(typeof storedLevel===undefinedType){try{var cookie=window.document.cookie;var location=cookie.indexOf(encodeURIComponent(storageKey)+"=");if(location!==-1){storedLevel=/^([^;]+)/.exec(cookie.slice(location))[1]}}catch(ignore){}}if(self.levels[storedLevel]===undefined){storedLevel=undefined}return storedLevel}self.name=name;self.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5};self.methodFactory=factory||defaultMethodFactory;self.getLevel=function(){return currentLevel};self.setLevel=function(level,persist){if(typeof level==="string"&&self.levels[level.toUpperCase()]!==undefined){level=self.levels[level.toUpperCase()]}if(typeof level==="number"&&level>=0&&level<=self.levels.SILENT){currentLevel=level;if(persist!==false){persistLevelIfPossible(level)}replaceLoggingMethods.call(self,level,name);if(typeof console===undefinedType&&level<self.levels.SILENT){return"No console available for logging"}}else{throw"log.setLevel() called with invalid level: "+level}};self.setDefaultLevel=function(level){if(!getPersistedLevel()){self.setLevel(level,false)}};self.enableAll=function(persist){self.setLevel(self.levels.TRACE,persist)};self.disableAll=function(persist){self.setLevel(self.levels.SILENT,persist)
|
|
55
|
-
};var initialLevel=getPersistedLevel();if(initialLevel==null){initialLevel=defaultLevel==null?"WARN":defaultLevel}self.setLevel(initialLevel,false)}var defaultLogger=new Logger;var _loggersByName={};defaultLogger.getLogger=function getLogger(name){if(typeof name!=="symbol"&&typeof name!=="string"||name===""){throw new TypeError("You must supply a name when creating a logger.")}var logger=_loggersByName[name];if(!logger){logger=_loggersByName[name]=new Logger(name,defaultLogger.getLevel(),defaultLogger.methodFactory)}return logger};var _log=typeof window!==undefinedType?window.log:undefined;defaultLogger.noConflict=function(){if(typeof window!==undefinedType&&window.log===defaultLogger){window.log=_log}return defaultLogger};defaultLogger.getLoggers=function getLoggers(){return _loggersByName};defaultLogger["default"]=defaultLogger;module.exports=defaultLogger},{}],153:[function(require,module,exports){"use strict";var NativeAudioContext=typeof AudioContext!=="undefined"?AudioContext:typeof webkitAudioContext!=="undefined"?webkitAudioContext:null;var AudioContextFactory=function(){function AudioContextFactory(options){options=Object.assign({AudioContext:NativeAudioContext},options);Object.defineProperties(this,{_AudioContext:{value:options.AudioContext},_audioContext:{value:null,writable:true},_holders:{value:new Set},AudioContextFactory:{enumerable:true,value:AudioContextFactory}})}AudioContextFactory.prototype.getOrCreate=function(holder){if(!this._holders.has(holder)){this._holders.add(holder);if(this._AudioContext&&!this._audioContext){try{this._audioContext=new this._AudioContext}catch(error){}}}return this._audioContext};AudioContextFactory.prototype.release=function(holder){if(this._holders.has(holder)){this._holders.delete(holder);if(!this._holders.size&&this._audioContext){this._audioContext.close();this._audioContext=null}}};return AudioContextFactory}();module.exports=new AudioContextFactory},{}],154:[function(require,module,exports){"use strict";function delay(timeout){timeout=typeof timeout==="number"?timeout:0;return new Promise(function(resolve){return setTimeout(resolve,timeout)})}function detectSilence(audioContext,stream,timeout){timeout=typeof timeout==="number"?timeout:250;var source=audioContext.createMediaStreamSource(stream);var analyser=audioContext.createAnalyser();analyser.fftSize=2048;source.connect(analyser);var samples=new Uint8Array(analyser.fftSize);var timeoutDidFire=false;setTimeout(function(){timeoutDidFire=true},timeout);function doDetectSilence(){if(timeoutDidFire){return Promise.resolve(true)}analyser.getByteTimeDomainData(samples);return samples.some(function(sample){return sample!==128&&sample!==0})?Promise.resolve(false):delay().then(doDetectSilence)}return doDetectSilence().then(function(isSilent){source.disconnect();return isSilent},function(error){source.disconnect();throw error})}module.exports=detectSilence},{}],155:[function(require,module,exports){"use strict";var detectSilence=require("./detectsilence");function workaround(log,getUserMedia,constraints,n,timeout){n=typeof n==="number"?n:3;var retry=0;var AudioContextFactory=require("./audiocontext");var holder={};var audioContext=AudioContextFactory.getOrCreate(holder);function doWorkaround(){return getUserMedia(constraints).then(function(stream){var isSilentPromise=constraints.audio?detectSilence(audioContext,stream,timeout).catch(function(err){log.warn("Encountered an error while detecting silence",err);return true}):Promise.resolve(false);return isSilentPromise.then(function(isSilent){if(!isSilent){log.info("Got a non-silent audio MediaStreamTrack; returning it.");return stream}else if(n<=0){log.warn("Got a silent audio MediaStreamTrack. Normally we would try to get a new one, but we've run out of retries; returning it anyway.");return stream}log.warn("Got a silent audio MediaStreamTrack. Stopping all MediaStreamTracks and calling getUserMedia again. This is retry #"+ ++retry+".");stream.getTracks().forEach(function(track){return track.stop()});n--;return doWorkaround()})})}return doWorkaround().then(function(stream){AudioContextFactory.release(holder);return stream},function(error){AudioContextFactory.release(holder);throw error})}module.exports=workaround},{"./audiocontext":153,"./detectsilence":154}],156:[function(require,module,exports){"use strict";var __read=this&&this.__read||function(o,n){var m=typeof Symbol==="function"&&o[Symbol.iterator];if(!m)return o;var i=m.call(o),r,ar=[],e;try{while((n===void 0||n-- >0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error:error}}finally{try{if(r&&!r.done&&(m=i["return"]))m.call(i)}finally{if(e)throw e.error}}return ar};var _a=require("./util"),flatMap=_a.flatMap,guessBrowser=_a.guessBrowser,guessBrowserVersion=_a.guessBrowserVersion;var getSdpFormat=require("./util/sdp").getSdpFormat;var guess=guessBrowser();var guessVersion=guessBrowserVersion();var isChrome=guess==="chrome";var isFirefox=guess==="firefox";var isSafari=guess==="safari";var chromeMajorVersion=isChrome?guessVersion.major:null;var CHROME_LEGACY_MAX_AUDIO_LEVEL=32767;function getStats(peerConnection,options){if(!(peerConnection&&typeof peerConnection.getStats==="function")){return Promise.reject(new Error("Given PeerConnection does not support getStats"))}return _getStats(peerConnection,options)}function _getStats(peerConnection,options){var localAudioTracks=getTracks(peerConnection,"audio","local");var localVideoTracks=getTracks(peerConnection,"video","local");var remoteAudioTracks=getTracks(peerConnection,"audio");var remoteVideoTracks=getTracks(peerConnection,"video");var statsResponse={activeIceCandidatePair:null,localAudioTrackStats:[],localVideoTrackStats:[],remoteAudioTrackStats:[],remoteVideoTrackStats:[]};var trackStatsPromises=flatMap([[localAudioTracks,"localAudioTrackStats",false],[localVideoTracks,"localVideoTrackStats",false],[remoteAudioTracks,"remoteAudioTrackStats",true],[remoteVideoTracks,"remoteVideoTrackStats",true]],function(_a){var _b=__read(_a,3),tracks=_b[0],statsArrayName=_b[1],isRemote=_b[2];return tracks.map(function(track){return getTrackStats(peerConnection,track,Object.assign({isRemote:isRemote},options)).then(function(trackStatsArray){trackStatsArray.forEach(function(trackStats){trackStats.trackId=track.id;statsResponse[statsArrayName].push(trackStats)})})})});return Promise.all(trackStatsPromises).then(function(){return getActiveIceCandidatePairStats(peerConnection,options)}).then(function(activeIceCandidatePairStatsReport){statsResponse.activeIceCandidatePair=activeIceCandidatePairStatsReport;return statsResponse})}function getActiveIceCandidatePairStats(peerConnection,options){if(options===void 0){options={}}if(typeof options.testForChrome!=="undefined"||isChrome||typeof options.testForSafari!=="undefined"||isSafari){return peerConnection.getStats().then(standardizeChromeOrSafariActiveIceCandidatePairStats)}if(typeof options.testForFirefox!=="undefined"||isFirefox){return peerConnection.getStats().then(standardizeFirefoxActiveIceCandidatePairStats)}return Promise.reject(new Error("RTCPeerConnection#getStats() not supported"))}function standardizeChromeOrSafariActiveIceCandidatePairStats(stats){var activeCandidatePairStats=Array.from(stats.values()).find(function(_a){var nominated=_a.nominated,type=_a.type;return type==="candidate-pair"&&nominated});if(!activeCandidatePairStats){return null}var activeLocalCandidateStats=stats.get(activeCandidatePairStats.localCandidateId);var activeRemoteCandidateStats=stats.get(activeCandidatePairStats.remoteCandidateId);var standardizedCandidateStatsKeys=[{key:"candidateType",type:"string"},{key:"ip",type:"string"},{key:"port",type:"number"},{key:"priority",type:"number"},{key:"protocol",type:"string"},{key:"url",type:"string"}];var standardizedLocalCandidateStatsKeys=standardizedCandidateStatsKeys.concat([{key:"deleted",type:"boolean"},{key:"relayProtocol",type:"string"}]);var standatdizedLocalCandidateStatsReport=activeLocalCandidateStats?standardizedLocalCandidateStatsKeys.reduce(function(report,_a){var key=_a.key,type=_a.type;report[key]=typeof activeLocalCandidateStats[key]===type?activeLocalCandidateStats[key]:key==="deleted"?false:null;return report},{}):null;var standardizedRemoteCandidateStatsReport=activeRemoteCandidateStats?standardizedCandidateStatsKeys.reduce(function(report,_a){var key=_a.key,type=_a.type;report[key]=typeof activeRemoteCandidateStats[key]===type?activeRemoteCandidateStats[key]:null;return report},{}):null;return[{key:"availableIncomingBitrate",type:"number"},{key:"availableOutgoingBitrate",type:"number"},{key:"bytesReceived",type:"number"},{key:"bytesSent",type:"number"},{key:"consentRequestsSent",type:"number"},{key:"currentRoundTripTime",type:"number"},{key:"lastPacketReceivedTimestamp",type:"number"},{key:"lastPacketSentTimestamp",type:"number"},{key:"nominated",type:"boolean"},{key:"priority",type:"number"},{key:"readable",type:"boolean"},{key:"requestsReceived",type:"number"},{key:"requestsSent",type:"number"},{key:"responsesReceived",type:"number"},{key:"responsesSent",type:"number"},{key:"retransmissionsReceived",type:"number"},{key:"retransmissionsSent",type:"number"},{key:"state",type:"string",fixup:function(state){return state==="inprogress"?"in-progress":state}},{key:"totalRoundTripTime",type:"number"},{key:"transportId",type:"string"},{key:"writable",type:"boolean"}].reduce(function(report,_a){var key=_a.key,type=_a.type,fixup=_a.fixup;report[key]=typeof activeCandidatePairStats[key]===type?fixup?fixup(activeCandidatePairStats[key]):activeCandidatePairStats[key]:null;return report},{localCandidate:standatdizedLocalCandidateStatsReport,remoteCandidate:standardizedRemoteCandidateStatsReport})}function standardizeFirefoxActiveIceCandidatePairStats(stats){var activeCandidatePairStats=Array.from(stats.values()).find(function(_a){var nominated=_a.nominated,type=_a.type;return type==="candidate-pair"&&nominated});if(!activeCandidatePairStats){return null}var activeLocalCandidateStats=stats.get(activeCandidatePairStats.localCandidateId);var activeRemoteCandidateStats=stats.get(activeCandidatePairStats.remoteCandidateId);var standardizedCandidateStatsKeys=[{key:"candidateType",type:"string"},{key:"ip",ffKeys:["address","ipAddress"],type:"string"},{key:"port",ffKeys:["portNumber"],type:"number"},{key:"priority",type:"number"},{key:"protocol",ffKeys:["transport"],type:"string"},{key:"url",type:"string"}];var standardizedLocalCandidateStatsKeys=standardizedCandidateStatsKeys.concat([{key:"deleted",type:"boolean"},{key:"relayProtocol",type:"string"}]);var candidateTypes={host:"host",peerreflexive:"prflx",relayed:"relay",serverreflexive:"srflx"};var standatdizedLocalCandidateStatsReport=activeLocalCandidateStats?standardizedLocalCandidateStatsKeys.reduce(function(report,_a){var ffKeys=_a.ffKeys,key=_a.key,type=_a.type;var localStatKey=ffKeys&&ffKeys.find(function(key){return key in activeLocalCandidateStats})||key;report[key]=typeof activeLocalCandidateStats[localStatKey]===type?localStatKey==="candidateType"?candidateTypes[activeLocalCandidateStats[localStatKey]]||activeLocalCandidateStats[localStatKey]:activeLocalCandidateStats[localStatKey]:localStatKey==="deleted"?false:null;return report},{}):null;var standardizedRemoteCandidateStatsReport=activeRemoteCandidateStats?standardizedCandidateStatsKeys.reduce(function(report,_a){var ffKeys=_a.ffKeys,key=_a.key,type=_a.type;var remoteStatKey=ffKeys&&ffKeys.find(function(key){return key in activeRemoteCandidateStats})||key;report[key]=typeof activeRemoteCandidateStats[remoteStatKey]===type?remoteStatKey==="candidateType"?candidateTypes[activeRemoteCandidateStats[remoteStatKey]]||activeRemoteCandidateStats[remoteStatKey]:activeRemoteCandidateStats[remoteStatKey]:null;return report},{}):null;return[{key:"availableIncomingBitrate",type:"number"},{key:"availableOutgoingBitrate",type:"number"},{key:"bytesReceived",type:"number"},{key:"bytesSent",type:"number"},{key:"consentRequestsSent",type:"number"},{key:"currentRoundTripTime",type:"number"},{key:"lastPacketReceivedTimestamp",type:"number"},{key:"lastPacketSentTimestamp",type:"number"},{key:"nominated",type:"boolean"},{key:"priority",type:"number"},{key:"readable",type:"boolean"},{key:"requestsReceived",type:"number"},{key:"requestsSent",type:"number"},{key:"responsesReceived",type:"number"},{key:"responsesSent",type:"number"},{key:"retransmissionsReceived",type:"number"},{key:"retransmissionsSent",type:"number"},{key:"state",type:"string"},{key:"totalRoundTripTime",type:"number"},{key:"transportId",type:"string"},{key:"writable",type:"boolean"}].reduce(function(report,_a){var key=_a.key,type=_a.type;report[key]=typeof activeCandidatePairStats[key]===type?activeCandidatePairStats[key]:null;return report},{localCandidate:standatdizedLocalCandidateStatsReport,remoteCandidate:standardizedRemoteCandidateStatsReport})}function getTracks(peerConnection,kind,localOrRemote){var getSendersOrReceivers=localOrRemote==="local"?"getSenders":"getReceivers";if(peerConnection[getSendersOrReceivers]){return peerConnection[getSendersOrReceivers]().map(function(_a){var track=_a.track;return track}).filter(function(track){return track&&track.kind===kind})}var getStreams=localOrRemote==="local"?"getLocalStreams":"getRemoteStreams";var getTracks=kind==="audio"?"getAudioTracks":"getVideoTracks";return flatMap(peerConnection[getStreams](),function(stream){return stream[getTracks]()})}function getTrackStats(peerConnection,track,options){if(options===void 0){options={}}if(typeof options.testForChrome!=="undefined"||isChrome){return chromeOrSafariGetTrackStats(peerConnection,track)}if(typeof options.testForFirefox!=="undefined"||isFirefox){return firefoxGetTrackStats(peerConnection,track,options.isRemote)}if(typeof options.testForSafari!=="undefined"||isSafari){if(typeof options.testForSafari!=="undefined"||getSdpFormat()==="unified"){return chromeOrSafariGetTrackStats(peerConnection,track)}return Promise.reject(new Error(["getStats() is not supported on this version of Safari","due to this bug: https://bugs.webkit.org/show_bug.cgi?id=192601"].join(" ")))}return Promise.reject(new Error("RTCPeerConnection#getStats() not supported"))}function chromeOrSafariGetTrackStats(peerConnection,track){return new Promise(function(resolve,reject){if(chromeMajorVersion&&chromeMajorVersion<67){peerConnection.getStats(function(response){resolve([standardizeChromeLegacyStats(response,track)])},null,reject);return}peerConnection.getStats(track).then(function(response){resolve(standardizeChromeOrSafariStats(response))},reject)})}function firefoxGetTrackStats(peerConnection,track,isRemote){return new Promise(function(resolve,reject){peerConnection.getStats(track).then(function(response){resolve([standardizeFirefoxStats(response,isRemote)])},reject)})}function standardizeChromeLegacyStats(response,track){var ssrcReport=response.result().find(function(report){return report.type==="ssrc"&&report.stat("googTrackId")===track.id});var standardizedStats={};if(ssrcReport){standardizedStats.timestamp=Math.round(Number(ssrcReport.timestamp));standardizedStats=ssrcReport.names().reduce(function(stats,name){switch(name){case"googCodecName":stats.codecName=ssrcReport.stat(name);break;case"googRtt":stats.roundTripTime=Number(ssrcReport.stat(name));break;case"googJitterReceived":stats.jitter=Number(ssrcReport.stat(name));break;case"googFrameWidthInput":stats.frameWidthInput=Number(ssrcReport.stat(name));break;case"googFrameHeightInput":stats.frameHeightInput=Number(ssrcReport.stat(name));break;case"googFrameWidthSent":stats.frameWidthSent=Number(ssrcReport.stat(name));break;case"googFrameHeightSent":stats.frameHeightSent=Number(ssrcReport.stat(name));break;case"googFrameWidthReceived":stats.frameWidthReceived=Number(ssrcReport.stat(name));break;case"googFrameHeightReceived":stats.frameHeightReceived=Number(ssrcReport.stat(name));break;case"googFrameRateInput":stats.frameRateInput=Number(ssrcReport.stat(name));break;case"googFrameRateSent":stats.frameRateSent=Number(ssrcReport.stat(name));break;case"googFrameRateReceived":stats.frameRateReceived=Number(ssrcReport.stat(name));break;case"ssrc":stats[name]=ssrcReport.stat(name);break;case"bytesReceived":case"bytesSent":case"packetsLost":case"packetsReceived":case"packetsSent":case"audioInputLevel":case"audioOutputLevel":stats[name]=Number(ssrcReport.stat(name));break}return stats},standardizedStats)}return standardizedStats}function standardizeChromeOrSafariStats(response){var inbound=null;var outbound=[];var remoteInbound=null;var remoteOutbound=null;var track=null;var codec=null;var localMedia=null;response.forEach(function(stat){var type=stat.type;switch(type){case"inbound-rtp":inbound=stat;break;case"outbound-rtp":outbound.push(stat);break;case"media-source":localMedia=stat;break;case"track":track=stat;break;case"codec":codec=stat;break;case"remote-inbound-rtp":remoteInbound=stat;break;case"remote-outbound-rtp":remoteOutbound=stat;break}});var isRemote=track&&track.remoteSource;var mainSources=isRemote?[inbound]:outbound;var stats=[];var remoteSource=isRemote?remoteOutbound:remoteInbound;mainSources.forEach(function(source){var standardizedStats={};var statSources=[source,localMedia,track,codec,remoteSource&&remoteSource.ssrc===source.ssrc?remoteSource:null];function getStatValue(name){var sourceFound=statSources.find(function(statSource){return statSource&&typeof statSource[name]!=="undefined"})||null;return sourceFound?sourceFound[name]:null}var ssrc=getStatValue("ssrc");if(typeof ssrc==="number"){standardizedStats.ssrc=String(ssrc)}var timestamp=getStatValue("timestamp");standardizedStats.timestamp=Math.round(timestamp);var mimeType=getStatValue("mimeType");if(typeof mimeType==="string"){mimeType=mimeType.split("/");standardizedStats.codecName=mimeType[mimeType.length-1]}var roundTripTime=getStatValue("roundTripTime");if(typeof roundTripTime==="number"){standardizedStats.roundTripTime=Math.round(roundTripTime*1e3)}var jitter=getStatValue("jitter");if(typeof jitter==="number"){standardizedStats.jitter=Math.round(jitter*1e3)}var frameWidth=getStatValue("frameWidth");if(typeof frameWidth==="number"){if(isRemote){standardizedStats.frameWidthReceived=frameWidth}else{standardizedStats.frameWidthSent=frameWidth;standardizedStats.frameWidthInput=track.frameWidth}}var frameHeight=getStatValue("frameHeight");if(typeof frameHeight==="number"){if(isRemote){standardizedStats.frameHeightReceived=frameHeight}else{standardizedStats.frameHeightSent=frameHeight;standardizedStats.frameHeightInput=track.frameHeight}}var framesPerSecond=getStatValue("framesPerSecond");if(typeof framesPerSecond==="number"){standardizedStats[isRemote?"frameRateReceived":"frameRateSent"]=framesPerSecond}var bytesReceived=getStatValue("bytesReceived");if(typeof bytesReceived==="number"){standardizedStats.bytesReceived=bytesReceived}var bytesSent=getStatValue("bytesSent");if(typeof bytesSent==="number"){standardizedStats.bytesSent=bytesSent}var packetsLost=getStatValue("packetsLost");if(typeof packetsLost==="number"){standardizedStats.packetsLost=packetsLost}var packetsReceived=getStatValue("packetsReceived");if(typeof packetsReceived==="number"){standardizedStats.packetsReceived=packetsReceived}var packetsSent=getStatValue("packetsSent");if(typeof packetsSent==="number"){standardizedStats.packetsSent=packetsSent}var audioLevel=getStatValue("audioLevel");if(typeof audioLevel==="number"){audioLevel=Math.round(audioLevel*CHROME_LEGACY_MAX_AUDIO_LEVEL);if(isRemote){standardizedStats.audioOutputLevel=audioLevel}else{standardizedStats.audioInputLevel=audioLevel}}var totalPacketSendDalay=getStatValue("totalPacketSendDelay");if(typeof totalPacketSendDalay==="number"){standardizedStats.totalPacketSendDelay=totalPacketSendDalay}var totalEncodeTime=getStatValue("totalEncodeTime");if(typeof totalEncodeTime==="number"){standardizedStats.totalEncodeTime=totalEncodeTime}var framesEncoded=getStatValue("framesEncoded");if(typeof framesEncoded==="number"){standardizedStats.framesEncoded=framesEncoded}var estimatedPlayoutTimestamp=getStatValue("estimatedPlayoutTimestamp");if(typeof estimatedPlayoutTimestamp==="number"){standardizedStats.estimatedPlayoutTimestamp=estimatedPlayoutTimestamp}var totalDecodeTime=getStatValue("totalDecodeTime");if(typeof totalDecodeTime==="number"){standardizedStats.totalDecodeTime=totalDecodeTime}var framesDecoded=getStatValue("framesDecoded");if(typeof framesDecoded==="number"){standardizedStats.framesDecoded=framesDecoded}var jitterBufferDelay=getStatValue("jitterBufferDelay");if(typeof jitterBufferDelay==="number"){standardizedStats.jitterBufferDelay=jitterBufferDelay}var jitterBufferEmittedCount=getStatValue("jitterBufferEmittedCount");if(typeof jitterBufferEmittedCount==="number"){standardizedStats.jitterBufferEmittedCount=jitterBufferEmittedCount}stats.push(standardizedStats)});return stats}function standardizeFirefoxStats(response,isRemote){if(response===void 0){response=new Map}var inbound=null;var outbound=null;response.forEach(function(stat){var isRemote=stat.isRemote,remoteId=stat.remoteId,type=stat.type;if(isRemote){return}switch(type){case"inbound-rtp":inbound=stat;outbound=response.get(remoteId);break;case"outbound-rtp":outbound=stat;inbound=response.get(remoteId);break}});var first=isRemote?inbound:outbound;var second=isRemote?outbound:inbound;function getStatValue(name){if(first&&typeof first[name]!=="undefined"){return first[name]}if(second&&typeof second[name]!=="undefined"){return second[name]}return null}var standardizedStats={};var timestamp=getStatValue("timestamp");standardizedStats.timestamp=Math.round(timestamp);var ssrc=getStatValue("ssrc");if(typeof ssrc==="number"){standardizedStats.ssrc=String(ssrc)}var bytesSent=getStatValue("bytesSent");if(typeof bytesSent==="number"){standardizedStats.bytesSent=bytesSent}var packetsLost=getStatValue("packetsLost");if(typeof packetsLost==="number"){standardizedStats.packetsLost=packetsLost}var packetsSent=getStatValue("packetsSent");if(typeof packetsSent==="number"){standardizedStats.packetsSent=packetsSent}var roundTripTime=getStatValue("roundTripTime");if(typeof roundTripTime==="number"){standardizedStats.roundTripTime=Math.round(roundTripTime*1e3)}var jitter=getStatValue("jitter");if(typeof jitter==="number"){standardizedStats.jitter=Math.round(jitter*1e3)}var frameRateSent=getStatValue("framerateMean");if(typeof frameRateSent==="number"){standardizedStats.frameRateSent=Math.round(frameRateSent)}var bytesReceived=getStatValue("bytesReceived");if(typeof bytesReceived==="number"){standardizedStats.bytesReceived=bytesReceived}var packetsReceived=getStatValue("packetsReceived");if(typeof packetsReceived==="number"){standardizedStats.packetsReceived=packetsReceived}var frameRateReceived=getStatValue("framerateMean");if(typeof frameRateReceived==="number"){standardizedStats.frameRateReceived=Math.round(frameRateReceived)}var totalPacketSendDalay=getStatValue("totalPacketSendDelay");if(typeof totalPacketSendDalay==="number"){standardizedStats.totalPacketSendDelay=totalPacketSendDalay}var totalEncodeTime=getStatValue("totalEncodeTime");if(typeof totalEncodeTime==="number"){standardizedStats.totalEncodeTime=totalEncodeTime}var framesEncoded=getStatValue("framesEncoded");if(typeof framesEncoded==="number"){standardizedStats.framesEncoded=framesEncoded}var estimatedPlayoutTimestamp=getStatValue("estimatedPlayoutTimestamp");if(typeof estimatedPlayoutTimestamp==="number"){standardizedStats.estimatedPlayoutTimestamp=estimatedPlayoutTimestamp}var totalDecodeTime=getStatValue("totalDecodeTime");if(typeof totalDecodeTime==="number"){standardizedStats.totalDecodeTime=totalDecodeTime}var framesDecoded=getStatValue("framesDecoded");if(typeof framesDecoded==="number"){standardizedStats.framesDecoded=framesDecoded}var jitterBufferDelay=getStatValue("jitterBufferDelay");if(typeof jitterBufferDelay==="number"){standardizedStats.jitterBufferDelay=jitterBufferDelay}var jitterBufferEmittedCount=getStatValue("jitterBufferEmittedCount");if(typeof jitterBufferEmittedCount==="number"){standardizedStats.jitterBufferEmittedCount=jitterBufferEmittedCount}return standardizedStats}module.exports=getStats},{"./util":170,"./util/sdp":172}],157:[function(require,module,exports){"use strict";function getUserMedia(constraints){if(constraints===void 0){constraints={audio:true,video:true}}if(typeof navigator==="object"&&typeof navigator.mediaDevices==="object"&&typeof navigator.mediaDevices.getUserMedia==="function"){return navigator.mediaDevices.getUserMedia(constraints)}return Promise.reject(new Error("getUserMedia is not supported"))}module.exports=getUserMedia},{}],158:[function(require,module,exports){"use strict";var WebRTC={};Object.defineProperties(WebRTC,{getStats:{enumerable:true,value:require("./getstats")},getUserMedia:{enumerable:true,value:require("./getusermedia")},MediaStream:{enumerable:true,value:require("./mediastream")},MediaStreamTrack:{enumerable:true,value:require("./mediastreamtrack")},RTCIceCandidate:{enumerable:true,value:require("./rtcicecandidate")},RTCPeerConnection:{enumerable:true,value:require("./rtcpeerconnection")},RTCSessionDescription:{enumerable:true,value:require("./rtcsessiondescription")}});module.exports=WebRTC},{"./getstats":156,"./getusermedia":157,"./mediastream":159,"./mediastreamtrack":160,"./rtcicecandidate":161,"./rtcpeerconnection":164,"./rtcsessiondescription":169}],159:[function(require,module,exports){"use strict";if(typeof MediaStream==="function"){module.exports=MediaStream}else{module.exports=function MediaStream(){throw new Error("MediaStream is not supported")}}},{}],160:[function(require,module,exports){"use strict";if(typeof MediaStreamTrack==="function"){module.exports=MediaStreamTrack}else{module.exports=function MediaStreamTrack(){throw new Error("MediaStreamTrack is not supported")}}},{}],161:[function(require,module,exports){"use strict";if(typeof RTCIceCandidate==="function"){module.exports=RTCIceCandidate}else{module.exports=function RTCIceCandidate(){throw new Error("RTCIceCandidate is not supported")}}},{}],162:[function(require,module,exports){"use strict";var __extends=this&&this.__extends||function(){var extendStatics=function(d,b){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(Object.prototype.hasOwnProperty.call(b,p))d[p]=b[p]};return extendStatics(d,b)};return function(d,b){if(typeof b!=="function"&&b!==null)throw new TypeError("Class extends value "+String(b)+" is not a constructor or null");extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();var __read=this&&this.__read||function(o,n){var m=typeof Symbol==="function"&&o[Symbol.iterator];if(!m)return o;var i=m.call(o),r,ar=[],e;try{while((n===void 0||n-- >0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error:error}}finally{try{if(r&&!r.done&&(m=i["return"]))m.call(i)}finally{if(e)throw e.error}}return ar};var __spreadArray=this&&this.__spreadArray||function(to,from){for(var i=0,il=from.length,j=to.length;i<il;i++,j++)to[j]=from[i];return to};var ChromeRTCSessionDescription=require("../rtcsessiondescription/chrome");var EventTarget=require("../../eventtarget");var Latch=require("../util/latch");var MediaStream=require("../mediastream");var RTCRtpSenderShim=require("../rtcrtpsender");var _a=require("../util/sdp"),getSdpFormat=_a.getSdpFormat,updatePlanBTrackIdsToSSRCs=_a.updatePlanBTrackIdsToSSRCs,updateUnifiedPlanTrackIdsToSSRCs=_a.updateUnifiedPlanTrackIdsToSSRCs;var _b=require("../util"),delegateMethods=_b.delegateMethods,interceptEvent=_b.interceptEvent,isIOSChrome=_b.isIOSChrome,legacyPromise=_b.legacyPromise,proxyProperties=_b.proxyProperties;var isUnifiedPlan=getSdpFormat()==="unified";var ChromeRTCPeerConnection=function(_super){__extends(ChromeRTCPeerConnection,_super);function ChromeRTCPeerConnection(configuration,constraints){if(configuration===void 0){configuration={}}var _this=_super.call(this)||this;var newConfiguration=Object.assign(configuration.iceTransportPolicy?{iceTransports:configuration.iceTransportPolicy}:{},configuration);interceptEvent(_this,"datachannel");interceptEvent(_this,"signalingstatechange");var sdpFormat=getSdpFormat(newConfiguration.sdpSemantics);var peerConnection=new RTCPeerConnection(newConfiguration,constraints);Object.defineProperties(_this,{_appliedTracksToSSRCs:{value:new Map,writable:true},_localStream:{value:new MediaStream},_peerConnection:{value:peerConnection},_pendingLocalOffer:{value:null,writable:true},_pendingRemoteOffer:{value:null,writable:true},_rolledBackTracksToSSRCs:{value:new Map,writable:true},_sdpFormat:{value:sdpFormat},_senders:{value:new Map},_signalingStateLatch:{value:new Latch},_tracksToSSRCs:{value:new Map,writable:true}});peerConnection.addEventListener("datachannel",function(event){shimDataChannel(event.channel);_this.dispatchEvent(event)});peerConnection.addEventListener("signalingstatechange",function(){var args=[];for(var _i=0;_i<arguments.length;_i++){args[_i]=arguments[_i]}if(peerConnection.signalingState==="stable"){_this._appliedTracksToSSRCs=new Map(_this._tracksToSSRCs)}if(!_this._pendingLocalOffer&&!_this._pendingRemoteOffer){_this.dispatchEvent.apply(_this,__spreadArray([],__read(args)))}});peerConnection.ontrack=function(){};if(typeof peerConnection.addTrack!=="function"){peerConnection.addStream(_this._localStream)}proxyProperties(RTCPeerConnection.prototype,_this,peerConnection);return _this}Object.defineProperty(ChromeRTCPeerConnection.prototype,"localDescription",{get:function(){return this._pendingLocalOffer?this._pendingLocalOffer:this._peerConnection.localDescription},enumerable:false,configurable:true});Object.defineProperty(ChromeRTCPeerConnection.prototype,"remoteDescription",{get:function(){return this._pendingRemoteOffer?this._pendingRemoteOffer:this._peerConnection.remoteDescription},enumerable:false,configurable:true});Object.defineProperty(ChromeRTCPeerConnection.prototype,"signalingState",{get:function(){if(this._pendingLocalOffer){return"have-local-offer"}else if(this._pendingRemoteOffer){return"have-remote-offer"}return this._peerConnection.signalingState},enumerable:false,configurable:true});ChromeRTCPeerConnection.prototype.addTrack=function(track){var _a;var rest=[];for(var _i=1;_i<arguments.length;_i++){rest[_i-1]=arguments[_i]}if(typeof this._peerConnection.addTrack==="function"){return(_a=this._peerConnection).addTrack.apply(_a,__spreadArray([track],__read(rest)))}if(this._peerConnection.signalingState==="closed"){throw new Error("Cannot add MediaStreamTrack ["+track.id+", \n "+track.kind+"]: RTCPeerConnection is closed")}var sender=this._senders.get(track);if(sender&&sender.track){throw new Error("Cannot add MediaStreamTrack ['"+track.id+", \n "+track.kind+"]: RTCPeerConnection already has it")}this._peerConnection.removeStream(this._localStream);this._localStream.addTrack(track);this._peerConnection.addStream(this._localStream);sender=new RTCRtpSenderShim(track);this._senders.set(track,sender);return sender};ChromeRTCPeerConnection.prototype.removeTrack=function(sender){if(this._peerConnection.signalingState==="closed"){throw new Error("Cannot remove MediaStreamTrack: RTCPeerConnection is closed")}if(typeof this._peerConnection.addTrack==="function"){try{return this._peerConnection.removeTrack(sender)}catch(e){}}else{var track=sender.track;if(!track){return}sender=this._senders.get(track);if(sender&&sender.track){sender.track=null;this._peerConnection.removeStream(this._localStream);this._localStream.removeTrack(track);this._peerConnection.addStream(this._localStream)}}};ChromeRTCPeerConnection.prototype.getSenders=function(){if(typeof this._peerConnection.addTrack==="function"){return this._peerConnection.getSenders()}return Array.from(this._senders.values())};ChromeRTCPeerConnection.prototype.addIceCandidate=function(candidate){var _this=this;var rest=[]
|
|
56
|
-
;for(var _i=1;_i<arguments.length;_i++){rest[_i-1]=arguments[_i]}var promise;if(this.signalingState==="have-remote-offer"){promise=this._signalingStateLatch.when("low").then(function(){return _this._peerConnection.addIceCandidate(candidate)})}else{promise=this._peerConnection.addIceCandidate(candidate)}return rest.length>0?legacyPromise.apply(void 0,__spreadArray([promise],__read(rest))):promise};ChromeRTCPeerConnection.prototype.close=function(){if(this.signalingState!=="closed"){this._pendingLocalOffer=null;this._pendingRemoteOffer=null;this._peerConnection.close()}};ChromeRTCPeerConnection.prototype.createAnswer=function(){var _this=this;var args=[];for(var _i=0;_i<arguments.length;_i++){args[_i]=arguments[_i]}var promise;if(this._pendingRemoteOffer){promise=this._peerConnection.setRemoteDescription(this._pendingRemoteOffer).then(function(){_this._signalingStateLatch.lower();return _this._peerConnection.createAnswer()}).then(function(answer){_this._pendingRemoteOffer=null;_this._rolledBackTracksToSSRCs.clear();return new ChromeRTCSessionDescription({type:"answer",sdp:updateTrackIdsToSSRCs(_this._sdpFormat,_this._tracksToSSRCs,answer.sdp)})},function(error){_this._pendingRemoteOffer=null;throw error})}else{promise=this._peerConnection.createAnswer().then(function(answer){_this._rolledBackTracksToSSRCs.clear();return new ChromeRTCSessionDescription({type:"answer",sdp:updateTrackIdsToSSRCs(_this._sdpFormat,_this._tracksToSSRCs,answer.sdp)})})}return args.length>1?legacyPromise.apply(void 0,__spreadArray([promise],__read(args))):promise};ChromeRTCPeerConnection.prototype.createOffer=function(){var _this=this;var args=[];for(var _i=0;_i<arguments.length;_i++){args[_i]=arguments[_i]}var _a=__read(args,3),arg1=_a[0],arg2=_a[1],arg3=_a[2];var options=arg3||arg1||{};if(isIOSChrome()){if(options.offerToReceiveVideo&&!this._audioTransceiver&&!(isUnifiedPlan&&hasReceiversForTracksOfKind(this,"audio"))){delete options.offerToReceiveAudio;try{this._audioTransceiver=isUnifiedPlan?this.addTransceiver("audio",{direction:"recvonly"}):this.addTransceiver("audio")}catch(e){return Promise.reject(e)}}if(options.offerToReceiveVideo&&!this._videoTransceiver&&!(isUnifiedPlan&&hasReceiversForTracksOfKind(this,"video"))){delete options.offerToReceiveVideo;try{this._videoTransceiver=isUnifiedPlan?this.addTransceiver("video",{direction:"recvonly"}):this.addTransceiver("video")}catch(e){return Promise.reject(e)}}}var promise=this._peerConnection.createOffer(options).then(function(offer){_this._rolledBackTracksToSSRCs.clear();return new ChromeRTCSessionDescription({type:offer.type,sdp:updateTrackIdsToSSRCs(_this._sdpFormat,_this._tracksToSSRCs,offer.sdp)})});return args.length>1?legacyPromise(promise,arg1,arg2):promise};ChromeRTCPeerConnection.prototype.createDataChannel=function(label,dataChannelDict){dataChannelDict=shimDataChannelInit(dataChannelDict);var dataChannel=this._peerConnection.createDataChannel(label,dataChannelDict);shimDataChannel(dataChannel);return dataChannel};ChromeRTCPeerConnection.prototype.setLocalDescription=function(){var args=[];for(var _i=0;_i<arguments.length;_i++){args[_i]=arguments[_i]}var _a=__read(args,3),description=_a[0],arg1=_a[1],arg2=_a[2];if(this._rolledBackTracksToSSRCs.size>0){this._tracksToSSRCs=new Map(this._rolledBackTracksToSSRCs);this._rolledBackTracksToSSRCs.clear()}var promise=setDescription(this,true,description);return args.length>1?legacyPromise(promise,arg1,arg2):promise};ChromeRTCPeerConnection.prototype.setRemoteDescription=function(){var args=[];for(var _i=0;_i<arguments.length;_i++){args[_i]=arguments[_i]}var _a=__read(args,3),description=_a[0],arg1=_a[1],arg2=_a[2];this._rolledBackTracksToSSRCs.clear();var promise=setDescription(this,false,description);return args.length>1?legacyPromise(promise,arg1,arg2):promise};return ChromeRTCPeerConnection}(EventTarget);delegateMethods(RTCPeerConnection.prototype,ChromeRTCPeerConnection.prototype,"_peerConnection");function setDescription(peerConnection,local,description){function setPendingLocalOffer(offer){if(local){peerConnection._pendingLocalOffer=offer}else{peerConnection._pendingRemoteOffer=offer}}function clearPendingLocalOffer(){if(local){peerConnection._pendingLocalOffer=null}else{peerConnection._pendingRemoteOffer=null}}var pendingLocalOffer=local?peerConnection._pendingLocalOffer:peerConnection._pendingRemoteOffer;var pendingRemoteOffer=local?peerConnection._pendingRemoteOffer:peerConnection._pendingLocalOffer;var intermediateState=local?"have-local-offer":"have-remote-offer";var setLocalDescription=local?"setLocalDescription":"setRemoteDescription";var promise;if(!local&&pendingRemoteOffer&&description.type==="answer"){promise=setRemoteAnswer(peerConnection,description)}else if(description.type==="offer"){if(peerConnection.signalingState!==intermediateState&&peerConnection.signalingState!=="stable"){return Promise.reject(new Error("Cannot set "+(local?"local":"remote")+" offer in state "+peerConnection.signalingState))}if(!pendingLocalOffer&&peerConnection._signalingStateLatch.state==="low"){peerConnection._signalingStateLatch.raise()}var previousSignalingState=peerConnection.signalingState;setPendingLocalOffer(unwrap(description));promise=Promise.resolve();if(peerConnection.signalingState!==previousSignalingState){promise.then(function(){return peerConnection.dispatchEvent(new Event("signalingstatechange"))})}}else if(description.type==="rollback"){if(peerConnection.signalingState!==intermediateState){promise=Promise.reject(new Error("Cannot rollback "+(local?"local":"remote")+" description in "+peerConnection.signalingState))}else{clearPendingLocalOffer();peerConnection._rolledBackTracksToSSRCs=new Map(peerConnection._tracksToSSRCs);peerConnection._tracksToSSRCs=new Map(peerConnection._appliedTracksToSSRCs);promise=Promise.resolve();promise.then(function(){return peerConnection.dispatchEvent(new Event("signalingstatechange"))})}}return promise||peerConnection._peerConnection[setLocalDescription](unwrap(description))}function setRemoteAnswer(peerConnection,answer){var pendingLocalOffer=peerConnection._pendingLocalOffer;return peerConnection._peerConnection.setLocalDescription(pendingLocalOffer).then(function(){peerConnection._pendingLocalOffer=null;return peerConnection.setRemoteDescription(answer)}).then(function(){peerConnection._signalingStateLatch.lower()})}function hasReceiversForTracksOfKind(peerConnection,kind){return!!peerConnection.getTransceivers().find(function(_a){var _b=_a.receiver,receiver=_b===void 0?{}:_b;var _c=receiver.track,track=_c===void 0?{}:_c;return track.kind===kind})}function unwrap(description){if(description instanceof ChromeRTCSessionDescription){if(description._description){return description._description}}return new RTCSessionDescription(description)}function needsMaxPacketLifeTimeShim(){return"maxRetransmitTime"in RTCDataChannel.prototype&&!("maxPacketLifeTime"in RTCDataChannel.prototype)}function shimDataChannelInit(dataChannelDict){dataChannelDict=Object.assign({},dataChannelDict);if(needsMaxPacketLifeTimeShim()&&"maxPacketLifeTime"in dataChannelDict){dataChannelDict.maxRetransmitTime=dataChannelDict.maxPacketLifeTime}return dataChannelDict}function shimDataChannel(dataChannel){Object.defineProperty(dataChannel,"maxRetransmits",{value:dataChannel.maxRetransmits===65535?null:dataChannel.maxRetransmits});if(needsMaxPacketLifeTimeShim()){Object.defineProperty(dataChannel,"maxPacketLifeTime",{value:dataChannel.maxRetransmitTime===65535?null:dataChannel.maxRetransmitTime})}return dataChannel}function updateTrackIdsToSSRCs(sdpFormat,tracksToSSRCs,sdp){return sdpFormat==="unified"?updateUnifiedPlanTrackIdsToSSRCs(tracksToSSRCs,sdp):updatePlanBTrackIdsToSSRCs(tracksToSSRCs,sdp)}module.exports=ChromeRTCPeerConnection},{"../../eventtarget":11,"../mediastream":159,"../rtcrtpsender":166,"../rtcsessiondescription/chrome":167,"../util":170,"../util/latch":171,"../util/sdp":172}],163:[function(require,module,exports){"use strict";var __extends=this&&this.__extends||function(){var extendStatics=function(d,b){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(Object.prototype.hasOwnProperty.call(b,p))d[p]=b[p]};return extendStatics(d,b)};return function(d,b){if(typeof b!=="function"&&b!==null)throw new TypeError("Class extends value "+String(b)+" is not a constructor or null");extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();var __read=this&&this.__read||function(o,n){var m=typeof Symbol==="function"&&o[Symbol.iterator];if(!m)return o;var i=m.call(o),r,ar=[],e;try{while((n===void 0||n-- >0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error:error}}finally{try{if(r&&!r.done&&(m=i["return"]))m.call(i)}finally{if(e)throw e.error}}return ar};var __spreadArray=this&&this.__spreadArray||function(to,from){for(var i=0,il=from.length,j=to.length;i<il;i++,j++)to[j]=from[i];return to};var EventTarget=require("../../eventtarget");var FirefoxRTCSessionDescription=require("../rtcsessiondescription/firefox");var updateTracksToSSRCs=require("../util/sdp").updateUnifiedPlanTrackIdsToSSRCs;var _a=require("../util"),delegateMethods=_a.delegateMethods,interceptEvent=_a.interceptEvent,legacyPromise=_a.legacyPromise,proxyProperties=_a.proxyProperties;var FirefoxRTCPeerConnection=function(_super){__extends(FirefoxRTCPeerConnection,_super);function FirefoxRTCPeerConnection(configuration){var _this=_super.call(this)||this;interceptEvent(_this,"signalingstatechange");var peerConnection=new RTCPeerConnection(configuration);Object.defineProperties(_this,{_initiallyNegotiatedDtlsRole:{value:null,writable:true},_isClosed:{value:false,writable:true},_peerConnection:{value:peerConnection},_rollingBack:{value:false,writable:true},_tracksToSSRCs:{value:new Map},peerIdentity:{enumerable:true,value:Promise.resolve({idp:"",name:""})}});var previousSignalingState;peerConnection.addEventListener("signalingstatechange",function(){var args=[];for(var _i=0;_i<arguments.length;_i++){args[_i]=arguments[_i]}if(!_this._rollingBack&&_this.signalingState!==previousSignalingState){previousSignalingState=_this.signalingState;if(_this._isClosed){setTimeout(function(){return _this.dispatchEvent.apply(_this,__spreadArray([],__read(args)))})}else{_this.dispatchEvent.apply(_this,__spreadArray([],__read(args)))}}});proxyProperties(RTCPeerConnection.prototype,_this,peerConnection);return _this}Object.defineProperty(FirefoxRTCPeerConnection.prototype,"iceGatheringState",{get:function(){return this._isClosed?"complete":this._peerConnection.iceGatheringState},enumerable:false,configurable:true});Object.defineProperty(FirefoxRTCPeerConnection.prototype,"localDescription",{get:function(){return overwriteWithInitiallyNegotiatedDtlsRole(this._peerConnection.localDescription,this._initiallyNegotiatedDtlsRole)},enumerable:false,configurable:true});Object.defineProperty(FirefoxRTCPeerConnection.prototype,"signalingState",{get:function(){return this._isClosed?"closed":this._peerConnection.signalingState},enumerable:false,configurable:true});FirefoxRTCPeerConnection.prototype.createAnswer=function(){var _this=this;var args=[];for(var _i=0;_i<arguments.length;_i++){args[_i]=arguments[_i]}var promise;promise=this._peerConnection.createAnswer().then(function(answer){saveInitiallyNegotiatedDtlsRole(_this,answer);return overwriteWithInitiallyNegotiatedDtlsRole(answer,_this._initiallyNegotiatedDtlsRole)});return typeof args[0]==="function"?legacyPromise.apply(void 0,__spreadArray([promise],__read(args))):promise};FirefoxRTCPeerConnection.prototype.createOffer=function(){var _this=this;var args=[];for(var _i=0;_i<arguments.length;_i++){args[_i]=arguments[_i]}var _a=__read(args,3),arg1=_a[0],arg2=_a[1],arg3=_a[2];var options=arg3||arg1||{};var promise;if(this.signalingState==="have-local-offer"||this.signalingState==="have-remote-offer"){var local=this.signalingState==="have-local-offer";promise=rollback(this,local,function(){return _this.createOffer(options)})}else{promise=this._peerConnection.createOffer(options)}promise=promise.then(function(offer){return new FirefoxRTCSessionDescription({type:offer.type,sdp:updateTracksToSSRCs(_this._tracksToSSRCs,offer.sdp)})});return args.length>1?legacyPromise(promise,arg1,arg2):promise};FirefoxRTCPeerConnection.prototype.setLocalDescription=function(){var _a;var args=[];for(var _i=0;_i<arguments.length;_i++){args[_i]=arguments[_i]}var _b=__read(args),description=_b[0],rest=_b.slice(1);var promise;if(description&&description.type==="answer"&&this.signalingState==="have-local-offer"){promise=Promise.reject(new Error("Cannot set local answer in state have-local-offer"))}if(promise){return args.length>1?legacyPromise.apply(void 0,__spreadArray([promise],__read(rest))):promise}return(_a=this._peerConnection).setLocalDescription.apply(_a,__spreadArray([],__read(args)))};FirefoxRTCPeerConnection.prototype.setRemoteDescription=function(){var _this=this;var args=[];for(var _i=0;_i<arguments.length;_i++){args[_i]=arguments[_i]}var _a=__read(args),description=_a[0],rest=_a.slice(1);var promise;if(description&&this.signalingState==="have-remote-offer"){if(description.type==="answer"){promise=Promise.reject(new Error("Cannot set remote answer in state have-remote-offer"))}else if(description.type==="offer"){promise=rollback(this,false,function(){return _this._peerConnection.setRemoteDescription(description)})}}if(!promise){promise=this._peerConnection.setRemoteDescription(description)}promise=promise.then(function(){return saveInitiallyNegotiatedDtlsRole(_this,description,true)});return args.length>1?legacyPromise.apply(void 0,__spreadArray([promise],__read(rest))):promise};FirefoxRTCPeerConnection.prototype.close=function(){if(this.signalingState!=="closed"){this._isClosed=true;this._peerConnection.close()}};return FirefoxRTCPeerConnection}(EventTarget);delegateMethods(RTCPeerConnection.prototype,FirefoxRTCPeerConnection.prototype,"_peerConnection");function rollback(peerConnection,local,onceRolledBack){var setLocalDescription=local?"setLocalDescription":"setRemoteDescription";peerConnection._rollingBack=true;return peerConnection._peerConnection[setLocalDescription](new FirefoxRTCSessionDescription({type:"rollback"})).then(onceRolledBack).then(function(result){peerConnection._rollingBack=false;return result},function(error){peerConnection._rollingBack=false;throw error})}function saveInitiallyNegotiatedDtlsRole(peerConnection,description,remote){if(peerConnection._initiallyNegotiatedDtlsRole||description.type==="offer"){return}var match=description.sdp.match(/a=setup:([a-z]+)/);if(!match){return}var dtlsRole=match[1];peerConnection._initiallyNegotiatedDtlsRole=remote?{active:"passive",passive:"active"}[dtlsRole]:dtlsRole}function overwriteWithInitiallyNegotiatedDtlsRole(description,dtlsRole){if(description&&description.type==="answer"&&dtlsRole){return new FirefoxRTCSessionDescription({type:description.type,sdp:description.sdp.replace(/a=setup:[a-z]+/g,"a=setup:"+dtlsRole)})}return description}module.exports=FirefoxRTCPeerConnection},{"../../eventtarget":11,"../rtcsessiondescription/firefox":168,"../util":170,"../util/sdp":172}],164:[function(require,module,exports){"use strict";if(typeof RTCPeerConnection==="function"){var guessBrowser=require("../util").guessBrowser;switch(guessBrowser()){case"chrome":module.exports=require("./chrome");break;case"firefox":module.exports=require("./firefox");break;case"safari":module.exports=require("./safari");break;default:module.exports=RTCPeerConnection;break}}else{module.exports=function RTCPeerConnection(){throw new Error("RTCPeerConnection is not supported")}}},{"../util":170,"./chrome":162,"./firefox":163,"./safari":165}],165:[function(require,module,exports){"use strict";var __extends=this&&this.__extends||function(){var extendStatics=function(d,b){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(Object.prototype.hasOwnProperty.call(b,p))d[p]=b[p]};return extendStatics(d,b)};return function(d,b){if(typeof b!=="function"&&b!==null)throw new TypeError("Class extends value "+String(b)+" is not a constructor or null");extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();var __read=this&&this.__read||function(o,n){var m=typeof Symbol==="function"&&o[Symbol.iterator];if(!m)return o;var i=m.call(o),r,ar=[],e;try{while((n===void 0||n-- >0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error:error}}finally{try{if(r&&!r.done&&(m=i["return"]))m.call(i)}finally{if(e)throw e.error}}return ar};var __spreadArray=this&&this.__spreadArray||function(to,from){for(var i=0,il=from.length,j=to.length;i<il;i++,j++)to[j]=from[i];return to};var EventTarget=require("../../eventtarget");var Latch=require("../util/latch");var _a=require("../util/sdp"),getSdpFormat=_a.getSdpFormat,updatePlanBTrackIdsToSSRCs=_a.updatePlanBTrackIdsToSSRCs,updateUnifiedPlanTrackIdsToSSRCs=_a.updateUnifiedPlanTrackIdsToSSRCs;var _b=require("../util"),delegateMethods=_b.delegateMethods,interceptEvent=_b.interceptEvent,proxyProperties=_b.proxyProperties;var isUnifiedPlan=getSdpFormat()==="unified";var updateTrackIdsToSSRCs=isUnifiedPlan?updateUnifiedPlanTrackIdsToSSRCs:updatePlanBTrackIdsToSSRCs;var SafariRTCPeerConnection=function(_super){__extends(SafariRTCPeerConnection,_super);function SafariRTCPeerConnection(configuration){var _this=_super.call(this)||this;interceptEvent(_this,"datachannel");interceptEvent(_this,"iceconnectionstatechange");interceptEvent(_this,"signalingstatechange");interceptEvent(_this,"track");var peerConnection=new RTCPeerConnection(configuration);Object.defineProperties(_this,{_appliedTracksToSSRCs:{value:new Map,writable:true},_audioTransceiver:{value:null,writable:true},_isClosed:{value:false,writable:true},_peerConnection:{value:peerConnection},_pendingLocalOffer:{value:null,writable:true},_pendingRemoteOffer:{value:null,writable:true},_rolledBackTracksToSSRCs:{value:new Map,writable:true},_signalingStateLatch:{value:new Latch},_tracksToSSRCs:{value:new Map,writable:true},_videoTransceiver:{value:null,writable:true}});peerConnection.addEventListener("datachannel",function(event){shimDataChannel(event.channel);_this.dispatchEvent(event)});peerConnection.addEventListener("iceconnectionstatechange",function(){var args=[];for(var _i=0;_i<arguments.length;_i++){args[_i]=arguments[_i]}if(_this._isClosed){return}_this.dispatchEvent.apply(_this,__spreadArray([],__read(args)))});peerConnection.addEventListener("signalingstatechange",function(){var args=[];for(var _i=0;_i<arguments.length;_i++){args[_i]=arguments[_i]}if(_this._isClosed){return}if(peerConnection.signalingState==="stable"){_this._appliedTracksToSSRCs=new Map(_this._tracksToSSRCs)}if(!_this._pendingLocalOffer&&!_this._pendingRemoteOffer){_this.dispatchEvent.apply(_this,__spreadArray([],__read(args)))}});peerConnection.addEventListener("track",function(event){_this._pendingRemoteOffer=null;_this.dispatchEvent(event)});proxyProperties(RTCPeerConnection.prototype,_this,peerConnection);return _this}Object.defineProperty(SafariRTCPeerConnection.prototype,"localDescription",{get:function(){return this._pendingLocalOffer||this._peerConnection.localDescription},enumerable:false,configurable:true});Object.defineProperty(SafariRTCPeerConnection.prototype,"iceConnectionState",{get:function(){return this._isClosed?"closed":this._peerConnection.iceConnectionState},enumerable:false,configurable:true});Object.defineProperty(SafariRTCPeerConnection.prototype,"iceGatheringState",{get:function(){return this._isClosed?"complete":this._peerConnection.iceGatheringState},enumerable:false,configurable:true});Object.defineProperty(SafariRTCPeerConnection.prototype,"remoteDescription",{get:function(){return this._pendingRemoteOffer||this._peerConnection.remoteDescription},enumerable:false,configurable:true});Object.defineProperty(SafariRTCPeerConnection.prototype,"signalingState",{get:function(){if(this._isClosed){return"closed"}else if(this._pendingLocalOffer){return"have-local-offer"}else if(this._pendingRemoteOffer){return"have-remote-offer"}return this._peerConnection.signalingState},enumerable:false,configurable:true});SafariRTCPeerConnection.prototype.addIceCandidate=function(candidate){var _this=this;if(this.signalingState==="have-remote-offer"){return this._signalingStateLatch.when("low").then(function(){return _this._peerConnection.addIceCandidate(candidate)})}return this._peerConnection.addIceCandidate(candidate)};SafariRTCPeerConnection.prototype.createOffer=function(options){var _this=this;options=Object.assign({},options);if(options.offerToReceiveVideo&&!this._audioTransceiver&&!(isUnifiedPlan&&hasReceiversForTracksOfKind(this,"audio"))){delete options.offerToReceiveAudio;try{this._audioTransceiver=isUnifiedPlan?this.addTransceiver("audio",{direction:"recvonly"}):this.addTransceiver("audio")}catch(e){return Promise.reject(e)}}if(options.offerToReceiveVideo&&!this._videoTransceiver&&!(isUnifiedPlan&&hasReceiversForTracksOfKind(this,"video"))){delete options.offerToReceiveVideo;try{this._videoTransceiver=isUnifiedPlan?this.addTransceiver("video",{direction:"recvonly"}):this.addTransceiver("video")}catch(e){return Promise.reject(e)}}return this._peerConnection.createOffer(options).then(function(offer){_this._rolledBackTracksToSSRCs.clear();return new RTCSessionDescription({type:offer.type,sdp:updateTrackIdsToSSRCs(_this._tracksToSSRCs,offer.sdp)})})};SafariRTCPeerConnection.prototype.createAnswer=function(options){var _this=this;if(this._pendingRemoteOffer){return this._peerConnection.setRemoteDescription(this._pendingRemoteOffer).then(function(){_this._signalingStateLatch.lower();return _this._peerConnection.createAnswer()}).then(function(answer){_this._pendingRemoteOffer=null;_this._rolledBackTracksToSSRCs.clear();return isUnifiedPlan?new RTCSessionDescription({type:answer.type,sdp:updateTrackIdsToSSRCs(_this._tracksToSSRCs,answer.sdp)}):answer},function(error){_this._pendingRemoteOffer=null;throw error})}return this._peerConnection.createAnswer(options).then(function(answer){_this._rolledBackTracksToSSRCs.clear();return isUnifiedPlan?new RTCSessionDescription({type:answer.type,sdp:updateTrackIdsToSSRCs(_this._tracksToSSRCs,answer.sdp)}):answer})};SafariRTCPeerConnection.prototype.createDataChannel=function(label,dataChannelDict){var dataChannel=this._peerConnection.createDataChannel(label,dataChannelDict);shimDataChannel(dataChannel);return dataChannel};SafariRTCPeerConnection.prototype.removeTrack=function(sender){sender.replaceTrack(null);this._peerConnection.removeTrack(sender)};SafariRTCPeerConnection.prototype.setLocalDescription=function(description){if(this._rolledBackTracksToSSRCs.size>0){this._tracksToSSRCs=new Map(this._rolledBackTracksToSSRCs);this._rolledBackTracksToSSRCs.clear()}return setDescription(this,true,description)};SafariRTCPeerConnection.prototype.setRemoteDescription=function(description){this._rolledBackTracksToSSRCs.clear();return setDescription(this,false,description)};SafariRTCPeerConnection.prototype.close=function(){var _this=this;if(this._isClosed){return}this._isClosed=true;this._peerConnection.close();setTimeout(function(){_this.dispatchEvent(new Event("iceconnectionstatechange"));_this.dispatchEvent(new Event("signalingstatechange"))})};return SafariRTCPeerConnection}(EventTarget);delegateMethods(RTCPeerConnection.prototype,SafariRTCPeerConnection.prototype,"_peerConnection");function setDescription(peerConnection,local,description){function setPendingLocalOffer(offer){if(local){peerConnection._pendingLocalOffer=offer}else{peerConnection._pendingRemoteOffer=offer}}function clearPendingLocalOffer(){if(local){peerConnection._pendingLocalOffer=null}else{peerConnection._pendingRemoteOffer=null}}var pendingLocalOffer=local?peerConnection._pendingLocalOffer:peerConnection._pendingRemoteOffer;var pendingRemoteOffer=local?peerConnection._pendingRemoteOffer:peerConnection._pendingLocalOffer;var intermediateState=local?"have-local-offer":"have-remote-offer";var setLocalDescription=local?"setLocalDescription":"setRemoteDescription";if(!local&&pendingRemoteOffer&&description.type==="answer"){return setRemoteAnswer(peerConnection,description)}else if(description.type==="offer"){if(peerConnection.signalingState!==intermediateState&&peerConnection.signalingState!=="stable"){return Promise.reject(new Error("Cannot set "+(local?"local":"remote")+"\n offer in state "+peerConnection.signalingState))}if(!pendingLocalOffer&&peerConnection._signalingStateLatch.state==="low"){peerConnection._signalingStateLatch.raise()}var previousSignalingState=peerConnection.signalingState;setPendingLocalOffer(description);if(peerConnection.signalingState!==previousSignalingState){return Promise.resolve().then(function(){return peerConnection.dispatchEvent(new Event("signalingstatechange"))})}return Promise.resolve()}else if(description.type==="rollback"){if(peerConnection.signalingState!==intermediateState){return Promise.reject(new Error("Cannot rollback \n "+(local?"local":"remote")+" description in "+peerConnection.signalingState))}clearPendingLocalOffer();peerConnection._rolledBackTracksToSSRCs=new Map(peerConnection._tracksToSSRCs);peerConnection._tracksToSSRCs=new Map(peerConnection._appliedTracksToSSRCs);return Promise.resolve().then(function(){return peerConnection.dispatchEvent(new Event("signalingstatechange"))})}return peerConnection._peerConnection[setLocalDescription](description)}function setRemoteAnswer(peerConnection,answer){var pendingLocalOffer=peerConnection._pendingLocalOffer;return peerConnection._peerConnection.setLocalDescription(pendingLocalOffer).then(function(){peerConnection._pendingLocalOffer=null;return peerConnection.setRemoteDescription(answer)}).then(function(){return peerConnection._signalingStateLatch.lower()})}function hasReceiversForTracksOfKind(peerConnection,kind){return!!peerConnection.getTransceivers().find(function(_a){var _b=_a.receiver,receiver=_b===void 0?{}:_b;var _c=receiver.track,track=_c===void 0?{}:_c;return track.kind===kind})}function shimDataChannel(dataChannel){return Object.defineProperties(dataChannel,{maxPacketLifeTime:{value:dataChannel.maxPacketLifeTime===65535?null:dataChannel.maxPacketLifeTime},maxRetransmits:{value:dataChannel.maxRetransmits===65535?null:dataChannel.maxRetransmits}})}module.exports=SafariRTCPeerConnection},{"../../eventtarget":11,"../util":170,"../util/latch":171,"../util/sdp":172}],166:[function(require,module,exports){"use strict";var RTCRtpSenderShim=function(){function RTCRtpSenderShim(track){Object.defineProperties(this,{track:{enumerable:true,value:track,writable:true}})}return RTCRtpSenderShim}();module.exports=RTCRtpSenderShim},{}],167:[function(require,module,exports){"use strict";var ChromeRTCSessionDescription=function(){function ChromeRTCSessionDescription(descriptionInitDict){this.descriptionInitDict=descriptionInitDict;var description=descriptionInitDict&&descriptionInitDict.type==="rollback"?null:new RTCSessionDescription(descriptionInitDict);Object.defineProperties(this,{_description:{get:function(){return description}}})}Object.defineProperty(ChromeRTCSessionDescription.prototype,"sdp",{get:function(){return this._description?this._description.sdp:this.descriptionInitDict.sdp},enumerable:false,configurable:true});Object.defineProperty(ChromeRTCSessionDescription.prototype,"type",{get:function(){return this._description?this._description.type:this.descriptionInitDict.type},enumerable:false,configurable:true});return ChromeRTCSessionDescription}();module.exports=ChromeRTCSessionDescription},{}],168:[function(require,module,exports){"use strict";module.exports=RTCSessionDescription},{}],169:[function(require,module,exports){"use strict";if(typeof RTCSessionDescription==="function"){var guessBrowser=require("../util").guessBrowser;switch(guessBrowser()){case"chrome":module.exports=require("./chrome");break;case"firefox":module.exports=require("./firefox");break;default:module.exports=RTCSessionDescription;break}}else{module.exports=function RTCSessionDescription(){throw new Error("RTCSessionDescription is not supported")}}},{"../util":170,"./chrome":167,"./firefox":168}],170:[function(require,module,exports){"use strict";var __read=this&&this.__read||function(o,n){var m=typeof Symbol==="function"&&o[Symbol.iterator];if(!m)return o;var i=m.call(o),r,ar=[],e;try{while((n===void 0||n-- >0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error:error}}finally{try{if(r&&!r.done&&(m=i["return"]))m.call(i)}finally{if(e)throw e.error}}return ar};var __spreadArray=this&&this.__spreadArray||function(to,from){for(var i=0,il=from.length,j=to.length;i<il;i++,j++)to[j]=from[i];return to};function defer(){var deferred={};deferred.promise=new Promise(function(resolve,reject){deferred.resolve=resolve;deferred.reject=reject});return deferred}function delegateMethod(source,wrapper,target,methodName){if(methodName in wrapper){return}else if(methodName.match(/^on[a-z]+$/)){return}var isProperty=false;try{var propDesc=Object.getOwnPropertyDescriptor(source,methodName);isProperty=propDesc&&!!propDesc.get}catch(error){}if(isProperty){return}var type;try{type=typeof source[methodName]}catch(error){}if(type!=="function"){return}wrapper[methodName]=function(){return this[target][methodName].apply(this[target],arguments)}}function delegateMethods(source,wrapper,target){for(var methodName in source){delegateMethod(source,wrapper,target,methodName)}}function difference(list1,list2){list1=Array.isArray(list1)?new Set(list1):new Set(list1.values());list2=Array.isArray(list2)?new Set(list2):new Set(list2.values());var difference=new Set;list1.forEach(function(item){if(!list2.has(item)){difference.add(item)}});return difference}function flatMap(list,mapFn){var listArray=list instanceof Map||list instanceof Set?Array.from(list.values()):list;return listArray.reduce(function(flattened,item){return flattened.concat(mapFn(item))},[])}function getUserAgent(){return typeof navigator!=="undefined"&&typeof navigator.userAgent==="string"?navigator.userAgent:null}function guessBrowser(userAgent){if(typeof userAgent==="undefined"){userAgent=getUserAgent()}if(/Chrome|CriOS/.test(userAgent)){return"chrome"}if(/Firefox|FxiOS/.test(userAgent)){return"firefox"}if(/Safari|iPhone|iPad|iPod/.test(userAgent)){return"safari"}return null}function guessBrowserVersion(userAgent){if(typeof userAgent==="undefined"){userAgent=getUserAgent()}var prefix={chrome:"Chrome|CriOS",firefox:"Firefox|FxiOS",safari:"Version"}[guessBrowser(userAgent)];if(!prefix){return null}var regex=new RegExp("("+prefix+")/([^\\s]+)");var _a=__read(userAgent.match(regex)||[],3),match=_a[2];if(!match){return null}var versions=match.split(".").map(Number);return{major:isNaN(versions[0])?null:versions[0],minor:isNaN(versions[1])?null:versions[1]}}function isIOSChrome(userAgent){if(typeof userAgent==="undefined"){userAgent=getUserAgent()}return/Mobi/.test(userAgent)&&guessBrowser()==="chrome"&&/iPad|iPhone|iPod/.test(userAgent)}function interceptEvent(target,type){var currentListener=null;Object.defineProperty(target,"on"+type,{get:function(){return currentListener},set:function(newListener){if(currentListener){this.removeEventListener(type,currentListener)}if(typeof newListener==="function"){currentListener=newListener;this.addEventListener(type,currentListener)}else{currentListener=null}}})}function legacyPromise(promise,onSuccess,onFailure){return onSuccess?promise.then(onSuccess,onFailure):promise}function makeUUID(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(c){var r=Math.random()*16|0;var v=c==="x"?r:r&3|8;return v.toString(16)})}function proxyProperties(source,wrapper,target){Object.getOwnPropertyNames(source).forEach(function(propertyName){proxyProperty(source,wrapper,target,propertyName)})
|
|
57
|
-
}function proxyProperty(source,wrapper,target,propertyName){if(propertyName in wrapper){return}else if(propertyName.match(/^on[a-z]+$/)){Object.defineProperty(wrapper,propertyName,{value:null,writable:true});target.addEventListener(propertyName.slice(2),function(){var args=[];for(var _i=0;_i<arguments.length;_i++){args[_i]=arguments[_i]}return wrapper.dispatchEvent.apply(wrapper,__spreadArray([],__read(args)))});return}Object.defineProperty(wrapper,propertyName,{enumerable:true,get:function(){return target[propertyName]}})}function support(){return typeof navigator==="object"&&typeof navigator.mediaDevices==="object"&&typeof navigator.mediaDevices.getUserMedia==="function"&&typeof RTCPeerConnection==="function"}exports.defer=defer;exports.delegateMethods=delegateMethods;exports.difference=difference;exports.flatMap=flatMap;exports.guessBrowser=guessBrowser;exports.guessBrowserVersion=guessBrowserVersion;exports.isIOSChrome=isIOSChrome;exports.interceptEvent=interceptEvent;exports.legacyPromise=legacyPromise;exports.makeUUID=makeUUID;exports.proxyProperties=proxyProperties;exports.support=support},{}],171:[function(require,module,exports){"use strict";var defer=require("./").defer;var states={high:new Set(["low"]),low:new Set(["high"])};var Latch=function(){function Latch(initialState){if(initialState===void 0){initialState="low"}var state=initialState;Object.defineProperties(this,{_state:{set:function(_state){var _this=this;if(state!==_state){state=_state;var whenDeferreds=this._whenDeferreds.get(state);whenDeferreds.forEach(function(deferred){return deferred.resolve(_this)});whenDeferreds.clear()}},get:function(){return state}},_whenDeferreds:{value:new Map([["high",new Set],["low",new Set]])}})}Object.defineProperty(Latch.prototype,"state",{get:function(){return this._state},enumerable:false,configurable:true});Latch.prototype.lower=function(){return this.transition("low")};Latch.prototype.raise=function(){return this.transition("high")};Latch.prototype.transition=function(newState){if(!states[this.state].has(newState)){throw createUnreachableStateError(this.state,newState)}this._state=newState;return this};Latch.prototype.when=function(state){if(this.state===state){return Promise.resolve(this)}if(!states[this.state].has(state)){return Promise.reject(createUnreachableStateError(this.state,state))}var deferred=defer();this._whenDeferreds.get(state).add(deferred);return deferred.promise};return Latch}();function createUnreachableStateError(from,to){return new Error('Cannot transition from "'+from+'" to "'+to+'"')}module.exports=Latch},{"./":170}],172:[function(require,module,exports){"use strict";var _a=require("./"),flatMap=_a.flatMap,guessBrowser=_a.guessBrowser;var isSdpSemanticsSupported=null;function checkIfSdpSemanticsIsSupported(){if(typeof isSdpSemanticsSupported==="boolean"){return isSdpSemanticsSupported}if(typeof RTCPeerConnection==="undefined"){isSdpSemanticsSupported=false;return isSdpSemanticsSupported}try{new RTCPeerConnection({sdpSemantics:"foo"});isSdpSemanticsSupported=false}catch(e){isSdpSemanticsSupported=true}return isSdpSemanticsSupported}var chromeSdpFormat=null;function clearChromeCachedSdpFormat(){chromeSdpFormat=null}function getChromeDefaultSdpFormat(){if(!chromeSdpFormat){if(typeof RTCPeerConnection!=="undefined"&&"addTransceiver"in RTCPeerConnection.prototype){var pc=new RTCPeerConnection;try{pc.addTransceiver("audio");chromeSdpFormat="unified"}catch(e){chromeSdpFormat="planb"}pc.close()}else{chromeSdpFormat="planb"}}return chromeSdpFormat}function getChromeSdpFormat(sdpSemantics){if(!sdpSemantics||!checkIfSdpSemanticsIsSupported()){return getChromeDefaultSdpFormat()}return{"plan-b":"planb","unified-plan":"unified"}[sdpSemantics]}function getSafariSdpFormat(){return typeof RTCRtpTransceiver!=="undefined"&&"currentDirection"in RTCRtpTransceiver.prototype?"unified":"planb"}function getSdpFormat(sdpSemantics){return{chrome:getChromeSdpFormat(sdpSemantics),firefox:"unified",safari:getSafariSdpFormat()}[guessBrowser()]||null}function getMatches(pattern,lines){var matches=lines.match(new RegExp(pattern,"gm"))||[];return matches.reduce(function(results,line){var match=line.match(new RegExp(pattern));return match?results.add(match[1]):results},new Set)}function getTrackIds(pattern,sdp){return getMatches(pattern,sdp)}function getPlanBTrackIds(sdp){return getTrackIds("^a=ssrc:[0-9]+ +msid:.+ +(.+) *$",sdp)}function getUnifiedPlanTrackIds(sdp){return getTrackIds("^a=msid:.+ +(.+) *$",sdp)}function getPlanBSSRCs(sdp,trackId){var pattern="^a=ssrc:([0-9]+) +msid:[^ ]+ +"+trackId+" *$";return getMatches(pattern,sdp)}function getMediaSections(sdp,kind,direction){if(kind===void 0){kind=".*"}if(direction===void 0){direction=".*"}return sdp.split("\r\nm=").slice(1).map(function(mediaSection){return"m="+mediaSection}).filter(function(mediaSection){var kindPattern=new RegExp("m="+kind,"gm");var directionPattern=new RegExp("a="+direction,"gm");return kindPattern.test(mediaSection)&&directionPattern.test(mediaSection)})}function getMediaSectionSSRCs(mediaSection){return Array.from(getMatches("^a=ssrc:([0-9]+) +.*$",mediaSection))}function getUnifiedPlanSSRCs(sdp,trackId){var mediaSections=getMediaSections(sdp);var msidAttrRegExp=new RegExp("^a=msid:[^ ]+ +"+trackId+" *$","gm");var matchingMediaSections=mediaSections.filter(function(mediaSection){return mediaSection.match(msidAttrRegExp)});return new Set(flatMap(matchingMediaSections,getMediaSectionSSRCs))}function getTrackIdsToSSRCs(getTrackIds,getSSRCs,sdp){return new Map(Array.from(getTrackIds(sdp)).map(function(trackId){return[trackId,getSSRCs(sdp,trackId)]}))}function getPlanBTrackIdsToSSRCs(sdp){return getTrackIdsToSSRCs(getPlanBTrackIds,getPlanBSSRCs,sdp)}function getUnifiedPlanTrackIdsToSSRCs(sdp){return getTrackIdsToSSRCs(getUnifiedPlanTrackIds,getUnifiedPlanSSRCs,sdp)}function updateTrackIdsToSSRCs(getTrackIdsToSSRCs,trackIdsToSSRCs,sdp){var newTrackIdsToSSRCs=getTrackIdsToSSRCs(sdp);var newSSRCsToOldSSRCs=new Map;newTrackIdsToSSRCs.forEach(function(ssrcs,trackId){if(!trackIdsToSSRCs.has(trackId)){trackIdsToSSRCs.set(trackId,ssrcs);return}var oldSSRCs=Array.from(trackIdsToSSRCs.get(trackId));var newSSRCs=Array.from(ssrcs);oldSSRCs.forEach(function(oldSSRC,i){var newSSRC=newSSRCs[i];newSSRCsToOldSSRCs.set(newSSRC,oldSSRC);var pattern="^a=ssrc:"+newSSRC+" (.*)$";var replacement="a=ssrc:"+oldSSRC+" $1";sdp=sdp.replace(new RegExp(pattern,"gm"),replacement)})});var pattern="^(a=ssrc-group:[^ ]+ +)(.*)$";var matches=sdp.match(new RegExp(pattern,"gm"))||[];matches.forEach(function(line){var match=line.match(new RegExp(pattern));if(!match){return}var prefix=match[1];var newSSRCs=match[2];var oldSSRCs=newSSRCs.split(" ").map(function(newSSRC){var oldSSRC=newSSRCsToOldSSRCs.get(newSSRC);return oldSSRC?oldSSRC:newSSRC}).join(" ");sdp=sdp.replace(match[0],prefix+oldSSRCs)});return sdp}function updatePlanBTrackIdsToSSRCs(trackIdsToSSRCs,sdp){return updateTrackIdsToSSRCs(getPlanBTrackIdsToSSRCs,trackIdsToSSRCs,sdp)}function updateUnifiedPlanTrackIdsToSSRCs(trackIdsToSSRCs,sdp){return updateTrackIdsToSSRCs(getUnifiedPlanTrackIdsToSSRCs,trackIdsToSSRCs,sdp)}exports.clearChromeCachedSdpFormat=clearChromeCachedSdpFormat;exports.getSdpFormat=getSdpFormat;exports.getMediaSections=getMediaSections;exports.getPlanBTrackIds=getPlanBTrackIds;exports.getUnifiedPlanTrackIds=getUnifiedPlanTrackIds;exports.getPlanBSSRCs=getPlanBSSRCs;exports.getUnifiedPlanSSRCs=getUnifiedPlanSSRCs;exports.updatePlanBTrackIdsToSSRCs=updatePlanBTrackIdsToSSRCs;exports.updateUnifiedPlanTrackIdsToSSRCs=updateUnifiedPlanTrackIdsToSSRCs},{"./":170}],173:[function(require,module,exports){"use strict";var R=typeof Reflect==="object"?Reflect:null;var ReflectApply=R&&typeof R.apply==="function"?R.apply:function ReflectApply(target,receiver,args){return Function.prototype.apply.call(target,receiver,args)};var ReflectOwnKeys;if(R&&typeof R.ownKeys==="function"){ReflectOwnKeys=R.ownKeys}else if(Object.getOwnPropertySymbols){ReflectOwnKeys=function ReflectOwnKeys(target){return Object.getOwnPropertyNames(target).concat(Object.getOwnPropertySymbols(target))}}else{ReflectOwnKeys=function ReflectOwnKeys(target){return Object.getOwnPropertyNames(target)}}function ProcessEmitWarning(warning){if(console&&console.warn)console.warn(warning)}var NumberIsNaN=Number.isNaN||function NumberIsNaN(value){return value!==value};function EventEmitter(){EventEmitter.init.call(this)}module.exports=EventEmitter;module.exports.once=once;EventEmitter.EventEmitter=EventEmitter;EventEmitter.prototype._events=undefined;EventEmitter.prototype._eventsCount=0;EventEmitter.prototype._maxListeners=undefined;var defaultMaxListeners=10;function checkListener(listener){if(typeof listener!=="function"){throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof listener)}}Object.defineProperty(EventEmitter,"defaultMaxListeners",{enumerable:true,get:function(){return defaultMaxListeners},set:function(arg){if(typeof arg!=="number"||arg<0||NumberIsNaN(arg)){throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+arg+".")}defaultMaxListeners=arg}});EventEmitter.init=function(){if(this._events===undefined||this._events===Object.getPrototypeOf(this)._events){this._events=Object.create(null);this._eventsCount=0}this._maxListeners=this._maxListeners||undefined};EventEmitter.prototype.setMaxListeners=function setMaxListeners(n){if(typeof n!=="number"||n<0||NumberIsNaN(n)){throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+n+".")}this._maxListeners=n;return this};function _getMaxListeners(that){if(that._maxListeners===undefined)return EventEmitter.defaultMaxListeners;return that._maxListeners}EventEmitter.prototype.getMaxListeners=function getMaxListeners(){return _getMaxListeners(this)};EventEmitter.prototype.emit=function emit(type){var args=[];for(var i=1;i<arguments.length;i++)args.push(arguments[i]);var doError=type==="error";var events=this._events;if(events!==undefined)doError=doError&&events.error===undefined;else if(!doError)return false;if(doError){var er;if(args.length>0)er=args[0];if(er instanceof Error){throw er}var err=new Error("Unhandled error."+(er?" ("+er.message+")":""));err.context=er;throw err}var handler=events[type];if(handler===undefined)return false;if(typeof handler==="function"){ReflectApply(handler,this,args)}else{var len=handler.length;var listeners=arrayClone(handler,len);for(var i=0;i<len;++i)ReflectApply(listeners[i],this,args)}return true};function _addListener(target,type,listener,prepend){var m;var events;var existing;checkListener(listener);events=target._events;if(events===undefined){events=target._events=Object.create(null);target._eventsCount=0}else{if(events.newListener!==undefined){target.emit("newListener",type,listener.listener?listener.listener:listener);events=target._events}existing=events[type]}if(existing===undefined){existing=events[type]=listener;++target._eventsCount}else{if(typeof existing==="function"){existing=events[type]=prepend?[listener,existing]:[existing,listener]}else if(prepend){existing.unshift(listener)}else{existing.push(listener)}m=_getMaxListeners(target);if(m>0&&existing.length>m&&!existing.warned){existing.warned=true;var w=new Error("Possible EventEmitter memory leak detected. "+existing.length+" "+String(type)+" listeners "+"added. Use emitter.setMaxListeners() to "+"increase limit");w.name="MaxListenersExceededWarning";w.emitter=target;w.type=type;w.count=existing.length;ProcessEmitWarning(w)}}return target}EventEmitter.prototype.addListener=function addListener(type,listener){return _addListener(this,type,listener,false)};EventEmitter.prototype.on=EventEmitter.prototype.addListener;EventEmitter.prototype.prependListener=function prependListener(type,listener){return _addListener(this,type,listener,true)};function onceWrapper(){if(!this.fired){this.target.removeListener(this.type,this.wrapFn);this.fired=true;if(arguments.length===0)return this.listener.call(this.target);return this.listener.apply(this.target,arguments)}}function _onceWrap(target,type,listener){var state={fired:false,wrapFn:undefined,target:target,type:type,listener:listener};var wrapped=onceWrapper.bind(state);wrapped.listener=listener;state.wrapFn=wrapped;return wrapped}EventEmitter.prototype.once=function once(type,listener){checkListener(listener);this.on(type,_onceWrap(this,type,listener));return this};EventEmitter.prototype.prependOnceListener=function prependOnceListener(type,listener){checkListener(listener);this.prependListener(type,_onceWrap(this,type,listener));return this};EventEmitter.prototype.removeListener=function removeListener(type,listener){var list,events,position,i,originalListener;checkListener(listener);events=this._events;if(events===undefined)return this;list=events[type];if(list===undefined)return this;if(list===listener||list.listener===listener){if(--this._eventsCount===0)this._events=Object.create(null);else{delete events[type];if(events.removeListener)this.emit("removeListener",type,list.listener||listener)}}else if(typeof list!=="function"){position=-1;for(i=list.length-1;i>=0;i--){if(list[i]===listener||list[i].listener===listener){originalListener=list[i].listener;position=i;break}}if(position<0)return this;if(position===0)list.shift();else{spliceOne(list,position)}if(list.length===1)events[type]=list[0];if(events.removeListener!==undefined)this.emit("removeListener",type,originalListener||listener)}return this};EventEmitter.prototype.off=EventEmitter.prototype.removeListener;EventEmitter.prototype.removeAllListeners=function removeAllListeners(type){var listeners,events,i;events=this._events;if(events===undefined)return this;if(events.removeListener===undefined){if(arguments.length===0){this._events=Object.create(null);this._eventsCount=0}else if(events[type]!==undefined){if(--this._eventsCount===0)this._events=Object.create(null);else delete events[type]}return this}if(arguments.length===0){var keys=Object.keys(events);var key;for(i=0;i<keys.length;++i){key=keys[i];if(key==="removeListener")continue;this.removeAllListeners(key)}this.removeAllListeners("removeListener");this._events=Object.create(null);this._eventsCount=0;return this}listeners=events[type];if(typeof listeners==="function"){this.removeListener(type,listeners)}else if(listeners!==undefined){for(i=listeners.length-1;i>=0;i--){this.removeListener(type,listeners[i])}}return this};function _listeners(target,type,unwrap){var events=target._events;if(events===undefined)return[];var evlistener=events[type];if(evlistener===undefined)return[];if(typeof evlistener==="function")return unwrap?[evlistener.listener||evlistener]:[evlistener];return unwrap?unwrapListeners(evlistener):arrayClone(evlistener,evlistener.length)}EventEmitter.prototype.listeners=function listeners(type){return _listeners(this,type,true)};EventEmitter.prototype.rawListeners=function rawListeners(type){return _listeners(this,type,false)};EventEmitter.listenerCount=function(emitter,type){if(typeof emitter.listenerCount==="function"){return emitter.listenerCount(type)}else{return listenerCount.call(emitter,type)}};EventEmitter.prototype.listenerCount=listenerCount;function listenerCount(type){var events=this._events;if(events!==undefined){var evlistener=events[type];if(typeof evlistener==="function"){return 1}else if(evlistener!==undefined){return evlistener.length}}return 0}EventEmitter.prototype.eventNames=function eventNames(){return this._eventsCount>0?ReflectOwnKeys(this._events):[]};function arrayClone(arr,n){var copy=new Array(n);for(var i=0;i<n;++i)copy[i]=arr[i];return copy}function spliceOne(list,index){for(;index+1<list.length;index++)list[index]=list[index+1];list.pop()}function unwrapListeners(arr){var ret=new Array(arr.length);for(var i=0;i<ret.length;++i){ret[i]=arr[i].listener||arr[i]}return ret}function once(emitter,name){return new Promise(function(resolve,reject){function errorListener(err){emitter.removeListener(name,resolver);reject(err)}function resolver(){if(typeof emitter.removeListener==="function"){emitter.removeListener("error",errorListener)}resolve([].slice.call(arguments))}eventTargetAgnosticAddListener(emitter,name,resolver,{once:true});if(name!=="error"){addErrorHandlerIfEventEmitter(emitter,errorListener,{once:true})}})}function addErrorHandlerIfEventEmitter(emitter,handler,flags){if(typeof emitter.on==="function"){eventTargetAgnosticAddListener(emitter,"error",handler,flags)}}function eventTargetAgnosticAddListener(emitter,name,listener,flags){if(typeof emitter.on==="function"){if(flags.once){emitter.once(name,listener)}else{emitter.on(name,listener)}}else if(typeof emitter.addEventListener==="function"){emitter.addEventListener(name,function wrapListener(arg){if(flags.once){emitter.removeEventListener(name,wrapListener)}listener(arg)})}else{throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof emitter)}}},{}],174:[function(require,module,exports){module.exports={name:"twilio-video",title:"Twilio Video",description:"Twilio Video JavaScript Library",version:"2.26.0",homepage:"https://twilio.com",author:"Mark Andrus Roberts <mroberts@twilio.com>",contributors:["Ryan Rowland <rrowland@twilio.com>","Manjesh Malavalli <mmalavalli@twilio.com>","Makarand Patwardhan <mpatwardhan@twilio.com>"],keywords:["twilio","webrtc","library","javascript","video","rooms"],repository:{type:"git",url:"https://github.com/twilio/twilio-video.js.git"},devDependencies:{"@babel/core":"^7.14.2","@babel/preset-env":"^7.14.2","@babel/preset-typescript":"^7.13.0","@types/express":"^4.11.0","@types/node":"^8.5.1","@types/selenium-webdriver":"^3.0.8","@types/ws":"^3.2.1","@typescript-eslint/eslint-plugin":"^4.13.0","@typescript-eslint/parser":"^4.0.0","babel-cli":"^6.26.0","babel-preset-es2015":"^6.24.1",browserify:"^17.0.0",cheerio:"^0.22.0",cors:"^2.8.5",electron:"^17.2.0",envify:"^4.0.0",eslint:"^6.2.1","eslint-config-standard":"^14.0.0","eslint-plugin-import":"^2.18.2","eslint-plugin-node":"^9.1.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-standard":"^4.0.1",express:"^4.16.2",glob:"^7.1.7","ink-docstrap":"^1.3.2",inquirer:"^7.0.0","is-docker":"^2.0.0",jsdoc:"^3.5.5","jsdoc-babel":"^0.5.0","json-loader":"^0.5.7",karma:"6.4.1","karma-browserify":"^8.0.0","karma-chrome-launcher":"^2.0.0","karma-edgium-launcher":"^4.0.0-0","karma-electron":"^6.1.0","karma-firefox-launcher":"^1.3.0","karma-htmlfile-reporter":"^0.3.8","karma-junit-reporter":"^1.2.0","karma-mocha":"^1.3.0","karma-safari-launcher":"^1.0.0","karma-spec-reporter":"0.0.32","karma-typescript":"^5.5.1","karma-typescript-es6-transform":"^5.5.1",mocha:"^3.2.0","mock-require":"^3.0.3",ncp:"^2.0.0","node-http-server":"^8.1.2","npm-run-all":"^4.0.2",nyc:"^15.1.0",requirejs:"^2.3.3",rimraf:"^2.6.1","simple-git":"^1.126.0",sinon:"^4.0.1","ts-node":"4.0.1",tslint:"5.8.0",twilio:"^3.49.0","twilio-release-tool":"^1.0.2",typescript:"4.2.2","uglify-js":"^2.8.22","vinyl-fs":"^2.4.4","vinyl-source-stream":"^1.1.0",watchify:"^3.11.1","webrtc-adapter":"^7.7.1"},engines:{node:">=0.12"},license:"BSD-3-Clause",main:"./es5/index.js",types:"./tsdef/index.d.ts",scripts:{"lint:js":"eslint ./lib ./test/*.js ./docker/**/*.js ./test/framework/*.js ./test/lib/*.js ./test/integration/** ./test/unit/** ","lint:ts":"eslint ./tsdef/*.ts ./lib/**/*.ts",lint:"npm-run-all lint:js lint:ts",printVersion:"node --version && npm --version","test:unit":"npm-run-all printVersion build:es5 && nyc --report-dir=./coverage --include=lib/**/* --reporter=html --reporter=lcov --reporter=text mocha -r ts-node/register ./test/unit/*","test:unit:quick":"nyc --report-dir=./coverage --include=lib/**/* --reporter=html --reporter=lcov mocha -r ts-node/register","test:serversiderender":"mocha ./test/serversiderender/index.js","test:integration:adapter":"node ./scripts/karma.js karma/integration.adapter.conf.js","test:integration":"npm run build:es5 && node ./scripts/karma.js karma/integration.conf.js","test:umd:install":"npm install puppeteer@19.2.2","test:umd":"mocha ./test/umd/index.js","test:crossbrowser:build:clean":"rimraf ./test/crossbrowser/lib ./test/crossbrowser/src/browser/index.js","test:crossbrowser:build:lint":"cd ./test/crossbrowser && tslint --project tsconfig.json","test:crossbrowser:build:tsc":"cd ./test/crossbrowser && tsc","test:crossbrowser:build:browser":"cd ./test/crossbrowser && browserify lib/crossbrowser/src/browser/index.js > src/browser/index.js","test:crossbrowser:build":"npm-run-all test:crossbrowser:build:*","test:crossbrowser:test":"cd ./test/crossbrowser && mocha --compilers ts:ts-node/register test/integration/spec/**/*.ts","test:crossbrowser":"npm-run-all test:crossbrowser:*","test:sdkdriver:build:clean":"rimraf ./test/lib/sdkdriver/lib ./test/lib/sdkdriver/test/integration/browser/index.js","test:sdkdriver:build:lint":"cd ./test/lib/sdkdriver && tslint --project tsconfig.json","test:sdkdriver:build:tsc":"cd ./test/lib/sdkdriver && tsc --rootDir src","test:sdkdriver:build":"npm-run-all test:sdkdriver:build:*","test:sdkdriver:test:unit":"cd ./test/lib/sdkdriver && mocha --compilers ts:ts-node/register test/unit/spec/**/*.ts","test:sdkdriver:test:integration:browser":"cd ./test/lib/sdkdriver/test/integration && browserify browser/browser.js > browser/index.js","test:sdkdriver:test:integration:run":"cd ./test/lib/sdkdriver && mocha --compilers ts:ts-node/register test/integration/spec/**/*.ts","test:sdkdriver:test:integration":"npm-run-all test:sdkdriver:test:integration:*","test:sdkdriver:test":"npm-run-all test:sdkdriver:test:*","test:sdkdriver":"npm-run-all test:sdkdriver:*","test:framework:angular:install":"cd ./test/framework/twilio-video-angular && rimraf ./node_modules package-lock.json && npm install","test:framework:angular:run":"mocha ./test/framework/twilio-video-angular.js","test:framework:angular":"npm-run-all test:framework:angular:*","test:framework:no-framework:run":"mocha ./test/framework/twilio-video-no-framework.js","test:framework:no-framework":"npm-run-all test:framework:no-framework:*","test:framework:react:install":"cd ./test/framework/twilio-video-react && rimraf ./node_modules package-lock.json && npm install","test:framework:react:test":"node ./scripts/framework.js twilio-video-react","test:framework:react:build":"cd ./test/framework/twilio-video-react && npm run build","test:framework:react:run":"mocha ./test/framework/twilio-video-react.js","test:framework:react":"npm-run-all test:framework:react:*","test:framework:install":"npm install chromedriver && npm install selenium-webdriver && npm install geckodriver && npm install puppeteer","test:framework":"npm-run-all test:framework:install test:framework:no-framework test:framework:react",test:"npm-run-all test:unit test:integration","build:es5":"rimraf ./es5 && mkdir -p es5 && tsc tsdef/twilio-video-tests.ts --noEmit --lib es2018,dom && tsc","build:js":"node ./scripts/build.js ./src/twilio-video.js ./LICENSE.md ./dist/twilio-video.js","build:min.js":'uglifyjs ./dist/twilio-video.js -o ./dist/twilio-video.min.js --comments "/^! twilio-video.js/" -b beautify=false,ascii_only=true',build:"npm-run-all clean lint docs test:unit test:integration build:es5 build:js build:min.js test:umd","build:quick":"npm-run-all clean lint docs build:es5 build:js build:min.js",docs:"node ./scripts/docs.js ./dist/docs",watch:"tsc -w",clean:"rimraf ./coverage ./es5 ./dist"},dependencies:{events:"^3.3.0",util:"^0.12.4",ws:"^7.4.6",xmlhttprequest:"^1.8.0"},browser:{ws:"./src/ws.js",xmlhttprequest:"./src/xmlhttprequest.js"}}},{}],175:[function(require,module,exports){module.exports=WebSocket},{}]},{},[12]);var Video=bundle(12);if(typeof define==="function"&&define.amd){define([],function(){return Video})}else{var Twilio=root.Twilio=root.Twilio||{};Twilio.Video=Twilio.Video||Video}})(typeof window!=="undefined"?window:typeof global!=="undefined"?global:this);
|
|
55
|
+
};var initialLevel=getPersistedLevel();if(initialLevel==null){initialLevel=defaultLevel==null?"WARN":defaultLevel}self.setLevel(initialLevel,false)}var defaultLogger=new Logger;var _loggersByName={};defaultLogger.getLogger=function getLogger(name){if(typeof name!=="symbol"&&typeof name!=="string"||name===""){throw new TypeError("You must supply a name when creating a logger.")}var logger=_loggersByName[name];if(!logger){logger=_loggersByName[name]=new Logger(name,defaultLogger.getLevel(),defaultLogger.methodFactory)}return logger};var _log=typeof window!==undefinedType?window.log:undefined;defaultLogger.noConflict=function(){if(typeof window!==undefinedType&&window.log===defaultLogger){window.log=_log}return defaultLogger};defaultLogger.getLoggers=function getLoggers(){return _loggersByName};defaultLogger["default"]=defaultLogger;module.exports=defaultLogger},{}],153:[function(require,module,exports){"use strict";var NativeAudioContext=typeof AudioContext!=="undefined"?AudioContext:typeof webkitAudioContext!=="undefined"?webkitAudioContext:null;var AudioContextFactory=function(){function AudioContextFactory(options){options=Object.assign({AudioContext:NativeAudioContext},options);Object.defineProperties(this,{_AudioContext:{value:options.AudioContext},_audioContext:{value:null,writable:true},_holders:{value:new Set},AudioContextFactory:{enumerable:true,value:AudioContextFactory}})}AudioContextFactory.prototype.getOrCreate=function(holder){if(!this._holders.has(holder)){this._holders.add(holder);if(this._AudioContext&&!this._audioContext){try{this._audioContext=new this._AudioContext}catch(error){}}}return this._audioContext};AudioContextFactory.prototype.release=function(holder){if(this._holders.has(holder)){this._holders.delete(holder);if(!this._holders.size&&this._audioContext){this._audioContext.close();this._audioContext=null}}};return AudioContextFactory}();module.exports=new AudioContextFactory},{}],154:[function(require,module,exports){"use strict";function delay(timeout){timeout=typeof timeout==="number"?timeout:0;return new Promise(function(resolve){return setTimeout(resolve,timeout)})}function detectSilence(audioContext,stream,timeout){timeout=typeof timeout==="number"?timeout:250;var source=audioContext.createMediaStreamSource(stream);var analyser=audioContext.createAnalyser();analyser.fftSize=2048;source.connect(analyser);var samples=new Uint8Array(analyser.fftSize);var timeoutDidFire=false;setTimeout(function(){timeoutDidFire=true},timeout);function doDetectSilence(){if(timeoutDidFire){return Promise.resolve(true)}analyser.getByteTimeDomainData(samples);return samples.some(function(sample){return sample!==128&&sample!==0})?Promise.resolve(false):delay().then(doDetectSilence)}return doDetectSilence().then(function(isSilent){source.disconnect();return isSilent},function(error){source.disconnect();throw error})}module.exports=detectSilence},{}],155:[function(require,module,exports){"use strict";var detectSilence=require("./detectsilence");function workaround(log,getUserMedia,constraints,n,timeout){n=typeof n==="number"?n:3;var retry=0;var AudioContextFactory=require("./audiocontext");var holder={};var audioContext=AudioContextFactory.getOrCreate(holder);function doWorkaround(){return getUserMedia(constraints).then(function(stream){var isSilentPromise=constraints.audio?detectSilence(audioContext,stream,timeout).catch(function(err){log.warn("Encountered an error while detecting silence",err);return true}):Promise.resolve(false);return isSilentPromise.then(function(isSilent){if(!isSilent){log.info("Got a non-silent audio MediaStreamTrack; returning it.");return stream}else if(n<=0){log.warn("Got a silent audio MediaStreamTrack. Normally we would try to get a new one, but we've run out of retries; returning it anyway.");return stream}log.warn("Got a silent audio MediaStreamTrack. Stopping all MediaStreamTracks and calling getUserMedia again. This is retry #"+ ++retry+".");stream.getTracks().forEach(function(track){return track.stop()});n--;return doWorkaround()})})}return doWorkaround().then(function(stream){AudioContextFactory.release(holder);return stream},function(error){AudioContextFactory.release(holder);throw error})}module.exports=workaround},{"./audiocontext":153,"./detectsilence":154}],156:[function(require,module,exports){"use strict";var __read=this&&this.__read||function(o,n){var m=typeof Symbol==="function"&&o[Symbol.iterator];if(!m)return o;var i=m.call(o),r,ar=[],e;try{while((n===void 0||n-- >0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error:error}}finally{try{if(r&&!r.done&&(m=i["return"]))m.call(i)}finally{if(e)throw e.error}}return ar};var _a=require("./util"),flatMap=_a.flatMap,guessBrowser=_a.guessBrowser,guessBrowserVersion=_a.guessBrowserVersion;var getSdpFormat=require("./util/sdp").getSdpFormat;var guess=guessBrowser();var guessVersion=guessBrowserVersion();var isChrome=guess==="chrome";var isFirefox=guess==="firefox";var isSafari=guess==="safari";var chromeMajorVersion=isChrome?guessVersion.major:null;var CHROME_LEGACY_MAX_AUDIO_LEVEL=32767;function getStats(peerConnection,options){if(!(peerConnection&&typeof peerConnection.getStats==="function")){return Promise.reject(new Error("Given PeerConnection does not support getStats"))}return _getStats(peerConnection,options)}function _getStats(peerConnection,options){var localAudioTracks=getTracks(peerConnection,"audio","local");var localVideoTracks=getTracks(peerConnection,"video","local");var remoteAudioTracks=getTracks(peerConnection,"audio");var remoteVideoTracks=getTracks(peerConnection,"video");var statsResponse={activeIceCandidatePair:null,localAudioTrackStats:[],localVideoTrackStats:[],remoteAudioTrackStats:[],remoteVideoTrackStats:[]};var trackStatsPromises=flatMap([[localAudioTracks,"localAudioTrackStats",false],[localVideoTracks,"localVideoTrackStats",false],[remoteAudioTracks,"remoteAudioTrackStats",true],[remoteVideoTracks,"remoteVideoTrackStats",true]],function(_a){var _b=__read(_a,3),tracks=_b[0],statsArrayName=_b[1],isRemote=_b[2];return tracks.map(function(track){return getTrackStats(peerConnection,track,Object.assign({isRemote:isRemote},options)).then(function(trackStatsArray){trackStatsArray.forEach(function(trackStats){trackStats.trackId=track.id;statsResponse[statsArrayName].push(trackStats)})})})});return Promise.all(trackStatsPromises).then(function(){return getActiveIceCandidatePairStats(peerConnection,options)}).then(function(activeIceCandidatePairStatsReport){statsResponse.activeIceCandidatePair=activeIceCandidatePairStatsReport;return statsResponse})}function getActiveIceCandidatePairStats(peerConnection,options){if(options===void 0){options={}}if(typeof options.testForChrome!=="undefined"||isChrome||typeof options.testForSafari!=="undefined"||isSafari){return peerConnection.getStats().then(standardizeChromeOrSafariActiveIceCandidatePairStats)}if(typeof options.testForFirefox!=="undefined"||isFirefox){return peerConnection.getStats().then(standardizeFirefoxActiveIceCandidatePairStats)}return Promise.reject(new Error("RTCPeerConnection#getStats() not supported"))}function standardizeChromeOrSafariActiveIceCandidatePairStats(stats){var activeCandidatePairStats=Array.from(stats.values()).find(function(_a){var nominated=_a.nominated,type=_a.type;return type==="candidate-pair"&&nominated});if(!activeCandidatePairStats){return null}var activeLocalCandidateStats=stats.get(activeCandidatePairStats.localCandidateId);var activeRemoteCandidateStats=stats.get(activeCandidatePairStats.remoteCandidateId);var standardizedCandidateStatsKeys=[{key:"candidateType",type:"string"},{key:"ip",type:"string"},{key:"port",type:"number"},{key:"priority",type:"number"},{key:"protocol",type:"string"},{key:"url",type:"string"}];var standardizedLocalCandidateStatsKeys=standardizedCandidateStatsKeys.concat([{key:"deleted",type:"boolean"},{key:"relayProtocol",type:"string"}]);var standatdizedLocalCandidateStatsReport=activeLocalCandidateStats?standardizedLocalCandidateStatsKeys.reduce(function(report,_a){var key=_a.key,type=_a.type;report[key]=typeof activeLocalCandidateStats[key]===type?activeLocalCandidateStats[key]:key==="deleted"?false:null;return report},{}):null;var standardizedRemoteCandidateStatsReport=activeRemoteCandidateStats?standardizedCandidateStatsKeys.reduce(function(report,_a){var key=_a.key,type=_a.type;report[key]=typeof activeRemoteCandidateStats[key]===type?activeRemoteCandidateStats[key]:null;return report},{}):null;return[{key:"availableIncomingBitrate",type:"number"},{key:"availableOutgoingBitrate",type:"number"},{key:"bytesReceived",type:"number"},{key:"bytesSent",type:"number"},{key:"consentRequestsSent",type:"number"},{key:"currentRoundTripTime",type:"number"},{key:"lastPacketReceivedTimestamp",type:"number"},{key:"lastPacketSentTimestamp",type:"number"},{key:"nominated",type:"boolean"},{key:"priority",type:"number"},{key:"readable",type:"boolean"},{key:"requestsReceived",type:"number"},{key:"requestsSent",type:"number"},{key:"responsesReceived",type:"number"},{key:"responsesSent",type:"number"},{key:"retransmissionsReceived",type:"number"},{key:"retransmissionsSent",type:"number"},{key:"state",type:"string",fixup:function(state){return state==="inprogress"?"in-progress":state}},{key:"totalRoundTripTime",type:"number"},{key:"transportId",type:"string"},{key:"writable",type:"boolean"}].reduce(function(report,_a){var key=_a.key,type=_a.type,fixup=_a.fixup;report[key]=typeof activeCandidatePairStats[key]===type?fixup?fixup(activeCandidatePairStats[key]):activeCandidatePairStats[key]:null;return report},{localCandidate:standatdizedLocalCandidateStatsReport,remoteCandidate:standardizedRemoteCandidateStatsReport})}function standardizeFirefoxActiveIceCandidatePairStats(stats){var activeCandidatePairStats=Array.from(stats.values()).find(function(_a){var nominated=_a.nominated,type=_a.type;return type==="candidate-pair"&&nominated});if(!activeCandidatePairStats){return null}var activeLocalCandidateStats=stats.get(activeCandidatePairStats.localCandidateId);var activeRemoteCandidateStats=stats.get(activeCandidatePairStats.remoteCandidateId);var standardizedCandidateStatsKeys=[{key:"candidateType",type:"string"},{key:"ip",ffKeys:["address","ipAddress"],type:"string"},{key:"port",ffKeys:["portNumber"],type:"number"},{key:"priority",type:"number"},{key:"protocol",ffKeys:["transport"],type:"string"},{key:"url",type:"string"}];var standardizedLocalCandidateStatsKeys=standardizedCandidateStatsKeys.concat([{key:"deleted",type:"boolean"},{key:"relayProtocol",type:"string"}]);var candidateTypes={host:"host",peerreflexive:"prflx",relayed:"relay",serverreflexive:"srflx"};var standatdizedLocalCandidateStatsReport=activeLocalCandidateStats?standardizedLocalCandidateStatsKeys.reduce(function(report,_a){var ffKeys=_a.ffKeys,key=_a.key,type=_a.type;var localStatKey=ffKeys&&ffKeys.find(function(key){return key in activeLocalCandidateStats})||key;report[key]=typeof activeLocalCandidateStats[localStatKey]===type?localStatKey==="candidateType"?candidateTypes[activeLocalCandidateStats[localStatKey]]||activeLocalCandidateStats[localStatKey]:activeLocalCandidateStats[localStatKey]:localStatKey==="deleted"?false:null;return report},{}):null;var standardizedRemoteCandidateStatsReport=activeRemoteCandidateStats?standardizedCandidateStatsKeys.reduce(function(report,_a){var ffKeys=_a.ffKeys,key=_a.key,type=_a.type;var remoteStatKey=ffKeys&&ffKeys.find(function(key){return key in activeRemoteCandidateStats})||key;report[key]=typeof activeRemoteCandidateStats[remoteStatKey]===type?remoteStatKey==="candidateType"?candidateTypes[activeRemoteCandidateStats[remoteStatKey]]||activeRemoteCandidateStats[remoteStatKey]:activeRemoteCandidateStats[remoteStatKey]:null;return report},{}):null;return[{key:"availableIncomingBitrate",type:"number"},{key:"availableOutgoingBitrate",type:"number"},{key:"bytesReceived",type:"number"},{key:"bytesSent",type:"number"},{key:"consentRequestsSent",type:"number"},{key:"currentRoundTripTime",type:"number"},{key:"lastPacketReceivedTimestamp",type:"number"},{key:"lastPacketSentTimestamp",type:"number"},{key:"nominated",type:"boolean"},{key:"priority",type:"number"},{key:"readable",type:"boolean"},{key:"requestsReceived",type:"number"},{key:"requestsSent",type:"number"},{key:"responsesReceived",type:"number"},{key:"responsesSent",type:"number"},{key:"retransmissionsReceived",type:"number"},{key:"retransmissionsSent",type:"number"},{key:"state",type:"string"},{key:"totalRoundTripTime",type:"number"},{key:"transportId",type:"string"},{key:"writable",type:"boolean"}].reduce(function(report,_a){var key=_a.key,type=_a.type;report[key]=typeof activeCandidatePairStats[key]===type?activeCandidatePairStats[key]:null;return report},{localCandidate:standatdizedLocalCandidateStatsReport,remoteCandidate:standardizedRemoteCandidateStatsReport})}function getTracks(peerConnection,kind,localOrRemote){var getSendersOrReceivers=localOrRemote==="local"?"getSenders":"getReceivers";if(peerConnection[getSendersOrReceivers]){return peerConnection[getSendersOrReceivers]().map(function(_a){var track=_a.track;return track}).filter(function(track){return track&&track.kind===kind})}var getStreams=localOrRemote==="local"?"getLocalStreams":"getRemoteStreams";var getTracks=kind==="audio"?"getAudioTracks":"getVideoTracks";return flatMap(peerConnection[getStreams](),function(stream){return stream[getTracks]()})}function getTrackStats(peerConnection,track,options){if(options===void 0){options={}}if(typeof options.testForChrome!=="undefined"||isChrome){return chromeOrSafariGetTrackStats(peerConnection,track)}if(typeof options.testForFirefox!=="undefined"||isFirefox){return firefoxGetTrackStats(peerConnection,track,options.isRemote)}if(typeof options.testForSafari!=="undefined"||isSafari){if(typeof options.testForSafari!=="undefined"||getSdpFormat()==="unified"){return chromeOrSafariGetTrackStats(peerConnection,track)}return Promise.reject(new Error(["getStats() is not supported on this version of Safari","due to this bug: https://bugs.webkit.org/show_bug.cgi?id=192601"].join(" ")))}return Promise.reject(new Error("RTCPeerConnection#getStats() not supported"))}function chromeOrSafariGetTrackStats(peerConnection,track){return new Promise(function(resolve,reject){if(chromeMajorVersion&&chromeMajorVersion<67){peerConnection.getStats(function(response){resolve([standardizeChromeLegacyStats(response,track)])},null,reject);return}peerConnection.getStats(track).then(function(response){resolve(standardizeChromeOrSafariStats(response))},reject)})}function firefoxGetTrackStats(peerConnection,track,isRemote){return new Promise(function(resolve,reject){peerConnection.getStats(track).then(function(response){resolve([standardizeFirefoxStats(response,isRemote)])},reject)})}function standardizeChromeLegacyStats(response,track){var ssrcReport=response.result().find(function(report){return report.type==="ssrc"&&report.stat("googTrackId")===track.id});var standardizedStats={};if(ssrcReport){standardizedStats.timestamp=Math.round(Number(ssrcReport.timestamp));standardizedStats=ssrcReport.names().reduce(function(stats,name){switch(name){case"googCodecName":stats.codecName=ssrcReport.stat(name);break;case"googRtt":stats.roundTripTime=Number(ssrcReport.stat(name));break;case"googJitterReceived":stats.jitter=Number(ssrcReport.stat(name));break;case"googFrameWidthInput":stats.frameWidthInput=Number(ssrcReport.stat(name));break;case"googFrameHeightInput":stats.frameHeightInput=Number(ssrcReport.stat(name));break;case"googFrameWidthSent":stats.frameWidthSent=Number(ssrcReport.stat(name));break;case"googFrameHeightSent":stats.frameHeightSent=Number(ssrcReport.stat(name));break;case"googFrameWidthReceived":stats.frameWidthReceived=Number(ssrcReport.stat(name));break;case"googFrameHeightReceived":stats.frameHeightReceived=Number(ssrcReport.stat(name));break;case"googFrameRateInput":stats.frameRateInput=Number(ssrcReport.stat(name));break;case"googFrameRateSent":stats.frameRateSent=Number(ssrcReport.stat(name));break;case"googFrameRateReceived":stats.frameRateReceived=Number(ssrcReport.stat(name));break;case"ssrc":stats[name]=ssrcReport.stat(name);break;case"bytesReceived":case"bytesSent":case"packetsLost":case"packetsReceived":case"packetsSent":case"audioInputLevel":case"audioOutputLevel":stats[name]=Number(ssrcReport.stat(name));break}return stats},standardizedStats)}return standardizedStats}function standardizeChromeOrSafariStats(response){var inbound=null;var outbound=[];var remoteInbound=null;var remoteOutbound=null;var track=null;var codec=null;var localMedia=null;response.forEach(function(stat){var type=stat.type;switch(type){case"inbound-rtp":inbound=stat;break;case"outbound-rtp":outbound.push(stat);break;case"media-source":localMedia=stat;break;case"track":track=stat;break;case"codec":codec=stat;break;case"remote-inbound-rtp":remoteInbound=stat;break;case"remote-outbound-rtp":remoteOutbound=stat;break}});var isRemote=track?track.remoteSource:!localMedia;var mainSources=isRemote?[inbound]:outbound;var stats=[];var remoteSource=isRemote?remoteOutbound:remoteInbound;mainSources.forEach(function(source){var standardizedStats={};var statSources=[source,localMedia,track,codec,remoteSource&&remoteSource.ssrc===source.ssrc?remoteSource:null];function getStatValue(name){var sourceFound=statSources.find(function(statSource){return statSource&&typeof statSource[name]!=="undefined"})||null;return sourceFound?sourceFound[name]:null}var ssrc=getStatValue("ssrc");if(typeof ssrc==="number"){standardizedStats.ssrc=String(ssrc)}var timestamp=getStatValue("timestamp");standardizedStats.timestamp=Math.round(timestamp);var mimeType=getStatValue("mimeType");if(typeof mimeType==="string"){mimeType=mimeType.split("/");standardizedStats.codecName=mimeType[mimeType.length-1]}var roundTripTime=getStatValue("roundTripTime");if(typeof roundTripTime==="number"){standardizedStats.roundTripTime=Math.round(roundTripTime*1e3)}var jitter=getStatValue("jitter");if(typeof jitter==="number"){standardizedStats.jitter=Math.round(jitter*1e3)}var frameWidth=getStatValue("frameWidth");if(typeof frameWidth==="number"){if(isRemote){standardizedStats.frameWidthReceived=frameWidth}else{standardizedStats.frameWidthSent=frameWidth;standardizedStats.frameWidthInput=track?track.frameWidth:localMedia.width}}var frameHeight=getStatValue("frameHeight");if(typeof frameHeight==="number"){if(isRemote){standardizedStats.frameHeightReceived=frameHeight}else{standardizedStats.frameHeightSent=frameHeight;standardizedStats.frameHeightInput=track?track.frameHeight:localMedia.height}}var framesPerSecond=getStatValue("framesPerSecond");if(typeof framesPerSecond==="number"){standardizedStats[isRemote?"frameRateReceived":"frameRateSent"]=framesPerSecond}var bytesReceived=getStatValue("bytesReceived");if(typeof bytesReceived==="number"){standardizedStats.bytesReceived=bytesReceived}var bytesSent=getStatValue("bytesSent");if(typeof bytesSent==="number"){standardizedStats.bytesSent=bytesSent}var packetsLost=getStatValue("packetsLost");if(typeof packetsLost==="number"){standardizedStats.packetsLost=packetsLost}var packetsReceived=getStatValue("packetsReceived");if(typeof packetsReceived==="number"){standardizedStats.packetsReceived=packetsReceived}var packetsSent=getStatValue("packetsSent");if(typeof packetsSent==="number"){standardizedStats.packetsSent=packetsSent}var audioLevel=getStatValue("audioLevel");if(typeof audioLevel==="number"){audioLevel=Math.round(audioLevel*CHROME_LEGACY_MAX_AUDIO_LEVEL);if(isRemote){standardizedStats.audioOutputLevel=audioLevel}else{standardizedStats.audioInputLevel=audioLevel}}var totalPacketSendDalay=getStatValue("totalPacketSendDelay");if(typeof totalPacketSendDalay==="number"){standardizedStats.totalPacketSendDelay=totalPacketSendDalay}var totalEncodeTime=getStatValue("totalEncodeTime");if(typeof totalEncodeTime==="number"){standardizedStats.totalEncodeTime=totalEncodeTime}var framesEncoded=getStatValue("framesEncoded");if(typeof framesEncoded==="number"){standardizedStats.framesEncoded=framesEncoded}var estimatedPlayoutTimestamp=getStatValue("estimatedPlayoutTimestamp");if(typeof estimatedPlayoutTimestamp==="number"){standardizedStats.estimatedPlayoutTimestamp=estimatedPlayoutTimestamp}var totalDecodeTime=getStatValue("totalDecodeTime");if(typeof totalDecodeTime==="number"){standardizedStats.totalDecodeTime=totalDecodeTime}var framesDecoded=getStatValue("framesDecoded");if(typeof framesDecoded==="number"){standardizedStats.framesDecoded=framesDecoded}var jitterBufferDelay=getStatValue("jitterBufferDelay");if(typeof jitterBufferDelay==="number"){standardizedStats.jitterBufferDelay=jitterBufferDelay}var jitterBufferEmittedCount=getStatValue("jitterBufferEmittedCount");if(typeof jitterBufferEmittedCount==="number"){standardizedStats.jitterBufferEmittedCount=jitterBufferEmittedCount}stats.push(standardizedStats)});return stats}function standardizeFirefoxStats(response,isRemote){if(response===void 0){response=new Map}var inbound=null;var outbound=null;response.forEach(function(stat){var isRemote=stat.isRemote,remoteId=stat.remoteId,type=stat.type;if(isRemote){return}switch(type){case"inbound-rtp":inbound=stat;outbound=response.get(remoteId);break;case"outbound-rtp":outbound=stat;inbound=response.get(remoteId);break}});var first=isRemote?inbound:outbound;var second=isRemote?outbound:inbound;function getStatValue(name){if(first&&typeof first[name]!=="undefined"){return first[name]}if(second&&typeof second[name]!=="undefined"){return second[name]}return null}var standardizedStats={};var timestamp=getStatValue("timestamp");standardizedStats.timestamp=Math.round(timestamp);var ssrc=getStatValue("ssrc");if(typeof ssrc==="number"){standardizedStats.ssrc=String(ssrc)}var bytesSent=getStatValue("bytesSent");if(typeof bytesSent==="number"){standardizedStats.bytesSent=bytesSent}var packetsLost=getStatValue("packetsLost");if(typeof packetsLost==="number"){standardizedStats.packetsLost=packetsLost}var packetsSent=getStatValue("packetsSent");if(typeof packetsSent==="number"){standardizedStats.packetsSent=packetsSent}var roundTripTime=getStatValue("roundTripTime");if(typeof roundTripTime==="number"){standardizedStats.roundTripTime=Math.round(roundTripTime*1e3)}var jitter=getStatValue("jitter");if(typeof jitter==="number"){standardizedStats.jitter=Math.round(jitter*1e3)}var frameRateSent=getStatValue("framerateMean");if(typeof frameRateSent==="number"){standardizedStats.frameRateSent=Math.round(frameRateSent)}var bytesReceived=getStatValue("bytesReceived");if(typeof bytesReceived==="number"){standardizedStats.bytesReceived=bytesReceived}var packetsReceived=getStatValue("packetsReceived");if(typeof packetsReceived==="number"){standardizedStats.packetsReceived=packetsReceived}var frameRateReceived=getStatValue("framerateMean");if(typeof frameRateReceived==="number"){standardizedStats.frameRateReceived=Math.round(frameRateReceived)}var totalPacketSendDalay=getStatValue("totalPacketSendDelay");if(typeof totalPacketSendDalay==="number"){standardizedStats.totalPacketSendDelay=totalPacketSendDalay}var totalEncodeTime=getStatValue("totalEncodeTime");if(typeof totalEncodeTime==="number"){standardizedStats.totalEncodeTime=totalEncodeTime}var framesEncoded=getStatValue("framesEncoded");if(typeof framesEncoded==="number"){standardizedStats.framesEncoded=framesEncoded}var estimatedPlayoutTimestamp=getStatValue("estimatedPlayoutTimestamp");if(typeof estimatedPlayoutTimestamp==="number"){standardizedStats.estimatedPlayoutTimestamp=estimatedPlayoutTimestamp}var totalDecodeTime=getStatValue("totalDecodeTime");if(typeof totalDecodeTime==="number"){standardizedStats.totalDecodeTime=totalDecodeTime}var framesDecoded=getStatValue("framesDecoded");if(typeof framesDecoded==="number"){standardizedStats.framesDecoded=framesDecoded}var jitterBufferDelay=getStatValue("jitterBufferDelay");if(typeof jitterBufferDelay==="number"){standardizedStats.jitterBufferDelay=jitterBufferDelay}var jitterBufferEmittedCount=getStatValue("jitterBufferEmittedCount");if(typeof jitterBufferEmittedCount==="number"){standardizedStats.jitterBufferEmittedCount=jitterBufferEmittedCount}return standardizedStats}module.exports=getStats},{"./util":170,"./util/sdp":172}],157:[function(require,module,exports){"use strict";function getUserMedia(constraints){if(constraints===void 0){constraints={audio:true,video:true}}if(typeof navigator==="object"&&typeof navigator.mediaDevices==="object"&&typeof navigator.mediaDevices.getUserMedia==="function"){return navigator.mediaDevices.getUserMedia(constraints)}return Promise.reject(new Error("getUserMedia is not supported"))}module.exports=getUserMedia},{}],158:[function(require,module,exports){"use strict";var WebRTC={};Object.defineProperties(WebRTC,{getStats:{enumerable:true,value:require("./getstats")},getUserMedia:{enumerable:true,value:require("./getusermedia")},MediaStream:{enumerable:true,value:require("./mediastream")},MediaStreamTrack:{enumerable:true,value:require("./mediastreamtrack")},RTCIceCandidate:{enumerable:true,value:require("./rtcicecandidate")},RTCPeerConnection:{enumerable:true,value:require("./rtcpeerconnection")},RTCSessionDescription:{enumerable:true,value:require("./rtcsessiondescription")}});module.exports=WebRTC},{"./getstats":156,"./getusermedia":157,"./mediastream":159,"./mediastreamtrack":160,"./rtcicecandidate":161,"./rtcpeerconnection":164,"./rtcsessiondescription":169}],159:[function(require,module,exports){"use strict";if(typeof MediaStream==="function"){module.exports=MediaStream}else{module.exports=function MediaStream(){throw new Error("MediaStream is not supported")}}},{}],160:[function(require,module,exports){"use strict";if(typeof MediaStreamTrack==="function"){module.exports=MediaStreamTrack}else{module.exports=function MediaStreamTrack(){throw new Error("MediaStreamTrack is not supported")}}},{}],161:[function(require,module,exports){"use strict";if(typeof RTCIceCandidate==="function"){module.exports=RTCIceCandidate}else{module.exports=function RTCIceCandidate(){throw new Error("RTCIceCandidate is not supported")}}},{}],162:[function(require,module,exports){"use strict";var __extends=this&&this.__extends||function(){var extendStatics=function(d,b){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(Object.prototype.hasOwnProperty.call(b,p))d[p]=b[p]};return extendStatics(d,b)};return function(d,b){if(typeof b!=="function"&&b!==null)throw new TypeError("Class extends value "+String(b)+" is not a constructor or null");extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();var __read=this&&this.__read||function(o,n){var m=typeof Symbol==="function"&&o[Symbol.iterator];if(!m)return o;var i=m.call(o),r,ar=[],e;try{while((n===void 0||n-- >0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error:error}}finally{try{if(r&&!r.done&&(m=i["return"]))m.call(i)}finally{if(e)throw e.error}}return ar};var __spreadArray=this&&this.__spreadArray||function(to,from){for(var i=0,il=from.length,j=to.length;i<il;i++,j++)to[j]=from[i];return to};var ChromeRTCSessionDescription=require("../rtcsessiondescription/chrome");var EventTarget=require("../../eventtarget");var Latch=require("../util/latch");var MediaStream=require("../mediastream");var RTCRtpSenderShim=require("../rtcrtpsender");var _a=require("../util/sdp"),getSdpFormat=_a.getSdpFormat,updatePlanBTrackIdsToSSRCs=_a.updatePlanBTrackIdsToSSRCs,updateUnifiedPlanTrackIdsToSSRCs=_a.updateUnifiedPlanTrackIdsToSSRCs;var _b=require("../util"),delegateMethods=_b.delegateMethods,interceptEvent=_b.interceptEvent,isIOSChrome=_b.isIOSChrome,legacyPromise=_b.legacyPromise,proxyProperties=_b.proxyProperties;var isUnifiedPlan=getSdpFormat()==="unified";var ChromeRTCPeerConnection=function(_super){__extends(ChromeRTCPeerConnection,_super);function ChromeRTCPeerConnection(configuration,constraints){if(configuration===void 0){configuration={}}var _this=_super.call(this)||this;var newConfiguration=Object.assign(configuration.iceTransportPolicy?{iceTransports:configuration.iceTransportPolicy}:{},configuration);interceptEvent(_this,"datachannel");interceptEvent(_this,"signalingstatechange");var sdpFormat=getSdpFormat(newConfiguration.sdpSemantics);var peerConnection=new RTCPeerConnection(newConfiguration,constraints);Object.defineProperties(_this,{_appliedTracksToSSRCs:{value:new Map,writable:true},_localStream:{value:new MediaStream},_peerConnection:{value:peerConnection},_pendingLocalOffer:{value:null,writable:true},_pendingRemoteOffer:{value:null,writable:true},_rolledBackTracksToSSRCs:{value:new Map,writable:true},_sdpFormat:{value:sdpFormat},_senders:{value:new Map},_signalingStateLatch:{value:new Latch},_tracksToSSRCs:{value:new Map,writable:true}});peerConnection.addEventListener("datachannel",function(event){shimDataChannel(event.channel);_this.dispatchEvent(event)});peerConnection.addEventListener("signalingstatechange",function(){var args=[];for(var _i=0;_i<arguments.length;_i++){args[_i]=arguments[_i]}if(peerConnection.signalingState==="stable"){_this._appliedTracksToSSRCs=new Map(_this._tracksToSSRCs)}if(!_this._pendingLocalOffer&&!_this._pendingRemoteOffer){_this.dispatchEvent.apply(_this,__spreadArray([],__read(args)))}});peerConnection.ontrack=function(){};if(typeof peerConnection.addTrack!=="function"){peerConnection.addStream(_this._localStream)}proxyProperties(RTCPeerConnection.prototype,_this,peerConnection);return _this}Object.defineProperty(ChromeRTCPeerConnection.prototype,"localDescription",{get:function(){return this._pendingLocalOffer?this._pendingLocalOffer:this._peerConnection.localDescription},enumerable:false,configurable:true});Object.defineProperty(ChromeRTCPeerConnection.prototype,"remoteDescription",{get:function(){return this._pendingRemoteOffer?this._pendingRemoteOffer:this._peerConnection.remoteDescription},enumerable:false,configurable:true});Object.defineProperty(ChromeRTCPeerConnection.prototype,"signalingState",{get:function(){if(this._pendingLocalOffer){return"have-local-offer"}else if(this._pendingRemoteOffer){return"have-remote-offer"}return this._peerConnection.signalingState},enumerable:false,configurable:true});ChromeRTCPeerConnection.prototype.addTrack=function(track){var _a;var rest=[];for(var _i=1;_i<arguments.length;_i++){rest[_i-1]=arguments[_i]}if(typeof this._peerConnection.addTrack==="function"){return(_a=this._peerConnection).addTrack.apply(_a,__spreadArray([track],__read(rest)))}if(this._peerConnection.signalingState==="closed"){throw new Error("Cannot add MediaStreamTrack ["+track.id+", \n "+track.kind+"]: RTCPeerConnection is closed")}var sender=this._senders.get(track);if(sender&&sender.track){throw new Error("Cannot add MediaStreamTrack ['"+track.id+", \n "+track.kind+"]: RTCPeerConnection already has it")}this._peerConnection.removeStream(this._localStream);this._localStream.addTrack(track);this._peerConnection.addStream(this._localStream);sender=new RTCRtpSenderShim(track);this._senders.set(track,sender);return sender};ChromeRTCPeerConnection.prototype.removeTrack=function(sender){if(this._peerConnection.signalingState==="closed"){throw new Error("Cannot remove MediaStreamTrack: RTCPeerConnection is closed")}if(typeof this._peerConnection.addTrack==="function"){try{return this._peerConnection.removeTrack(sender)}catch(e){}}else{var track=sender.track;if(!track){return}sender=this._senders.get(track);if(sender&&sender.track){sender.track=null;this._peerConnection.removeStream(this._localStream);this._localStream.removeTrack(track);this._peerConnection.addStream(this._localStream)}}};ChromeRTCPeerConnection.prototype.getSenders=function(){if(typeof this._peerConnection.addTrack==="function"){return this._peerConnection.getSenders()}return Array.from(this._senders.values())}
|
|
56
|
+
;ChromeRTCPeerConnection.prototype.addIceCandidate=function(candidate){var _this=this;var rest=[];for(var _i=1;_i<arguments.length;_i++){rest[_i-1]=arguments[_i]}var promise;if(this.signalingState==="have-remote-offer"){promise=this._signalingStateLatch.when("low").then(function(){return _this._peerConnection.addIceCandidate(candidate)})}else{promise=this._peerConnection.addIceCandidate(candidate)}return rest.length>0?legacyPromise.apply(void 0,__spreadArray([promise],__read(rest))):promise};ChromeRTCPeerConnection.prototype.close=function(){if(this.signalingState!=="closed"){this._pendingLocalOffer=null;this._pendingRemoteOffer=null;this._peerConnection.close()}};ChromeRTCPeerConnection.prototype.createAnswer=function(){var _this=this;var args=[];for(var _i=0;_i<arguments.length;_i++){args[_i]=arguments[_i]}var promise;if(this._pendingRemoteOffer){promise=this._peerConnection.setRemoteDescription(this._pendingRemoteOffer).then(function(){_this._signalingStateLatch.lower();return _this._peerConnection.createAnswer()}).then(function(answer){_this._pendingRemoteOffer=null;_this._rolledBackTracksToSSRCs.clear();return new ChromeRTCSessionDescription({type:"answer",sdp:updateTrackIdsToSSRCs(_this._sdpFormat,_this._tracksToSSRCs,answer.sdp)})},function(error){_this._pendingRemoteOffer=null;throw error})}else{promise=this._peerConnection.createAnswer().then(function(answer){_this._rolledBackTracksToSSRCs.clear();return new ChromeRTCSessionDescription({type:"answer",sdp:updateTrackIdsToSSRCs(_this._sdpFormat,_this._tracksToSSRCs,answer.sdp)})})}return args.length>1?legacyPromise.apply(void 0,__spreadArray([promise],__read(args))):promise};ChromeRTCPeerConnection.prototype.createOffer=function(){var _this=this;var args=[];for(var _i=0;_i<arguments.length;_i++){args[_i]=arguments[_i]}var _a=__read(args,3),arg1=_a[0],arg2=_a[1],arg3=_a[2];var options=arg3||arg1||{};if(isIOSChrome()){if(options.offerToReceiveVideo&&!this._audioTransceiver&&!(isUnifiedPlan&&hasReceiversForTracksOfKind(this,"audio"))){delete options.offerToReceiveAudio;try{this._audioTransceiver=isUnifiedPlan?this.addTransceiver("audio",{direction:"recvonly"}):this.addTransceiver("audio")}catch(e){return Promise.reject(e)}}if(options.offerToReceiveVideo&&!this._videoTransceiver&&!(isUnifiedPlan&&hasReceiversForTracksOfKind(this,"video"))){delete options.offerToReceiveVideo;try{this._videoTransceiver=isUnifiedPlan?this.addTransceiver("video",{direction:"recvonly"}):this.addTransceiver("video")}catch(e){return Promise.reject(e)}}}var promise=this._peerConnection.createOffer(options).then(function(offer){_this._rolledBackTracksToSSRCs.clear();return new ChromeRTCSessionDescription({type:offer.type,sdp:updateTrackIdsToSSRCs(_this._sdpFormat,_this._tracksToSSRCs,offer.sdp)})});return args.length>1?legacyPromise(promise,arg1,arg2):promise};ChromeRTCPeerConnection.prototype.createDataChannel=function(label,dataChannelDict){dataChannelDict=shimDataChannelInit(dataChannelDict);var dataChannel=this._peerConnection.createDataChannel(label,dataChannelDict);shimDataChannel(dataChannel);return dataChannel};ChromeRTCPeerConnection.prototype.setLocalDescription=function(){var args=[];for(var _i=0;_i<arguments.length;_i++){args[_i]=arguments[_i]}var _a=__read(args,3),description=_a[0],arg1=_a[1],arg2=_a[2];if(this._rolledBackTracksToSSRCs.size>0){this._tracksToSSRCs=new Map(this._rolledBackTracksToSSRCs);this._rolledBackTracksToSSRCs.clear()}var promise=setDescription(this,true,description);return args.length>1?legacyPromise(promise,arg1,arg2):promise};ChromeRTCPeerConnection.prototype.setRemoteDescription=function(){var args=[];for(var _i=0;_i<arguments.length;_i++){args[_i]=arguments[_i]}var _a=__read(args,3),description=_a[0],arg1=_a[1],arg2=_a[2];this._rolledBackTracksToSSRCs.clear();var promise=setDescription(this,false,description);return args.length>1?legacyPromise(promise,arg1,arg2):promise};return ChromeRTCPeerConnection}(EventTarget);delegateMethods(RTCPeerConnection.prototype,ChromeRTCPeerConnection.prototype,"_peerConnection");function setDescription(peerConnection,local,description){function setPendingLocalOffer(offer){if(local){peerConnection._pendingLocalOffer=offer}else{peerConnection._pendingRemoteOffer=offer}}function clearPendingLocalOffer(){if(local){peerConnection._pendingLocalOffer=null}else{peerConnection._pendingRemoteOffer=null}}var pendingLocalOffer=local?peerConnection._pendingLocalOffer:peerConnection._pendingRemoteOffer;var pendingRemoteOffer=local?peerConnection._pendingRemoteOffer:peerConnection._pendingLocalOffer;var intermediateState=local?"have-local-offer":"have-remote-offer";var setLocalDescription=local?"setLocalDescription":"setRemoteDescription";var promise;if(!local&&pendingRemoteOffer&&description.type==="answer"){promise=setRemoteAnswer(peerConnection,description)}else if(description.type==="offer"){if(peerConnection.signalingState!==intermediateState&&peerConnection.signalingState!=="stable"){return Promise.reject(new Error("Cannot set "+(local?"local":"remote")+" offer in state "+peerConnection.signalingState))}if(!pendingLocalOffer&&peerConnection._signalingStateLatch.state==="low"){peerConnection._signalingStateLatch.raise()}var previousSignalingState=peerConnection.signalingState;setPendingLocalOffer(unwrap(description));promise=Promise.resolve();if(peerConnection.signalingState!==previousSignalingState){promise.then(function(){return peerConnection.dispatchEvent(new Event("signalingstatechange"))})}}else if(description.type==="rollback"){if(peerConnection.signalingState!==intermediateState){promise=Promise.reject(new Error("Cannot rollback "+(local?"local":"remote")+" description in "+peerConnection.signalingState))}else{clearPendingLocalOffer();peerConnection._rolledBackTracksToSSRCs=new Map(peerConnection._tracksToSSRCs);peerConnection._tracksToSSRCs=new Map(peerConnection._appliedTracksToSSRCs);promise=Promise.resolve();promise.then(function(){return peerConnection.dispatchEvent(new Event("signalingstatechange"))})}}return promise||peerConnection._peerConnection[setLocalDescription](unwrap(description))}function setRemoteAnswer(peerConnection,answer){var pendingLocalOffer=peerConnection._pendingLocalOffer;return peerConnection._peerConnection.setLocalDescription(pendingLocalOffer).then(function(){peerConnection._pendingLocalOffer=null;return peerConnection.setRemoteDescription(answer)}).then(function(){peerConnection._signalingStateLatch.lower()})}function hasReceiversForTracksOfKind(peerConnection,kind){return!!peerConnection.getTransceivers().find(function(_a){var _b=_a.receiver,receiver=_b===void 0?{}:_b;var _c=receiver.track,track=_c===void 0?{}:_c;return track.kind===kind})}function unwrap(description){if(description instanceof ChromeRTCSessionDescription){if(description._description){return description._description}}return new RTCSessionDescription(description)}function needsMaxPacketLifeTimeShim(){return"maxRetransmitTime"in RTCDataChannel.prototype&&!("maxPacketLifeTime"in RTCDataChannel.prototype)}function shimDataChannelInit(dataChannelDict){dataChannelDict=Object.assign({},dataChannelDict);if(needsMaxPacketLifeTimeShim()&&"maxPacketLifeTime"in dataChannelDict){dataChannelDict.maxRetransmitTime=dataChannelDict.maxPacketLifeTime}return dataChannelDict}function shimDataChannel(dataChannel){Object.defineProperty(dataChannel,"maxRetransmits",{value:dataChannel.maxRetransmits===65535?null:dataChannel.maxRetransmits});if(needsMaxPacketLifeTimeShim()){Object.defineProperty(dataChannel,"maxPacketLifeTime",{value:dataChannel.maxRetransmitTime===65535?null:dataChannel.maxRetransmitTime})}return dataChannel}function updateTrackIdsToSSRCs(sdpFormat,tracksToSSRCs,sdp){return sdpFormat==="unified"?updateUnifiedPlanTrackIdsToSSRCs(tracksToSSRCs,sdp):updatePlanBTrackIdsToSSRCs(tracksToSSRCs,sdp)}module.exports=ChromeRTCPeerConnection},{"../../eventtarget":11,"../mediastream":159,"../rtcrtpsender":166,"../rtcsessiondescription/chrome":167,"../util":170,"../util/latch":171,"../util/sdp":172}],163:[function(require,module,exports){"use strict";var __extends=this&&this.__extends||function(){var extendStatics=function(d,b){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(Object.prototype.hasOwnProperty.call(b,p))d[p]=b[p]};return extendStatics(d,b)};return function(d,b){if(typeof b!=="function"&&b!==null)throw new TypeError("Class extends value "+String(b)+" is not a constructor or null");extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();var __read=this&&this.__read||function(o,n){var m=typeof Symbol==="function"&&o[Symbol.iterator];if(!m)return o;var i=m.call(o),r,ar=[],e;try{while((n===void 0||n-- >0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error:error}}finally{try{if(r&&!r.done&&(m=i["return"]))m.call(i)}finally{if(e)throw e.error}}return ar};var __spreadArray=this&&this.__spreadArray||function(to,from){for(var i=0,il=from.length,j=to.length;i<il;i++,j++)to[j]=from[i];return to};var EventTarget=require("../../eventtarget");var FirefoxRTCSessionDescription=require("../rtcsessiondescription/firefox");var updateTracksToSSRCs=require("../util/sdp").updateUnifiedPlanTrackIdsToSSRCs;var _a=require("../util"),delegateMethods=_a.delegateMethods,interceptEvent=_a.interceptEvent,legacyPromise=_a.legacyPromise,proxyProperties=_a.proxyProperties;var FirefoxRTCPeerConnection=function(_super){__extends(FirefoxRTCPeerConnection,_super);function FirefoxRTCPeerConnection(configuration){var _this=_super.call(this)||this;interceptEvent(_this,"signalingstatechange");var peerConnection=new RTCPeerConnection(configuration);Object.defineProperties(_this,{_initiallyNegotiatedDtlsRole:{value:null,writable:true},_isClosed:{value:false,writable:true},_peerConnection:{value:peerConnection},_rollingBack:{value:false,writable:true},_tracksToSSRCs:{value:new Map},peerIdentity:{enumerable:true,value:Promise.resolve({idp:"",name:""})}});var previousSignalingState;peerConnection.addEventListener("signalingstatechange",function(){var args=[];for(var _i=0;_i<arguments.length;_i++){args[_i]=arguments[_i]}if(!_this._rollingBack&&_this.signalingState!==previousSignalingState){previousSignalingState=_this.signalingState;if(_this._isClosed){setTimeout(function(){return _this.dispatchEvent.apply(_this,__spreadArray([],__read(args)))})}else{_this.dispatchEvent.apply(_this,__spreadArray([],__read(args)))}}});proxyProperties(RTCPeerConnection.prototype,_this,peerConnection);return _this}Object.defineProperty(FirefoxRTCPeerConnection.prototype,"iceGatheringState",{get:function(){return this._isClosed?"complete":this._peerConnection.iceGatheringState},enumerable:false,configurable:true});Object.defineProperty(FirefoxRTCPeerConnection.prototype,"localDescription",{get:function(){return overwriteWithInitiallyNegotiatedDtlsRole(this._peerConnection.localDescription,this._initiallyNegotiatedDtlsRole)},enumerable:false,configurable:true});Object.defineProperty(FirefoxRTCPeerConnection.prototype,"signalingState",{get:function(){return this._isClosed?"closed":this._peerConnection.signalingState},enumerable:false,configurable:true});FirefoxRTCPeerConnection.prototype.createAnswer=function(){var _this=this;var args=[];for(var _i=0;_i<arguments.length;_i++){args[_i]=arguments[_i]}var promise;promise=this._peerConnection.createAnswer().then(function(answer){saveInitiallyNegotiatedDtlsRole(_this,answer);return overwriteWithInitiallyNegotiatedDtlsRole(answer,_this._initiallyNegotiatedDtlsRole)});return typeof args[0]==="function"?legacyPromise.apply(void 0,__spreadArray([promise],__read(args))):promise};FirefoxRTCPeerConnection.prototype.createOffer=function(){var _this=this;var args=[];for(var _i=0;_i<arguments.length;_i++){args[_i]=arguments[_i]}var _a=__read(args,3),arg1=_a[0],arg2=_a[1],arg3=_a[2];var options=arg3||arg1||{};var promise;if(this.signalingState==="have-local-offer"||this.signalingState==="have-remote-offer"){var local=this.signalingState==="have-local-offer";promise=rollback(this,local,function(){return _this.createOffer(options)})}else{promise=this._peerConnection.createOffer(options)}promise=promise.then(function(offer){return new FirefoxRTCSessionDescription({type:offer.type,sdp:updateTracksToSSRCs(_this._tracksToSSRCs,offer.sdp)})});return args.length>1?legacyPromise(promise,arg1,arg2):promise};FirefoxRTCPeerConnection.prototype.setLocalDescription=function(){var _a;var args=[];for(var _i=0;_i<arguments.length;_i++){args[_i]=arguments[_i]}var _b=__read(args),description=_b[0],rest=_b.slice(1);var promise;if(description&&description.type==="answer"&&this.signalingState==="have-local-offer"){promise=Promise.reject(new Error("Cannot set local answer in state have-local-offer"))}if(promise){return args.length>1?legacyPromise.apply(void 0,__spreadArray([promise],__read(rest))):promise}return(_a=this._peerConnection).setLocalDescription.apply(_a,__spreadArray([],__read(args)))};FirefoxRTCPeerConnection.prototype.setRemoteDescription=function(){var _this=this;var args=[];for(var _i=0;_i<arguments.length;_i++){args[_i]=arguments[_i]}var _a=__read(args),description=_a[0],rest=_a.slice(1);var promise;if(description&&this.signalingState==="have-remote-offer"){if(description.type==="answer"){promise=Promise.reject(new Error("Cannot set remote answer in state have-remote-offer"))}else if(description.type==="offer"){promise=rollback(this,false,function(){return _this._peerConnection.setRemoteDescription(description)})}}if(!promise){promise=this._peerConnection.setRemoteDescription(description)}promise=promise.then(function(){return saveInitiallyNegotiatedDtlsRole(_this,description,true)});return args.length>1?legacyPromise.apply(void 0,__spreadArray([promise],__read(rest))):promise};FirefoxRTCPeerConnection.prototype.close=function(){if(this.signalingState!=="closed"){this._isClosed=true;this._peerConnection.close()}};return FirefoxRTCPeerConnection}(EventTarget);delegateMethods(RTCPeerConnection.prototype,FirefoxRTCPeerConnection.prototype,"_peerConnection");function rollback(peerConnection,local,onceRolledBack){var setLocalDescription=local?"setLocalDescription":"setRemoteDescription";peerConnection._rollingBack=true;return peerConnection._peerConnection[setLocalDescription](new FirefoxRTCSessionDescription({type:"rollback"})).then(onceRolledBack).then(function(result){peerConnection._rollingBack=false;return result},function(error){peerConnection._rollingBack=false;throw error})}function saveInitiallyNegotiatedDtlsRole(peerConnection,description,remote){if(peerConnection._initiallyNegotiatedDtlsRole||description.type==="offer"){return}var match=description.sdp.match(/a=setup:([a-z]+)/);if(!match){return}var dtlsRole=match[1];peerConnection._initiallyNegotiatedDtlsRole=remote?{active:"passive",passive:"active"}[dtlsRole]:dtlsRole}function overwriteWithInitiallyNegotiatedDtlsRole(description,dtlsRole){if(description&&description.type==="answer"&&dtlsRole){return new FirefoxRTCSessionDescription({type:description.type,sdp:description.sdp.replace(/a=setup:[a-z]+/g,"a=setup:"+dtlsRole)})}return description}module.exports=FirefoxRTCPeerConnection},{"../../eventtarget":11,"../rtcsessiondescription/firefox":168,"../util":170,"../util/sdp":172}],164:[function(require,module,exports){"use strict";if(typeof RTCPeerConnection==="function"){var guessBrowser=require("../util").guessBrowser;switch(guessBrowser()){case"chrome":module.exports=require("./chrome");break;case"firefox":module.exports=require("./firefox");break;case"safari":module.exports=require("./safari");break;default:module.exports=RTCPeerConnection;break}}else{module.exports=function RTCPeerConnection(){throw new Error("RTCPeerConnection is not supported")}}},{"../util":170,"./chrome":162,"./firefox":163,"./safari":165}],165:[function(require,module,exports){"use strict";var __extends=this&&this.__extends||function(){var extendStatics=function(d,b){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(Object.prototype.hasOwnProperty.call(b,p))d[p]=b[p]};return extendStatics(d,b)};return function(d,b){if(typeof b!=="function"&&b!==null)throw new TypeError("Class extends value "+String(b)+" is not a constructor or null");extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();var __read=this&&this.__read||function(o,n){var m=typeof Symbol==="function"&&o[Symbol.iterator];if(!m)return o;var i=m.call(o),r,ar=[],e;try{while((n===void 0||n-- >0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error:error}}finally{try{if(r&&!r.done&&(m=i["return"]))m.call(i)}finally{if(e)throw e.error}}return ar};var __spreadArray=this&&this.__spreadArray||function(to,from){for(var i=0,il=from.length,j=to.length;i<il;i++,j++)to[j]=from[i];return to};var EventTarget=require("../../eventtarget");var Latch=require("../util/latch");var _a=require("../util/sdp"),getSdpFormat=_a.getSdpFormat,updatePlanBTrackIdsToSSRCs=_a.updatePlanBTrackIdsToSSRCs,updateUnifiedPlanTrackIdsToSSRCs=_a.updateUnifiedPlanTrackIdsToSSRCs;var _b=require("../util"),delegateMethods=_b.delegateMethods,interceptEvent=_b.interceptEvent,proxyProperties=_b.proxyProperties;var isUnifiedPlan=getSdpFormat()==="unified";var updateTrackIdsToSSRCs=isUnifiedPlan?updateUnifiedPlanTrackIdsToSSRCs:updatePlanBTrackIdsToSSRCs;var SafariRTCPeerConnection=function(_super){__extends(SafariRTCPeerConnection,_super);function SafariRTCPeerConnection(configuration){var _this=_super.call(this)||this;interceptEvent(_this,"datachannel");interceptEvent(_this,"iceconnectionstatechange");interceptEvent(_this,"signalingstatechange");interceptEvent(_this,"track");var peerConnection=new RTCPeerConnection(configuration);Object.defineProperties(_this,{_appliedTracksToSSRCs:{value:new Map,writable:true},_audioTransceiver:{value:null,writable:true},_isClosed:{value:false,writable:true},_peerConnection:{value:peerConnection},_pendingLocalOffer:{value:null,writable:true},_pendingRemoteOffer:{value:null,writable:true},_rolledBackTracksToSSRCs:{value:new Map,writable:true},_signalingStateLatch:{value:new Latch},_tracksToSSRCs:{value:new Map,writable:true},_videoTransceiver:{value:null,writable:true}});peerConnection.addEventListener("datachannel",function(event){shimDataChannel(event.channel);_this.dispatchEvent(event)});peerConnection.addEventListener("iceconnectionstatechange",function(){var args=[];for(var _i=0;_i<arguments.length;_i++){args[_i]=arguments[_i]}if(_this._isClosed){return}_this.dispatchEvent.apply(_this,__spreadArray([],__read(args)))});peerConnection.addEventListener("signalingstatechange",function(){var args=[];for(var _i=0;_i<arguments.length;_i++){args[_i]=arguments[_i]}if(_this._isClosed){return}if(peerConnection.signalingState==="stable"){_this._appliedTracksToSSRCs=new Map(_this._tracksToSSRCs)}if(!_this._pendingLocalOffer&&!_this._pendingRemoteOffer){_this.dispatchEvent.apply(_this,__spreadArray([],__read(args)))}});peerConnection.addEventListener("track",function(event){_this._pendingRemoteOffer=null;_this.dispatchEvent(event)});proxyProperties(RTCPeerConnection.prototype,_this,peerConnection);return _this}Object.defineProperty(SafariRTCPeerConnection.prototype,"localDescription",{get:function(){return this._pendingLocalOffer||this._peerConnection.localDescription},enumerable:false,configurable:true});Object.defineProperty(SafariRTCPeerConnection.prototype,"iceConnectionState",{get:function(){return this._isClosed?"closed":this._peerConnection.iceConnectionState},enumerable:false,configurable:true});Object.defineProperty(SafariRTCPeerConnection.prototype,"iceGatheringState",{get:function(){return this._isClosed?"complete":this._peerConnection.iceGatheringState},enumerable:false,configurable:true});Object.defineProperty(SafariRTCPeerConnection.prototype,"remoteDescription",{get:function(){return this._pendingRemoteOffer||this._peerConnection.remoteDescription},enumerable:false,configurable:true});Object.defineProperty(SafariRTCPeerConnection.prototype,"signalingState",{get:function(){if(this._isClosed){return"closed"}else if(this._pendingLocalOffer){return"have-local-offer"}else if(this._pendingRemoteOffer){return"have-remote-offer"}return this._peerConnection.signalingState},enumerable:false,configurable:true});SafariRTCPeerConnection.prototype.addIceCandidate=function(candidate){var _this=this;if(this.signalingState==="have-remote-offer"){return this._signalingStateLatch.when("low").then(function(){return _this._peerConnection.addIceCandidate(candidate)})}return this._peerConnection.addIceCandidate(candidate)};SafariRTCPeerConnection.prototype.createOffer=function(options){var _this=this;options=Object.assign({},options);if(options.offerToReceiveVideo&&!this._audioTransceiver&&!(isUnifiedPlan&&hasReceiversForTracksOfKind(this,"audio"))){delete options.offerToReceiveAudio;try{this._audioTransceiver=isUnifiedPlan?this.addTransceiver("audio",{direction:"recvonly"}):this.addTransceiver("audio")}catch(e){return Promise.reject(e)}}if(options.offerToReceiveVideo&&!this._videoTransceiver&&!(isUnifiedPlan&&hasReceiversForTracksOfKind(this,"video"))){delete options.offerToReceiveVideo;try{this._videoTransceiver=isUnifiedPlan?this.addTransceiver("video",{direction:"recvonly"}):this.addTransceiver("video")}catch(e){return Promise.reject(e)}}return this._peerConnection.createOffer(options).then(function(offer){_this._rolledBackTracksToSSRCs.clear();return new RTCSessionDescription({type:offer.type,sdp:updateTrackIdsToSSRCs(_this._tracksToSSRCs,offer.sdp)})})};SafariRTCPeerConnection.prototype.createAnswer=function(options){var _this=this;if(this._pendingRemoteOffer){return this._peerConnection.setRemoteDescription(this._pendingRemoteOffer).then(function(){_this._signalingStateLatch.lower();return _this._peerConnection.createAnswer()}).then(function(answer){_this._pendingRemoteOffer=null;_this._rolledBackTracksToSSRCs.clear();return isUnifiedPlan?new RTCSessionDescription({type:answer.type,sdp:updateTrackIdsToSSRCs(_this._tracksToSSRCs,answer.sdp)}):answer},function(error){_this._pendingRemoteOffer=null;throw error})}return this._peerConnection.createAnswer(options).then(function(answer){_this._rolledBackTracksToSSRCs.clear();return isUnifiedPlan?new RTCSessionDescription({type:answer.type,sdp:updateTrackIdsToSSRCs(_this._tracksToSSRCs,answer.sdp)}):answer})};SafariRTCPeerConnection.prototype.createDataChannel=function(label,dataChannelDict){var dataChannel=this._peerConnection.createDataChannel(label,dataChannelDict);shimDataChannel(dataChannel);return dataChannel};SafariRTCPeerConnection.prototype.removeTrack=function(sender){sender.replaceTrack(null);this._peerConnection.removeTrack(sender)};SafariRTCPeerConnection.prototype.setLocalDescription=function(description){if(this._rolledBackTracksToSSRCs.size>0){this._tracksToSSRCs=new Map(this._rolledBackTracksToSSRCs);this._rolledBackTracksToSSRCs.clear()}return setDescription(this,true,description)};SafariRTCPeerConnection.prototype.setRemoteDescription=function(description){this._rolledBackTracksToSSRCs.clear();return setDescription(this,false,description)};SafariRTCPeerConnection.prototype.close=function(){var _this=this;if(this._isClosed){return}this._isClosed=true;this._peerConnection.close();setTimeout(function(){_this.dispatchEvent(new Event("iceconnectionstatechange"));_this.dispatchEvent(new Event("signalingstatechange"))})};return SafariRTCPeerConnection}(EventTarget);delegateMethods(RTCPeerConnection.prototype,SafariRTCPeerConnection.prototype,"_peerConnection");function setDescription(peerConnection,local,description){function setPendingLocalOffer(offer){if(local){peerConnection._pendingLocalOffer=offer}else{peerConnection._pendingRemoteOffer=offer}}function clearPendingLocalOffer(){if(local){peerConnection._pendingLocalOffer=null}else{peerConnection._pendingRemoteOffer=null}}var pendingLocalOffer=local?peerConnection._pendingLocalOffer:peerConnection._pendingRemoteOffer;var pendingRemoteOffer=local?peerConnection._pendingRemoteOffer:peerConnection._pendingLocalOffer;var intermediateState=local?"have-local-offer":"have-remote-offer";var setLocalDescription=local?"setLocalDescription":"setRemoteDescription";if(!local&&pendingRemoteOffer&&description.type==="answer"){return setRemoteAnswer(peerConnection,description)}else if(description.type==="offer"){if(peerConnection.signalingState!==intermediateState&&peerConnection.signalingState!=="stable"){return Promise.reject(new Error("Cannot set "+(local?"local":"remote")+"\n offer in state "+peerConnection.signalingState))}if(!pendingLocalOffer&&peerConnection._signalingStateLatch.state==="low"){peerConnection._signalingStateLatch.raise()}var previousSignalingState=peerConnection.signalingState;setPendingLocalOffer(description);if(peerConnection.signalingState!==previousSignalingState){return Promise.resolve().then(function(){return peerConnection.dispatchEvent(new Event("signalingstatechange"))})}return Promise.resolve()}else if(description.type==="rollback"){if(peerConnection.signalingState!==intermediateState){return Promise.reject(new Error("Cannot rollback \n "+(local?"local":"remote")+" description in "+peerConnection.signalingState))}clearPendingLocalOffer();peerConnection._rolledBackTracksToSSRCs=new Map(peerConnection._tracksToSSRCs);peerConnection._tracksToSSRCs=new Map(peerConnection._appliedTracksToSSRCs);return Promise.resolve().then(function(){return peerConnection.dispatchEvent(new Event("signalingstatechange"))})}return peerConnection._peerConnection[setLocalDescription](description)}function setRemoteAnswer(peerConnection,answer){var pendingLocalOffer=peerConnection._pendingLocalOffer;return peerConnection._peerConnection.setLocalDescription(pendingLocalOffer).then(function(){peerConnection._pendingLocalOffer=null;return peerConnection.setRemoteDescription(answer)}).then(function(){return peerConnection._signalingStateLatch.lower()})}function hasReceiversForTracksOfKind(peerConnection,kind){return!!peerConnection.getTransceivers().find(function(_a){var _b=_a.receiver,receiver=_b===void 0?{}:_b;var _c=receiver.track,track=_c===void 0?{}:_c;return track.kind===kind})}function shimDataChannel(dataChannel){return Object.defineProperties(dataChannel,{maxPacketLifeTime:{value:dataChannel.maxPacketLifeTime===65535?null:dataChannel.maxPacketLifeTime},maxRetransmits:{value:dataChannel.maxRetransmits===65535?null:dataChannel.maxRetransmits}})}module.exports=SafariRTCPeerConnection},{"../../eventtarget":11,"../util":170,"../util/latch":171,"../util/sdp":172}],166:[function(require,module,exports){"use strict";var RTCRtpSenderShim=function(){function RTCRtpSenderShim(track){Object.defineProperties(this,{track:{enumerable:true,value:track,writable:true}})}return RTCRtpSenderShim}();module.exports=RTCRtpSenderShim},{}],167:[function(require,module,exports){"use strict";var ChromeRTCSessionDescription=function(){function ChromeRTCSessionDescription(descriptionInitDict){this.descriptionInitDict=descriptionInitDict;var description=descriptionInitDict&&descriptionInitDict.type==="rollback"?null:new RTCSessionDescription(descriptionInitDict);Object.defineProperties(this,{_description:{get:function(){return description}}})}Object.defineProperty(ChromeRTCSessionDescription.prototype,"sdp",{get:function(){return this._description?this._description.sdp:this.descriptionInitDict.sdp},enumerable:false,configurable:true});Object.defineProperty(ChromeRTCSessionDescription.prototype,"type",{get:function(){return this._description?this._description.type:this.descriptionInitDict.type},enumerable:false,configurable:true});return ChromeRTCSessionDescription}();module.exports=ChromeRTCSessionDescription},{}],168:[function(require,module,exports){"use strict";module.exports=RTCSessionDescription},{}],169:[function(require,module,exports){"use strict";if(typeof RTCSessionDescription==="function"){var guessBrowser=require("../util").guessBrowser;switch(guessBrowser()){case"chrome":module.exports=require("./chrome");break;case"firefox":module.exports=require("./firefox");break;default:module.exports=RTCSessionDescription;break}}else{module.exports=function RTCSessionDescription(){throw new Error("RTCSessionDescription is not supported")}}},{"../util":170,"./chrome":167,"./firefox":168}],170:[function(require,module,exports){"use strict";var __read=this&&this.__read||function(o,n){var m=typeof Symbol==="function"&&o[Symbol.iterator];if(!m)return o;var i=m.call(o),r,ar=[],e;try{while((n===void 0||n-- >0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error:error}}finally{try{if(r&&!r.done&&(m=i["return"]))m.call(i)}finally{if(e)throw e.error}}return ar};var __spreadArray=this&&this.__spreadArray||function(to,from){for(var i=0,il=from.length,j=to.length;i<il;i++,j++)to[j]=from[i];return to};function defer(){var deferred={};deferred.promise=new Promise(function(resolve,reject){deferred.resolve=resolve;deferred.reject=reject});return deferred}function delegateMethod(source,wrapper,target,methodName){if(methodName in wrapper){return}else if(methodName.match(/^on[a-z]+$/)){return}var isProperty=false;try{var propDesc=Object.getOwnPropertyDescriptor(source,methodName);isProperty=propDesc&&!!propDesc.get}catch(error){}if(isProperty){return}var type;try{type=typeof source[methodName]}catch(error){}if(type!=="function"){return}wrapper[methodName]=function(){return this[target][methodName].apply(this[target],arguments)}}function delegateMethods(source,wrapper,target){for(var methodName in source){delegateMethod(source,wrapper,target,methodName)}}function difference(list1,list2){list1=Array.isArray(list1)?new Set(list1):new Set(list1.values());list2=Array.isArray(list2)?new Set(list2):new Set(list2.values());var difference=new Set;list1.forEach(function(item){if(!list2.has(item)){difference.add(item)}});return difference}function flatMap(list,mapFn){var listArray=list instanceof Map||list instanceof Set?Array.from(list.values()):list;return listArray.reduce(function(flattened,item){return flattened.concat(mapFn(item))},[])}function getUserAgent(){return typeof navigator!=="undefined"&&typeof navigator.userAgent==="string"?navigator.userAgent:null}function guessBrowser(userAgent){if(typeof userAgent==="undefined"){userAgent=getUserAgent()}if(/Chrome|CriOS/.test(userAgent)){return"chrome"}if(/Firefox|FxiOS/.test(userAgent)){return"firefox"}if(/Safari|iPhone|iPad|iPod/.test(userAgent)){return"safari"}return null}function guessBrowserVersion(userAgent){if(typeof userAgent==="undefined"){userAgent=getUserAgent()}var prefix={chrome:"Chrome|CriOS",firefox:"Firefox|FxiOS",safari:"Version"}[guessBrowser(userAgent)];if(!prefix){return null}var regex=new RegExp("("+prefix+")/([^\\s]+)");var _a=__read(userAgent.match(regex)||[],3),match=_a[2];if(!match){return null}var versions=match.split(".").map(Number);return{major:isNaN(versions[0])?null:versions[0],minor:isNaN(versions[1])?null:versions[1]}}function isIOSChrome(userAgent){if(typeof userAgent==="undefined"){userAgent=getUserAgent()}return/Mobi/.test(userAgent)&&guessBrowser()==="chrome"&&/iPad|iPhone|iPod/.test(userAgent)}function interceptEvent(target,type){var currentListener=null;Object.defineProperty(target,"on"+type,{get:function(){return currentListener},set:function(newListener){if(currentListener){this.removeEventListener(type,currentListener)}if(typeof newListener==="function"){currentListener=newListener;this.addEventListener(type,currentListener)}else{currentListener=null}}})}function legacyPromise(promise,onSuccess,onFailure){return onSuccess?promise.then(onSuccess,onFailure):promise}function makeUUID(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(c){var r=Math.random()*16|0;var v=c==="x"?r:r&3|8;return v.toString(16)})}function proxyProperties(source,wrapper,target){
|
|
57
|
+
Object.getOwnPropertyNames(source).forEach(function(propertyName){proxyProperty(source,wrapper,target,propertyName)})}function proxyProperty(source,wrapper,target,propertyName){if(propertyName in wrapper){return}else if(propertyName.match(/^on[a-z]+$/)){Object.defineProperty(wrapper,propertyName,{value:null,writable:true});target.addEventListener(propertyName.slice(2),function(){var args=[];for(var _i=0;_i<arguments.length;_i++){args[_i]=arguments[_i]}return wrapper.dispatchEvent.apply(wrapper,__spreadArray([],__read(args)))});return}Object.defineProperty(wrapper,propertyName,{enumerable:true,get:function(){return target[propertyName]}})}function support(){return typeof navigator==="object"&&typeof navigator.mediaDevices==="object"&&typeof navigator.mediaDevices.getUserMedia==="function"&&typeof RTCPeerConnection==="function"}exports.defer=defer;exports.delegateMethods=delegateMethods;exports.difference=difference;exports.flatMap=flatMap;exports.guessBrowser=guessBrowser;exports.guessBrowserVersion=guessBrowserVersion;exports.isIOSChrome=isIOSChrome;exports.interceptEvent=interceptEvent;exports.legacyPromise=legacyPromise;exports.makeUUID=makeUUID;exports.proxyProperties=proxyProperties;exports.support=support},{}],171:[function(require,module,exports){"use strict";var defer=require("./").defer;var states={high:new Set(["low"]),low:new Set(["high"])};var Latch=function(){function Latch(initialState){if(initialState===void 0){initialState="low"}var state=initialState;Object.defineProperties(this,{_state:{set:function(_state){var _this=this;if(state!==_state){state=_state;var whenDeferreds=this._whenDeferreds.get(state);whenDeferreds.forEach(function(deferred){return deferred.resolve(_this)});whenDeferreds.clear()}},get:function(){return state}},_whenDeferreds:{value:new Map([["high",new Set],["low",new Set]])}})}Object.defineProperty(Latch.prototype,"state",{get:function(){return this._state},enumerable:false,configurable:true});Latch.prototype.lower=function(){return this.transition("low")};Latch.prototype.raise=function(){return this.transition("high")};Latch.prototype.transition=function(newState){if(!states[this.state].has(newState)){throw createUnreachableStateError(this.state,newState)}this._state=newState;return this};Latch.prototype.when=function(state){if(this.state===state){return Promise.resolve(this)}if(!states[this.state].has(state)){return Promise.reject(createUnreachableStateError(this.state,state))}var deferred=defer();this._whenDeferreds.get(state).add(deferred);return deferred.promise};return Latch}();function createUnreachableStateError(from,to){return new Error('Cannot transition from "'+from+'" to "'+to+'"')}module.exports=Latch},{"./":170}],172:[function(require,module,exports){"use strict";var _a=require("./"),flatMap=_a.flatMap,guessBrowser=_a.guessBrowser;var isSdpSemanticsSupported=null;function checkIfSdpSemanticsIsSupported(){if(typeof isSdpSemanticsSupported==="boolean"){return isSdpSemanticsSupported}if(typeof RTCPeerConnection==="undefined"){isSdpSemanticsSupported=false;return isSdpSemanticsSupported}try{new RTCPeerConnection({sdpSemantics:"foo"});isSdpSemanticsSupported=false}catch(e){isSdpSemanticsSupported=true}return isSdpSemanticsSupported}var chromeSdpFormat=null;function clearChromeCachedSdpFormat(){chromeSdpFormat=null}function getChromeDefaultSdpFormat(){if(!chromeSdpFormat){if(typeof RTCPeerConnection!=="undefined"&&"addTransceiver"in RTCPeerConnection.prototype){var pc=new RTCPeerConnection;try{pc.addTransceiver("audio");chromeSdpFormat="unified"}catch(e){chromeSdpFormat="planb"}pc.close()}else{chromeSdpFormat="planb"}}return chromeSdpFormat}function getChromeSdpFormat(sdpSemantics){if(!sdpSemantics||!checkIfSdpSemanticsIsSupported()){return getChromeDefaultSdpFormat()}return{"plan-b":"planb","unified-plan":"unified"}[sdpSemantics]}function getSafariSdpFormat(){return typeof RTCRtpTransceiver!=="undefined"&&"currentDirection"in RTCRtpTransceiver.prototype?"unified":"planb"}function getSdpFormat(sdpSemantics){return{chrome:getChromeSdpFormat(sdpSemantics),firefox:"unified",safari:getSafariSdpFormat()}[guessBrowser()]||null}function getMatches(pattern,lines){var matches=lines.match(new RegExp(pattern,"gm"))||[];return matches.reduce(function(results,line){var match=line.match(new RegExp(pattern));return match?results.add(match[1]):results},new Set)}function getTrackIds(pattern,sdp){return getMatches(pattern,sdp)}function getPlanBTrackIds(sdp){return getTrackIds("^a=ssrc:[0-9]+ +msid:.+ +(.+) *$",sdp)}function getUnifiedPlanTrackIds(sdp){return getTrackIds("^a=msid:.+ +(.+) *$",sdp)}function getPlanBSSRCs(sdp,trackId){var pattern="^a=ssrc:([0-9]+) +msid:[^ ]+ +"+trackId+" *$";return getMatches(pattern,sdp)}function getMediaSections(sdp,kind,direction){if(kind===void 0){kind=".*"}if(direction===void 0){direction=".*"}return sdp.split("\r\nm=").slice(1).map(function(mediaSection){return"m="+mediaSection}).filter(function(mediaSection){var kindPattern=new RegExp("m="+kind,"gm");var directionPattern=new RegExp("a="+direction,"gm");return kindPattern.test(mediaSection)&&directionPattern.test(mediaSection)})}function getMediaSectionSSRCs(mediaSection){return Array.from(getMatches("^a=ssrc:([0-9]+) +.*$",mediaSection))}function getUnifiedPlanSSRCs(sdp,trackId){var mediaSections=getMediaSections(sdp);var msidAttrRegExp=new RegExp("^a=msid:[^ ]+ +"+trackId+" *$","gm");var matchingMediaSections=mediaSections.filter(function(mediaSection){return mediaSection.match(msidAttrRegExp)});return new Set(flatMap(matchingMediaSections,getMediaSectionSSRCs))}function getTrackIdsToSSRCs(getTrackIds,getSSRCs,sdp){return new Map(Array.from(getTrackIds(sdp)).map(function(trackId){return[trackId,getSSRCs(sdp,trackId)]}))}function getPlanBTrackIdsToSSRCs(sdp){return getTrackIdsToSSRCs(getPlanBTrackIds,getPlanBSSRCs,sdp)}function getUnifiedPlanTrackIdsToSSRCs(sdp){return getTrackIdsToSSRCs(getUnifiedPlanTrackIds,getUnifiedPlanSSRCs,sdp)}function updateTrackIdsToSSRCs(getTrackIdsToSSRCs,trackIdsToSSRCs,sdp){var newTrackIdsToSSRCs=getTrackIdsToSSRCs(sdp);var newSSRCsToOldSSRCs=new Map;newTrackIdsToSSRCs.forEach(function(ssrcs,trackId){if(!trackIdsToSSRCs.has(trackId)){trackIdsToSSRCs.set(trackId,ssrcs);return}var oldSSRCs=Array.from(trackIdsToSSRCs.get(trackId));var newSSRCs=Array.from(ssrcs);oldSSRCs.forEach(function(oldSSRC,i){var newSSRC=newSSRCs[i];newSSRCsToOldSSRCs.set(newSSRC,oldSSRC);var pattern="^a=ssrc:"+newSSRC+" (.*)$";var replacement="a=ssrc:"+oldSSRC+" $1";sdp=sdp.replace(new RegExp(pattern,"gm"),replacement)})});var pattern="^(a=ssrc-group:[^ ]+ +)(.*)$";var matches=sdp.match(new RegExp(pattern,"gm"))||[];matches.forEach(function(line){var match=line.match(new RegExp(pattern));if(!match){return}var prefix=match[1];var newSSRCs=match[2];var oldSSRCs=newSSRCs.split(" ").map(function(newSSRC){var oldSSRC=newSSRCsToOldSSRCs.get(newSSRC);return oldSSRC?oldSSRC:newSSRC}).join(" ");sdp=sdp.replace(match[0],prefix+oldSSRCs)});return sdp}function updatePlanBTrackIdsToSSRCs(trackIdsToSSRCs,sdp){return updateTrackIdsToSSRCs(getPlanBTrackIdsToSSRCs,trackIdsToSSRCs,sdp)}function updateUnifiedPlanTrackIdsToSSRCs(trackIdsToSSRCs,sdp){return updateTrackIdsToSSRCs(getUnifiedPlanTrackIdsToSSRCs,trackIdsToSSRCs,sdp)}exports.clearChromeCachedSdpFormat=clearChromeCachedSdpFormat;exports.getSdpFormat=getSdpFormat;exports.getMediaSections=getMediaSections;exports.getPlanBTrackIds=getPlanBTrackIds;exports.getUnifiedPlanTrackIds=getUnifiedPlanTrackIds;exports.getPlanBSSRCs=getPlanBSSRCs;exports.getUnifiedPlanSSRCs=getUnifiedPlanSSRCs;exports.updatePlanBTrackIdsToSSRCs=updatePlanBTrackIdsToSSRCs;exports.updateUnifiedPlanTrackIdsToSSRCs=updateUnifiedPlanTrackIdsToSSRCs},{"./":170}],173:[function(require,module,exports){"use strict";var R=typeof Reflect==="object"?Reflect:null;var ReflectApply=R&&typeof R.apply==="function"?R.apply:function ReflectApply(target,receiver,args){return Function.prototype.apply.call(target,receiver,args)};var ReflectOwnKeys;if(R&&typeof R.ownKeys==="function"){ReflectOwnKeys=R.ownKeys}else if(Object.getOwnPropertySymbols){ReflectOwnKeys=function ReflectOwnKeys(target){return Object.getOwnPropertyNames(target).concat(Object.getOwnPropertySymbols(target))}}else{ReflectOwnKeys=function ReflectOwnKeys(target){return Object.getOwnPropertyNames(target)}}function ProcessEmitWarning(warning){if(console&&console.warn)console.warn(warning)}var NumberIsNaN=Number.isNaN||function NumberIsNaN(value){return value!==value};function EventEmitter(){EventEmitter.init.call(this)}module.exports=EventEmitter;module.exports.once=once;EventEmitter.EventEmitter=EventEmitter;EventEmitter.prototype._events=undefined;EventEmitter.prototype._eventsCount=0;EventEmitter.prototype._maxListeners=undefined;var defaultMaxListeners=10;function checkListener(listener){if(typeof listener!=="function"){throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof listener)}}Object.defineProperty(EventEmitter,"defaultMaxListeners",{enumerable:true,get:function(){return defaultMaxListeners},set:function(arg){if(typeof arg!=="number"||arg<0||NumberIsNaN(arg)){throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+arg+".")}defaultMaxListeners=arg}});EventEmitter.init=function(){if(this._events===undefined||this._events===Object.getPrototypeOf(this)._events){this._events=Object.create(null);this._eventsCount=0}this._maxListeners=this._maxListeners||undefined};EventEmitter.prototype.setMaxListeners=function setMaxListeners(n){if(typeof n!=="number"||n<0||NumberIsNaN(n)){throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+n+".")}this._maxListeners=n;return this};function _getMaxListeners(that){if(that._maxListeners===undefined)return EventEmitter.defaultMaxListeners;return that._maxListeners}EventEmitter.prototype.getMaxListeners=function getMaxListeners(){return _getMaxListeners(this)};EventEmitter.prototype.emit=function emit(type){var args=[];for(var i=1;i<arguments.length;i++)args.push(arguments[i]);var doError=type==="error";var events=this._events;if(events!==undefined)doError=doError&&events.error===undefined;else if(!doError)return false;if(doError){var er;if(args.length>0)er=args[0];if(er instanceof Error){throw er}var err=new Error("Unhandled error."+(er?" ("+er.message+")":""));err.context=er;throw err}var handler=events[type];if(handler===undefined)return false;if(typeof handler==="function"){ReflectApply(handler,this,args)}else{var len=handler.length;var listeners=arrayClone(handler,len);for(var i=0;i<len;++i)ReflectApply(listeners[i],this,args)}return true};function _addListener(target,type,listener,prepend){var m;var events;var existing;checkListener(listener);events=target._events;if(events===undefined){events=target._events=Object.create(null);target._eventsCount=0}else{if(events.newListener!==undefined){target.emit("newListener",type,listener.listener?listener.listener:listener);events=target._events}existing=events[type]}if(existing===undefined){existing=events[type]=listener;++target._eventsCount}else{if(typeof existing==="function"){existing=events[type]=prepend?[listener,existing]:[existing,listener]}else if(prepend){existing.unshift(listener)}else{existing.push(listener)}m=_getMaxListeners(target);if(m>0&&existing.length>m&&!existing.warned){existing.warned=true;var w=new Error("Possible EventEmitter memory leak detected. "+existing.length+" "+String(type)+" listeners "+"added. Use emitter.setMaxListeners() to "+"increase limit");w.name="MaxListenersExceededWarning";w.emitter=target;w.type=type;w.count=existing.length;ProcessEmitWarning(w)}}return target}EventEmitter.prototype.addListener=function addListener(type,listener){return _addListener(this,type,listener,false)};EventEmitter.prototype.on=EventEmitter.prototype.addListener;EventEmitter.prototype.prependListener=function prependListener(type,listener){return _addListener(this,type,listener,true)};function onceWrapper(){if(!this.fired){this.target.removeListener(this.type,this.wrapFn);this.fired=true;if(arguments.length===0)return this.listener.call(this.target);return this.listener.apply(this.target,arguments)}}function _onceWrap(target,type,listener){var state={fired:false,wrapFn:undefined,target:target,type:type,listener:listener};var wrapped=onceWrapper.bind(state);wrapped.listener=listener;state.wrapFn=wrapped;return wrapped}EventEmitter.prototype.once=function once(type,listener){checkListener(listener);this.on(type,_onceWrap(this,type,listener));return this};EventEmitter.prototype.prependOnceListener=function prependOnceListener(type,listener){checkListener(listener);this.prependListener(type,_onceWrap(this,type,listener));return this};EventEmitter.prototype.removeListener=function removeListener(type,listener){var list,events,position,i,originalListener;checkListener(listener);events=this._events;if(events===undefined)return this;list=events[type];if(list===undefined)return this;if(list===listener||list.listener===listener){if(--this._eventsCount===0)this._events=Object.create(null);else{delete events[type];if(events.removeListener)this.emit("removeListener",type,list.listener||listener)}}else if(typeof list!=="function"){position=-1;for(i=list.length-1;i>=0;i--){if(list[i]===listener||list[i].listener===listener){originalListener=list[i].listener;position=i;break}}if(position<0)return this;if(position===0)list.shift();else{spliceOne(list,position)}if(list.length===1)events[type]=list[0];if(events.removeListener!==undefined)this.emit("removeListener",type,originalListener||listener)}return this};EventEmitter.prototype.off=EventEmitter.prototype.removeListener;EventEmitter.prototype.removeAllListeners=function removeAllListeners(type){var listeners,events,i;events=this._events;if(events===undefined)return this;if(events.removeListener===undefined){if(arguments.length===0){this._events=Object.create(null);this._eventsCount=0}else if(events[type]!==undefined){if(--this._eventsCount===0)this._events=Object.create(null);else delete events[type]}return this}if(arguments.length===0){var keys=Object.keys(events);var key;for(i=0;i<keys.length;++i){key=keys[i];if(key==="removeListener")continue;this.removeAllListeners(key)}this.removeAllListeners("removeListener");this._events=Object.create(null);this._eventsCount=0;return this}listeners=events[type];if(typeof listeners==="function"){this.removeListener(type,listeners)}else if(listeners!==undefined){for(i=listeners.length-1;i>=0;i--){this.removeListener(type,listeners[i])}}return this};function _listeners(target,type,unwrap){var events=target._events;if(events===undefined)return[];var evlistener=events[type];if(evlistener===undefined)return[];if(typeof evlistener==="function")return unwrap?[evlistener.listener||evlistener]:[evlistener];return unwrap?unwrapListeners(evlistener):arrayClone(evlistener,evlistener.length)}EventEmitter.prototype.listeners=function listeners(type){return _listeners(this,type,true)};EventEmitter.prototype.rawListeners=function rawListeners(type){return _listeners(this,type,false)};EventEmitter.listenerCount=function(emitter,type){if(typeof emitter.listenerCount==="function"){return emitter.listenerCount(type)}else{return listenerCount.call(emitter,type)}};EventEmitter.prototype.listenerCount=listenerCount;function listenerCount(type){var events=this._events;if(events!==undefined){var evlistener=events[type];if(typeof evlistener==="function"){return 1}else if(evlistener!==undefined){return evlistener.length}}return 0}EventEmitter.prototype.eventNames=function eventNames(){return this._eventsCount>0?ReflectOwnKeys(this._events):[]};function arrayClone(arr,n){var copy=new Array(n);for(var i=0;i<n;++i)copy[i]=arr[i];return copy}function spliceOne(list,index){for(;index+1<list.length;index++)list[index]=list[index+1];list.pop()}function unwrapListeners(arr){var ret=new Array(arr.length);for(var i=0;i<ret.length;++i){ret[i]=arr[i].listener||arr[i]}return ret}function once(emitter,name){return new Promise(function(resolve,reject){function errorListener(err){emitter.removeListener(name,resolver);reject(err)}function resolver(){if(typeof emitter.removeListener==="function"){emitter.removeListener("error",errorListener)}resolve([].slice.call(arguments))}eventTargetAgnosticAddListener(emitter,name,resolver,{once:true});if(name!=="error"){addErrorHandlerIfEventEmitter(emitter,errorListener,{once:true})}})}function addErrorHandlerIfEventEmitter(emitter,handler,flags){if(typeof emitter.on==="function"){eventTargetAgnosticAddListener(emitter,"error",handler,flags)}}function eventTargetAgnosticAddListener(emitter,name,listener,flags){if(typeof emitter.on==="function"){if(flags.once){emitter.once(name,listener)}else{emitter.on(name,listener)}}else if(typeof emitter.addEventListener==="function"){emitter.addEventListener(name,function wrapListener(arg){if(flags.once){emitter.removeEventListener(name,wrapListener)}listener(arg)})}else{throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof emitter)}}},{}],174:[function(require,module,exports){module.exports={name:"twilio-video",title:"Twilio Video",description:"Twilio Video JavaScript Library",version:"2.26.1",homepage:"https://twilio.com",author:"Mark Andrus Roberts <mroberts@twilio.com>",contributors:["Ryan Rowland <rrowland@twilio.com>","Manjesh Malavalli <mmalavalli@twilio.com>","Makarand Patwardhan <mpatwardhan@twilio.com>"],keywords:["twilio","webrtc","library","javascript","video","rooms"],repository:{type:"git",url:"https://github.com/twilio/twilio-video.js.git"},devDependencies:{"@babel/core":"^7.14.2","@babel/preset-env":"^7.14.2","@babel/preset-typescript":"^7.13.0","@types/express":"^4.11.0","@types/node":"^8.5.1","@types/selenium-webdriver":"^3.0.8","@types/ws":"^3.2.1","@typescript-eslint/eslint-plugin":"^4.13.0","@typescript-eslint/parser":"^4.0.0","babel-cli":"^6.26.0","babel-preset-es2015":"^6.24.1",browserify:"^17.0.0",cheerio:"^0.22.0",cors:"^2.8.5",electron:"^17.2.0",envify:"^4.0.0",eslint:"^6.2.1","eslint-config-standard":"^14.0.0","eslint-plugin-import":"^2.18.2","eslint-plugin-node":"^9.1.0","eslint-plugin-promise":"^4.2.1","eslint-plugin-standard":"^4.0.1",express:"^4.16.2",glob:"^7.1.7","ink-docstrap":"^1.3.2",inquirer:"^7.0.0","is-docker":"^2.0.0",jsdoc:"^3.5.5","jsdoc-babel":"^0.5.0","json-loader":"^0.5.7",karma:"6.4.1","karma-browserify":"^8.0.0","karma-chrome-launcher":"^2.0.0","karma-edgium-launcher":"^4.0.0-0","karma-electron":"^6.1.0","karma-firefox-launcher":"^1.3.0","karma-htmlfile-reporter":"^0.3.8","karma-junit-reporter":"^1.2.0","karma-mocha":"^1.3.0","karma-safari-launcher":"^1.0.0","karma-spec-reporter":"0.0.32","karma-typescript":"^5.5.1","karma-typescript-es6-transform":"^5.5.1",mocha:"^3.2.0","mock-require":"^3.0.3",ncp:"^2.0.0","node-http-server":"^8.1.2","npm-run-all":"^4.0.2",nyc:"^15.1.0",requirejs:"^2.3.3",rimraf:"^2.6.1","simple-git":"^1.126.0",sinon:"^4.0.1","ts-node":"4.0.1",tslint:"5.8.0",twilio:"^3.49.0","twilio-release-tool":"^1.0.2",typescript:"4.2.2","uglify-js":"^2.8.22","vinyl-fs":"^2.4.4","vinyl-source-stream":"^1.1.0",watchify:"^3.11.1","webrtc-adapter":"^7.7.1"},engines:{node:">=0.12"},license:"BSD-3-Clause",main:"./es5/index.js",types:"./tsdef/index.d.ts",scripts:{"lint:js":"eslint ./lib ./test/*.js ./docker/**/*.js ./test/framework/*.js ./test/lib/*.js ./test/integration/** ./test/unit/** ","lint:ts":"eslint ./tsdef/*.ts ./lib/**/*.ts",lint:"npm-run-all lint:js lint:ts",printVersion:"node --version && npm --version","test:unit":"npm-run-all printVersion build:es5 && nyc --report-dir=./coverage --include=lib/**/* --reporter=html --reporter=lcov --reporter=text mocha -r ts-node/register ./test/unit/*","test:unit:quick":"nyc --report-dir=./coverage --include=lib/**/* --reporter=html --reporter=lcov mocha -r ts-node/register","test:serversiderender":"mocha ./test/serversiderender/index.js","test:integration:adapter":"node ./scripts/karma.js karma/integration.adapter.conf.js","test:integration":"npm run build:es5 && node ./scripts/karma.js karma/integration.conf.js","test:umd:install":"npm install puppeteer@19.2.2","test:umd":"mocha ./test/umd/index.js","test:crossbrowser:build:clean":"rimraf ./test/crossbrowser/lib ./test/crossbrowser/src/browser/index.js","test:crossbrowser:build:lint":"cd ./test/crossbrowser && tslint --project tsconfig.json","test:crossbrowser:build:tsc":"cd ./test/crossbrowser && tsc","test:crossbrowser:build:browser":"cd ./test/crossbrowser && browserify lib/crossbrowser/src/browser/index.js > src/browser/index.js","test:crossbrowser:build":"npm-run-all test:crossbrowser:build:*","test:crossbrowser:test":"cd ./test/crossbrowser && mocha --compilers ts:ts-node/register test/integration/spec/**/*.ts","test:crossbrowser":"npm-run-all test:crossbrowser:*","test:sdkdriver:build:clean":"rimraf ./test/lib/sdkdriver/lib ./test/lib/sdkdriver/test/integration/browser/index.js","test:sdkdriver:build:lint":"cd ./test/lib/sdkdriver && tslint --project tsconfig.json","test:sdkdriver:build:tsc":"cd ./test/lib/sdkdriver && tsc --rootDir src","test:sdkdriver:build":"npm-run-all test:sdkdriver:build:*","test:sdkdriver:test:unit":"cd ./test/lib/sdkdriver && mocha --compilers ts:ts-node/register test/unit/spec/**/*.ts","test:sdkdriver:test:integration:browser":"cd ./test/lib/sdkdriver/test/integration && browserify browser/browser.js > browser/index.js","test:sdkdriver:test:integration:run":"cd ./test/lib/sdkdriver && mocha --compilers ts:ts-node/register test/integration/spec/**/*.ts","test:sdkdriver:test:integration":"npm-run-all test:sdkdriver:test:integration:*","test:sdkdriver:test":"npm-run-all test:sdkdriver:test:*","test:sdkdriver":"npm-run-all test:sdkdriver:*","test:framework:angular:install":"cd ./test/framework/twilio-video-angular && rimraf ./node_modules package-lock.json && npm install","test:framework:angular:run":"mocha ./test/framework/twilio-video-angular.js","test:framework:angular":"npm-run-all test:framework:angular:*","test:framework:no-framework:run":"mocha ./test/framework/twilio-video-no-framework.js","test:framework:no-framework":"npm-run-all test:framework:no-framework:*","test:framework:react:install":"cd ./test/framework/twilio-video-react && rimraf ./node_modules package-lock.json && npm install","test:framework:react:test":"node ./scripts/framework.js twilio-video-react","test:framework:react:build":"cd ./test/framework/twilio-video-react && npm run build","test:framework:react:run":"mocha ./test/framework/twilio-video-react.js","test:framework:react":"npm-run-all test:framework:react:*","test:framework:install":"npm install chromedriver && npm install selenium-webdriver && npm install geckodriver && npm install puppeteer","test:framework":"npm-run-all test:framework:install test:framework:no-framework test:framework:react",test:"npm-run-all test:unit test:integration","build:es5":"rimraf ./es5 && mkdir -p es5 && tsc tsdef/twilio-video-tests.ts --noEmit --lib es2018,dom && tsc","build:js":"node ./scripts/build.js ./src/twilio-video.js ./LICENSE.md ./dist/twilio-video.js","build:min.js":'uglifyjs ./dist/twilio-video.js -o ./dist/twilio-video.min.js --comments "/^! twilio-video.js/" -b beautify=false,ascii_only=true',build:"npm-run-all clean lint docs test:unit test:integration build:es5 build:js build:min.js test:umd","build:quick":"npm-run-all clean lint docs build:es5 build:js build:min.js",docs:"node ./scripts/docs.js ./dist/docs",watch:"tsc -w",clean:"rimraf ./coverage ./es5 ./dist"},dependencies:{events:"^3.3.0",util:"^0.12.4",ws:"^7.4.6",xmlhttprequest:"^1.8.0"},browser:{ws:"./src/ws.js",xmlhttprequest:"./src/xmlhttprequest.js"}}},{}],175:[function(require,module,exports){module.exports=WebSocket},{}]},{},[12]);var Video=bundle(12);if(typeof define==="function"&&define.amd){define([],function(){return Video})}else{var Twilio=root.Twilio=root.Twilio||{};Twilio.Video=Twilio.Video||Video}})(typeof window!=="undefined"?window:typeof global!=="undefined"?global:this);
|
package/es5/twilioconnection.js
CHANGED
|
@@ -88,6 +88,9 @@ var WS_CLOSE_NETWORK_CHANGED = 3004;
|
|
|
88
88
|
var WS_CLOSE_BUSY_WAIT = 3005;
|
|
89
89
|
var WS_CLOSE_SERVER_BUSY = 3006;
|
|
90
90
|
var WS_CLOSE_OPEN_TIMEOUT = 3007;
|
|
91
|
+
// NOTE(joma): If you want to use close code 3008, please increment
|
|
92
|
+
// the close code in test/integration/spec/docker/reconnection.js
|
|
93
|
+
// line number 492.
|
|
91
94
|
var toplevel = globalThis;
|
|
92
95
|
var WebSocket = toplevel.WebSocket ? toplevel.WebSocket : require('ws');
|
|
93
96
|
var CloseReason = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"twilioconnection.js","sourceRoot":"","sources":["../lib/twilioconnection.js"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"twilioconnection.js","sourceRoot":"","sources":["../lib/twilioconnection.js"],"names":[],"mappings":"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"}
|
package/es5/webrtc/getstats.js
CHANGED
|
@@ -62,9 +62,7 @@ function _getStats(peerConnection, options) {
|
|
|
62
62
|
], function (_a) {
|
|
63
63
|
var _b = __read(_a, 3), tracks = _b[0], statsArrayName = _b[1], isRemote = _b[2];
|
|
64
64
|
return tracks.map(function (track) {
|
|
65
|
-
return getTrackStats(peerConnection, track, Object.assign({
|
|
66
|
-
isRemote: isRemote
|
|
67
|
-
}, options)).then(function (trackStatsArray) {
|
|
65
|
+
return getTrackStats(peerConnection, track, Object.assign({ isRemote: isRemote }, options)).then(function (trackStatsArray) {
|
|
68
66
|
trackStatsArray.forEach(function (trackStats) {
|
|
69
67
|
trackStats.trackId = track.id;
|
|
70
68
|
statsResponse[statsArrayName].push(trackStats);
|
|
@@ -458,7 +456,7 @@ function standardizeChromeOrSafariStats(response) {
|
|
|
458
456
|
break;
|
|
459
457
|
}
|
|
460
458
|
});
|
|
461
|
-
var isRemote = track
|
|
459
|
+
var isRemote = track ? track.remoteSource : !localMedia;
|
|
462
460
|
var mainSources = isRemote ? [inbound] : outbound;
|
|
463
461
|
var stats = [];
|
|
464
462
|
var remoteSource = isRemote ? remoteOutbound : remoteInbound; // remote rtp stats
|
|
@@ -503,7 +501,7 @@ function standardizeChromeOrSafariStats(response) {
|
|
|
503
501
|
}
|
|
504
502
|
else {
|
|
505
503
|
standardizedStats.frameWidthSent = frameWidth;
|
|
506
|
-
standardizedStats.frameWidthInput = track.frameWidth;
|
|
504
|
+
standardizedStats.frameWidthInput = track ? track.frameWidth : localMedia.width;
|
|
507
505
|
}
|
|
508
506
|
}
|
|
509
507
|
var frameHeight = getStatValue('frameHeight');
|
|
@@ -513,7 +511,7 @@ function standardizeChromeOrSafariStats(response) {
|
|
|
513
511
|
}
|
|
514
512
|
else {
|
|
515
513
|
standardizedStats.frameHeightSent = frameHeight;
|
|
516
|
-
standardizedStats.frameHeightInput = track.frameHeight;
|
|
514
|
+
standardizedStats.frameHeightInput = track ? track.frameHeight : localMedia.height;
|
|
517
515
|
}
|
|
518
516
|
}
|
|
519
517
|
var framesPerSecond = getStatValue('framesPerSecond');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getstats.js","sourceRoot":"","sources":["../../lib/webrtc/getstats.js"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"getstats.js","sourceRoot":"","sources":["../../lib/webrtc/getstats.js"],"names":[],"mappings":"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"}
|
package/lib/twilioconnection.js
CHANGED
|
@@ -61,6 +61,10 @@ const WS_CLOSE_BUSY_WAIT = 3005;
|
|
|
61
61
|
const WS_CLOSE_SERVER_BUSY = 3006;
|
|
62
62
|
const WS_CLOSE_OPEN_TIMEOUT = 3007;
|
|
63
63
|
|
|
64
|
+
// NOTE(joma): If you want to use close code 3008, please increment
|
|
65
|
+
// the close code in test/integration/spec/docker/reconnection.js
|
|
66
|
+
// line number 492.
|
|
67
|
+
|
|
64
68
|
const toplevel = globalThis;
|
|
65
69
|
const WebSocket = toplevel.WebSocket ? toplevel.WebSocket : require('ws');
|
|
66
70
|
|
package/lib/webrtc/getstats.js
CHANGED
|
@@ -53,9 +53,7 @@ function _getStats(peerConnection, options) {
|
|
|
53
53
|
[remoteVideoTracks, 'remoteVideoTrackStats', true]
|
|
54
54
|
], ([tracks, statsArrayName, isRemote]) => {
|
|
55
55
|
return tracks.map(track => {
|
|
56
|
-
return getTrackStats(peerConnection, track, Object.assign({
|
|
57
|
-
isRemote: isRemote
|
|
58
|
-
}, options)).then(trackStatsArray => {
|
|
56
|
+
return getTrackStats(peerConnection, track, Object.assign({ isRemote }, options)).then(trackStatsArray => {
|
|
59
57
|
trackStatsArray.forEach(trackStats => {
|
|
60
58
|
trackStats.trackId = track.id;
|
|
61
59
|
statsResponse[statsArrayName].push(trackStats);
|
|
@@ -470,7 +468,7 @@ function standardizeChromeOrSafariStats(response) {
|
|
|
470
468
|
}
|
|
471
469
|
});
|
|
472
470
|
|
|
473
|
-
const isRemote = track
|
|
471
|
+
const isRemote = track ? track.remoteSource : !localMedia;
|
|
474
472
|
const mainSources = isRemote ? [inbound] : outbound;
|
|
475
473
|
const stats = [];
|
|
476
474
|
const remoteSource = isRemote ? remoteOutbound : remoteInbound; // remote rtp stats
|
|
@@ -523,7 +521,7 @@ function standardizeChromeOrSafariStats(response) {
|
|
|
523
521
|
standardizedStats.frameWidthReceived = frameWidth;
|
|
524
522
|
} else {
|
|
525
523
|
standardizedStats.frameWidthSent = frameWidth;
|
|
526
|
-
standardizedStats.frameWidthInput = track.frameWidth;
|
|
524
|
+
standardizedStats.frameWidthInput = track ? track.frameWidth : localMedia.width;
|
|
527
525
|
}
|
|
528
526
|
}
|
|
529
527
|
|
|
@@ -533,7 +531,7 @@ function standardizeChromeOrSafariStats(response) {
|
|
|
533
531
|
standardizedStats.frameHeightReceived = frameHeight;
|
|
534
532
|
} else {
|
|
535
533
|
standardizedStats.frameHeightSent = frameHeight;
|
|
536
|
-
standardizedStats.frameHeightInput = track.frameHeight;
|
|
534
|
+
standardizedStats.frameHeightInput = track ? track.frameHeight : localMedia.height;
|
|
537
535
|
}
|
|
538
536
|
}
|
|
539
537
|
|
package/package.json
CHANGED
package/tsdef/AudioTrack.d.ts
CHANGED
|
@@ -1,16 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { MediaTrack } from './MediaTrack';
|
|
2
2
|
|
|
3
|
-
export class AudioTrack extends
|
|
4
|
-
isStarted: boolean;
|
|
5
|
-
isEnabled: boolean;
|
|
3
|
+
export class AudioTrack extends MediaTrack {
|
|
6
4
|
kind: 'audio';
|
|
7
|
-
mediaStreamTrack: MediaStreamTrack;
|
|
8
|
-
|
|
9
|
-
attach(element?: HTMLMediaElement | string): HTMLMediaElement;
|
|
10
|
-
detach(element?: HTMLMediaElement | string): HTMLMediaElement[];
|
|
11
|
-
|
|
12
|
-
on(event: 'disabled', listener: (track: this) => void): this;
|
|
13
|
-
on(event: 'enabled', listener: (track: this) => void): this;
|
|
14
|
-
on(event: 'started', listener: (track: this) => void): this;
|
|
15
|
-
on(event: string, listener: (...args: any[]) => void): this;
|
|
16
5
|
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Track } from './Track';
|
|
2
|
+
|
|
3
|
+
export class MediaTrack extends Track {
|
|
4
|
+
isStarted: boolean;
|
|
5
|
+
isEnabled: boolean;
|
|
6
|
+
mediaStreamTrack: MediaStreamTrack;
|
|
7
|
+
|
|
8
|
+
attach(element?: HTMLMediaElement | string): HTMLMediaElement;
|
|
9
|
+
detach(element: HTMLMediaElement | string): HTMLMediaElement;
|
|
10
|
+
detach(): HTMLMediaElement[];
|
|
11
|
+
|
|
12
|
+
on(event: 'disabled', listener: (track: this) => void): this;
|
|
13
|
+
on(event: 'enabled', listener: (track: this) => void): this;
|
|
14
|
+
on(event: 'started', listener: (track: this) => void): this;
|
|
15
|
+
on(event: string, listener: (...args: any[]) => void): this;
|
|
16
|
+
}
|
package/tsdef/VideoTrack.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { MediaTrack } from './MediaTrack';
|
|
2
2
|
import { VideoProcessor } from './VideoProcessor';
|
|
3
3
|
|
|
4
4
|
export namespace VideoTrack {
|
|
@@ -8,22 +8,12 @@ export namespace VideoTrack {
|
|
|
8
8
|
}
|
|
9
9
|
}
|
|
10
10
|
|
|
11
|
-
export class VideoTrack extends
|
|
12
|
-
isStarted: boolean;
|
|
13
|
-
isEnabled: boolean;
|
|
11
|
+
export class VideoTrack extends MediaTrack {
|
|
14
12
|
dimensions: VideoTrack.Dimensions;
|
|
15
13
|
kind: 'video';
|
|
16
14
|
processor: VideoProcessor | null;
|
|
17
|
-
mediaStreamTrack: MediaStreamTrack;
|
|
18
15
|
processedTrack: MediaStreamTrack | null;
|
|
19
16
|
|
|
20
17
|
addProcessor(processor: VideoProcessor): this;
|
|
21
18
|
removeProcessor(processor: VideoProcessor): this;
|
|
22
|
-
attach(element?: HTMLMediaElement | string): HTMLVideoElement;
|
|
23
|
-
detach(element?: HTMLMediaElement | string): HTMLVideoElement[];
|
|
24
|
-
|
|
25
|
-
on(event: 'disabled', listener: (track: this) => void): this;
|
|
26
|
-
on(event: 'enabled', listener: (track: this) => void): this;
|
|
27
|
-
on(event: 'started', listener: (track: this) => void): this;
|
|
28
|
-
on(event: string, listener: (...args: any[]) => void): this;
|
|
29
19
|
}
|
package/tsdef/index.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ export const isSupported: boolean;
|
|
|
12
12
|
export const version:string;
|
|
13
13
|
export const Logger: Log.RootLogger;
|
|
14
14
|
export function connect(token: string, options?: ConnectOptions): CancelablePromise<Room>;
|
|
15
|
-
export function createLocalAudioTrack(options?:
|
|
15
|
+
export function createLocalAudioTrack(options?: CreateLocalTrackOptions|CreateLocalAudioTrackOptions): Promise<LocalAudioTrack>;
|
|
16
16
|
export function createLocalTracks(options?: CreateLocalTracksOptions): Promise<LocalTrack[]>;
|
|
17
17
|
export function createLocalVideoTrack(options?: CreateLocalTrackOptions): Promise<LocalVideoTrack>;
|
|
18
18
|
export function runPreflight(token: string, options?: PreflightOptions): PreflightTest;
|
|
@@ -43,6 +43,9 @@ export { Room } from './Room';
|
|
|
43
43
|
export { Track } from './Track';
|
|
44
44
|
export { TrackPublication } from './TrackPublication';
|
|
45
45
|
export { TwilioError } from './TwilioError';
|
|
46
|
+
export { VideoProcessor } from './VideoProcessor';
|
|
47
|
+
export { VideoTrack } from './VideoTrack';
|
|
48
|
+
|
|
46
49
|
export {
|
|
47
50
|
AudioCodec,
|
|
48
51
|
AudioCodecSettings,
|
|
@@ -93,5 +96,3 @@ export {
|
|
|
93
96
|
VideoTrackPublication,
|
|
94
97
|
VP8CodecSettings
|
|
95
98
|
} from './types';
|
|
96
|
-
export { VideoProcessor } from './VideoProcessor';
|
|
97
|
-
export { VideoTrack } from './VideoTrack';
|
|
@@ -346,6 +346,9 @@ function trackSubscribed(track: Video.VideoTrack | Video.AudioTrack) {
|
|
|
346
346
|
}
|
|
347
347
|
|
|
348
348
|
function trackUnsubscribed(track: Video.VideoTrack | Video.AudioTrack) {
|
|
349
|
+
const element = document.createElement(track.kind);
|
|
350
|
+
track.detach('#foo').remove();
|
|
351
|
+
track.detach(element).remove();
|
|
349
352
|
track.detach().forEach(element => element.remove());
|
|
350
353
|
}
|
|
351
354
|
|