From b1c568a8b7a8eb60aeda4204523e9d7f69809c91 Mon Sep 17 00:00:00 2001 From: Michael FIG Date: Fri, 5 Apr 2019 08:40:38 -0600 Subject: [PATCH] Update mediasoup-client on install. Fixes #5. --- app/mediasoup-client.js | 4 +-- package-lock.json | 58 ++++++++++++++++++++++++++++------------- package.json | 5 ++-- 3 files changed, 45 insertions(+), 22 deletions(-) diff --git a/app/mediasoup-client.js b/app/mediasoup-client.js index 2507d70..99c5ce8 100644 --- a/app/mediasoup-client.js +++ b/app/mediasoup-client.js @@ -1,9 +1,9 @@ /* - * mediasoup-client v2.4.0 + * mediasoup-client v2.4.10 * mediasoup client side JavaScript SDK * https://mediasoup.org * Copyright © 2017, Iñaki Baz Castillo * License: ISC */ -!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).mediasoupClient=e()}}(function(){return function(){return function e(t,r,n){function o(i,s){if(!r[i]){if(!t[i]){var c="function"==typeof require&&require;if(!s&&c)return c(i,!0);if(a)return a(i,!0);var u=new Error("Cannot find module '"+i+"'");throw u.code="MODULE_NOT_FOUND",u}var d=r[i]={exports:{}};t[i][0].call(d.exports,function(e){return o(t[i][1][e]||e)},d,d.exports,e,t,r,n)}return r[i].exports}for(var a="function"==typeof require&&require,i=0;i0&&void 0!==arguments[0]?arguments[0]:f;m.debug("enableStats() [interval:%s]",e),this._closed?m.error("enableStats() | Consumer closed"):this._statsEnabled||(this._statsInterval="number"!=typeof e||e<1e3?f:e,this._statsEnabled=!0,this._transport&&this._transport.enableConsumerStats(this,this._statsInterval))}},{key:"disableStats",value:function(){m.debug("disableStats()"),this._closed?m.error("disableStats() | Consumer closed"):this._statsEnabled&&(this._statsEnabled=!1,this._transport&&this._transport.disableConsumerStats(this))}},{key:"setSupported",value:function(e){this._supported=e}},{key:"remoteStats",value:function(e){this.safeEmit("stats",e)}},{key:"id",get:function(){return this._id}},{key:"closed",get:function(){return this._closed}},{key:"kind",get:function(){return this._kind}},{key:"rtpParameters",get:function(){return this._rtpParameters}},{key:"peer",get:function(){return this._peer}},{key:"appData",get:function(){return this._appData}},{key:"supported",get:function(){return this._supported}},{key:"transport",get:function(){return this._transport}},{key:"track",get:function(){return this._track}},{key:"locallyPaused",get:function(){return this._locallyPaused}},{key:"remotelyPaused",get:function(){return this._remotelyPaused}},{key:"paused",get:function(){return this._locallyPaused||this._remotelyPaused}},{key:"preferredProfile",get:function(){return this._preferredProfile}},{key:"effectiveProfile",get:function(){return this._effectiveProfile}}])&&c(r.prototype,n),i&&c(r,i),t}();r.default=h},{"./EnhancedEventEmitter":4,"./Logger":5,"./errors":10}],3:[function(e,t,r){(function(t){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=void 0;var n=v(e("bowser")),o=v(e("./Logger")),a=v(e("./handlers/Chrome70")),i=v(e("./handlers/Chrome69")),s=v(e("./handlers/Chrome67")),c=v(e("./handlers/Chrome55")),u=v(e("./handlers/Safari12")),d=v(e("./handlers/Safari11")),l=v(e("./handlers/Firefox65")),p=v(e("./handlers/Firefox59")),f=v(e("./handlers/Firefox50")),m=v(e("./handlers/Edge11")),h=v(e("./handlers/ReactNative"));function v(e){return e&&e.__esModule?e:{default:e}}function y(e,t){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:{};e._detected=!0,e._handlerClass=t,e._flag=r.flag,e._name=r.name,e._version=r.version,e._bowser=r.bowser||{}}},{key:"getFlag",value:function(){return e._detected||e._detect(),e._flag}},{key:"getName",value:function(){return e._detected||e._detect(),e._name}},{key:"getVersion",value:function(){return e._detected||e._detect(),e._version}},{key:"getBowser",value:function(){return e._detected||e._detect(),e._bowser}},{key:"isSupported",value:function(){return e._detected||e._detect(),Boolean(e._handlerClass)}},{key:"_detect",value:function(){if(e._detected=!0,t.navigator&&"ReactNative"===t.navigator.product)e._flag="react-native",e._name="ReactNative",e._version=void 0,e._bowser={},e._handlerClass=h.default;else if(t.navigator&&"string"==typeof t.navigator.userAgent){var r=t.navigator.userAgent,o=n.default.detect(r);e._flag=void 0,e._name=o.name||void 0,e._version=o.version||void 0,e._bowser=o,e._handlerClass=null,n.default.check({chrome:"70",chromium:"70"},!0,r)?(e._flag="chrome",e._handlerClass=a.default):n.default.check({chrome:"69",chromium:"69"},!0,r)?(e._flag="chrome",e._handlerClass=i.default):n.default.check({chrome:"67",chromium:"67"},!0,r)?(e._flag="chrome",e._handlerClass=s.default):n.default.check({chrome:"55",chromium:"55"},!0,r)?(e._flag="chrome",e._handlerClass=c.default):n.default.check({firefox:"65"},!0,r)?(e._flag="firefox",e._handlerClass=l.default):n.default.check({firefox:"59"},!0,r)?(e._flag="firefox",e._handlerClass=p.default):n.default.check({firefox:"50"},!0,r)?(e._flag="firefox",e._handlerClass=f.default):n.default.check({safari:"12.1"},!0,r)?(e._flag="safari",e._handlerClass=u.default):n.default.check({safari:"11"},!0,r)?(e._flag="safari",e._handlerClass=d.default):n.default.check({msedge:"11"},!0,r)&&(e._flag="msedge",e._handlerClass=m.default),n.default.check({opera:"44"},!0,r)&&(e._flag="opera",e._handlerClass=c.default),e.isSupported()?_.debug('browser supported [flag:%s, name:"%s", version:%s, handler:%s]',e._flag,e._name,e._version,e._handlerClass.tag):_.warn("browser not supported [name:%s, version:%s]",e._name,e._version)}else _.warn("device not supported")}},{key:"Handler",get:function(){return e._detected||e._detect(),e._handlerClass}}],(o=null)&&y(r.prototype,o),v&&y(r,v),e}();r.default=g,g._detected=!1,g._flag=void 0,g._name=void 0,g._version=void 0,g._bowser=void 0,g._handlerClass=null}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./Logger":5,"./handlers/Chrome55":11,"./handlers/Chrome67":12,"./handlers/Chrome69":13,"./handlers/Chrome70":14,"./handlers/Edge11":15,"./handlers/Firefox50":16,"./handlers/Firefox59":17,"./handlers/Firefox65":18,"./handlers/ReactNative":19,"./handlers/Safari11":20,"./handlers/Safari12":21,bowser:34}],4:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=void 0;var n,o=e("events"),a=(n=e("./Logger"))&&n.__esModule?n:{default:n};function i(e){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function s(e,t){for(var r=0;r1?t-1:0),n=1;n1?r-1:0),o=1;o0&&void 0!==arguments[0]?arguments[0]:f;h.debug("enableStats() [interval:%s]",e),this._closed?h.error("enableStats() | Producer closed"):this._statsEnabled||(this._statsInterval="number"!=typeof e||e<1e3?f:e,this._statsEnabled=!0,this._transport&&this._transport.enableProducerStats(this,this._statsInterval))}},{key:"disableStats",value:function(){h.debug("disableStats()"),this._closed?h.error("disableStats() | Producer closed"):this._statsEnabled&&(this._statsEnabled=!1,this._transport&&this._transport.disableProducerStats(this))}},{key:"remoteStats",value:function(e){this.safeEmit("stats",e)}},{key:"_handleTrack",value:function(){var e=this;this._track.onended=function(){e._closed||(h.warn('track "ended" event'),e.safeEmit("trackended"))}}},{key:"id",get:function(){return this._id}},{key:"closed",get:function(){return this._closed}},{key:"kind",get:function(){return this._track.kind}},{key:"track",get:function(){return this._track}},{key:"originalTrack",get:function(){return this._originalTrack}},{key:"simulcast",get:function(){return this._simulcast}},{key:"appData",get:function(){return this._appData}},{key:"transport",get:function(){return this._transport}},{key:"rtpParameters",get:function(){return this._rtpParameters}},{key:"locallyPaused",get:function(){return this._locallyPaused}},{key:"remotelyPaused",get:function(){return this._remotelyPaused}},{key:"paused",get:function(){return this._locallyPaused||this._remotelyPaused}}])&&u(r.prototype,n),s&&u(r,s),t}();r.default=v},{"./EnhancedEventEmitter":4,"./Logger":5,"./errors":10,"./utils":33}],8:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=void 0;var n=p(e("./Logger")),o=p(e("./EnhancedEventEmitter")),a=e("./errors"),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){var n=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,r):{};n.get||n.set?Object.defineProperty(t,r,n):t[r]=e[r]}return t.default=e,t}(e("./ortc")),s=p(e("./Device")),c=p(e("./Transport")),u=p(e("./Producer")),d=p(e("./Peer")),l=p(e("./Consumer"));function p(e){return e&&e.__esModule?e:{default:e}}function f(e){return(f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function m(e,t){for(var r=0;r0)throw _.error("%s mandatory room codecs not supported:%o",o.length,o),new a.UnsupportedError("mandatory room codecs not supported",o);n._canSendByKind.audio=i.canSend("audio",n._extendedRtpCapabilities),n._canSendByKind.video=i.canSend("video",n._extendedRtpCapabilities);var s=i.getRtpCapabilities(n._extendedRtpCapabilities);_.debug("join() | effective local RTP capabilities for receiving:%o",s);var c={target:"room",peerName:n._peerName,rtpCapabilities:s,spy:n._settings.spy,appData:t};return n._sendRequest("join",c).then(function(e){return e.peers})}).then(function(e){var t=!0,r=!1,o=void 0;try{for(var a,i=(e||[])[Symbol.iterator]();!(t=(a=i.next()).done);t=!0){var s=a.value;try{n._handlePeerData(s)}catch(e){_.error("join() | error handling Peer:%o",e)}}}catch(e){r=!0,o=e}finally{try{t||null==i.return||i.return()}finally{if(r)throw o}}return n._state=g.joined,_.debug("join() | joined the Room"),n.peers}).catch(function(e){throw n._state=g.new,e}))}},{key:"leave",value:function(e){if(_.debug("leave()"),!this.closed){this._sendNotification("leave",{appData:e}),this._state=g.closed,this.safeEmit("close","local",e);var t=!0,r=!1,n=void 0;try{for(var o,a=this._transports.values()[Symbol.iterator]();!(t=(o=a.next()).done);t=!0)o.value.close()}catch(e){r=!0,n=e}finally{try{t||null==a.return||a.return()}finally{if(r)throw n}}var i=!0,s=!1,c=void 0;try{for(var u,d=this._producers.values()[Symbol.iterator]();!(i=(u=d.next()).done);i=!0)u.value.close()}catch(e){s=!0,c=e}finally{try{i||null==d.return||d.return()}finally{if(s)throw c}}var l=!0,p=!1,f=void 0;try{for(var m,h=this._peers.values()[Symbol.iterator]();!(l=(m=h.next()).done);l=!0)m.value.close()}catch(e){p=!0,f=e}finally{try{l||null==h.return||h.return()}finally{if(p)throw f}}}}},{key:"remoteClose",value:function(e){if(_.debug("remoteClose()"),!this.closed){this._state=g.closed,this.safeEmit("close","remote",e);var t=!0,r=!1,n=void 0;try{for(var o,a=this._transports.values()[Symbol.iterator]();!(t=(o=a.next()).done);t=!0)o.value.remoteClose(null,{destroy:!0})}catch(e){r=!0,n=e}finally{try{t||null==a.return||a.return()}finally{if(r)throw n}}var i=!0,s=!1,c=void 0;try{for(var u,d=this._producers.values()[Symbol.iterator]();!(i=(u=d.next()).done);i=!0)u.value.remoteClose()}catch(e){s=!0,c=e}finally{try{i||null==d.return||d.return()}finally{if(s)throw c}}var l=!0,p=!1,f=void 0;try{for(var m,h=this._peers.values()[Symbol.iterator]();!(l=(m=h.next()).done);l=!0)m.value.remoteClose()}catch(e){p=!0,f=e}finally{try{l||null==h.return||h.return()}finally{if(p)throw f}}}}},{key:"canSend",value:function(e){if("audio"!==e&&"video"!==e)throw new TypeError('invalid kind "'.concat(e,'"'));return!(!this.joined||this._settings.spy)&&this._canSendByKind[e]}},{key:"createTransport",value:function(e,t){var r=this;if(_.debug("createTransport() [direction:%s]",e),!this.joined)throw new a.InvalidStateError('invalid state "'.concat(this._state,'"'));if("send"!==e&&"recv"!==e)throw new TypeError('invalid direction "'.concat(e,'"'));if("send"===e&&this._settings.spy)throw new TypeError("a spy peer cannot send media to the room");var n=new c.default(e,this._extendedRtpCapabilities,this._settings,t);return this._transports.set(n.id,n),n.on("@request",function(e,t,n,o){r._sendRequest(e,t).then(n).catch(o)}),n.on("@notify",function(e,t){r._sendNotification(e,t)}),n.on("@close",function(){r._transports.delete(n.id)}),n}},{key:"createProducer",value:function(e,t,r){var n=this;if(_.debug("createProducer() [track:%o, options:%o]",e,t),!this.joined)throw new a.InvalidStateError('invalid state "'.concat(this._state,'"'));if(this._settings.spy)throw new Error("a spy peer cannot send media to the room");if(!e)throw new TypeError("no track given");if(!this._canSendByKind[e.kind])throw new Error("cannot send ".concat(e.kind));if("ended"===e.readyState)throw new Error('track.readyState is "ended"');t=t||{};var o=new u.default(e,t,r);return this._producers.set(o.id,o),o.on("@close",function(){n._producers.delete(o.id)}),o}},{key:"restartIce",value:function(){if(this.joined){var e=!0,t=!1,r=void 0;try{for(var n,o=this._transports.values()[Symbol.iterator]();!(e=(n=o.next()).done);e=!0)n.value.restartIce()}catch(e){t=!0,r=e}finally{try{e||null==o.return||o.return()}finally{if(t)throw r}}}else _.warn('restartIce() | invalid state "'.concat(this._state,'"'))}},{key:"receiveNotification",value:function(e){var t=this;if(this.closed)return Promise.reject(new a.InvalidStateError("Room closed"));if("object"!==f(e))return Promise.reject(new TypeError("wrong notification Object"));if(!0!==e.notification)return Promise.reject(new TypeError("not a notification"));if("string"!=typeof e.method)return Promise.reject(new TypeError("wrong/missing notification method"));var r=e.method;return _.debug("receiveNotification() [method:%s, notification:%o]",r,e),Promise.resolve().then(function(){switch(r){case"closed":var n=e.appData;t.remoteClose(n);break;case"transportClosed":var o=e.id,a=e.appData,i=t._transports.get(o);if(!i)throw new Error('Transport not found [id:"'.concat(o,'"]'));i.remoteClose(a,{destroy:!1});break;case"transportStats":var s=e.id,c=e.stats,u=t._transports.get(s);if(!u)throw new Error("Transport not found [id:".concat(s,"]"));u.remoteStats(c);break;case"newPeer":var d=e.name;if(t._peers.has(d))throw new Error('Peer already exists [name:"'.concat(d,'"]'));var l=e;t._handlePeerData(l);break;case"peerClosed":var p=e.name,f=e.appData,m=t._peers.get(p);if(!m)throw new Error('no Peer found [name:"'.concat(p,'"]'));m.remoteClose(f);break;case"producerPaused":var h=e.id,v=e.appData,y=t._producers.get(h);if(!y)throw new Error("Producer not found [id:".concat(h,"]"));y.remotePause(v);break;case"producerResumed":var _=e.id,g=e.appData,b=t._producers.get(_);if(!b)throw new Error("Producer not found [id:".concat(_,"]"));b.remoteResume(g);break;case"producerClosed":var P=e.id,w=e.appData,k=t._producers.get(P);if(!k)throw new Error("Producer not found [id:".concat(P,"]"));k.remoteClose(w);break;case"producerStats":var S=e.id,R=e.stats,T=t._producers.get(S);if(!T)throw new Error("Producer not found [id:".concat(S,"]"));T.remoteStats(R);break;case"newConsumer":var C=e.peerName,O=t._peers.get(C);if(!O)throw new Error('no Peer found [name:"'.concat(C,'"]'));var E=e;t._handleConsumerData(E,O);break;case"consumerClosed":var x=e.id,D=e.peerName,j=e.appData,I=t._peers.get(D);if(!I)throw new Error('no Peer found [name:"'.concat(D,'"]'));var L=I.getConsumerById(x);if(!L)throw new Error("Consumer not found [id:".concat(x,"]"));L.remoteClose(j);break;case"consumerPaused":var F=e.id,A=e.peerName,M=e.appData,U=t._peers.get(A);if(!U)throw new Error('no Peer found [name:"'.concat(A,'"]'));var B=U.getConsumerById(F);if(!B)throw new Error("Consumer not found [id:".concat(F,"]"));B.remotePause(M);break;case"consumerResumed":var N=e.id,G=e.peerName,z=e.appData,q=t._peers.get(G);if(!q)throw new Error('no Peer found [name:"'.concat(G,'"]'));var K=q.getConsumerById(N);if(!K)throw new Error("Consumer not found [id:".concat(N,"]"));K.remoteResume(z);break;case"consumerPreferredProfileSet":var V=e.id,W=e.peerName,Q=e.profile,H=t._peers.get(W);if(!H)throw new Error('no Peer found [name:"'.concat(W,'"]'));var $=H.getConsumerById(V);if(!$)throw new Error("Consumer not found [id:".concat(V,"]"));$.remoteSetPreferredProfile(Q);break;case"consumerEffectiveProfileChanged":var Z=e.id,J=e.peerName,X=e.profile,Y=t._peers.get(J);if(!Y)throw new Error('no Peer found [name:"'.concat(J,'"]'));var ee=Y.getConsumerById(Z);if(!ee)throw new Error("Consumer not found [id:".concat(Z,"]"));ee.remoteEffectiveProfileChanged(X);break;case"consumerStats":var te=e.id,re=e.peerName,ne=e.stats,oe=t._peers.get(re);if(!oe)throw new Error('no Peer found [name:"'.concat(re,'"]'));var ae=oe.getConsumerById(te);if(!ae)throw new Error("Consumer not found [id:".concat(te,"]"));ae.remoteStats(ne);break;default:throw new Error('unknown notification method "'.concat(r,'"'))}}).catch(function(t){_.error("receiveNotification() failed [notification:%o]: %s",e,t)})}},{key:"_sendRequest",value:function(e,t){var r=this,n=Object.assign({method:e,target:"peer"},t);return this.closed?(_.error("_sendRequest() | Room closed [method:%s, request:%o]",e,n),Promise.reject(new a.InvalidStateError("Room closed"))):(_.debug("_sendRequest() [method:%s, request:%o]",e,n),new Promise(function(t,o){var i=!1,s=setTimeout(function(){_.error("request failed [method:%s]: timeout",e),i=!0,o(new a.TimeoutError("timeout"))},r._settings.requestTimeout);r.safeEmit("request",n,function(n){if(!i){if(i=!0,clearTimeout(s),r.closed)return _.error("request failed [method:%s]: Room closed",e),void o(new Error("Room closed"));_.debug("request succeeded [method:%s, response:%o]",e,n),t(n)}},function(t){if(!i){if(i=!0,clearTimeout(s),r.closed)return _.error("request failed [method:%s]: Room closed",e),void o(new Error("Room closed"));t instanceof Error||(t=new Error(String(t))),_.error("request failed [method:%s]:%o",e,t),o(t)}})}))}},{key:"_sendNotification",value:function(e,t){if(!this.closed){var r=Object.assign({method:e,target:"peer",notification:!0},t);_.debug("_sendNotification() [method:%s, notification:%o]",e,r),this.safeEmit("notify",r)}}},{key:"_handlePeerData",value:function(e){var t=this,r=e.name,n=e.consumers,o=e.appData,a=new d.default(r,o);this._peers.set(a.name,a),a.on("@close",function(){t._peers.delete(a.name)});var i=!0,s=!1,c=void 0;try{for(var u,l=n[Symbol.iterator]();!(i=(u=l.next()).done);i=!0){var p=u.value;try{this._handleConsumerData(p,a)}catch(e){_.error("error handling existing Consumer in Peer:%o",e)}}}catch(e){s=!0,c=e}finally{try{i||null==l.return||l.return()}finally{if(s)throw c}}this.joined&&this.safeEmit("newpeer",a)}},{key:"_handleConsumerData",value:function(e,t){var r=e.id,n=e.kind,o=e.rtpParameters,a=e.paused,s=e.appData,c=new l.default(r,n,o,t,s);i.canReceive(c.rtpParameters,this._extendedRtpCapabilities)&&c.setSupported(!0),a&&c.remotePause(),t.addConsumer(c)}},{key:"joined",get:function(){return this._state===g.joined}},{key:"closed",get:function(){return this._state===g.closed}},{key:"peerName",get:function(){return this._peerName}},{key:"transports",get:function(){return Array.from(this._transports.values())}},{key:"producers",get:function(){return Array.from(this._producers.values())}},{key:"peers",get:function(){return Array.from(this._peers.values())}}])&&m(r.prototype,n),p&&m(r,p),t}();r.default=b},{"./Consumer":2,"./Device":3,"./EnhancedEventEmitter":4,"./Logger":5,"./Peer":6,"./Producer":7,"./Transport":9,"./errors":10,"./ortc":32}],9:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=void 0;var n=u(e("./Logger")),o=u(e("./EnhancedEventEmitter")),a=e("./errors"),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){var n=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,r):{};n.get||n.set?Object.defineProperty(t,r,n):t[r]=e[r]}return t.default=e,t}(e("./utils")),s=u(e("./Device")),c=u(e("./CommandQueue"));function u(e){return e&&e.__esModule?e:{default:e}}function d(e){return(d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function l(e,t){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:1e3;h.debug("enableStats() [interval:%s]",e),("number"!=typeof e||e<1e3)&&(e=1e3),this._statsEnabled=!0;var t={id:this._id,interval:e};this.safeEmit("@notify","enableTransportStats",t)}},{key:"disableStats",value:function(){h.debug("disableStats()"),this._statsEnabled=!1;var e={id:this._id};this.safeEmit("@notify","disableTransportStats",e)}},{key:"_handleHandler",value:function(){var e=this,t=this._handler;t.on("@connectionstatechange",function(t){e._connectionState!==t&&(h.debug("Transport connection state changed to %s",t),e._connectionState=t,e._closed||e.safeEmit("connectionstatechange",t))}),t.on("@needcreatetransport",function(t,r,n){var o={id:e._id,direction:e._direction,options:e._settings.transportOptions,appData:e._appData};t&&(t.dtlsParameters?o.dtlsParameters=t.dtlsParameters:t.plainRtpParameters&&(o.plainRtpParameters=t.plainRtpParameters)),e.safeEmit("@request","createTransport",o,r,n)}),t.on("@needupdatetransport",function(t){var r={id:e._id};t&&(t.dtlsParameters?r.dtlsParameters=t.dtlsParameters:t.plainRtpParameters&&(r.plainRtpParameters=t.plainRtpParameters)),e.safeEmit("@notify","updateTransport",r)}),t.on("@needupdateproducer",function(t,r){var n={id:t.id,rtpParameters:r};t.setRtpParameters(r),e.safeEmit("@notify","updateProducer",n)})}},{key:"addProducer",value:function(e){return h.debug("addProducer() [producer:%o]",e),this._closed?Promise.reject(new a.InvalidStateError("Transport closed")):"send"!==this._direction?Promise.reject(new Error("not a sending Transport")):this._commandQueue.push("addProducer",{producer:e})}},{key:"removeProducer",value:function(e,t,r){h.debug("removeProducer() [producer:%o]",e),this._closed||this._commandQueue.push("removeProducer",{producer:e}).catch(function(){}),"local"===t&&this.safeEmit("@notify","closeProducer",{id:e.id,appData:r})}},{key:"pauseProducer",value:function(e,t){h.debug("pauseProducer() [producer:%o]",e);var r={id:e.id,appData:t};this.safeEmit("@notify","pauseProducer",r)}},{key:"resumeProducer",value:function(e,t){h.debug("resumeProducer() [producer:%o]",e);var r={id:e.id,appData:t};this.safeEmit("@notify","resumeProducer",r)}},{key:"replaceProducerTrack",value:function(e,t){return h.debug("replaceProducerTrack() [producer:%o]",e),this._commandQueue.push("replaceProducerTrack",{producer:e,track:t})}},{key:"enableProducerStats",value:function(e,t){h.debug("enableProducerStats() [producer:%o]",e);var r={id:e.id,interval:t};this.safeEmit("@notify","enableProducerStats",r)}},{key:"disableProducerStats",value:function(e){h.debug("disableProducerStats() [producer:%o]",e);var t={id:e.id};this.safeEmit("@notify","disableProducerStats",t)}},{key:"addConsumer",value:function(e){return h.debug("addConsumer() [consumer:%o]",e),this._closed?Promise.reject(new a.InvalidStateError("Transport closed")):"recv"!==this._direction?Promise.reject(new Error("not a receiving Transport")):this._commandQueue.push("addConsumer",{consumer:e})}},{key:"removeConsumer",value:function(e){h.debug("removeConsumer() [consumer:%o]",e),this._commandQueue.push("removeConsumer",{consumer:e}).catch(function(){})}},{key:"pauseConsumer",value:function(e,t){h.debug("pauseConsumer() [consumer:%o]",e);var r={id:e.id,appData:t};this.safeEmit("@notify","pauseConsumer",r)}},{key:"resumeConsumer",value:function(e,t){h.debug("resumeConsumer() [consumer:%o]",e);var r={id:e.id,appData:t};this.safeEmit("@notify","resumeConsumer",r)}},{key:"setConsumerPreferredProfile",value:function(e,t){h.debug("setConsumerPreferredProfile() [consumer:%o]",e);var r={id:e.id,profile:t};this.safeEmit("@notify","setConsumerPreferredProfile",r)}},{key:"enableConsumerStats",value:function(e,t){h.debug("enableConsumerStats() [consumer:%o]",e);var r={id:e.id,interval:t};this.safeEmit("@notify","enableConsumerStats",r)}},{key:"disableConsumerStats",value:function(e){h.debug("disableConsumerStats() [consumer:%o]",e);var t={id:e.id};this.safeEmit("@notify","disableConsumerStats",t)}},{key:"remoteStats",value:function(e){this.safeEmit("stats",e)}},{key:"_execCommand",value:function(e,t){var r;try{switch(e.method){case"addProducer":var n=e.producer;r=this._execAddProducer(n);break;case"removeProducer":var o=e.producer;r=this._execRemoveProducer(o);break;case"replaceProducerTrack":var a=e.producer,i=e.track;r=this._execReplaceProducerTrack(a,i);break;case"addConsumer":var s=e.consumer;r=this._execAddConsumer(s);break;case"removeConsumer":var c=e.consumer;r=this._execRemoveConsumer(c);break;case"restartIce":var u=e.remoteIceParameters;r=this._execRestartIce(u);break;default:r=Promise.reject(new Error('unknown command method "'.concat(e.method,'"')))}}catch(e){r=Promise.reject(e)}t.promise=r}},{key:"_execAddProducer",value:function(e){var t,r=this;return h.debug("_execAddProducer()"),Promise.resolve().then(function(){return r._handler.addProducer(e)}).then(function(n){t=n;var o={id:e.id,kind:e.kind,transportId:r._id,rtpParameters:n,paused:e.locallyPaused,appData:e.appData};return r.safeEmitAsPromise("@request","createProducer",o)}).then(function(){e.setRtpParameters(t)})}},{key:"_execRemoveProducer",value:function(e){return h.debug("_execRemoveProducer()"),this._handler.removeProducer(e)}},{key:"_execReplaceProducerTrack",value:function(e,t){return h.debug("_execReplaceProducerTrack()"),this._handler.replaceProducerTrack(e,t)}},{key:"_execAddConsumer",value:function(e){var t,r=this;return h.debug("_execAddConsumer()"),Promise.resolve().then(function(){return r._handler.addConsumer(e)}).then(function(n){t=n;var o={id:e.id,transportId:r.id,paused:e.locallyPaused,preferredProfile:e.preferredProfile};return r.safeEmitAsPromise("@request","enableConsumer",o)}).then(function(r){var n=r.paused,o=r.preferredProfile,a=r.effectiveProfile;return n&&e.remotePause(),o&&e.remoteSetPreferredProfile(o),a&&e.remoteEffectiveProfileChanged(a),t})}},{key:"_execRemoveConsumer",value:function(e){return h.debug("_execRemoveConsumer()"),this._handler.removeConsumer(e)}},{key:"_execRestartIce",value:function(e){return h.debug("_execRestartIce()"),this._handler.restartIce(e)}},{key:"id",get:function(){return this._id}},{key:"closed",get:function(){return this._closed}},{key:"direction",get:function(){return this._direction}},{key:"appData",get:function(){return this._appData}},{key:"connectionState",get:function(){return this._connectionState}},{key:"handler",get:function(){return this._handler}}])&&l(r.prototype,n),u&&l(r,u),t}();r.default=v},{"./CommandQueue":1,"./Device":3,"./EnhancedEventEmitter":4,"./Logger":5,"./errors":10,"./utils":33}],10:[function(e,t,r){"use strict";function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){return!t||"object"!==n(t)&&"function"!=typeof t?s(e):t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&d(e,t)}function s(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function c(e){var t="function"==typeof Map?new Map:void 0;return(c=function(e){if(null===e||(r=e,-1===Function.toString.call(r).indexOf("[native code]")))return e;var r;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return u(e,arguments,l(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),d(n,e)})(e)}function u(e,t,r){return(u=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(e){return!1}}()?Reflect.construct:function(e,t,r){var n=[null];n.push.apply(n,t);var o=new(Function.bind.apply(e,n));return r&&d(o,r.prototype),o}).apply(null,arguments)}function d(e,t){return(d=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function l(e){return(l=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}Object.defineProperty(r,"__esModule",{value:!0}),r.UnsupportedError=r.TimeoutError=r.InvalidStateError=void 0;var p,f,m,h,v=(p=Object,f=p.getPrototypeOf||function(e){return e.__proto__},m=p.setPrototypeOf||function(e,t){return e.__proto__=t,e},h="object"===("undefined"==typeof Reflect?"undefined":n(Reflect))?Reflect.construct:function(e,t,r){var n,o=[null];return o.push.apply(o,t),n=e.bind.apply(e,o),m(new n,r.prototype)},function(e){var t=f(e);return m(e,m(function(){return h(t,arguments,f(this).constructor)},t))}),y=v(function(e){function t(e){var r;return o(this,t),(r=a(this,l(t).call(this,e))).name="InvalidStateError",Error.hasOwnProperty("captureStackTrace")?Error.captureStackTrace(s(s(r)),t):r.stack=new Error(e).stack,r}return i(t,c(Error)),t}());r.InvalidStateError=y;var _=v(function(e){function t(e){var r;return o(this,t),(r=a(this,l(t).call(this,e))).name="TimeoutError",Error.hasOwnProperty("captureStackTrace")?Error.captureStackTrace(s(s(r)),y):r.stack=new Error(e).stack,r}return i(t,c(Error)),t}());r.TimeoutError=_;var g=v(function(e){function t(e,r){var n;return o(this,t),(n=a(this,l(t).call(this,e))).name="UnsupportedError",Error.hasOwnProperty("captureStackTrace")?Error.captureStackTrace(s(s(n)),y):n.stack=new Error(e).stack,n.data=r,n}return i(t,c(Error)),t}());r.UnsupportedError=g},{}],11:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=void 0;var n=p(e("sdp-transform")),o=p(e("../Logger")),a=p(e("../EnhancedEventEmitter")),i=l(e("../utils")),s=l(e("../ortc")),c=l(e("./sdp/commonUtils")),u=l(e("./sdp/planBUtils")),d=p(e("./sdp/RemotePlanBSdp"));function l(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){var n=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,r):{};n.get||n.set?Object.defineProperty(t,r,n):t[r]=e[r]}return t.default=e,t}function p(e){return e&&e.__esModule?e:{default:e}}function f(e){return(f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function m(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function h(e,t){for(var r=0;r0&&(r.groups=[{type:"BUNDLE",mids:o.join(" ")}]),r.media=[];var a=!0,i=!1,s=void 0;try{for(var c,u=(e.media||[])[Symbol.iterator]();!(a=(c=u.next()).done);a=!0){var d=c.value,l="inactive"===d.direction,p=d.type,f=this._rtpParametersByKind[p].codecs,m=this._rtpParametersByKind[p].headerExtensions,v={};switch(v.type=d.type,v.port=t.port,v.protocol="RTP/AVP",v.connection={ip:t.ip,version:t.version},v.mid=d.mid,d.direction){case"sendrecv":case"sendonly":v.direction="recvonly";break;case"recvonly":case"inactive":v.direction="inactive"}v.rtp=[],v.rtcpFb=[],v.fmtp=[];var y=!0,_=!1,g=void 0;try{for(var b,P=f[Symbol.iterator]();!(y=(b=P.next()).done);y=!0){var w=b.value,k={payload:w.payloadType,codec:w.name,rate:w.clockRate};if(w.channels>1&&(k.encoding=w.channels),v.rtp.push(k),w.parameters){for(var S={payload:w.payloadType,config:""},R=Object.keys(w.parameters),T=0;T0&&(r.groups=[{type:"BUNDLE",mids:o.join(" ")}]),r.media=[];var a=!0,i=!1,s=void 0;try{for(var c,u=e[Symbol.iterator]();!(a=(c=u.next()).done);a=!0){var d=c.value,l=d.closed,p=d.kind,f=this._rtpParametersByKind[p].codecs,m=this._rtpParametersByKind[p].headerExtensions,v={};v.type=p,v.mid=d.mid,v.msid="".concat(d.streamId," ").concat(d.trackId),v.port=t.port,v.protocol="RTP/AVP",v.connection={ip:t.ip,version:t.version},v.direction=l?"inactive":"sendonly",v.rtp=[],v.rtcpFb=[],v.fmtp=[];var y=!0,_=!1,g=void 0;try{for(var b,P=f[Symbol.iterator]();!(y=(b=P.next()).done);y=!0){var w=b.value,k={payload:w.payloadType,codec:w.name,rate:w.clockRate};if(w.channels>1&&(k.encoding=w.channels),v.rtp.push(k),w.parameters){for(var S={payload:w.payloadType,config:""},R=Object.keys(w.parameters),T=0;T1&&(j.encoding=D.channels),_.rtp.push(j),D.parameters){for(var I={payload:D.payloadType,config:""},L=Object.keys(D.parameters),F=0;F1&&(k.encoding=w.channels),c.rtp.push(k),w.parameters){for(var S={payload:w.payloadType,config:""},R=Object.keys(w.parameters),T=0;T0&&(a.groups=[{type:"BUNDLE",mids:i.join(" ")}]),a.media=[];var s=o.fingerprints.length;a.fingerprint={type:o.fingerprints[s-1].algorithm,hash:o.fingerprints[s-1].value};var c=!0,u=!1,d=void 0;try{for(var l,p=(e.media||[])[Symbol.iterator]();!(c=(l=p.next()).done);c=!0){var f=l.value,m="inactive"===f.direction,v=f.type,y=this._rtpParametersByKind[v].codecs,_=this._rtpParametersByKind[v].headerExtensions,g={};g.type=f.type,g.port=7,g.protocol="RTP/SAVPF",g.connection={ip:"127.0.0.1",version:4},g.mid=f.mid,g.iceUfrag=t.usernameFragment,g.icePwd=t.password,g.candidates=[];var b=!0,P=!1,w=void 0;try{for(var k,S=r[Symbol.iterator]();!(b=(k=S.next()).done);b=!0){var R=k.value,T={component:1};T.foundation=R.foundation,T.ip=R.ip,T.port=R.port,T.priority=R.priority,T.transport=R.protocol,T.type=R.type,R.tcpType&&(T.tcptype=R.tcpType),g.candidates.push(T)}}catch(e){P=!0,w=e}finally{try{b||null==S.return||S.return()}finally{if(P)throw w}}switch(g.endOfCandidates="end-of-candidates",g.iceOptions="renomination",o.role){case"client":g.setup="active";break;case"server":g.setup="passive"}switch(f.direction){case"sendrecv":case"sendonly":g.direction="recvonly";break;case"recvonly":case"inactive":g.direction="inactive"}g.rtp=[],g.rtcpFb=[],g.fmtp=[];var C=!0,O=!1,E=void 0;try{for(var x,D=y[Symbol.iterator]();!(C=(x=D.next()).done);C=!0){var j=x.value,I={payload:j.payloadType,codec:j.name,rate:j.clockRate};if(j.channels>1&&(I.encoding=j.channels),g.rtp.push(I),j.parameters){for(var L={payload:j.payloadType,config:""},F=Object.keys(j.parameters),A=0;A0&&(a.groups=[{type:"BUNDLE",mids:i.join(" ")}]),a.media=[];var s=o.fingerprints.length;a.fingerprint={type:o.fingerprints[s-1].algorithm,hash:o.fingerprints[s-1].value};var c=!0,u=!1,d=void 0;try{for(var l,p=e[Symbol.iterator]();!(c=(l=p.next()).done);c=!0){var f=l.value,m=f.closed,v=f.kind,y=void 0,_=void 0;"application"!==f.kind&&(y=this._rtpParametersByKind[v].codecs,_=this._rtpParametersByKind[v].headerExtensions);var g={};"application"!==f.kind?(g.type=v,g.port=7,g.protocol="RTP/SAVPF",g.connection={ip:"127.0.0.1",version:4},g.mid=f.mid,g.msid="".concat(f.streamId," ").concat(f.trackId)):(g.type=v,g.port=9,g.protocol="DTLS/SCTP",g.connection={ip:"127.0.0.1",version:4},g.mid=f.mid),g.iceUfrag=t.usernameFragment,g.icePwd=t.password,g.candidates=[];var b=!0,P=!1,w=void 0;try{for(var k,S=r[Symbol.iterator]();!(b=(k=S.next()).done);b=!0){var R=k.value,T={component:1};T.foundation=R.foundation,T.ip=R.ip,T.port=R.port,T.priority=R.priority,T.transport=R.protocol,T.type=R.type,R.tcpType&&(T.tcptype=R.tcpType),g.candidates.push(T)}}catch(e){P=!0,w=e}finally{try{b||null==S.return||S.return()}finally{if(P)throw w}}if(g.endOfCandidates="end-of-candidates",g.iceOptions="renomination",g.setup="actpass","application"!==f.kind){g.direction=m?"inactive":"sendonly",g.rtp=[],g.rtcpFb=[],g.fmtp=[];var C=!0,O=!1,E=void 0;try{for(var x,D=y[Symbol.iterator]();!(C=(x=D.next()).done);C=!0){var j=x.value,I={payload:j.payloadType,codec:j.name,rate:j.clockRate};if(j.channels>1&&(I.encoding=j.channels),g.rtp.push(I),j.parameters){for(var L={payload:j.payloadType,config:""},F=Object.keys(j.parameters),A=0;A1,A=["low","medium","high"],M=!0,U=!1,B=void 0;try{for(var N,G=y[Symbol.iterator]();!(M=(N=G.next()).done);M=!0){var z=n(N.value,2),q=z[0],C=z[1],K={ssrc:q};C&&(K.rtx={ssrc:C}),F&&(K.profile=A.shift()),e.encodings.push(K)}}catch(e){U=!0,B=e}finally{try{M||null==G.return||G.return()}finally{if(U)throw B}}},r.addSimulcastForTrack=function(e,t){var r,n,o,a=t.kind,i=(e.media||[]).find(function(e){return e.type===a});if(!i)throw new Error("m=".concat(a," section not found"));if(!(i.ssrcs||[]).find(function(e){if("msid"!==e.attribute)return!1;var n=e.value.split(" ")[1];return n===t.id?(r=e.id,o=e.value.split(" ")[0],!0):void 0}))throw new Error("a=ssrc line not found for local track [track.id:".concat(t.id,"]"));(i.ssrcGroups||[]).some(function(e){if("FID"===e.semantics){var t=e.ssrcs.split(/\s+/);return Number(t[0])===r?(n=Number(t[1]),!0):void 0}});var s=i.ssrcs.find(function(e){return"cname"===e.attribute&&e.id===r});if(!s)throw new Error("CNAME line not found for local track [track.id:".concat(t.id,"]"));var c=s.value,u=r+1,d=r+2;if(i.ssrcGroups=i.ssrcGroups||[],i.ssrcGroups.push({semantics:"SIM",ssrcs:"".concat(r," ").concat(u," ").concat(d)}),i.ssrcs.push({id:u,attribute:"cname",value:c}),i.ssrcs.push({id:u,attribute:"msid",value:"".concat(o," ").concat(t.id)}),i.ssrcs.push({id:d,attribute:"cname",value:c}),i.ssrcs.push({id:d,attribute:"msid",value:"".concat(o," ").concat(t.id)}),n){var l=n+1,p=n+2;i.ssrcGroups.push({semantics:"FID",ssrcs:"".concat(u," ").concat(l)}),i.ssrcs.push({id:l,attribute:"cname",value:c}),i.ssrcs.push({id:l,attribute:"msid",value:"".concat(o," ").concat(t.id)}),i.ssrcGroups.push({semantics:"FID",ssrcs:"".concat(d," ").concat(p)}),i.ssrcs.push({id:p,attribute:"cname",value:c}),i.ssrcs.push({id:p,attribute:"msid",value:"".concat(o," ").concat(t.id)})}}},{}],29:[function(e,t,r){"use strict";function n(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=[],n=!0,o=!1,a=void 0;try{for(var i,s=e[Symbol.iterator]();!(n=(i=s.next()).done)&&(r.push(i.value),!t||r.length!==t);n=!0);}catch(e){o=!0,a=e}finally{try{n||null==s.return||s.return()}finally{if(o)throw a}}return r}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function o(e,t,r){var n;if(null!=r){if(r=String(r),!(n=(e.media||[]).find(function(e){return String(e.mid)===r})))throw new Error("SDP section with mid=".concat(r," not found"))}else if(!(n=(e.media||[]).find(function(e){return e.type===t.kind&&e.msid&&e.msid.split(" ")[1]===t.id})))throw new Error("SDP section with a=msid containing track.id=".concat(t.id," not found"));return n}Object.defineProperty(r,"__esModule",{value:!0}),r.fillRtpParametersForTrack=function(e,t,r){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=a.mid,s=void 0===i?null:i,c=a.planBSimulcast,u=void 0!==c&&c,d=o(t,r,s);e.rtcp={cname:null,reducedSize:!0,mux:!0};var l=(d.ssrcs||[]).find(function(e){return"cname"===e.attribute});if(!l)throw new Error("CNAME value not found");if(e.rtcp.cname=l.value,u){var p,f=new Set,m=!0,h=!1,v=void 0;try{for(var y,_=(d.ssrcs||[])[Symbol.iterator]();!(m=(y=_.next()).done);m=!0){var g=y.value;if("msid"===g.attribute){var b=g.id;f.add(b),p||(p=b)}}}catch(e){h=!0,v=e}finally{try{m||null==_.return||_.return()}finally{if(h)throw v}}if(0===f.size)throw new Error("no a=ssrc lines found");var P=new Map,w=!0,k=!1,S=void 0;try{for(var R,T=(d.ssrcGroups||[])[Symbol.iterator]();!(w=(R=T.next()).done);w=!0){var C=R.value;if("FID"===C.semantics){var O=C.ssrcs.split(/\s+/),E=n(O,2),x=E[0],D=E[1];x=Number(x),D=Number(D),f.has(x)&&(f.delete(x),f.delete(D),P.set(x,D))}}}catch(e){k=!0,S=e}finally{try{w||null==T.return||T.return()}finally{if(k)throw S}}var j=!0,I=!1,L=void 0;try{for(var F,A=f[Symbol.iterator]();!(j=(F=A.next()).done);j=!0){var M=F.value;P.set(M,null)}}catch(e){I=!0,L=e}finally{try{j||null==A.return||A.return()}finally{if(I)throw L}}e.encodings=[];var U=P.size>1,B=["low","medium","high"],N=!0,G=!1,z=void 0;try{for(var q,K=P[Symbol.iterator]();!(N=(q=K.next()).done);N=!0){var V=n(q.value,2),W=V[0],D=V[1],Q={ssrc:W};D&&(Q.rtx={ssrc:D}),U&&(Q.profile=B.shift()),e.encodings.push(Q)}}catch(e){G=!0,z=e}finally{try{N||null==K.return||K.return()}finally{if(G)throw z}}}else{var H=l.id,$=[],Z=!0,J=!1,X=void 0;try{for(var Y,ee=(d.rids||[])[Symbol.iterator]();!(Z=(Y=ee.next()).done);Z=!0){var te=Y.value;"send"===te.direction&&(/^low/.test(te.id)?$.push({rid:te.id,profile:"low"}):/^medium/.test(te.id)&&$.push({rid:te.id,profile:"medium"}),/^high/.test(te.id)&&$.push({rid:te.id,profile:"high"}))}}catch(e){J=!0,X=e}finally{try{Z||null==ee.return||ee.return()}finally{if(J)throw X}}if(e.encodings=[],0===$.length){var re={ssrc:H};e.encodings.push(re)}else for(var ne=0;ne<$.length;ne++){var oe=$[ne],ae={encodingId:oe.rid,profile:oe.profile};e.encodings.push(ae)}}},r.addPlanBSimulcast=function(e,t){var r=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).mid,n=o(e,t,void 0===r?null:r),a=(n.ssrcs||[]).find(function(e){return"msid"===e.attribute});if(!a)throw new Error("a=ssrc line with msid information not found");var i,s=a.id,c=a.value.split(" ")[0];(n.ssrcGroups||[]).some(function(e){if("FID"===e.semantics){var t=e.ssrcs.split(/\s+/);return Number(t[0])===s?(i=Number(t[1]),!0):void 0}});var u=n.ssrcs.find(function(e){return"cname"===e.attribute&&e.id===s});if(!u)throw new Error("CNAME line not found");var d=u.value,l=s+1,p=s+2;if(n.ssrcGroups=[],n.ssrcs=[],n.ssrcGroups.push({semantics:"SIM",ssrcs:"".concat(s," ").concat(l," ").concat(p)}),n.ssrcs.push({id:s,attribute:"cname",value:d}),n.ssrcs.push({id:s,attribute:"msid",value:"".concat(c," ").concat(t.id)}),n.ssrcs.push({id:l,attribute:"cname",value:d}),n.ssrcs.push({id:l,attribute:"msid",value:"".concat(c," ").concat(t.id)}),n.ssrcs.push({id:p,attribute:"cname",value:d}),n.ssrcs.push({id:p,attribute:"msid",value:"".concat(c," ").concat(t.id)}),i){var f=i+1,m=i+2;n.ssrcGroups.push({semantics:"FID",ssrcs:"".concat(s," ").concat(i)}),n.ssrcs.push({id:i,attribute:"cname",value:d}),n.ssrcs.push({id:i,attribute:"msid",value:"".concat(c," ").concat(t.id)}),n.ssrcGroups.push({semantics:"FID",ssrcs:"".concat(l," ").concat(f)}),n.ssrcs.push({id:f,attribute:"cname",value:d}),n.ssrcs.push({id:f,attribute:"msid",value:"".concat(c," ").concat(t.id)}),n.ssrcGroups.push({semantics:"FID",ssrcs:"".concat(p," ").concat(m)}),n.ssrcs.push({id:m,attribute:"cname",value:d}),n.ssrcs.push({id:m,attribute:"msid",value:"".concat(c," ").concat(t.id)})}}},{}],30:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.setDeviceHandler=function(e,t){o.default.setHandler(e,t)},r.isDeviceSupported=function(){return o.default.isSupported()},r.getDeviceInfo=function(){return{flag:o.default.getFlag(),name:o.default.getName(),version:o.default.getVersion(),bowser:o.default.getBowser()}},r.checkCapabilitiesForRoom=function(e){return o.default.isSupported()?o.default.Handler.getNativeRtpCapabilities().then(function(t){var r=n.getExtendedRtpCapabilities(t,e);return{audio:n.canSend("audio",r),video:n.canSend("video",r)}}):Promise.reject(new Error("current browser/device not supported"))},Object.defineProperty(r,"Room",{enumerable:!0,get:function(){return a.default}}),r.internals=void 0;var n=c(e("./ortc")),o=s(e("./Device")),a=s(e("./Room")),i=c(e("./internals"));function s(e){return e&&e.__esModule?e:{default:e}}function c(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){var n=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,r):{};n.get||n.set?Object.defineProperty(t,r,n):t[r]=e[r]}return t.default=e,t}r.internals=i},{"./Device":3,"./Room":8,"./internals":31,"./ortc":32}],31:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"Logger",{enumerable:!0,get:function(){return n.default}}),Object.defineProperty(r,"EnhancedEventEmitter",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(r,"RemoteUnifiedPlanSdp",{enumerable:!0,get:function(){return l.default}}),Object.defineProperty(r,"RemotePlanBSdp",{enumerable:!0,get:function(){return p.default}}),Object.defineProperty(r,"RemotePlainRtpSdp",{enumerable:!0,get:function(){return f.default}}),r.sdpPlainRtpUtils=r.sdpPlanBUtils=r.sdpUnifiedPlanUtils=r.sdpCommonUtils=r.ortc=r.utils=void 0;var n=h(e("./Logger")),o=h(e("./EnhancedEventEmitter")),a=m(e("./utils"));r.utils=a;var i=m(e("./ortc"));r.ortc=i;var s=m(e("./handlers/sdp/commonUtils"));r.sdpCommonUtils=s;var c=m(e("./handlers/sdp/unifiedPlanUtils"));r.sdpUnifiedPlanUtils=c;var u=m(e("./handlers/sdp/planBUtils"));r.sdpPlanBUtils=u;var d=m(e("./handlers/sdp/plainRtpUtils"));r.sdpPlainRtpUtils=d;var l=h(e("./handlers/sdp/RemoteUnifiedPlanSdp")),p=h(e("./handlers/sdp/RemotePlanBSdp")),f=h(e("./handlers/sdp/RemotePlainRtpSdp"));function m(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){var n=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,r):{};n.get||n.set?Object.defineProperty(t,r,n):t[r]=e[r]}return t.default=e,t}function h(e){return e&&e.__esModule?e:{default:e}}},{"./EnhancedEventEmitter":4,"./Logger":5,"./handlers/sdp/RemotePlainRtpSdp":23,"./handlers/sdp/RemotePlanBSdp":24,"./handlers/sdp/RemoteUnifiedPlanSdp":25,"./handlers/sdp/commonUtils":26,"./handlers/sdp/plainRtpUtils":27,"./handlers/sdp/planBUtils":28,"./handlers/sdp/unifiedPlanUtils":29,"./ortc":32,"./utils":33}],32:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.getExtendedRtpCapabilities=function(e,t){var r={codecs:[],headerExtensions:[],fecMechanisms:[]},n=!0,o=!1,a=void 0;try{for(var i,s=function(){var t=i.value;if("rtx"===t.name)return"continue";var n=(e.codecs||[]).find(function(e){return function(e,t){var r=e.mimeType.toLowerCase(),n=t.mimeType.toLowerCase();if(r!==n)return!1;if(e.clockRate!==t.clockRate)return!1;if(e.channels!==t.channels)return!1;if("video/h264"===r){var o=(e.parameters||{})["packetization-mode"]||0,a=(t.parameters||{})["packetization-mode"]||0;if(o!==a)return!1}return!0}(e,t)});if(n){var o={name:t.name,mimeType:t.mimeType,kind:t.kind,clockRate:t.clockRate,sendPayloadType:n.preferredPayloadType,sendRtxPayloadType:null,recvPayloadType:t.preferredPayloadType,recvRtxPayloadType:null,channels:t.channels,rtcpFeedback:function(e,t){var r=[],n=!0,o=!1,a=void 0;try{for(var i,s=function(){var e=i.value,n=(t.rtcpFeedback||[]).find(function(t){return t.type===e.type&&t.parameter===e.parameter});n&&r.push(n)},c=(e.rtcpFeedback||[])[Symbol.iterator]();!(n=(i=c.next()).done);n=!0)s()}catch(e){o=!0,a=e}finally{try{n||null==c.return||c.return()}finally{if(o)throw a}}return r}(n,t),parameters:t.parameters};o.channels||delete o.channels,r.codecs.push(o)}},c=(t.codecs||[])[Symbol.iterator]();!(n=(i=c.next()).done);n=!0)s()}catch(e){o=!0,a=e}finally{try{n||null==c.return||c.return()}finally{if(o)throw a}}var u=!0,d=!1,l=void 0;try{for(var p,f=function(){var r=p.value,n=(e.codecs||[]).find(function(e){return"rtx"===e.name&&e.parameters.apt===r.sendPayloadType}),o=(t.codecs||[]).find(function(e){return"rtx"===e.name&&e.parameters.apt===r.recvPayloadType});n&&o&&(r.sendRtxPayloadType=n.preferredPayloadType,r.recvRtxPayloadType=o.preferredPayloadType)},m=(r.codecs||[])[Symbol.iterator]();!(u=(p=m.next()).done);u=!0)f()}catch(e){d=!0,l=e}finally{try{u||null==m.return||m.return()}finally{if(d)throw l}}var h=!0,v=!1,y=void 0;try{for(var _,g=function(){var t=_.value,n=(e.headerExtensions||[]).find(function(e){return n=t,!((r=e).kind&&n.kind&&r.kind!==n.kind||r.uri!==n.uri);var r,n});if(n){var o={kind:t.kind,uri:t.uri,sendId:n.preferredId,recvId:t.preferredId};r.headerExtensions.push(o)}},b=(t.headerExtensions||[])[Symbol.iterator]();!(h=(_=b.next()).done);h=!0)g()}catch(e){v=!0,y=e}finally{try{h||null==b.return||b.return()}finally{if(v)throw y}}return r},r.getRtpCapabilities=function(e){var t={codecs:[],headerExtensions:[],fecMechanisms:[]},r=!0,n=!1,o=void 0;try{for(var a,i=e.codecs[Symbol.iterator]();!(r=(a=i.next()).done);r=!0){var s=a.value,c={name:s.name,mimeType:s.mimeType,kind:s.kind,clockRate:s.clockRate,preferredPayloadType:s.recvPayloadType,channels:s.channels,rtcpFeedback:s.rtcpFeedback,parameters:s.parameters};if(c.channels||delete c.channels,t.codecs.push(c),s.recvRtxPayloadType){var u={name:"rtx",mimeType:"".concat(s.kind,"/rtx"),kind:s.kind,clockRate:s.clockRate,preferredPayloadType:s.recvRtxPayloadType,parameters:{apt:s.recvPayloadType}};t.codecs.push(u)}}}catch(e){n=!0,o=e}finally{try{r||null==i.return||i.return()}finally{if(n)throw o}}var d=!0,l=!1,p=void 0;try{for(var f,m=e.headerExtensions[Symbol.iterator]();!(d=(f=m.next()).done);d=!0){var h=f.value,v={kind:h.kind,uri:h.uri,preferredId:h.recvId};t.headerExtensions.push(v)}}catch(e){l=!0,p=e}finally{try{d||null==m.return||m.return()}finally{if(l)throw p}}return t.fecMechanisms=e.fecMechanisms,t},r.getUnsupportedCodecs=function(e,t,r){if(!Array.isArray(t))return[];var n=[],o=e.codecs,a=r.codecs,i=!0,s=!1,c=void 0;try{for(var u,d=function(){var e=u.value;if(!a.some(function(t){return t.recvPayloadType===e})){var t=o.find(function(t){return t.preferredPayloadType===e});if(!t)throw new Error("mandatory codec PT ".concat(e," not found in remote codecs"));n.push(t)}},l=t[Symbol.iterator]();!(i=(u=l.next()).done);i=!0)d()}catch(e){s=!0,c=e}finally{try{i||null==l.return||l.return()}finally{if(s)throw c}}return n},r.canSend=function(e,t){return t.codecs.some(function(t){return t.kind===e})},r.canReceive=function(e,t){if(0===e.codecs.length)return!1;var r=e.codecs[0];return t.codecs.some(function(e){return e.recvPayloadType===r.payloadType})},r.getSendingRtpParameters=function(e,t){var r={muxId:null,codecs:[],headerExtensions:[],encodings:[],rtcp:{}},n=!0,o=!1,a=void 0;try{for(var i,s=t.codecs[Symbol.iterator]();!(n=(i=s.next()).done);n=!0){var c=i.value;if(c.kind===e){var u={name:c.name,mimeType:c.mimeType,clockRate:c.clockRate,payloadType:c.sendPayloadType,channels:c.channels,rtcpFeedback:c.rtcpFeedback,parameters:c.parameters};if(u.channels||delete u.channels,r.codecs.push(u),c.sendRtxPayloadType){var d={name:"rtx",mimeType:"".concat(c.kind,"/rtx"),clockRate:c.clockRate,payloadType:c.sendRtxPayloadType,parameters:{apt:c.sendPayloadType}};r.codecs.push(d)}break}}}catch(e){o=!0,a=e}finally{try{n||null==s.return||s.return()}finally{if(o)throw a}}var l=!0,p=!1,f=void 0;try{for(var m,h=t.headerExtensions[Symbol.iterator]();!(l=(m=h.next()).done);l=!0){var v=m.value;if(!v.kind||v.kind===e){var y={uri:v.uri,id:v.sendId};r.headerExtensions.push(y)}}}catch(e){p=!0,f=e}finally{try{l||null==h.return||h.return()}finally{if(p)throw f}}return r},r.getReceivingFullRtpParameters=function(e,t){var r={muxId:null,codecs:[],headerExtensions:[],encodings:[],rtcp:{}},n=!0,o=!1,a=void 0;try{for(var i,s=t.codecs[Symbol.iterator]();!(n=(i=s.next()).done);n=!0){var c=i.value;if(c.kind===e){var u={name:c.name,mimeType:c.mimeType,clockRate:c.clockRate,payloadType:c.recvPayloadType,channels:c.channels,rtcpFeedback:c.rtcpFeedback,parameters:c.parameters};if(u.channels||delete u.channels,r.codecs.push(u),c.recvRtxPayloadType){var d={name:"rtx",mimeType:"".concat(c.kind,"/rtx"),clockRate:c.clockRate,payloadType:c.recvRtxPayloadType,parameters:{apt:c.recvPayloadType}};r.codecs.push(d)}}}}catch(e){o=!0,a=e}finally{try{n||null==s.return||s.return()}finally{if(o)throw a}}var l=!0,p=!1,f=void 0;try{for(var m,h=t.headerExtensions[Symbol.iterator]();!(l=(m=h.next()).done);l=!0){var v=m.value;if(!v.kind||v.kind===e){var y={uri:v.uri,id:v.recvId};r.headerExtensions.push(y)}}}catch(e){p=!0,f=e}finally{try{l||null==h.return||h.return()}finally{if(p)throw f}}return r}},{}],33:[function(e,t,r){"use strict";var n;Object.defineProperty(r,"__esModule",{value:!0}),r.randomNumber=function(){return o()},r.clone=function(e){return JSON.parse(JSON.stringify(e))};var o=((n=e("random-number"))&&n.__esModule?n:{default:n}).default.generator({min:1e7,max:99999999,integer:!0})},{"random-number":40}],34:[function(e,t,r){var n,o;n=this,o=function(){var e=!0;function t(t){function r(e){var r=t.match(e);return r&&r.length>1&&r[1]||""}function n(e){var r=t.match(e);return r&&r.length>1&&r[2]||""}var o,i=r(/(ipod|iphone|ipad)/i).toLowerCase(),s=!/like android/i.test(t)&&/android/i.test(t),c=/nexus\s*[0-6]\s*/i.test(t),u=!c&&/nexus\s*[0-9]+/i.test(t),d=/CrOS/.test(t),l=/silk/i.test(t),p=/sailfish/i.test(t),f=/tizen/i.test(t),m=/(web|hpw)(o|0)s/i.test(t),h=/windows phone/i.test(t),v=(/SamsungBrowser/i.test(t),!h&&/windows/i.test(t)),y=!i&&!l&&/macintosh/i.test(t),_=!s&&!p&&!f&&!m&&/linux/i.test(t),g=n(/edg([ea]|ios)\/(\d+(\.\d+)?)/i),b=r(/version\/(\d+(\.\d+)?)/i),P=/tablet/i.test(t)&&!/tablet pc/i.test(t),w=!P&&/[^-]mobi/i.test(t),k=/xbox/i.test(t);/opera/i.test(t)?o={name:"Opera",opera:e,version:b||r(/(?:opera|opr|opios)[\s\/](\d+(\.\d+)?)/i)}:/opr\/|opios/i.test(t)?o={name:"Opera",opera:e,version:r(/(?:opr|opios)[\s\/](\d+(\.\d+)?)/i)||b}:/SamsungBrowser/i.test(t)?o={name:"Samsung Internet for Android",samsungBrowser:e,version:b||r(/(?:SamsungBrowser)[\s\/](\d+(\.\d+)?)/i)}:/Whale/i.test(t)?o={name:"NAVER Whale browser",whale:e,version:r(/(?:whale)[\s\/](\d+(?:\.\d+)+)/i)}:/MZBrowser/i.test(t)?o={name:"MZ Browser",mzbrowser:e,version:r(/(?:MZBrowser)[\s\/](\d+(?:\.\d+)+)/i)}:/coast/i.test(t)?o={name:"Opera Coast",coast:e,version:b||r(/(?:coast)[\s\/](\d+(\.\d+)?)/i)}:/focus/i.test(t)?o={name:"Focus",focus:e,version:r(/(?:focus)[\s\/](\d+(?:\.\d+)+)/i)}:/yabrowser/i.test(t)?o={name:"Yandex Browser",yandexbrowser:e,version:b||r(/(?:yabrowser)[\s\/](\d+(\.\d+)?)/i)}:/ucbrowser/i.test(t)?o={name:"UC Browser",ucbrowser:e,version:r(/(?:ucbrowser)[\s\/](\d+(?:\.\d+)+)/i)}:/mxios/i.test(t)?o={name:"Maxthon",maxthon:e,version:r(/(?:mxios)[\s\/](\d+(?:\.\d+)+)/i)}:/epiphany/i.test(t)?o={name:"Epiphany",epiphany:e,version:r(/(?:epiphany)[\s\/](\d+(?:\.\d+)+)/i)}:/puffin/i.test(t)?o={name:"Puffin",puffin:e,version:r(/(?:puffin)[\s\/](\d+(?:\.\d+)?)/i)}:/sleipnir/i.test(t)?o={name:"Sleipnir",sleipnir:e,version:r(/(?:sleipnir)[\s\/](\d+(?:\.\d+)+)/i)}:/k-meleon/i.test(t)?o={name:"K-Meleon",kMeleon:e,version:r(/(?:k-meleon)[\s\/](\d+(?:\.\d+)+)/i)}:h?(o={name:"Windows Phone",osname:"Windows Phone",windowsphone:e},g?(o.msedge=e,o.version=g):(o.msie=e,o.version=r(/iemobile\/(\d+(\.\d+)?)/i))):/msie|trident/i.test(t)?o={name:"Internet Explorer",msie:e,version:r(/(?:msie |rv:)(\d+(\.\d+)?)/i)}:d?o={name:"Chrome",osname:"Chrome OS",chromeos:e,chromeBook:e,chrome:e,version:r(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)}:/edg([ea]|ios)/i.test(t)?o={name:"Microsoft Edge",msedge:e,version:g}:/vivaldi/i.test(t)?o={name:"Vivaldi",vivaldi:e,version:r(/vivaldi\/(\d+(\.\d+)?)/i)||b}:p?o={name:"Sailfish",osname:"Sailfish OS",sailfish:e,version:r(/sailfish\s?browser\/(\d+(\.\d+)?)/i)}:/seamonkey\//i.test(t)?o={name:"SeaMonkey",seamonkey:e,version:r(/seamonkey\/(\d+(\.\d+)?)/i)}:/firefox|iceweasel|fxios/i.test(t)?(o={name:"Firefox",firefox:e,version:r(/(?:firefox|iceweasel|fxios)[ \/](\d+(\.\d+)?)/i)},/\((mobile|tablet);[^\)]*rv:[\d\.]+\)/i.test(t)&&(o.firefoxos=e,o.osname="Firefox OS")):l?o={name:"Amazon Silk",silk:e,version:r(/silk\/(\d+(\.\d+)?)/i)}:/phantom/i.test(t)?o={name:"PhantomJS",phantom:e,version:r(/phantomjs\/(\d+(\.\d+)?)/i)}:/slimerjs/i.test(t)?o={name:"SlimerJS",slimer:e,version:r(/slimerjs\/(\d+(\.\d+)?)/i)}:/blackberry|\bbb\d+/i.test(t)||/rim\stablet/i.test(t)?o={name:"BlackBerry",osname:"BlackBerry OS",blackberry:e,version:b||r(/blackberry[\d]+\/(\d+(\.\d+)?)/i)}:m?(o={name:"WebOS",osname:"WebOS",webos:e,version:b||r(/w(?:eb)?osbrowser\/(\d+(\.\d+)?)/i)},/touchpad\//i.test(t)&&(o.touchpad=e)):/bada/i.test(t)?o={name:"Bada",osname:"Bada",bada:e,version:r(/dolfin\/(\d+(\.\d+)?)/i)}:f?o={name:"Tizen",osname:"Tizen",tizen:e,version:r(/(?:tizen\s?)?browser\/(\d+(\.\d+)?)/i)||b}:/qupzilla/i.test(t)?o={name:"QupZilla",qupzilla:e,version:r(/(?:qupzilla)[\s\/](\d+(?:\.\d+)+)/i)||b}:/chromium/i.test(t)?o={name:"Chromium",chromium:e,version:r(/(?:chromium)[\s\/](\d+(?:\.\d+)?)/i)||b}:/chrome|crios|crmo/i.test(t)?o={name:"Chrome",chrome:e,version:r(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)}:s?o={name:"Android",version:b}:/safari|applewebkit/i.test(t)?(o={name:"Safari",safari:e},b&&(o.version=b)):i?(o={name:"iphone"==i?"iPhone":"ipad"==i?"iPad":"iPod"},b&&(o.version=b)):o=/googlebot/i.test(t)?{name:"Googlebot",googlebot:e,version:r(/googlebot\/(\d+(\.\d+))/i)||b}:{name:r(/^(.*)\/(.*) /),version:n(/^(.*)\/(.*) /)},!o.msedge&&/(apple)?webkit/i.test(t)?(/(apple)?webkit\/537\.36/i.test(t)?(o.name=o.name||"Blink",o.blink=e):(o.name=o.name||"Webkit",o.webkit=e),!o.version&&b&&(o.version=b)):!o.opera&&/gecko\//i.test(t)&&(o.name=o.name||"Gecko",o.gecko=e,o.version=o.version||r(/gecko\/(\d+(\.\d+)?)/i)),o.windowsphone||!s&&!o.silk?!o.windowsphone&&i?(o[i]=e,o.ios=e,o.osname="iOS"):y?(o.mac=e,o.osname="macOS"):k?(o.xbox=e,o.osname="Xbox"):v?(o.windows=e,o.osname="Windows"):_&&(o.linux=e,o.osname="Linux"):(o.android=e,o.osname="Android");var S="";o.windows?S=function(e){switch(e){case"NT":return"NT";case"XP":return"XP";case"NT 5.0":return"2000";case"NT 5.1":return"XP";case"NT 5.2":return"2003";case"NT 6.0":return"Vista";case"NT 6.1":return"7";case"NT 6.2":return"8";case"NT 6.3":return"8.1";case"NT 10.0":return"10";default:return}}(r(/Windows ((NT|XP)( \d\d?.\d)?)/i)):o.windowsphone?S=r(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i):o.mac?S=(S=r(/Mac OS X (\d+([_\.\s]\d+)*)/i)).replace(/[_\s]/g,"."):i?S=(S=r(/os (\d+([_\s]\d+)*) like mac os x/i)).replace(/[_\s]/g,"."):s?S=r(/android[ \/-](\d+(\.\d+)*)/i):o.webos?S=r(/(?:web|hpw)os\/(\d+(\.\d+)*)/i):o.blackberry?S=r(/rim\stablet\sos\s(\d+(\.\d+)*)/i):o.bada?S=r(/bada\/(\d+(\.\d+)*)/i):o.tizen&&(S=r(/tizen[\/\s](\d+(\.\d+)*)/i)),S&&(o.osversion=S);var R=!o.windows&&S.split(".")[0];return P||u||"ipad"==i||s&&(3==R||R>=4&&!w)||o.silk?o.tablet=e:(w||"iphone"==i||"ipod"==i||s||c||o.blackberry||o.webos||o.bada)&&(o.mobile=e),o.msedge||o.msie&&o.version>=10||o.yandexbrowser&&o.version>=15||o.vivaldi&&o.version>=1||o.chrome&&o.version>=20||o.samsungBrowser&&o.version>=4||o.whale&&1===a([o.version,"1.0"])||o.mzbrowser&&1===a([o.version,"6.0"])||o.focus&&1===a([o.version,"1.0"])||o.firefox&&o.version>=20||o.safari&&o.version>=6||o.opera&&o.version>=10||o.ios&&o.osversion&&o.osversion.split(".")[0]>=6||o.blackberry&&o.version>=10.1||o.chromium&&o.version>=20?o.a=e:o.msie&&o.version<10||o.chrome&&o.version<20||o.firefox&&o.version<20||o.safari&&o.version<6||o.opera&&o.version<10||o.ios&&o.osversion&&o.osversion.split(".")[0]<6||o.chromium&&o.version<20?o.c=e:o.x=e,o}var r=t("undefined"!=typeof navigator&&navigator.userAgent||"");function n(e){return e.split(".").length}function o(e,t){var r,n=[];if(Array.prototype.map)return Array.prototype.map.call(e,t);for(r=0;r=0;){if(r[0][t]>r[1][t])return 1;if(r[0][t]!==r[1][t])return-1;if(0===t)return 0}}function i(e,n,o){var i=r;"string"==typeof n&&(o=n,n=void 0),void 0===n&&(n=!1),o&&(i=t(o));var s=""+i.version;for(var c in e)if(e.hasOwnProperty(c)&&i[c]){if("string"!=typeof e[c])throw new Error("Browser version in the minVersion map should be a string: "+c+": "+String(e));return a([s,e[c]])<0}return n}return r.test=function(e){for(var t=0;t0&&s.length>a){s.warned=!0;var c=new Error("Possible EventEmitter memory leak detected. "+s.length+' "'+String(t)+'" listeners added. Use emitter.setMaxListeners() to increase limit.');c.name="MaxListenersExceededWarning",c.emitter=e,c.type=t,c.count=s.length,"object"==typeof console&&console.warn&&console.warn("%s: %s",c.name,c.message)}}else s=i[t]=r,++e._eventsCount;return e}function p(){if(!this.fired)switch(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length){case 0:return this.listener.call(this.target);case 1:return this.listener.call(this.target,arguments[0]);case 2:return this.listener.call(this.target,arguments[0],arguments[1]);case 3:return this.listener.call(this.target,arguments[0],arguments[1],arguments[2]);default:for(var e=new Array(arguments.length),t=0;t1&&(t=arguments[1]),t instanceof Error)throw t;var c=new Error('Unhandled "error" event. ('+t+")");throw c.context=t,c}if(!(r=i[e]))return!1;var u="function"==typeof r;switch(n=arguments.length){case 1:!function(e,t,r){if(t)e.call(r);else for(var n=e.length,o=v(e,n),a=0;a=0;i--)if(r[i]===t||r[i].listener===t){s=r[i].listener,a=i;break}if(a<0)return this;0===a?r.shift():function(e,t){for(var r=t,n=r+1,o=e.length;n=0;a--)this.removeListener(e,t[a]);return this},i.prototype.listeners=function(e){return m(this,e,!0)},i.prototype.rawListeners=function(e){return m(this,e,!1)},i.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):h.call(e,t)},i.prototype.listenerCount=h,i.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]}},{}],36:[function(e,t,r){var n=1e3,o=60*n,a=60*o,i=24*a,s=7*i,c=365.25*i;function u(e,t,r,n){var o=t>=1.5*r;return Math.round(e/r)+" "+n+(o?"s":"")}t.exports=function(e,t){t=t||{};var r=typeof e;if("string"===r&&e.length>0)return function(e){if((e=String(e)).length>100)return;var t=/^((?:\d+)?\-?\d?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(!t)return;var r=parseFloat(t[1]);switch((t[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return r*c;case"weeks":case"week":case"w":return r*s;case"days":case"day":case"d":return r*i;case"hours":case"hour":case"hrs":case"hr":case"h":return r*a;case"minutes":case"minute":case"mins":case"min":case"m":return r*o;case"seconds":case"second":case"secs":case"sec":case"s":return r*n;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}(e);if("number"===r&&!1===isNaN(e))return t.long?function(e){var t=Math.abs(e);if(t>=i)return u(e,t,i,"day");if(t>=a)return u(e,t,a,"hour");if(t>=o)return u(e,t,o,"minute");if(t>=n)return u(e,t,n,"second");return e+" ms"}(e):function(e){var t=Math.abs(e);if(t>=i)return Math.round(e/i)+"d";if(t>=a)return Math.round(e/a)+"h";if(t>=o)return Math.round(e/o)+"m";if(t>=n)return Math.round(e/n)+"s";return e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},{}],37:[function(e,t,r){(function(n){r.log=function(...e){return"object"==typeof console&&console.log&&console.log(...e)},r.formatArgs=function(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+t.exports.humanize(this.diff),!this.useColors)return;const r="color: "+this.color;e.splice(1,0,r,"color: inherit");let n=0,o=0;e[0].replace(/%[a-zA-Z%]/g,e=>{"%%"!==e&&(n++,"%c"===e&&(o=n))}),e.splice(o,0,r)},r.save=function(e){try{e?r.storage.setItem("debug",e):r.storage.removeItem("debug")}catch(e){}},r.load=function(){let e;try{e=r.storage.getItem("debug")}catch(e){}!e&&void 0!==n&&"env"in n&&(e=n.env.DEBUG);return e},r.useColors=function(){if("undefined"!=typeof window&&window.process&&("renderer"===window.process.type||window.process.__nwjs))return!0;if("undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;return"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},r.storage=function(){try{return localStorage}catch(e){}}(),r.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.exports=e("./common")(r);const{formatters:o}=t.exports;o.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}}).call(this,e("_process"))},{"./common":38,_process:39}],38:[function(e,t,r){t.exports=function(t){function r(e){let t=0;for(let r=0;r{if("%%"===t)return t;s++;const a=n.formatters[o];if("function"==typeof a){const n=e[s];t=a.call(r,n),e.splice(s,1),s--}return t}),n.formatArgs.call(r,e),(r.log||n.log).apply(r,e)}return i.namespace=e,i.enabled=n.enabled(e),i.useColors=n.useColors(),i.color=r(e),i.destroy=o,i.extend=a,"function"==typeof n.init&&n.init(i),n.instances.push(i),i}function o(){const e=n.instances.indexOf(this);return-1!==e&&(n.instances.splice(e,1),!0)}function a(e,t){return n(this.namespace+(void 0===t?":":t)+e)}function i(e){return e.toString().substring(2,e.toString().length-2).replace(/\.\*\?$/,"*")}return n.debug=n,n.default=n,n.coerce=function(e){return e instanceof Error?e.stack||e.message:e},n.disable=function(){const e=[...n.names.map(i),...n.skips.map(i).map(e=>"-"+e)].join(",");return n.enable(""),e},n.enable=function(e){let t;n.save(e),n.names=[],n.skips=[];const r=("string"==typeof e?e:"").split(/[\s,]+/),o=r.length;for(t=0;t{n[e]=t[e]}),n.instances=[],n.names=[],n.skips=[],n.formatters={},n.selectColor=r,n.enable(n.load()),n}},{ms:36}],39:[function(e,t,r){var n,o,a=t.exports={};function i(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function c(e){if(n===setTimeout)return setTimeout(e,0);if((n===i||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:i}catch(e){n=i}try{o="function"==typeof clearTimeout?clearTimeout:s}catch(e){o=s}}();var u,d=[],l=!1,p=-1;function f(){l&&u&&(l=!1,u.length?d=u.concat(d):p=-1,d.length&&m())}function m(){if(!l){var e=c(f);l=!0;for(var t=d.length;t;){for(u=d,d=[];++p1)for(var r=1;r= min");return{min:t,max:r,integer:n}}function n(e){if((e=r(e)).max===e.min)return e.min;var t=Math.random()*(e.max-e.min+Number(!!e.integer))+e.min;return e.integer?Math.floor(t):t}t.exports=n,t.exports.generator=function(e){return e=r(e),function(t,r,o){return e.min=null!=t?t:e.min,e.max=null!=r?r:e.max,e.integer=null!=o?o:e.integer,n(e)}},t.exports.defaults=r}()},{}],41:[function(e,t,r){var n=t.exports={v:[{name:"version",reg:/^(\d*)$/}],o:[{name:"origin",reg:/^(\S*) (\d*) (\d*) (\S*) IP(\d) (\S*)/,names:["username","sessionId","sessionVersion","netType","ipVer","address"],format:"%s %s %d %s IP%d %s"}],s:[{name:"name"}],i:[{name:"description"}],u:[{name:"uri"}],e:[{name:"email"}],p:[{name:"phone"}],z:[{name:"timezones"}],r:[{name:"repeats"}],t:[{name:"timing",reg:/^(\d*) (\d*)/,names:["start","stop"],format:"%d %d"}],c:[{name:"connection",reg:/^IN IP(\d) (\S*)/,names:["version","ip"],format:"IN IP%d %s"}],b:[{push:"bandwidth",reg:/^(TIAS|AS|CT|RR|RS):(\d*)/,names:["type","limit"],format:"%s:%s"}],m:[{reg:/^(\w*) (\d*) ([\w\/]*)(?: (.*))?/,names:["type","port","protocol","payloads"],format:"%s %d %s %s"}],a:[{push:"rtp",reg:/^rtpmap:(\d*) ([\w\-\.]*)(?:\s*\/(\d*)(?:\s*\/(\S*))?)?/,names:["payload","codec","rate","encoding"],format:function(e){return e.encoding?"rtpmap:%d %s/%s/%s":e.rate?"rtpmap:%d %s/%s":"rtpmap:%d %s"}},{push:"fmtp",reg:/^fmtp:(\d*) ([\S| ]*)/,names:["payload","config"],format:"fmtp:%d %s"},{name:"control",reg:/^control:(.*)/,format:"control:%s"},{name:"rtcp",reg:/^rtcp:(\d*)(?: (\S*) IP(\d) (\S*))?/,names:["port","netType","ipVer","address"],format:function(e){return null!=e.address?"rtcp:%d %s IP%d %s":"rtcp:%d"}},{push:"rtcpFbTrrInt",reg:/^rtcp-fb:(\*|\d*) trr-int (\d*)/,names:["payload","value"],format:"rtcp-fb:%d trr-int %d"},{push:"rtcpFb",reg:/^rtcp-fb:(\*|\d*) ([\w-_]*)(?: ([\w-_]*))?/,names:["payload","type","subtype"],format:function(e){return null!=e.subtype?"rtcp-fb:%s %s %s":"rtcp-fb:%s %s"}},{push:"ext",reg:/^extmap:(\d+)(?:\/(\w+))? (\S*)(?: (\S*))?/,names:["value","direction","uri","config"],format:function(e){return"extmap:%d"+(e.direction?"/%s":"%v")+" %s"+(e.config?" %s":"")}},{push:"crypto",reg:/^crypto:(\d*) ([\w_]*) (\S*)(?: (\S*))?/,names:["id","suite","config","sessionConfig"],format:function(e){return null!=e.sessionConfig?"crypto:%d %s %s %s":"crypto:%d %s %s"}},{name:"setup",reg:/^setup:(\w*)/,format:"setup:%s"},{name:"mid",reg:/^mid:([^\s]*)/,format:"mid:%s"},{name:"msid",reg:/^msid:(.*)/,format:"msid:%s"},{name:"ptime",reg:/^ptime:(\d*)/,format:"ptime:%d"},{name:"maxptime",reg:/^maxptime:(\d*)/,format:"maxptime:%d"},{name:"direction",reg:/^(sendrecv|recvonly|sendonly|inactive)/},{name:"icelite",reg:/^(ice-lite)/},{name:"iceUfrag",reg:/^ice-ufrag:(\S*)/,format:"ice-ufrag:%s"},{name:"icePwd",reg:/^ice-pwd:(\S*)/,format:"ice-pwd:%s"},{name:"fingerprint",reg:/^fingerprint:(\S*) (\S*)/,names:["type","hash"],format:"fingerprint:%s %s"},{push:"candidates",reg:/^candidate:(\S*) (\d*) (\S*) (\d*) (\S*) (\d*) typ (\S*)(?: raddr (\S*) rport (\d*))?(?: tcptype (\S*))?(?: generation (\d*))?(?: network-id (\d*))?(?: network-cost (\d*))?/,names:["foundation","component","transport","priority","ip","port","type","raddr","rport","tcptype","generation","network-id","network-cost"],format:function(e){var t="candidate:%s %d %s %d %s %d typ %s";return t+=null!=e.raddr?" raddr %s rport %d":"%v%v",t+=null!=e.tcptype?" tcptype %s":"%v",null!=e.generation&&(t+=" generation %d"),t+=null!=e["network-id"]?" network-id %d":"%v",t+=null!=e["network-cost"]?" network-cost %d":"%v"}},{name:"endOfCandidates",reg:/^(end-of-candidates)/},{name:"remoteCandidates",reg:/^remote-candidates:(.*)/,format:"remote-candidates:%s"},{name:"iceOptions",reg:/^ice-options:(\S*)/,format:"ice-options:%s"},{push:"ssrcs",reg:/^ssrc:(\d*) ([\w_-]*)(?::(.*))?/,names:["id","attribute","value"],format:function(e){var t="ssrc:%d";return null!=e.attribute&&(t+=" %s",null!=e.value&&(t+=":%s")),t}},{push:"ssrcGroups",reg:/^ssrc-group:([\x21\x23\x24\x25\x26\x27\x2A\x2B\x2D\x2E\w]*) (.*)/,names:["semantics","ssrcs"],format:"ssrc-group:%s %s"},{name:"msidSemantic",reg:/^msid-semantic:\s?(\w*) (\S*)/,names:["semantic","token"],format:"msid-semantic: %s %s"},{push:"groups",reg:/^group:(\w*) (.*)/,names:["type","mids"],format:"group:%s %s"},{name:"rtcpMux",reg:/^(rtcp-mux)/},{name:"rtcpRsize",reg:/^(rtcp-rsize)/},{name:"sctpmap",reg:/^sctpmap:([\w_\/]*) (\S*)(?: (\S*))?/,names:["sctpmapNumber","app","maxMessageSize"],format:function(e){return null!=e.maxMessageSize?"sctpmap:%s %s %s":"sctpmap:%s %s"}},{name:"xGoogleFlag",reg:/^x-google-flag:([^\s]*)/,format:"x-google-flag:%s"},{push:"rids",reg:/^rid:([\d\w]+) (\w+)(?: ([\S| ]*))?/,names:["id","direction","params"],format:function(e){return e.params?"rid:%s %s %s":"rid:%s %s"}},{push:"imageattrs",reg:new RegExp("^imageattr:(\\d+|\\*)[\\s\\t]+(send|recv)[\\s\\t]+(\\*|\\[\\S+\\](?:[\\s\\t]+\\[\\S+\\])*)(?:[\\s\\t]+(recv|send)[\\s\\t]+(\\*|\\[\\S+\\](?:[\\s\\t]+\\[\\S+\\])*))?"),names:["pt","dir1","attrs1","dir2","attrs2"],format:function(e){return"imageattr:%s %s %s"+(e.dir2?" %s %s":"")}},{name:"simulcast",reg:new RegExp("^simulcast:(send|recv) ([a-zA-Z0-9\\-_~;,]+)(?:\\s?(send|recv) ([a-zA-Z0-9\\-_~;,]+))?$"),names:["dir1","list1","dir2","list2"],format:function(e){return"simulcast:%s %s"+(e.dir2?" %s %s":"")}},{name:"simulcast_03",reg:/^simulcast:[\s\t]+([\S+\s\t]+)$/,names:["value"],format:"simulcast: %s"},{name:"framerate",reg:/^framerate:(\d+(?:$|\.\d+))/,format:"framerate:%s"},{name:"sourceFilter",reg:/^source-filter: *(excl|incl) (\S*) (IP4|IP6|\*) (\S*) (.*)/,names:["filterMode","netType","addressTypes","destAddress","srcList"],format:"source-filter: %s %s %s %s %s"},{name:"bundleOnly",reg:/^(bundle-only)/},{name:"label",reg:/^label:(.+)/,format:"label:%s"},{push:"invalid",names:["value"]}]};Object.keys(n).forEach(function(e){n[e].forEach(function(e){e.reg||(e.reg=/(.*)/),e.format||(e.format="%s")})})},{}],42:[function(e,t,r){var n=e("./parser"),o=e("./writer");r.write=o,r.parse=n.parse,r.parseFmtpConfig=n.parseFmtpConfig,r.parseParams=n.parseParams,r.parsePayloads=n.parsePayloads,r.parseRemoteCandidates=n.parseRemoteCandidates,r.parseImageAttributes=n.parseImageAttributes,r.parseSimulcastStreamList=n.parseSimulcastStreamList},{"./parser":43,"./writer":44}],43:[function(e,t,r){var n=function(e){return String(Number(e))===e?Number(e):e},o=function(e,t,r){var o=e.name&&e.names;e.push&&!t[e.push]?t[e.push]=[]:o&&!t[e.name]&&(t[e.name]={});var a=e.push?{}:o?t[e.name]:t;!function(e,t,r,o){if(o&&!r)t[o]=n(e[1]);else for(var a=0;a1&&(e[r[0]]=void 0),e};r.parseParams=function(e){return e.split(/\;\s?/).reduce(s,{})},r.parseFmtpConfig=r.parseParams,r.parsePayloads=function(e){return e.split(" ").map(Number)},r.parseRemoteCandidates=function(e){for(var t=[],r=e.split(" ").map(n),o=0;o=n)return e;var o=r[t];switch(t+=1,e){case"%%":return"%";case"%s":return String(o);case"%d":return Number(o);case"%v":return""}})}.apply(null,n)},i=["v","o","s","i","u","e","p","c","b","t","r","z","a"],s=["i","c","b","a"];t.exports=function(e,t){t=t||{},null==e.version&&(e.version=0),null==e.name&&(e.name=" "),e.media.forEach(function(e){null==e.payloads&&(e.payloads="")});var r=t.outerOrder||i,o=t.innerOrder||s,c=[];return r.forEach(function(t){n[t].forEach(function(r){r.name in e&&null!=e[r.name]?c.push(a(t,r,e)):r.push in e&&null!=e[r.push]&&e[r.push].forEach(function(e){c.push(a(t,r,e))})})}),e.media.forEach(function(e){c.push(a("m",n.m[0],e)),o.forEach(function(t){n[t].forEach(function(r){r.name in e&&null!=e[r.name]?c.push(a(t,r,e)):r.push in e&&null!=e[r.push]&&e[r.push].forEach(function(e){c.push(a(t,r,e))})})})}),c.join("\r\n")+"\r\n"}},{"./grammar":41}]},{},[30])(30)}); \ No newline at end of file +!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).mediasoupClient=e()}}(function(){return function(){return function e(t,r,n){function o(i,s){if(!r[i]){if(!t[i]){var c="function"==typeof require&&require;if(!s&&c)return c(i,!0);if(a)return a(i,!0);var u=new Error("Cannot find module '"+i+"'");throw u.code="MODULE_NOT_FOUND",u}var d=r[i]={exports:{}};t[i][0].call(d.exports,function(e){return o(t[i][1][e]||e)},d,d.exports,e,t,r,n)}return r[i].exports}for(var a="function"==typeof require&&require,i=0;i0&&void 0!==arguments[0]?arguments[0]:f;m.debug("enableStats() [interval:%s]",e),this._closed?m.error("enableStats() | Consumer closed"):this._statsEnabled||(this._statsInterval="number"!=typeof e||e<1e3?f:e,this._statsEnabled=!0,this._transport&&this._transport.enableConsumerStats(this,this._statsInterval))}},{key:"disableStats",value:function(){m.debug("disableStats()"),this._closed?m.error("disableStats() | Consumer closed"):this._statsEnabled&&(this._statsEnabled=!1,this._transport&&this._transport.disableConsumerStats(this))}},{key:"setSupported",value:function(e){this._supported=e}},{key:"remoteStats",value:function(e){this.safeEmit("stats",e)}},{key:"id",get:function(){return this._id}},{key:"closed",get:function(){return this._closed}},{key:"kind",get:function(){return this._kind}},{key:"rtpParameters",get:function(){return this._rtpParameters}},{key:"peer",get:function(){return this._peer}},{key:"appData",get:function(){return this._appData}},{key:"supported",get:function(){return this._supported}},{key:"transport",get:function(){return this._transport}},{key:"track",get:function(){return this._track}},{key:"locallyPaused",get:function(){return this._locallyPaused}},{key:"remotelyPaused",get:function(){return this._remotelyPaused}},{key:"paused",get:function(){return this._locallyPaused||this._remotelyPaused}},{key:"preferredProfile",get:function(){return this._preferredProfile}},{key:"effectiveProfile",get:function(){return this._effectiveProfile}}])&&c(r.prototype,n),i&&c(r,i),t}();r.default=h},{"./EnhancedEventEmitter":4,"./Logger":5,"./errors":10}],3:[function(e,t,r){(function(t){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=void 0;var n=v(e("bowser")),o=v(e("./Logger")),a=v(e("./handlers/Chrome70")),i=v(e("./handlers/Chrome69")),s=v(e("./handlers/Chrome67")),c=v(e("./handlers/Chrome55")),u=v(e("./handlers/Safari12")),d=v(e("./handlers/Safari11")),l=v(e("./handlers/Firefox65")),p=v(e("./handlers/Firefox59")),f=v(e("./handlers/Firefox50")),m=v(e("./handlers/Edge11")),h=v(e("./handlers/ReactNative"));function v(e){return e&&e.__esModule?e:{default:e}}function y(e,t){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:{};e._detected=!0,e._handlerClass=t,e._flag=r.flag,e._name=r.name,e._version=r.version,e._bowser=r.bowser||{}}},{key:"getFlag",value:function(){return e._detected||e._detect(),e._flag}},{key:"getName",value:function(){return e._detected||e._detect(),e._name}},{key:"getVersion",value:function(){return e._detected||e._detect(),e._version}},{key:"getBowser",value:function(){return e._detected||e._detect(),e._bowser}},{key:"isSupported",value:function(){return e._detected||e._detect(),Boolean(e._handlerClass)}},{key:"_detect",value:function(){if(e._detected=!0,t.navigator&&"ReactNative"===t.navigator.product)e._flag="react-native",e._name="ReactNative",e._version=void 0,e._bowser={},e._handlerClass=h.default;else if(t.navigator&&"string"==typeof t.navigator.userAgent){var r=t.navigator.userAgent,o=n.default.detect(r);if(e._flag=void 0,e._name=o.name||void 0,e._version=o.version||void 0,e._bowser=o,e._handlerClass=null,n.default.check({chrome:"70",chromium:"70"},!0,r))e._flag="chrome",e._handlerClass=a.default;else if(n.default.check({chrome:"69",chromium:"69"},!0,r))e._flag="chrome",e._handlerClass=i.default;else if(n.default.check({chrome:"67",chromium:"67"},!0,r))e._flag="chrome",e._handlerClass=s.default;else if(n.default.check({chrome:"55",chromium:"55"},!0,r))e._flag="chrome",e._handlerClass=c.default;else if(n.default.check({chrome:"49",chromium:"49"},!0,r)&&t.adapter)e._flag="chrome",e._handlerClass=c.default;else if(n.default.check({firefox:"65"},!0,r))e._flag="firefox",e._handlerClass=l.default;else if(n.default.check({firefox:"59"},!0,r))e._flag="firefox",e._handlerClass=p.default;else if(n.default.check({firefox:"50"},!0,r))e._flag="firefox",e._handlerClass=f.default;else if(n.default.check({safari:"12.1"},!0,r)&&"undefined"!=typeof RTCRtpTransceiver&&RTCRtpTransceiver.prototype.hasOwnProperty("currentDirection"))e._flag="safari",e._handlerClass=u.default;else if(n.default.check({safari:"11"},!0,r))e._flag="safari",e._handlerClass=d.default;else if(n.default.check({msedge:"11"},!0,r))e._flag="msedge",e._handlerClass=m.default;else if(n.default.check({opera:"57"},!0,r))e._flag="opera",e._handlerClass=a.default;else if(n.default.check({opera:"44"},!0,r))e._flag="opera",e._handlerClass=c.default;else if(o.chromium||o.blink||o.webkit){_.debug('best effort Chrome based browser detection [name:"%s"]',o.name),e._flag="chrome";var v=r.match(/(?:(?:Chrome|Chromium))[ \/](\w+)/i);if(v){var y=Number(v[1]);e._handlerClass=y>=70?a.default:y>=69?i.default:y>=67?s.default:c.default}else e._handlerClass=a.default}e.isSupported()?_.debug('browser supported [flag:%s, name:"%s", version:%s, handler:%s]',e._flag,e._name,e._version,e._handlerClass.tag):_.warn("browser not supported [name:%s, version:%s]",e._name,e._version)}else _.warn("device not supported")}},{key:"Handler",get:function(){return e._detected||e._detect(),e._handlerClass}}],(o=null)&&y(r.prototype,o),v&&y(r,v),e}();r.default=g,g._detected=!1,g._flag=void 0,g._name=void 0,g._version=void 0,g._bowser=void 0,g._handlerClass=null}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./Logger":5,"./handlers/Chrome55":11,"./handlers/Chrome67":12,"./handlers/Chrome69":13,"./handlers/Chrome70":14,"./handlers/Edge11":15,"./handlers/Firefox50":16,"./handlers/Firefox59":17,"./handlers/Firefox65":18,"./handlers/ReactNative":19,"./handlers/Safari11":20,"./handlers/Safari12":21,bowser:34}],4:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=void 0;var n,o=e("events"),a=(n=e("./Logger"))&&n.__esModule?n:{default:n};function i(e){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function s(e,t){for(var r=0;r1?t-1:0),n=1;n1?r-1:0),o=1;o0&&void 0!==arguments[0]?arguments[0]:f;h.debug("enableStats() [interval:%s]",e),this._closed?h.error("enableStats() | Producer closed"):this._statsEnabled||(this._statsInterval="number"!=typeof e||e<1e3?f:e,this._statsEnabled=!0,this._transport&&this._transport.enableProducerStats(this,this._statsInterval))}},{key:"disableStats",value:function(){h.debug("disableStats()"),this._closed?h.error("disableStats() | Producer closed"):this._statsEnabled&&(this._statsEnabled=!1,this._transport&&this._transport.disableProducerStats(this))}},{key:"remoteStats",value:function(e){this.safeEmit("stats",e)}},{key:"_handleTrack",value:function(){var e=this;this._track.onended=function(){e._closed||(h.warn('track "ended" event'),e.safeEmit("trackended"))}}},{key:"id",get:function(){return this._id}},{key:"closed",get:function(){return this._closed}},{key:"kind",get:function(){return this._track.kind}},{key:"track",get:function(){return this._track}},{key:"originalTrack",get:function(){return this._originalTrack}},{key:"simulcast",get:function(){return this._simulcast}},{key:"appData",get:function(){return this._appData}},{key:"transport",get:function(){return this._transport}},{key:"rtpParameters",get:function(){return this._rtpParameters}},{key:"locallyPaused",get:function(){return this._locallyPaused}},{key:"remotelyPaused",get:function(){return this._remotelyPaused}},{key:"paused",get:function(){return this._locallyPaused||this._remotelyPaused}}])&&u(r.prototype,n),s&&u(r,s),t}();r.default=v},{"./EnhancedEventEmitter":4,"./Logger":5,"./errors":10,"./utils":33}],8:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=void 0;var n=p(e("./Logger")),o=p(e("./EnhancedEventEmitter")),a=e("./errors"),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){var n=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,r):{};n.get||n.set?Object.defineProperty(t,r,n):t[r]=e[r]}return t.default=e,t}(e("./ortc")),s=p(e("./Device")),c=p(e("./Transport")),u=p(e("./Producer")),d=p(e("./Peer")),l=p(e("./Consumer"));function p(e){return e&&e.__esModule?e:{default:e}}function f(e){return(f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function m(e,t){for(var r=0;r0)throw _.error("%s mandatory room codecs not supported:%o",o.length,o),new a.UnsupportedError("mandatory room codecs not supported",o);n._canSendByKind.audio=i.canSend("audio",n._extendedRtpCapabilities),n._canSendByKind.video=i.canSend("video",n._extendedRtpCapabilities);var s=i.getRtpCapabilities(n._extendedRtpCapabilities);_.debug("join() | effective local RTP capabilities for receiving:%o",s);var c={target:"room",peerName:n._peerName,rtpCapabilities:s,spy:n._settings.spy,appData:t};return n._sendRequest("join",c).then(function(e){return e.peers})}).then(function(e){var t=!0,r=!1,o=void 0;try{for(var a,i=(e||[])[Symbol.iterator]();!(t=(a=i.next()).done);t=!0){var s=a.value;try{n._handlePeerData(s)}catch(e){_.error("join() | error handling Peer:%o",e)}}}catch(e){r=!0,o=e}finally{try{t||null==i.return||i.return()}finally{if(r)throw o}}return n._state=g.joined,_.debug("join() | joined the Room"),n.peers}).catch(function(e){throw n._state=g.new,e}))}},{key:"leave",value:function(e){if(_.debug("leave()"),!this.closed){this._sendNotification("leave",{appData:e}),this._state=g.closed,this.safeEmit("close","local",e);var t=!0,r=!1,n=void 0;try{for(var o,a=this._transports.values()[Symbol.iterator]();!(t=(o=a.next()).done);t=!0){o.value.close()}}catch(e){r=!0,n=e}finally{try{t||null==a.return||a.return()}finally{if(r)throw n}}var i=!0,s=!1,c=void 0;try{for(var u,d=this._producers.values()[Symbol.iterator]();!(i=(u=d.next()).done);i=!0){u.value.close()}}catch(e){s=!0,c=e}finally{try{i||null==d.return||d.return()}finally{if(s)throw c}}var l=!0,p=!1,f=void 0;try{for(var m,h=this._peers.values()[Symbol.iterator]();!(l=(m=h.next()).done);l=!0){m.value.close()}}catch(e){p=!0,f=e}finally{try{l||null==h.return||h.return()}finally{if(p)throw f}}}}},{key:"remoteClose",value:function(e){if(_.debug("remoteClose()"),!this.closed){this._state=g.closed,this.safeEmit("close","remote",e);var t=!0,r=!1,n=void 0;try{for(var o,a=this._transports.values()[Symbol.iterator]();!(t=(o=a.next()).done);t=!0){o.value.remoteClose(null,{destroy:!0})}}catch(e){r=!0,n=e}finally{try{t||null==a.return||a.return()}finally{if(r)throw n}}var i=!0,s=!1,c=void 0;try{for(var u,d=this._producers.values()[Symbol.iterator]();!(i=(u=d.next()).done);i=!0){u.value.remoteClose()}}catch(e){s=!0,c=e}finally{try{i||null==d.return||d.return()}finally{if(s)throw c}}var l=!0,p=!1,f=void 0;try{for(var m,h=this._peers.values()[Symbol.iterator]();!(l=(m=h.next()).done);l=!0){m.value.remoteClose()}}catch(e){p=!0,f=e}finally{try{l||null==h.return||h.return()}finally{if(p)throw f}}}}},{key:"canSend",value:function(e){if("audio"!==e&&"video"!==e)throw new TypeError('invalid kind "'.concat(e,'"'));return!(!this.joined||this._settings.spy)&&this._canSendByKind[e]}},{key:"createTransport",value:function(e,t){var r=this;if(_.debug("createTransport() [direction:%s]",e),!this.joined)throw new a.InvalidStateError('invalid state "'.concat(this._state,'"'));if("send"!==e&&"recv"!==e)throw new TypeError('invalid direction "'.concat(e,'"'));if("send"===e&&this._settings.spy)throw new TypeError("a spy peer cannot send media to the room");var n=new c.default(e,this._extendedRtpCapabilities,this._settings,t);return this._transports.set(n.id,n),n.on("@request",function(e,t,n,o){r._sendRequest(e,t).then(n).catch(o)}),n.on("@notify",function(e,t){r._sendNotification(e,t)}),n.on("@close",function(){r._transports.delete(n.id)}),n}},{key:"createProducer",value:function(e,t,r){var n=this;if(_.debug("createProducer() [track:%o, options:%o]",e,t),!this.joined)throw new a.InvalidStateError('invalid state "'.concat(this._state,'"'));if(this._settings.spy)throw new Error("a spy peer cannot send media to the room");if(!e)throw new TypeError("no track given");if(!this._canSendByKind[e.kind])throw new Error("cannot send ".concat(e.kind));if("ended"===e.readyState)throw new Error('track.readyState is "ended"');t=t||{};var o=new u.default(e,t,r);return this._producers.set(o.id,o),o.on("@close",function(){n._producers.delete(o.id)}),o}},{key:"restartIce",value:function(){if(this.joined){var e=!0,t=!1,r=void 0;try{for(var n,o=this._transports.values()[Symbol.iterator]();!(e=(n=o.next()).done);e=!0){n.value.restartIce()}}catch(e){t=!0,r=e}finally{try{e||null==o.return||o.return()}finally{if(t)throw r}}}else _.warn('restartIce() | invalid state "'.concat(this._state,'"'))}},{key:"receiveNotification",value:function(e){var t=this;if(this.closed)return Promise.reject(new a.InvalidStateError("Room closed"));if("object"!==f(e))return Promise.reject(new TypeError("wrong notification Object"));if(!0!==e.notification)return Promise.reject(new TypeError("not a notification"));if("string"!=typeof e.method)return Promise.reject(new TypeError("wrong/missing notification method"));var r=e.method;return _.debug("receiveNotification() [method:%s, notification:%o]",r,e),Promise.resolve().then(function(){switch(r){case"closed":var n=e.appData;t.remoteClose(n);break;case"transportClosed":var o=e.id,a=e.appData,i=t._transports.get(o);if(!i)throw new Error('Transport not found [id:"'.concat(o,'"]'));i.remoteClose(a,{destroy:!1});break;case"transportStats":var s=e.id,c=e.stats,u=t._transports.get(s);if(!u)throw new Error("Transport not found [id:".concat(s,"]"));u.remoteStats(c);break;case"newPeer":var d=e.name;if(t._peers.has(d))throw new Error('Peer already exists [name:"'.concat(d,'"]'));var l=e;t._handlePeerData(l);break;case"peerClosed":var p=e.name,f=e.appData,m=t._peers.get(p);if(!m)throw new Error('no Peer found [name:"'.concat(p,'"]'));m.remoteClose(f);break;case"producerPaused":var h=e.id,v=e.appData,y=t._producers.get(h);if(!y)throw new Error("Producer not found [id:".concat(h,"]"));y.remotePause(v);break;case"producerResumed":var _=e.id,g=e.appData,b=t._producers.get(_);if(!b)throw new Error("Producer not found [id:".concat(_,"]"));b.remoteResume(g);break;case"producerClosed":var P=e.id,w=e.appData,k=t._producers.get(P);if(!k)throw new Error("Producer not found [id:".concat(P,"]"));k.remoteClose(w);break;case"producerStats":var S=e.id,R=e.stats,T=t._producers.get(S);if(!T)throw new Error("Producer not found [id:".concat(S,"]"));T.remoteStats(R);break;case"newConsumer":var C=e.peerName,O=t._peers.get(C);if(!O)throw new Error('no Peer found [name:"'.concat(C,'"]'));var E=e;t._handleConsumerData(E,O);break;case"consumerClosed":var x=e.id,D=e.peerName,j=e.appData,I=t._peers.get(D);if(!I)throw new Error('no Peer found [name:"'.concat(D,'"]'));var L=I.getConsumerById(x);if(!L)throw new Error("Consumer not found [id:".concat(x,"]"));L.remoteClose(j);break;case"consumerPaused":var F=e.id,A=e.peerName,M=e.appData,U=t._peers.get(A);if(!U)throw new Error('no Peer found [name:"'.concat(A,'"]'));var B=U.getConsumerById(F);if(!B)throw new Error("Consumer not found [id:".concat(F,"]"));B.remotePause(M);break;case"consumerResumed":var N=e.id,G=e.peerName,z=e.appData,q=t._peers.get(G);if(!q)throw new Error('no Peer found [name:"'.concat(G,'"]'));var K=q.getConsumerById(N);if(!K)throw new Error("Consumer not found [id:".concat(N,"]"));K.remoteResume(z);break;case"consumerPreferredProfileSet":var V=e.id,W=e.peerName,Q=e.profile,$=t._peers.get(W);if(!$)throw new Error('no Peer found [name:"'.concat(W,'"]'));var H=$.getConsumerById(V);if(!H)throw new Error("Consumer not found [id:".concat(V,"]"));H.remoteSetPreferredProfile(Q);break;case"consumerEffectiveProfileChanged":var Z=e.id,J=e.peerName,X=e.profile,Y=t._peers.get(J);if(!Y)throw new Error('no Peer found [name:"'.concat(J,'"]'));var ee=Y.getConsumerById(Z);if(!ee)throw new Error("Consumer not found [id:".concat(Z,"]"));ee.remoteEffectiveProfileChanged(X);break;case"consumerStats":var te=e.id,re=e.peerName,ne=e.stats,oe=t._peers.get(re);if(!oe)throw new Error('no Peer found [name:"'.concat(re,'"]'));var ae=oe.getConsumerById(te);if(!ae)throw new Error("Consumer not found [id:".concat(te,"]"));ae.remoteStats(ne);break;default:throw new Error('unknown notification method "'.concat(r,'"'))}}).catch(function(t){_.error("receiveNotification() failed [notification:%o]: %s",e,t)})}},{key:"_sendRequest",value:function(e,t){var r=this,n=Object.assign({method:e,target:"peer"},t);return this.closed?(_.error("_sendRequest() | Room closed [method:%s, request:%o]",e,n),Promise.reject(new a.InvalidStateError("Room closed"))):(_.debug("_sendRequest() [method:%s, request:%o]",e,n),new Promise(function(t,o){var i=!1,s=setTimeout(function(){_.error("request failed [method:%s]: timeout",e),i=!0,o(new a.TimeoutError("timeout"))},r._settings.requestTimeout);r.safeEmit("request",n,function(n){if(!i){if(i=!0,clearTimeout(s),r.closed)return _.error("request failed [method:%s]: Room closed",e),void o(new Error("Room closed"));_.debug("request succeeded [method:%s, response:%o]",e,n),t(n)}},function(t){if(!i){if(i=!0,clearTimeout(s),r.closed)return _.error("request failed [method:%s]: Room closed",e),void o(new Error("Room closed"));t instanceof Error||(t=new Error(String(t))),_.error("request failed [method:%s]:%o",e,t),o(t)}})}))}},{key:"_sendNotification",value:function(e,t){if(!this.closed){var r=Object.assign({method:e,target:"peer",notification:!0},t);_.debug("_sendNotification() [method:%s, notification:%o]",e,r),this.safeEmit("notify",r)}}},{key:"_handlePeerData",value:function(e){var t=this,r=e.name,n=e.consumers,o=e.appData,a=new d.default(r,o);this._peers.set(a.name,a),a.on("@close",function(){t._peers.delete(a.name)});var i=!0,s=!1,c=void 0;try{for(var u,l=n[Symbol.iterator]();!(i=(u=l.next()).done);i=!0){var p=u.value;try{this._handleConsumerData(p,a)}catch(e){_.error("error handling existing Consumer in Peer:%o",e)}}}catch(e){s=!0,c=e}finally{try{i||null==l.return||l.return()}finally{if(s)throw c}}this.joined&&this.safeEmit("newpeer",a)}},{key:"_handleConsumerData",value:function(e,t){var r=e.id,n=e.kind,o=e.rtpParameters,a=e.paused,s=e.appData,c=new l.default(r,n,o,t,s);i.canReceive(c.rtpParameters,this._extendedRtpCapabilities)&&c.setSupported(!0),a&&c.remotePause(),t.addConsumer(c)}},{key:"joined",get:function(){return this._state===g.joined}},{key:"closed",get:function(){return this._state===g.closed}},{key:"peerName",get:function(){return this._peerName}},{key:"transports",get:function(){return Array.from(this._transports.values())}},{key:"producers",get:function(){return Array.from(this._producers.values())}},{key:"peers",get:function(){return Array.from(this._peers.values())}}])&&m(r.prototype,n),p&&m(r,p),t}();r.default=b},{"./Consumer":2,"./Device":3,"./EnhancedEventEmitter":4,"./Logger":5,"./Peer":6,"./Producer":7,"./Transport":9,"./errors":10,"./ortc":32}],9:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=void 0;var n=u(e("./Logger")),o=u(e("./EnhancedEventEmitter")),a=e("./errors"),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){var n=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,r):{};n.get||n.set?Object.defineProperty(t,r,n):t[r]=e[r]}return t.default=e,t}(e("./utils")),s=u(e("./Device")),c=u(e("./CommandQueue"));function u(e){return e&&e.__esModule?e:{default:e}}function d(e){return(d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function l(e,t){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:1e3;h.debug("enableStats() [interval:%s]",e),("number"!=typeof e||e<1e3)&&(e=1e3),this._statsEnabled=!0;var t={id:this._id,interval:e};this.safeEmit("@notify","enableTransportStats",t)}},{key:"disableStats",value:function(){h.debug("disableStats()"),this._statsEnabled=!1;var e={id:this._id};this.safeEmit("@notify","disableTransportStats",e)}},{key:"_handleHandler",value:function(){var e=this,t=this._handler;t.on("@connectionstatechange",function(t){e._connectionState!==t&&(h.debug("Transport connection state changed to %s",t),e._connectionState=t,e._closed||e.safeEmit("connectionstatechange",t))}),t.on("@needcreatetransport",function(t,r,n){var o={id:e._id,direction:e._direction,options:e._settings.transportOptions,appData:e._appData};t&&(t.dtlsParameters?o.dtlsParameters=t.dtlsParameters:t.plainRtpParameters&&(o.plainRtpParameters=t.plainRtpParameters)),e.safeEmit("@request","createTransport",o,r,n)}),t.on("@needupdatetransport",function(t){var r={id:e._id};t&&(t.dtlsParameters?r.dtlsParameters=t.dtlsParameters:t.plainRtpParameters&&(r.plainRtpParameters=t.plainRtpParameters)),e.safeEmit("@notify","updateTransport",r)}),t.on("@needupdateproducer",function(t,r){var n={id:t.id,rtpParameters:r};t.setRtpParameters(r),e.safeEmit("@notify","updateProducer",n)})}},{key:"addProducer",value:function(e){return h.debug("addProducer() [producer:%o]",e),this._closed?Promise.reject(new a.InvalidStateError("Transport closed")):"send"!==this._direction?Promise.reject(new Error("not a sending Transport")):this._commandQueue.push("addProducer",{producer:e})}},{key:"removeProducer",value:function(e,t,r){h.debug("removeProducer() [producer:%o]",e),this._closed||this._commandQueue.push("removeProducer",{producer:e}).catch(function(){}),"local"===t&&this.safeEmit("@notify","closeProducer",{id:e.id,appData:r})}},{key:"pauseProducer",value:function(e,t){h.debug("pauseProducer() [producer:%o]",e);var r={id:e.id,appData:t};this.safeEmit("@notify","pauseProducer",r)}},{key:"resumeProducer",value:function(e,t){h.debug("resumeProducer() [producer:%o]",e);var r={id:e.id,appData:t};this.safeEmit("@notify","resumeProducer",r)}},{key:"replaceProducerTrack",value:function(e,t){return h.debug("replaceProducerTrack() [producer:%o]",e),this._commandQueue.push("replaceProducerTrack",{producer:e,track:t})}},{key:"enableProducerStats",value:function(e,t){h.debug("enableProducerStats() [producer:%o]",e);var r={id:e.id,interval:t};this.safeEmit("@notify","enableProducerStats",r)}},{key:"disableProducerStats",value:function(e){h.debug("disableProducerStats() [producer:%o]",e);var t={id:e.id};this.safeEmit("@notify","disableProducerStats",t)}},{key:"addConsumer",value:function(e){return h.debug("addConsumer() [consumer:%o]",e),this._closed?Promise.reject(new a.InvalidStateError("Transport closed")):"recv"!==this._direction?Promise.reject(new Error("not a receiving Transport")):this._commandQueue.push("addConsumer",{consumer:e})}},{key:"removeConsumer",value:function(e){h.debug("removeConsumer() [consumer:%o]",e),this._commandQueue.push("removeConsumer",{consumer:e}).catch(function(){})}},{key:"pauseConsumer",value:function(e,t){h.debug("pauseConsumer() [consumer:%o]",e);var r={id:e.id,appData:t};this.safeEmit("@notify","pauseConsumer",r)}},{key:"resumeConsumer",value:function(e,t){h.debug("resumeConsumer() [consumer:%o]",e);var r={id:e.id,appData:t};this.safeEmit("@notify","resumeConsumer",r)}},{key:"setConsumerPreferredProfile",value:function(e,t){h.debug("setConsumerPreferredProfile() [consumer:%o]",e);var r={id:e.id,profile:t};this.safeEmit("@notify","setConsumerPreferredProfile",r)}},{key:"enableConsumerStats",value:function(e,t){h.debug("enableConsumerStats() [consumer:%o]",e);var r={id:e.id,interval:t};this.safeEmit("@notify","enableConsumerStats",r)}},{key:"disableConsumerStats",value:function(e){h.debug("disableConsumerStats() [consumer:%o]",e);var t={id:e.id};this.safeEmit("@notify","disableConsumerStats",t)}},{key:"remoteStats",value:function(e){this.safeEmit("stats",e)}},{key:"_execCommand",value:function(e,t){var r;try{switch(e.method){case"addProducer":var n=e.producer;r=this._execAddProducer(n);break;case"removeProducer":var o=e.producer;r=this._execRemoveProducer(o);break;case"replaceProducerTrack":var a=e.producer,i=e.track;r=this._execReplaceProducerTrack(a,i);break;case"addConsumer":var s=e.consumer;r=this._execAddConsumer(s);break;case"removeConsumer":var c=e.consumer;r=this._execRemoveConsumer(c);break;case"restartIce":var u=e.remoteIceParameters;r=this._execRestartIce(u);break;default:r=Promise.reject(new Error('unknown command method "'.concat(e.method,'"')))}}catch(e){r=Promise.reject(e)}t.promise=r}},{key:"_execAddProducer",value:function(e){var t,r=this;return h.debug("_execAddProducer()"),Promise.resolve().then(function(){return r._handler.addProducer(e)}).then(function(n){t=n;var o={id:e.id,kind:e.kind,transportId:r._id,rtpParameters:n,paused:e.locallyPaused,appData:e.appData};return r.safeEmitAsPromise("@request","createProducer",o)}).then(function(){e.setRtpParameters(t)})}},{key:"_execRemoveProducer",value:function(e){return h.debug("_execRemoveProducer()"),this._handler.removeProducer(e)}},{key:"_execReplaceProducerTrack",value:function(e,t){return h.debug("_execReplaceProducerTrack()"),this._handler.replaceProducerTrack(e,t)}},{key:"_execAddConsumer",value:function(e){var t,r=this;return h.debug("_execAddConsumer()"),Promise.resolve().then(function(){return r._handler.addConsumer(e)}).then(function(n){t=n;var o={id:e.id,transportId:r.id,paused:e.locallyPaused,preferredProfile:e.preferredProfile};return r.safeEmitAsPromise("@request","enableConsumer",o)}).then(function(r){var n=r.paused,o=r.preferredProfile,a=r.effectiveProfile;return n&&e.remotePause(),o&&e.remoteSetPreferredProfile(o),a&&e.remoteEffectiveProfileChanged(a),t})}},{key:"_execRemoveConsumer",value:function(e){return h.debug("_execRemoveConsumer()"),this._handler.removeConsumer(e)}},{key:"_execRestartIce",value:function(e){return h.debug("_execRestartIce()"),this._handler.restartIce(e)}},{key:"id",get:function(){return this._id}},{key:"closed",get:function(){return this._closed}},{key:"direction",get:function(){return this._direction}},{key:"appData",get:function(){return this._appData}},{key:"connectionState",get:function(){return this._connectionState}},{key:"handler",get:function(){return this._handler}}])&&l(r.prototype,n),u&&l(r,u),t}();r.default=v},{"./CommandQueue":1,"./Device":3,"./EnhancedEventEmitter":4,"./Logger":5,"./errors":10,"./utils":33}],10:[function(e,t,r){"use strict";function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){return!t||"object"!==n(t)&&"function"!=typeof t?s(e):t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&d(e,t)}function s(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function c(e){var t="function"==typeof Map?new Map:void 0;return(c=function(e){if(null===e||(r=e,-1===Function.toString.call(r).indexOf("[native code]")))return e;var r;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return u(e,arguments,l(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),d(n,e)})(e)}function u(e,t,r){return(u=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(e){return!1}}()?Reflect.construct:function(e,t,r){var n=[null];n.push.apply(n,t);var o=new(Function.bind.apply(e,n));return r&&d(o,r.prototype),o}).apply(null,arguments)}function d(e,t){return(d=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function l(e){return(l=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}Object.defineProperty(r,"__esModule",{value:!0}),r.UnsupportedError=r.TimeoutError=r.InvalidStateError=void 0;var p=function(e){function t(e){var r;return o(this,t),(r=a(this,l(t).call(this,e))).name="InvalidStateError",Error.hasOwnProperty("captureStackTrace")?Error.captureStackTrace(s(s(r)),t):r.stack=new Error(e).stack,r}return i(t,c(Error)),t}();r.InvalidStateError=p;var f=function(e){function t(e){var r;return o(this,t),(r=a(this,l(t).call(this,e))).name="TimeoutError",Error.hasOwnProperty("captureStackTrace")?Error.captureStackTrace(s(s(r)),t):r.stack=new Error(e).stack,r}return i(t,c(Error)),t}();r.TimeoutError=f;var m=function(e){function t(e,r){var n;return o(this,t),(n=a(this,l(t).call(this,e))).name="UnsupportedError",Error.hasOwnProperty("captureStackTrace")?Error.captureStackTrace(s(s(n)),t):n.stack=new Error(e).stack,n.data=r,n}return i(t,c(Error)),t}();r.UnsupportedError=m},{}],11:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=void 0;var n=p(e("sdp-transform")),o=p(e("../Logger")),a=p(e("../EnhancedEventEmitter")),i=l(e("../utils")),s=l(e("../ortc")),c=l(e("./sdp/commonUtils")),u=l(e("./sdp/planBUtils")),d=p(e("./sdp/RemotePlanBSdp"));function l(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){var n=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,r):{};n.get||n.set?Object.defineProperty(t,r,n):t[r]=e[r]}return t.default=e,t}function p(e){return e&&e.__esModule?e:{default:e}}function f(e){return(f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function m(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function h(e,t){for(var r=0;r0&&(r.groups=[{type:"BUNDLE",mids:o.join(" ")}]),r.media=[];var a=!0,i=!1,s=void 0;try{for(var c,u=(e.media||[])[Symbol.iterator]();!(a=(c=u.next()).done);a=!0){var d=c.value,l="inactive"===d.direction,p=d.type,f=this._rtpParametersByKind[p].codecs,m=this._rtpParametersByKind[p].headerExtensions,v={};switch(v.type=d.type,v.port=t.port,v.protocol="RTP/AVP",v.connection={ip:t.ip,version:t.version},v.mid=d.mid,d.direction){case"sendrecv":case"sendonly":v.direction="recvonly";break;case"recvonly":case"inactive":v.direction="inactive"}v.rtp=[],v.rtcpFb=[],v.fmtp=[];var y=!0,_=!1,g=void 0;try{for(var b,P=f[Symbol.iterator]();!(y=(b=P.next()).done);y=!0){var w=b.value,k={payload:w.payloadType,codec:w.name,rate:w.clockRate};if(w.channels>1&&(k.encoding=w.channels),v.rtp.push(k),w.parameters){for(var S={payload:w.payloadType,config:""},R=Object.keys(w.parameters),T=0;T0&&(r.groups=[{type:"BUNDLE",mids:o.join(" ")}]),r.media=[];var a=!0,i=!1,s=void 0;try{for(var c,u=e[Symbol.iterator]();!(a=(c=u.next()).done);a=!0){var d=c.value,l=d.closed,p=d.kind,f=this._rtpParametersByKind[p].codecs,m=this._rtpParametersByKind[p].headerExtensions,v={};v.type=p,v.mid=d.mid,v.msid="".concat(d.streamId," ").concat(d.trackId),v.port=t.port,v.protocol="RTP/AVP",v.connection={ip:t.ip,version:t.version},v.direction=l?"inactive":"sendonly",v.rtp=[],v.rtcpFb=[],v.fmtp=[];var y=!0,_=!1,g=void 0;try{for(var b,P=f[Symbol.iterator]();!(y=(b=P.next()).done);y=!0){var w=b.value,k={payload:w.payloadType,codec:w.name,rate:w.clockRate};if(w.channels>1&&(k.encoding=w.channels),v.rtp.push(k),w.parameters){for(var S={payload:w.payloadType,config:""},R=Object.keys(w.parameters),T=0;T1&&(j.encoding=D.channels),_.rtp.push(j),D.parameters){for(var I={payload:D.payloadType,config:""},L=Object.keys(D.parameters),F=0;F1&&(k.encoding=w.channels),c.rtp.push(k),w.parameters){for(var S={payload:w.payloadType,config:""},R=Object.keys(w.parameters),T=0;T0&&(a.groups=[{type:"BUNDLE",mids:i.join(" ")}]),a.media=[];var s=o.fingerprints.length;a.fingerprint={type:o.fingerprints[s-1].algorithm,hash:o.fingerprints[s-1].value};var c=!0,u=!1,d=void 0;try{for(var l,p=(e.media||[])[Symbol.iterator]();!(c=(l=p.next()).done);c=!0){var f=l.value,m="inactive"===f.direction,v=f.type,y=this._rtpParametersByKind[v].codecs,_=this._rtpParametersByKind[v].headerExtensions,g={};g.type=f.type,g.port=7,g.protocol="RTP/SAVPF",g.connection={ip:"127.0.0.1",version:4},g.mid=f.mid,g.iceUfrag=t.usernameFragment,g.icePwd=t.password,g.candidates=[];var b=!0,P=!1,w=void 0;try{for(var k,S=r[Symbol.iterator]();!(b=(k=S.next()).done);b=!0){var R=k.value,T={component:1};T.foundation=R.foundation,T.ip=R.ip,T.port=R.port,T.priority=R.priority,T.transport=R.protocol,T.type=R.type,R.tcpType&&(T.tcptype=R.tcpType),g.candidates.push(T)}}catch(e){P=!0,w=e}finally{try{b||null==S.return||S.return()}finally{if(P)throw w}}switch(g.endOfCandidates="end-of-candidates",g.iceOptions="renomination",o.role){case"client":g.setup="active";break;case"server":g.setup="passive"}switch(f.direction){case"sendrecv":case"sendonly":g.direction="recvonly";break;case"recvonly":case"inactive":g.direction="inactive"}g.rtp=[],g.rtcpFb=[],g.fmtp=[];var C=!0,O=!1,E=void 0;try{for(var x,D=y[Symbol.iterator]();!(C=(x=D.next()).done);C=!0){var j=x.value,I={payload:j.payloadType,codec:j.name,rate:j.clockRate};if(j.channels>1&&(I.encoding=j.channels),g.rtp.push(I),j.parameters){for(var L={payload:j.payloadType,config:""},F=Object.keys(j.parameters),A=0;A0&&(a.groups=[{type:"BUNDLE",mids:i.join(" ")}]),a.media=[];var s=o.fingerprints.length;a.fingerprint={type:o.fingerprints[s-1].algorithm,hash:o.fingerprints[s-1].value};var c=!0,u=!1,d=void 0;try{for(var l,p=e[Symbol.iterator]();!(c=(l=p.next()).done);c=!0){var f=l.value,m=f.closed,v=f.kind,y=void 0,_=void 0;"application"!==f.kind&&(y=this._rtpParametersByKind[v].codecs,_=this._rtpParametersByKind[v].headerExtensions);var g={};"application"!==f.kind?(g.type=v,g.port=7,g.protocol="RTP/SAVPF",g.connection={ip:"127.0.0.1",version:4},g.mid=f.mid,g.msid="".concat(f.streamId," ").concat(f.trackId)):(g.type=v,g.port=9,g.protocol="DTLS/SCTP",g.connection={ip:"127.0.0.1",version:4},g.mid=f.mid),g.iceUfrag=t.usernameFragment,g.icePwd=t.password,g.candidates=[];var b=!0,P=!1,w=void 0;try{for(var k,S=r[Symbol.iterator]();!(b=(k=S.next()).done);b=!0){var R=k.value,T={component:1};T.foundation=R.foundation,T.ip=R.ip,T.port=R.port,T.priority=R.priority,T.transport=R.protocol,T.type=R.type,R.tcpType&&(T.tcptype=R.tcpType),g.candidates.push(T)}}catch(e){P=!0,w=e}finally{try{b||null==S.return||S.return()}finally{if(P)throw w}}if(g.endOfCandidates="end-of-candidates",g.iceOptions="renomination",g.setup="actpass","application"!==f.kind){g.direction=m?"inactive":"sendonly",g.rtp=[],g.rtcpFb=[],g.fmtp=[];var C=!0,O=!1,E=void 0;try{for(var x,D=y[Symbol.iterator]();!(C=(x=D.next()).done);C=!0){var j=x.value,I={payload:j.payloadType,codec:j.name,rate:j.clockRate};if(j.channels>1&&(I.encoding=j.channels),g.rtp.push(I),j.parameters){for(var L={payload:j.payloadType,config:""},F=Object.keys(j.parameters),A=0;A1,A=["low","medium","high"],M=!0,U=!1,B=void 0;try{for(var N,G=y[Symbol.iterator]();!(M=(N=G.next()).done);M=!0){var z=n(N.value,2),q=z[0],C=z[1],K={ssrc:q};C&&(K.rtx={ssrc:C}),F&&(K.profile=A.shift()),e.encodings.push(K)}}catch(e){U=!0,B=e}finally{try{M||null==G.return||G.return()}finally{if(U)throw B}}},r.addSimulcastForTrack=function(e,t){var r,n,o,a=t.kind,i=(e.media||[]).find(function(e){return e.type===a});if(!i)throw new Error("m=".concat(a," section not found"));if(!(i.ssrcs||[]).find(function(e){if("msid"!==e.attribute)return!1;var n=e.value.split(" ")[1];return n===t.id?(r=e.id,o=e.value.split(" ")[0],!0):void 0}))throw new Error("a=ssrc line not found for local track [track.id:".concat(t.id,"]"));(i.ssrcGroups||[]).some(function(e){if("FID"===e.semantics){var t=e.ssrcs.split(/\s+/);return Number(t[0])===r?(n=Number(t[1]),!0):void 0}});var s=i.ssrcs.find(function(e){return"cname"===e.attribute&&e.id===r});if(!s)throw new Error("CNAME line not found for local track [track.id:".concat(t.id,"]"));var c=s.value,u=r+1,d=r+2;if(i.ssrcGroups=i.ssrcGroups||[],i.ssrcGroups.push({semantics:"SIM",ssrcs:"".concat(r," ").concat(u," ").concat(d)}),i.ssrcs.push({id:u,attribute:"cname",value:c}),i.ssrcs.push({id:u,attribute:"msid",value:"".concat(o," ").concat(t.id)}),i.ssrcs.push({id:d,attribute:"cname",value:c}),i.ssrcs.push({id:d,attribute:"msid",value:"".concat(o," ").concat(t.id)}),n){var l=n+1,p=n+2;i.ssrcGroups.push({semantics:"FID",ssrcs:"".concat(u," ").concat(l)}),i.ssrcs.push({id:l,attribute:"cname",value:c}),i.ssrcs.push({id:l,attribute:"msid",value:"".concat(o," ").concat(t.id)}),i.ssrcGroups.push({semantics:"FID",ssrcs:"".concat(d," ").concat(p)}),i.ssrcs.push({id:p,attribute:"cname",value:c}),i.ssrcs.push({id:p,attribute:"msid",value:"".concat(o," ").concat(t.id)})}}},{}],29:[function(e,t,r){"use strict";function n(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=[],n=!0,o=!1,a=void 0;try{for(var i,s=e[Symbol.iterator]();!(n=(i=s.next()).done)&&(r.push(i.value),!t||r.length!==t);n=!0);}catch(e){o=!0,a=e}finally{try{n||null==s.return||s.return()}finally{if(o)throw a}}return r}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function o(e,t,r){var n;if(null!=r){if(r=String(r),!(n=(e.media||[]).find(function(e){return String(e.mid)===r})))throw new Error("SDP section with mid=".concat(r," not found"))}else if(!(n=(e.media||[]).find(function(e){return e.type===t.kind&&e.msid&&e.msid.split(" ")[1]===t.id})))throw new Error("SDP section with a=msid containing track.id=".concat(t.id," not found"));return n}Object.defineProperty(r,"__esModule",{value:!0}),r.fillRtpParametersForTrack=function(e,t,r){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=a.mid,s=void 0===i?null:i,c=a.planBSimulcast,u=void 0!==c&&c,d=o(t,r,s);null!=s&&(e.muxId=String(s));e.rtcp={cname:null,reducedSize:!0,mux:!0};var l=(d.ssrcs||[]).find(function(e){return"cname"===e.attribute});if(!l)throw new Error("CNAME value not found");if(e.rtcp.cname=l.value,u){var p,f=new Set,m=!0,h=!1,v=void 0;try{for(var y,_=(d.ssrcs||[])[Symbol.iterator]();!(m=(y=_.next()).done);m=!0){var g=y.value;if("msid"===g.attribute){var b=g.id;f.add(b),p||(p=b)}}}catch(e){h=!0,v=e}finally{try{m||null==_.return||_.return()}finally{if(h)throw v}}if(0===f.size)throw new Error("no a=ssrc lines found");var P=new Map,w=!0,k=!1,S=void 0;try{for(var R,T=(d.ssrcGroups||[])[Symbol.iterator]();!(w=(R=T.next()).done);w=!0){var C=R.value;if("FID"===C.semantics){var O=C.ssrcs.split(/\s+/),E=n(O,2),x=E[0],D=E[1];x=Number(x),D=Number(D),f.has(x)&&(f.delete(x),f.delete(D),P.set(x,D))}}}catch(e){k=!0,S=e}finally{try{w||null==T.return||T.return()}finally{if(k)throw S}}var j=!0,I=!1,L=void 0;try{for(var F,A=f[Symbol.iterator]();!(j=(F=A.next()).done);j=!0){var M=F.value;P.set(M,null)}}catch(e){I=!0,L=e}finally{try{j||null==A.return||A.return()}finally{if(I)throw L}}e.encodings=[];var U=P.size>1,B=["low","medium","high"],N=!0,G=!1,z=void 0;try{for(var q,K=P[Symbol.iterator]();!(N=(q=K.next()).done);N=!0){var V=n(q.value,2),W=V[0],D=V[1],Q={ssrc:W};D&&(Q.rtx={ssrc:D}),U&&(Q.profile=B.shift()),e.encodings.push(Q)}}catch(e){G=!0,z=e}finally{try{N||null==K.return||K.return()}finally{if(G)throw z}}}else{var $=l.id,H=[],Z=!0,J=!1,X=void 0;try{for(var Y,ee=(d.rids||[])[Symbol.iterator]();!(Z=(Y=ee.next()).done);Z=!0){var te=Y.value;"send"===te.direction&&(/^low/.test(te.id)?H.push({rid:te.id,profile:"low"}):/^medium/.test(te.id)&&H.push({rid:te.id,profile:"medium"}),/^high/.test(te.id)&&H.push({rid:te.id,profile:"high"}))}}catch(e){J=!0,X=e}finally{try{Z||null==ee.return||ee.return()}finally{if(J)throw X}}if(e.encodings=[],0===H.length){var re={ssrc:$};e.encodings.push(re)}else for(var ne=0;ne2&&void 0!==arguments[2]?arguments[2]:{}).mid,n=o(e,t,void 0===r?null:r),a=(n.ssrcs||[]).find(function(e){return"msid"===e.attribute});if(!a)throw new Error("a=ssrc line with msid information not found");var i,s=a.id,c=a.value.split(" ")[0];(n.ssrcGroups||[]).some(function(e){if("FID"===e.semantics){var t=e.ssrcs.split(/\s+/);return Number(t[0])===s?(i=Number(t[1]),!0):void 0}});var u=n.ssrcs.find(function(e){return"cname"===e.attribute&&e.id===s});if(!u)throw new Error("CNAME line not found");var d=u.value,l=s+1,p=s+2;if(n.ssrcGroups=[],n.ssrcs=[],n.ssrcGroups.push({semantics:"SIM",ssrcs:"".concat(s," ").concat(l," ").concat(p)}),n.ssrcs.push({id:s,attribute:"cname",value:d}),n.ssrcs.push({id:s,attribute:"msid",value:"".concat(c," ").concat(t.id)}),n.ssrcs.push({id:l,attribute:"cname",value:d}),n.ssrcs.push({id:l,attribute:"msid",value:"".concat(c," ").concat(t.id)}),n.ssrcs.push({id:p,attribute:"cname",value:d}),n.ssrcs.push({id:p,attribute:"msid",value:"".concat(c," ").concat(t.id)}),i){var f=i+1,m=i+2;n.ssrcGroups.push({semantics:"FID",ssrcs:"".concat(s," ").concat(i)}),n.ssrcs.push({id:i,attribute:"cname",value:d}),n.ssrcs.push({id:i,attribute:"msid",value:"".concat(c," ").concat(t.id)}),n.ssrcGroups.push({semantics:"FID",ssrcs:"".concat(l," ").concat(f)}),n.ssrcs.push({id:f,attribute:"cname",value:d}),n.ssrcs.push({id:f,attribute:"msid",value:"".concat(c," ").concat(t.id)}),n.ssrcGroups.push({semantics:"FID",ssrcs:"".concat(p," ").concat(m)}),n.ssrcs.push({id:m,attribute:"cname",value:d}),n.ssrcs.push({id:m,attribute:"msid",value:"".concat(c," ").concat(t.id)})}}},{}],30:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.setDeviceHandler=function(e,t){o.default.setHandler(e,t)},r.isDeviceSupported=function(){return o.default.isSupported()},r.getDeviceInfo=function(){return{flag:o.default.getFlag(),name:o.default.getName(),version:o.default.getVersion(),bowser:o.default.getBowser()}},r.checkCapabilitiesForRoom=function(e){return o.default.isSupported()?o.default.Handler.getNativeRtpCapabilities().then(function(t){var r=n.getExtendedRtpCapabilities(t,e);return{audio:n.canSend("audio",r),video:n.canSend("video",r)}}):Promise.reject(new Error("current browser/device not supported"))},Object.defineProperty(r,"Room",{enumerable:!0,get:function(){return a.default}}),r.internals=void 0;var n=c(e("./ortc")),o=s(e("./Device")),a=s(e("./Room")),i=c(e("./internals"));function s(e){return e&&e.__esModule?e:{default:e}}function c(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){var n=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,r):{};n.get||n.set?Object.defineProperty(t,r,n):t[r]=e[r]}return t.default=e,t}r.internals=i},{"./Device":3,"./Room":8,"./internals":31,"./ortc":32}],31:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"Logger",{enumerable:!0,get:function(){return n.default}}),Object.defineProperty(r,"EnhancedEventEmitter",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(r,"RemoteUnifiedPlanSdp",{enumerable:!0,get:function(){return l.default}}),Object.defineProperty(r,"RemotePlanBSdp",{enumerable:!0,get:function(){return p.default}}),Object.defineProperty(r,"RemotePlainRtpSdp",{enumerable:!0,get:function(){return f.default}}),r.sdpPlainRtpUtils=r.sdpPlanBUtils=r.sdpUnifiedPlanUtils=r.sdpCommonUtils=r.ortc=r.utils=void 0;var n=h(e("./Logger")),o=h(e("./EnhancedEventEmitter")),a=m(e("./utils"));r.utils=a;var i=m(e("./ortc"));r.ortc=i;var s=m(e("./handlers/sdp/commonUtils"));r.sdpCommonUtils=s;var c=m(e("./handlers/sdp/unifiedPlanUtils"));r.sdpUnifiedPlanUtils=c;var u=m(e("./handlers/sdp/planBUtils"));r.sdpPlanBUtils=u;var d=m(e("./handlers/sdp/plainRtpUtils"));r.sdpPlainRtpUtils=d;var l=h(e("./handlers/sdp/RemoteUnifiedPlanSdp")),p=h(e("./handlers/sdp/RemotePlanBSdp")),f=h(e("./handlers/sdp/RemotePlainRtpSdp"));function m(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){var n=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,r):{};n.get||n.set?Object.defineProperty(t,r,n):t[r]=e[r]}return t.default=e,t}function h(e){return e&&e.__esModule?e:{default:e}}},{"./EnhancedEventEmitter":4,"./Logger":5,"./handlers/sdp/RemotePlainRtpSdp":23,"./handlers/sdp/RemotePlanBSdp":24,"./handlers/sdp/RemoteUnifiedPlanSdp":25,"./handlers/sdp/commonUtils":26,"./handlers/sdp/plainRtpUtils":27,"./handlers/sdp/planBUtils":28,"./handlers/sdp/unifiedPlanUtils":29,"./ortc":32,"./utils":33}],32:[function(e,t,r){"use strict";function n(e,t){var r=[],n=!0,o=!1,a=void 0;try{for(var i,s=function(){var e=i.value,n=(t.rtcpFeedback||[]).find(function(t){return t.type===e.type&&t.parameter===e.parameter});n&&r.push(n)},c=(e.rtcpFeedback||[])[Symbol.iterator]();!(n=(i=c.next()).done);n=!0)s()}catch(e){o=!0,a=e}finally{try{n||null==c.return||c.return()}finally{if(o)throw a}}return r}Object.defineProperty(r,"__esModule",{value:!0}),r.getExtendedRtpCapabilities=function(e,t){var r={codecs:[],headerExtensions:[],fecMechanisms:[]},o=!0,a=!1,i=void 0;try{for(var s,c=function(){var t=s.value;if("rtx"===t.name)return"continue";var o=(e.codecs||[]).find(function(e){return function(e,t){var r=e.mimeType.toLowerCase(),n=t.mimeType.toLowerCase();if(r!==n)return!1;if(e.clockRate!==t.clockRate)return!1;if(e.channels!==t.channels)return!1;if("video/h264"===r){var o=(e.parameters||{})["packetization-mode"]||0,a=(t.parameters||{})["packetization-mode"]||0;if(o!==a)return!1}return!0}(e,t)});if(o){var a={name:t.name,mimeType:t.mimeType,kind:t.kind,clockRate:t.clockRate,sendPayloadType:o.preferredPayloadType,sendRtxPayloadType:null,recvPayloadType:t.preferredPayloadType,recvRtxPayloadType:null,channels:t.channels,rtcpFeedback:n(o,t),parameters:t.parameters};a.channels||delete a.channels,r.codecs.push(a)}},u=(t.codecs||[])[Symbol.iterator]();!(o=(s=u.next()).done);o=!0)c()}catch(e){a=!0,i=e}finally{try{o||null==u.return||u.return()}finally{if(a)throw i}}var d=!0,l=!1,p=void 0;try{for(var f,m=function(){var r=f.value,n=(e.codecs||[]).find(function(e){return"rtx"===e.name&&e.parameters.apt===r.sendPayloadType}),o=(t.codecs||[]).find(function(e){return"rtx"===e.name&&e.parameters.apt===r.recvPayloadType});n&&o&&(r.sendRtxPayloadType=n.preferredPayloadType,r.recvRtxPayloadType=o.preferredPayloadType)},h=(r.codecs||[])[Symbol.iterator]();!(d=(f=h.next()).done);d=!0)m()}catch(e){l=!0,p=e}finally{try{d||null==h.return||h.return()}finally{if(l)throw p}}var v=!0,y=!1,_=void 0;try{for(var g,b=function(){var t=g.value,n=(e.headerExtensions||[]).find(function(e){return n=t,!((r=e).kind&&n.kind&&r.kind!==n.kind||r.uri!==n.uri);var r,n});if(n){var o={kind:t.kind,uri:t.uri,sendId:n.preferredId,recvId:t.preferredId};r.headerExtensions.push(o)}},P=(t.headerExtensions||[])[Symbol.iterator]();!(v=(g=P.next()).done);v=!0)b()}catch(e){y=!0,_=e}finally{try{v||null==P.return||P.return()}finally{if(y)throw _}}return r},r.getRtpCapabilities=function(e){var t={codecs:[],headerExtensions:[],fecMechanisms:[]},r=!0,n=!1,o=void 0;try{for(var a,i=e.codecs[Symbol.iterator]();!(r=(a=i.next()).done);r=!0){var s=a.value,c={name:s.name,mimeType:s.mimeType,kind:s.kind,clockRate:s.clockRate,preferredPayloadType:s.recvPayloadType,channels:s.channels,rtcpFeedback:s.rtcpFeedback,parameters:s.parameters};if(c.channels||delete c.channels,t.codecs.push(c),s.recvRtxPayloadType){var u={name:"rtx",mimeType:"".concat(s.kind,"/rtx"),kind:s.kind,clockRate:s.clockRate,preferredPayloadType:s.recvRtxPayloadType,parameters:{apt:s.recvPayloadType}};t.codecs.push(u)}}}catch(e){n=!0,o=e}finally{try{r||null==i.return||i.return()}finally{if(n)throw o}}var d=!0,l=!1,p=void 0;try{for(var f,m=e.headerExtensions[Symbol.iterator]();!(d=(f=m.next()).done);d=!0){var h=f.value,v={kind:h.kind,uri:h.uri,preferredId:h.recvId};t.headerExtensions.push(v)}}catch(e){l=!0,p=e}finally{try{d||null==m.return||m.return()}finally{if(l)throw p}}return t.fecMechanisms=e.fecMechanisms,t},r.getUnsupportedCodecs=function(e,t,r){if(!Array.isArray(t))return[];var n=[],o=e.codecs,a=r.codecs,i=!0,s=!1,c=void 0;try{for(var u,d=function(){var e=u.value;if(!a.some(function(t){return t.recvPayloadType===e})){var t=o.find(function(t){return t.preferredPayloadType===e});if(!t)throw new Error("mandatory codec PT ".concat(e," not found in remote codecs"));n.push(t)}},l=t[Symbol.iterator]();!(i=(u=l.next()).done);i=!0)d()}catch(e){s=!0,c=e}finally{try{i||null==l.return||l.return()}finally{if(s)throw c}}return n},r.canSend=function(e,t){return t.codecs.some(function(t){return t.kind===e})},r.canReceive=function(e,t){if(0===e.codecs.length)return!1;var r=e.codecs[0];return t.codecs.some(function(e){return e.recvPayloadType===r.payloadType})},r.getSendingRtpParameters=function(e,t){var r={muxId:null,codecs:[],headerExtensions:[],encodings:[],rtcp:{}},n=!0,o=!1,a=void 0;try{for(var i,s=t.codecs[Symbol.iterator]();!(n=(i=s.next()).done);n=!0){var c=i.value;if(c.kind===e){var u={name:c.name,mimeType:c.mimeType,clockRate:c.clockRate,payloadType:c.sendPayloadType,channels:c.channels,rtcpFeedback:c.rtcpFeedback,parameters:c.parameters};if(u.channels||delete u.channels,r.codecs.push(u),c.sendRtxPayloadType){var d={name:"rtx",mimeType:"".concat(c.kind,"/rtx"),clockRate:c.clockRate,payloadType:c.sendRtxPayloadType,parameters:{apt:c.sendPayloadType}};r.codecs.push(d)}break}}}catch(e){o=!0,a=e}finally{try{n||null==s.return||s.return()}finally{if(o)throw a}}var l=!0,p=!1,f=void 0;try{for(var m,h=t.headerExtensions[Symbol.iterator]();!(l=(m=h.next()).done);l=!0){var v=m.value;if(!v.kind||v.kind===e){var y={uri:v.uri,id:v.sendId};r.headerExtensions.push(y)}}}catch(e){p=!0,f=e}finally{try{l||null==h.return||h.return()}finally{if(p)throw f}}return r},r.getReceivingFullRtpParameters=function(e,t){var r={muxId:null,codecs:[],headerExtensions:[],encodings:[],rtcp:{}},n=!0,o=!1,a=void 0;try{for(var i,s=t.codecs[Symbol.iterator]();!(n=(i=s.next()).done);n=!0){var c=i.value;if(c.kind===e){var u={name:c.name,mimeType:c.mimeType,clockRate:c.clockRate,payloadType:c.recvPayloadType,channels:c.channels,rtcpFeedback:c.rtcpFeedback,parameters:c.parameters};if(u.channels||delete u.channels,r.codecs.push(u),c.recvRtxPayloadType){var d={name:"rtx",mimeType:"".concat(c.kind,"/rtx"),clockRate:c.clockRate,payloadType:c.recvRtxPayloadType,parameters:{apt:c.recvPayloadType}};r.codecs.push(d)}}}}catch(e){o=!0,a=e}finally{try{n||null==s.return||s.return()}finally{if(o)throw a}}var l=!0,p=!1,f=void 0;try{for(var m,h=t.headerExtensions[Symbol.iterator]();!(l=(m=h.next()).done);l=!0){var v=m.value;if(!v.kind||v.kind===e){var y={uri:v.uri,id:v.recvId};r.headerExtensions.push(y)}}}catch(e){p=!0,f=e}finally{try{l||null==h.return||h.return()}finally{if(p)throw f}}return r}},{}],33:[function(e,t,r){"use strict";var n;Object.defineProperty(r,"__esModule",{value:!0}),r.randomNumber=function(){return o()},r.clone=function(e){return JSON.parse(JSON.stringify(e))};var o=((n=e("random-number"))&&n.__esModule?n:{default:n}).default.generator({min:1e7,max:99999999,integer:!0})},{"random-number":40}],34:[function(e,t,r){var n,o;n=this,o=function(){var e=!0;function t(t){function r(e){var r=t.match(e);return r&&r.length>1&&r[1]||""}function n(e){var r=t.match(e);return r&&r.length>1&&r[2]||""}var o,i=r(/(ipod|iphone|ipad)/i).toLowerCase(),s=!/like android/i.test(t)&&/android/i.test(t),c=/nexus\s*[0-6]\s*/i.test(t),u=!c&&/nexus\s*[0-9]+/i.test(t),d=/CrOS/.test(t),l=/silk/i.test(t),p=/sailfish/i.test(t),f=/tizen/i.test(t),m=/(web|hpw)(o|0)s/i.test(t),h=/windows phone/i.test(t),v=(/SamsungBrowser/i.test(t),!h&&/windows/i.test(t)),y=!i&&!l&&/macintosh/i.test(t),_=!s&&!p&&!f&&!m&&/linux/i.test(t),g=n(/edg([ea]|ios)\/(\d+(\.\d+)?)/i),b=r(/version\/(\d+(\.\d+)?)/i),P=/tablet/i.test(t)&&!/tablet pc/i.test(t),w=!P&&/[^-]mobi/i.test(t),k=/xbox/i.test(t);/opera/i.test(t)?o={name:"Opera",opera:e,version:b||r(/(?:opera|opr|opios)[\s\/](\d+(\.\d+)?)/i)}:/opr\/|opios/i.test(t)?o={name:"Opera",opera:e,version:r(/(?:opr|opios)[\s\/](\d+(\.\d+)?)/i)||b}:/SamsungBrowser/i.test(t)?o={name:"Samsung Internet for Android",samsungBrowser:e,version:b||r(/(?:SamsungBrowser)[\s\/](\d+(\.\d+)?)/i)}:/Whale/i.test(t)?o={name:"NAVER Whale browser",whale:e,version:r(/(?:whale)[\s\/](\d+(?:\.\d+)+)/i)}:/MZBrowser/i.test(t)?o={name:"MZ Browser",mzbrowser:e,version:r(/(?:MZBrowser)[\s\/](\d+(?:\.\d+)+)/i)}:/coast/i.test(t)?o={name:"Opera Coast",coast:e,version:b||r(/(?:coast)[\s\/](\d+(\.\d+)?)/i)}:/focus/i.test(t)?o={name:"Focus",focus:e,version:r(/(?:focus)[\s\/](\d+(?:\.\d+)+)/i)}:/yabrowser/i.test(t)?o={name:"Yandex Browser",yandexbrowser:e,version:b||r(/(?:yabrowser)[\s\/](\d+(\.\d+)?)/i)}:/ucbrowser/i.test(t)?o={name:"UC Browser",ucbrowser:e,version:r(/(?:ucbrowser)[\s\/](\d+(?:\.\d+)+)/i)}:/mxios/i.test(t)?o={name:"Maxthon",maxthon:e,version:r(/(?:mxios)[\s\/](\d+(?:\.\d+)+)/i)}:/epiphany/i.test(t)?o={name:"Epiphany",epiphany:e,version:r(/(?:epiphany)[\s\/](\d+(?:\.\d+)+)/i)}:/puffin/i.test(t)?o={name:"Puffin",puffin:e,version:r(/(?:puffin)[\s\/](\d+(?:\.\d+)?)/i)}:/sleipnir/i.test(t)?o={name:"Sleipnir",sleipnir:e,version:r(/(?:sleipnir)[\s\/](\d+(?:\.\d+)+)/i)}:/k-meleon/i.test(t)?o={name:"K-Meleon",kMeleon:e,version:r(/(?:k-meleon)[\s\/](\d+(?:\.\d+)+)/i)}:h?(o={name:"Windows Phone",osname:"Windows Phone",windowsphone:e},g?(o.msedge=e,o.version=g):(o.msie=e,o.version=r(/iemobile\/(\d+(\.\d+)?)/i))):/msie|trident/i.test(t)?o={name:"Internet Explorer",msie:e,version:r(/(?:msie |rv:)(\d+(\.\d+)?)/i)}:d?o={name:"Chrome",osname:"Chrome OS",chromeos:e,chromeBook:e,chrome:e,version:r(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)}:/edg([ea]|ios)/i.test(t)?o={name:"Microsoft Edge",msedge:e,version:g}:/vivaldi/i.test(t)?o={name:"Vivaldi",vivaldi:e,version:r(/vivaldi\/(\d+(\.\d+)?)/i)||b}:p?o={name:"Sailfish",osname:"Sailfish OS",sailfish:e,version:r(/sailfish\s?browser\/(\d+(\.\d+)?)/i)}:/seamonkey\//i.test(t)?o={name:"SeaMonkey",seamonkey:e,version:r(/seamonkey\/(\d+(\.\d+)?)/i)}:/firefox|iceweasel|fxios/i.test(t)?(o={name:"Firefox",firefox:e,version:r(/(?:firefox|iceweasel|fxios)[ \/](\d+(\.\d+)?)/i)},/\((mobile|tablet);[^\)]*rv:[\d\.]+\)/i.test(t)&&(o.firefoxos=e,o.osname="Firefox OS")):l?o={name:"Amazon Silk",silk:e,version:r(/silk\/(\d+(\.\d+)?)/i)}:/phantom/i.test(t)?o={name:"PhantomJS",phantom:e,version:r(/phantomjs\/(\d+(\.\d+)?)/i)}:/slimerjs/i.test(t)?o={name:"SlimerJS",slimer:e,version:r(/slimerjs\/(\d+(\.\d+)?)/i)}:/blackberry|\bbb\d+/i.test(t)||/rim\stablet/i.test(t)?o={name:"BlackBerry",osname:"BlackBerry OS",blackberry:e,version:b||r(/blackberry[\d]+\/(\d+(\.\d+)?)/i)}:m?(o={name:"WebOS",osname:"WebOS",webos:e,version:b||r(/w(?:eb)?osbrowser\/(\d+(\.\d+)?)/i)},/touchpad\//i.test(t)&&(o.touchpad=e)):/bada/i.test(t)?o={name:"Bada",osname:"Bada",bada:e,version:r(/dolfin\/(\d+(\.\d+)?)/i)}:f?o={name:"Tizen",osname:"Tizen",tizen:e,version:r(/(?:tizen\s?)?browser\/(\d+(\.\d+)?)/i)||b}:/qupzilla/i.test(t)?o={name:"QupZilla",qupzilla:e,version:r(/(?:qupzilla)[\s\/](\d+(?:\.\d+)+)/i)||b}:/chromium/i.test(t)?o={name:"Chromium",chromium:e,version:r(/(?:chromium)[\s\/](\d+(?:\.\d+)?)/i)||b}:/chrome|crios|crmo/i.test(t)?o={name:"Chrome",chrome:e,version:r(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)}:s?o={name:"Android",version:b}:/safari|applewebkit/i.test(t)?(o={name:"Safari",safari:e},b&&(o.version=b)):i?(o={name:"iphone"==i?"iPhone":"ipad"==i?"iPad":"iPod"},b&&(o.version=b)):o=/googlebot/i.test(t)?{name:"Googlebot",googlebot:e,version:r(/googlebot\/(\d+(\.\d+))/i)||b}:{name:r(/^(.*)\/(.*) /),version:n(/^(.*)\/(.*) /)},!o.msedge&&/(apple)?webkit/i.test(t)?(/(apple)?webkit\/537\.36/i.test(t)?(o.name=o.name||"Blink",o.blink=e):(o.name=o.name||"Webkit",o.webkit=e),!o.version&&b&&(o.version=b)):!o.opera&&/gecko\//i.test(t)&&(o.name=o.name||"Gecko",o.gecko=e,o.version=o.version||r(/gecko\/(\d+(\.\d+)?)/i)),o.windowsphone||!s&&!o.silk?!o.windowsphone&&i?(o[i]=e,o.ios=e,o.osname="iOS"):y?(o.mac=e,o.osname="macOS"):k?(o.xbox=e,o.osname="Xbox"):v?(o.windows=e,o.osname="Windows"):_&&(o.linux=e,o.osname="Linux"):(o.android=e,o.osname="Android");var S="";o.windows?S=function(e){switch(e){case"NT":return"NT";case"XP":return"XP";case"NT 5.0":return"2000";case"NT 5.1":return"XP";case"NT 5.2":return"2003";case"NT 6.0":return"Vista";case"NT 6.1":return"7";case"NT 6.2":return"8";case"NT 6.3":return"8.1";case"NT 10.0":return"10";default:return}}(r(/Windows ((NT|XP)( \d\d?.\d)?)/i)):o.windowsphone?S=r(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i):o.mac?S=(S=r(/Mac OS X (\d+([_\.\s]\d+)*)/i)).replace(/[_\s]/g,"."):i?S=(S=r(/os (\d+([_\s]\d+)*) like mac os x/i)).replace(/[_\s]/g,"."):s?S=r(/android[ \/-](\d+(\.\d+)*)/i):o.webos?S=r(/(?:web|hpw)os\/(\d+(\.\d+)*)/i):o.blackberry?S=r(/rim\stablet\sos\s(\d+(\.\d+)*)/i):o.bada?S=r(/bada\/(\d+(\.\d+)*)/i):o.tizen&&(S=r(/tizen[\/\s](\d+(\.\d+)*)/i)),S&&(o.osversion=S);var R=!o.windows&&S.split(".")[0];return P||u||"ipad"==i||s&&(3==R||R>=4&&!w)||o.silk?o.tablet=e:(w||"iphone"==i||"ipod"==i||s||c||o.blackberry||o.webos||o.bada)&&(o.mobile=e),o.msedge||o.msie&&o.version>=10||o.yandexbrowser&&o.version>=15||o.vivaldi&&o.version>=1||o.chrome&&o.version>=20||o.samsungBrowser&&o.version>=4||o.whale&&1===a([o.version,"1.0"])||o.mzbrowser&&1===a([o.version,"6.0"])||o.focus&&1===a([o.version,"1.0"])||o.firefox&&o.version>=20||o.safari&&o.version>=6||o.opera&&o.version>=10||o.ios&&o.osversion&&o.osversion.split(".")[0]>=6||o.blackberry&&o.version>=10.1||o.chromium&&o.version>=20?o.a=e:o.msie&&o.version<10||o.chrome&&o.version<20||o.firefox&&o.version<20||o.safari&&o.version<6||o.opera&&o.version<10||o.ios&&o.osversion&&o.osversion.split(".")[0]<6||o.chromium&&o.version<20?o.c=e:o.x=e,o}var r=t("undefined"!=typeof navigator&&navigator.userAgent||"");function n(e){return e.split(".").length}function o(e,t){var r,n=[];if(Array.prototype.map)return Array.prototype.map.call(e,t);for(r=0;r=0;){if(r[0][t]>r[1][t])return 1;if(r[0][t]!==r[1][t])return-1;if(0===t)return 0}}function i(e,n,o){var i=r;"string"==typeof n&&(o=n,n=void 0),void 0===n&&(n=!1),o&&(i=t(o));var s=""+i.version;for(var c in e)if(e.hasOwnProperty(c)&&i[c]){if("string"!=typeof e[c])throw new Error("Browser version in the minVersion map should be a string: "+c+": "+String(e));return a([s,e[c]])<0}return n}return r.test=function(e){for(var t=0;t0&&s.length>a){s.warned=!0;var c=new Error("Possible EventEmitter memory leak detected. "+s.length+' "'+String(t)+'" listeners added. Use emitter.setMaxListeners() to increase limit.');c.name="MaxListenersExceededWarning",c.emitter=e,c.type=t,c.count=s.length,"object"==typeof console&&console.warn&&console.warn("%s: %s",c.name,c.message)}}else s=i[t]=r,++e._eventsCount;return e}function p(){if(!this.fired)switch(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length){case 0:return this.listener.call(this.target);case 1:return this.listener.call(this.target,arguments[0]);case 2:return this.listener.call(this.target,arguments[0],arguments[1]);case 3:return this.listener.call(this.target,arguments[0],arguments[1],arguments[2]);default:for(var e=new Array(arguments.length),t=0;t1&&(t=arguments[1]),t instanceof Error)throw t;var c=new Error('Unhandled "error" event. ('+t+")");throw c.context=t,c}if(!(r=i[e]))return!1;var u="function"==typeof r;switch(n=arguments.length){case 1:!function(e,t,r){if(t)e.call(r);else for(var n=e.length,o=v(e,n),a=0;a=0;i--)if(r[i]===t||r[i].listener===t){s=r[i].listener,a=i;break}if(a<0)return this;0===a?r.shift():function(e,t){for(var r=t,n=r+1,o=e.length;n=0;a--)this.removeListener(e,t[a]);return this},i.prototype.listeners=function(e){return m(this,e,!0)},i.prototype.rawListeners=function(e){return m(this,e,!1)},i.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):h.call(e,t)},i.prototype.listenerCount=h,i.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]}},{}],36:[function(e,t,r){(function(n){r.log=function(...e){return"object"==typeof console&&console.log&&console.log(...e)},r.formatArgs=function(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+t.exports.humanize(this.diff),!this.useColors)return;const r="color: "+this.color;e.splice(1,0,r,"color: inherit");let n=0,o=0;e[0].replace(/%[a-zA-Z%]/g,e=>{"%%"!==e&&(n++,"%c"===e&&(o=n))}),e.splice(o,0,r)},r.save=function(e){try{e?r.storage.setItem("debug",e):r.storage.removeItem("debug")}catch(e){}},r.load=function(){let e;try{e=r.storage.getItem("debug")}catch(e){}!e&&void 0!==n&&"env"in n&&(e=n.env.DEBUG);return e},r.useColors=function(){if("undefined"!=typeof window&&window.process&&("renderer"===window.process.type||window.process.__nwjs))return!0;if("undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;return"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},r.storage=function(){try{return localStorage}catch(e){}}(),r.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.exports=e("./common")(r);const{formatters:o}=t.exports;o.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}}).call(this,e("_process"))},{"./common":37,_process:39}],37:[function(e,t,r){t.exports=function(t){function r(e){let t=0;for(let r=0;r{if("%%"===t)return t;s++;const a=n.formatters[o];if("function"==typeof a){const n=e[s];t=a.call(r,n),e.splice(s,1),s--}return t}),n.formatArgs.call(r,e),(r.log||n.log).apply(r,e)}return i.namespace=e,i.enabled=n.enabled(e),i.useColors=n.useColors(),i.color=r(e),i.destroy=o,i.extend=a,"function"==typeof n.init&&n.init(i),n.instances.push(i),i}function o(){const e=n.instances.indexOf(this);return-1!==e&&(n.instances.splice(e,1),!0)}function a(e,t){const r=n(this.namespace+(void 0===t?":":t)+e);return r.log=this.log,r}function i(e){return e.toString().substring(2,e.toString().length-2).replace(/\.\*\?$/,"*")}return n.debug=n,n.default=n,n.coerce=function(e){return e instanceof Error?e.stack||e.message:e},n.disable=function(){const e=[...n.names.map(i),...n.skips.map(i).map(e=>"-"+e)].join(",");return n.enable(""),e},n.enable=function(e){let t;n.save(e),n.names=[],n.skips=[];const r=("string"==typeof e?e:"").split(/[\s,]+/),o=r.length;for(t=0;t{n[e]=t[e]}),n.instances=[],n.names=[],n.skips=[],n.formatters={},n.selectColor=r,n.enable(n.load()),n}},{ms:38}],38:[function(e,t,r){var n=1e3,o=60*n,a=60*o,i=24*a,s=7*i,c=365.25*i;function u(e,t,r,n){var o=t>=1.5*r;return Math.round(e/r)+" "+n+(o?"s":"")}t.exports=function(e,t){t=t||{};var r=typeof e;if("string"===r&&e.length>0)return function(e){if((e=String(e)).length>100)return;var t=/^((?:\d+)?\-?\d?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(!t)return;var r=parseFloat(t[1]);switch((t[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return r*c;case"weeks":case"week":case"w":return r*s;case"days":case"day":case"d":return r*i;case"hours":case"hour":case"hrs":case"hr":case"h":return r*a;case"minutes":case"minute":case"mins":case"min":case"m":return r*o;case"seconds":case"second":case"secs":case"sec":case"s":return r*n;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}(e);if("number"===r&&!1===isNaN(e))return t.long?function(e){var t=Math.abs(e);if(t>=i)return u(e,t,i,"day");if(t>=a)return u(e,t,a,"hour");if(t>=o)return u(e,t,o,"minute");if(t>=n)return u(e,t,n,"second");return e+" ms"}(e):function(e){var t=Math.abs(e);if(t>=i)return Math.round(e/i)+"d";if(t>=a)return Math.round(e/a)+"h";if(t>=o)return Math.round(e/o)+"m";if(t>=n)return Math.round(e/n)+"s";return e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},{}],39:[function(e,t,r){var n,o,a=t.exports={};function i(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function c(e){if(n===setTimeout)return setTimeout(e,0);if((n===i||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:i}catch(e){n=i}try{o="function"==typeof clearTimeout?clearTimeout:s}catch(e){o=s}}();var u,d=[],l=!1,p=-1;function f(){l&&u&&(l=!1,u.length?d=u.concat(d):p=-1,d.length&&m())}function m(){if(!l){var e=c(f);l=!0;for(var t=d.length;t;){for(u=d,d=[];++p1)for(var r=1;r= min");return{min:t,max:r,integer:n}}function n(e){if((e=r(e)).max===e.min)return e.min;var t=Math.random()*(e.max-e.min+Number(!!e.integer))+e.min;return e.integer?Math.floor(t):t}t.exports=n,t.exports.generator=function(e){return e=r(e),function(t,r,o){return e.min=null!=t?t:e.min,e.max=null!=r?r:e.max,e.integer=null!=o?o:e.integer,n(e)}},t.exports.defaults=r}()},{}],41:[function(e,t,r){var n=t.exports={v:[{name:"version",reg:/^(\d*)$/}],o:[{name:"origin",reg:/^(\S*) (\d*) (\d*) (\S*) IP(\d) (\S*)/,names:["username","sessionId","sessionVersion","netType","ipVer","address"],format:"%s %s %d %s IP%d %s"}],s:[{name:"name"}],i:[{name:"description"}],u:[{name:"uri"}],e:[{name:"email"}],p:[{name:"phone"}],z:[{name:"timezones"}],r:[{name:"repeats"}],t:[{name:"timing",reg:/^(\d*) (\d*)/,names:["start","stop"],format:"%d %d"}],c:[{name:"connection",reg:/^IN IP(\d) (\S*)/,names:["version","ip"],format:"IN IP%d %s"}],b:[{push:"bandwidth",reg:/^(TIAS|AS|CT|RR|RS):(\d*)/,names:["type","limit"],format:"%s:%s"}],m:[{reg:/^(\w*) (\d*) ([\w\/]*)(?: (.*))?/,names:["type","port","protocol","payloads"],format:"%s %d %s %s"}],a:[{push:"rtp",reg:/^rtpmap:(\d*) ([\w\-\.]*)(?:\s*\/(\d*)(?:\s*\/(\S*))?)?/,names:["payload","codec","rate","encoding"],format:function(e){return e.encoding?"rtpmap:%d %s/%s/%s":e.rate?"rtpmap:%d %s/%s":"rtpmap:%d %s"}},{push:"fmtp",reg:/^fmtp:(\d*) ([\S| ]*)/,names:["payload","config"],format:"fmtp:%d %s"},{name:"control",reg:/^control:(.*)/,format:"control:%s"},{name:"rtcp",reg:/^rtcp:(\d*)(?: (\S*) IP(\d) (\S*))?/,names:["port","netType","ipVer","address"],format:function(e){return null!=e.address?"rtcp:%d %s IP%d %s":"rtcp:%d"}},{push:"rtcpFbTrrInt",reg:/^rtcp-fb:(\*|\d*) trr-int (\d*)/,names:["payload","value"],format:"rtcp-fb:%d trr-int %d"},{push:"rtcpFb",reg:/^rtcp-fb:(\*|\d*) ([\w-_]*)(?: ([\w-_]*))?/,names:["payload","type","subtype"],format:function(e){return null!=e.subtype?"rtcp-fb:%s %s %s":"rtcp-fb:%s %s"}},{push:"ext",reg:/^extmap:(\d+)(?:\/(\w+))? (\S*)(?: (\S*))?/,names:["value","direction","uri","config"],format:function(e){return"extmap:%d"+(e.direction?"/%s":"%v")+" %s"+(e.config?" %s":"")}},{push:"crypto",reg:/^crypto:(\d*) ([\w_]*) (\S*)(?: (\S*))?/,names:["id","suite","config","sessionConfig"],format:function(e){return null!=e.sessionConfig?"crypto:%d %s %s %s":"crypto:%d %s %s"}},{name:"setup",reg:/^setup:(\w*)/,format:"setup:%s"},{name:"mid",reg:/^mid:([^\s]*)/,format:"mid:%s"},{name:"msid",reg:/^msid:(.*)/,format:"msid:%s"},{name:"ptime",reg:/^ptime:(\d*)/,format:"ptime:%d"},{name:"maxptime",reg:/^maxptime:(\d*)/,format:"maxptime:%d"},{name:"direction",reg:/^(sendrecv|recvonly|sendonly|inactive)/},{name:"icelite",reg:/^(ice-lite)/},{name:"iceUfrag",reg:/^ice-ufrag:(\S*)/,format:"ice-ufrag:%s"},{name:"icePwd",reg:/^ice-pwd:(\S*)/,format:"ice-pwd:%s"},{name:"fingerprint",reg:/^fingerprint:(\S*) (\S*)/,names:["type","hash"],format:"fingerprint:%s %s"},{push:"candidates",reg:/^candidate:(\S*) (\d*) (\S*) (\d*) (\S*) (\d*) typ (\S*)(?: raddr (\S*) rport (\d*))?(?: tcptype (\S*))?(?: generation (\d*))?(?: network-id (\d*))?(?: network-cost (\d*))?/,names:["foundation","component","transport","priority","ip","port","type","raddr","rport","tcptype","generation","network-id","network-cost"],format:function(e){var t="candidate:%s %d %s %d %s %d typ %s";return t+=null!=e.raddr?" raddr %s rport %d":"%v%v",t+=null!=e.tcptype?" tcptype %s":"%v",null!=e.generation&&(t+=" generation %d"),t+=null!=e["network-id"]?" network-id %d":"%v",t+=null!=e["network-cost"]?" network-cost %d":"%v"}},{name:"endOfCandidates",reg:/^(end-of-candidates)/},{name:"remoteCandidates",reg:/^remote-candidates:(.*)/,format:"remote-candidates:%s"},{name:"iceOptions",reg:/^ice-options:(\S*)/,format:"ice-options:%s"},{push:"ssrcs",reg:/^ssrc:(\d*) ([\w_-]*)(?::(.*))?/,names:["id","attribute","value"],format:function(e){var t="ssrc:%d";return null!=e.attribute&&(t+=" %s",null!=e.value&&(t+=":%s")),t}},{push:"ssrcGroups",reg:/^ssrc-group:([\x21\x23\x24\x25\x26\x27\x2A\x2B\x2D\x2E\w]*) (.*)/,names:["semantics","ssrcs"],format:"ssrc-group:%s %s"},{name:"msidSemantic",reg:/^msid-semantic:\s?(\w*) (\S*)/,names:["semantic","token"],format:"msid-semantic: %s %s"},{push:"groups",reg:/^group:(\w*) (.*)/,names:["type","mids"],format:"group:%s %s"},{name:"rtcpMux",reg:/^(rtcp-mux)/},{name:"rtcpRsize",reg:/^(rtcp-rsize)/},{name:"sctpmap",reg:/^sctpmap:([\w_\/]*) (\S*)(?: (\S*))?/,names:["sctpmapNumber","app","maxMessageSize"],format:function(e){return null!=e.maxMessageSize?"sctpmap:%s %s %s":"sctpmap:%s %s"}},{name:"xGoogleFlag",reg:/^x-google-flag:([^\s]*)/,format:"x-google-flag:%s"},{push:"rids",reg:/^rid:([\d\w]+) (\w+)(?: ([\S| ]*))?/,names:["id","direction","params"],format:function(e){return e.params?"rid:%s %s %s":"rid:%s %s"}},{push:"imageattrs",reg:new RegExp("^imageattr:(\\d+|\\*)[\\s\\t]+(send|recv)[\\s\\t]+(\\*|\\[\\S+\\](?:[\\s\\t]+\\[\\S+\\])*)(?:[\\s\\t]+(recv|send)[\\s\\t]+(\\*|\\[\\S+\\](?:[\\s\\t]+\\[\\S+\\])*))?"),names:["pt","dir1","attrs1","dir2","attrs2"],format:function(e){return"imageattr:%s %s %s"+(e.dir2?" %s %s":"")}},{name:"simulcast",reg:new RegExp("^simulcast:(send|recv) ([a-zA-Z0-9\\-_~;,]+)(?:\\s?(send|recv) ([a-zA-Z0-9\\-_~;,]+))?$"),names:["dir1","list1","dir2","list2"],format:function(e){return"simulcast:%s %s"+(e.dir2?" %s %s":"")}},{name:"simulcast_03",reg:/^simulcast:[\s\t]+([\S+\s\t]+)$/,names:["value"],format:"simulcast: %s"},{name:"framerate",reg:/^framerate:(\d+(?:$|\.\d+))/,format:"framerate:%s"},{name:"sourceFilter",reg:/^source-filter: *(excl|incl) (\S*) (IP4|IP6|\*) (\S*) (.*)/,names:["filterMode","netType","addressTypes","destAddress","srcList"],format:"source-filter: %s %s %s %s %s"},{name:"bundleOnly",reg:/^(bundle-only)/},{name:"label",reg:/^label:(.+)/,format:"label:%s"},{name:"sctpPort",reg:/^sctp-port:(\d+)$/,format:"sctp-port:%s"},{name:"maxMessageSize",reg:/^max-message-size:(\d+)$/,format:"max-message-size:%s"},{push:"invalid",names:["value"]}]};Object.keys(n).forEach(function(e){n[e].forEach(function(e){e.reg||(e.reg=/(.*)/),e.format||(e.format="%s")})})},{}],42:[function(e,t,r){var n=e("./parser"),o=e("./writer");r.write=o,r.parse=n.parse,r.parseFmtpConfig=n.parseFmtpConfig,r.parseParams=n.parseParams,r.parsePayloads=n.parsePayloads,r.parseRemoteCandidates=n.parseRemoteCandidates,r.parseImageAttributes=n.parseImageAttributes,r.parseSimulcastStreamList=n.parseSimulcastStreamList},{"./parser":43,"./writer":44}],43:[function(e,t,r){var n=function(e){return String(Number(e))===e?Number(e):e},o=function(e,t,r){var o=e.name&&e.names;e.push&&!t[e.push]?t[e.push]=[]:o&&!t[e.name]&&(t[e.name]={});var a=e.push?{}:o?t[e.name]:t;!function(e,t,r,o){if(o&&!r)t[o]=n(e[1]);else for(var a=0;a1&&(e[r[0]]=void 0),e};r.parseParams=function(e){return e.split(/\;\s?/).reduce(s,{})},r.parseFmtpConfig=r.parseParams,r.parsePayloads=function(e){return e.split(" ").map(Number)},r.parseRemoteCandidates=function(e){for(var t=[],r=e.split(" ").map(n),o=0;o=n)return e;var o=r[t];switch(t+=1,e){case"%%":return"%";case"%s":return String(o);case"%d":return Number(o);case"%v":return""}})}.apply(null,n)},i=["v","o","s","i","u","e","p","c","b","t","r","z","a"],s=["i","c","b","a"];t.exports=function(e,t){t=t||{},null==e.version&&(e.version=0),null==e.name&&(e.name=" "),e.media.forEach(function(e){null==e.payloads&&(e.payloads="")});var r=t.outerOrder||i,o=t.innerOrder||s,c=[];return r.forEach(function(t){n[t].forEach(function(r){r.name in e&&null!=e[r.name]?c.push(a(t,r,e)):r.push in e&&null!=e[r.push]&&e[r.push].forEach(function(e){c.push(a(t,r,e))})})}),e.media.forEach(function(e){c.push(a("m",n.m[0],e)),o.forEach(function(t){n[t].forEach(function(r){r.name in e&&null!=e[r.name]?c.push(a(t,r,e)):r.push in e&&null!=e[r.push]&&e[r.push].forEach(function(e){c.push(a(t,r,e))})})})}),c.join("\r\n")+"\r\n"}},{"./grammar":41}]},{},[30])(30)}); \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 6abbc26..ec11d21 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "mediasoup-broadcast-example", - "version": "1.0.0", + "version": "1.2.10", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -48,7 +48,8 @@ "assert-plus": { "version": "1.0.0", "resolved": "https://npm.dev3.ts.liveblockauctions.com/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "optional": true }, "async-limiter": { "version": "1.0.0", @@ -117,7 +118,8 @@ "builtin-modules": { "version": "1.1.1", "resolved": "https://npm.dev3.ts.liveblockauctions.com/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=" + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "optional": true }, "bytes": { "version": "3.0.0", @@ -201,7 +203,8 @@ "core-util-is": { "version": "1.0.2", "resolved": "https://npm.dev3.ts.liveblockauctions.com/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "optional": true }, "currently-unhandled": { "version": "0.4.1", @@ -245,7 +248,8 @@ "delayed-stream": { "version": "1.0.0", "resolved": "https://npm.dev3.ts.liveblockauctions.com/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "optional": true }, "depd": { "version": "1.1.2", @@ -362,7 +366,8 @@ "extsprintf": { "version": "1.3.0", "resolved": "https://npm.dev3.ts.liveblockauctions.com/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "optional": true }, "fast-deep-equal": { "version": "1.1.0", @@ -462,7 +467,8 @@ "get-stdin": { "version": "4.0.1", "resolved": "https://npm.dev3.ts.liveblockauctions.com/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=" + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "optional": true }, "getpass": { "version": "0.1.7", @@ -476,7 +482,8 @@ "graceful-fs": { "version": "4.1.11", "resolved": "https://npm.dev3.ts.liveblockauctions.com/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "optional": true }, "har-schema": { "version": "2.0.0", @@ -503,7 +510,8 @@ "hosted-git-info": { "version": "2.7.1", "resolved": "https://npm.dev3.ts.liveblockauctions.com/hosted-git-info/-/hosted-git-info-2.7.1.tgz", - "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==" + "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==", + "optional": true }, "http-errors": { "version": "1.6.3", @@ -561,6 +569,7 @@ "version": "1.0.0", "resolved": "https://npm.dev3.ts.liveblockauctions.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz", "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "optional": true, "requires": { "builtin-modules": "^1.0.0" } @@ -670,7 +679,8 @@ "map-obj": { "version": "1.0.1", "resolved": "https://npm.dev3.ts.liveblockauctions.com/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=" + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "optional": true }, "math-random": { "version": "1.0.1", @@ -783,6 +793,7 @@ "version": "2.4.0", "resolved": "https://npm.dev3.ts.liveblockauctions.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz", "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "optional": true, "requires": { "hosted-git-info": "^2.1.4", "is-builtin-module": "^1.0.0", @@ -899,17 +910,20 @@ "pify": { "version": "2.3.0", "resolved": "https://npm.dev3.ts.liveblockauctions.com/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "optional": true }, "pinkie": { "version": "2.0.4", "resolved": "https://npm.dev3.ts.liveblockauctions.com/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "optional": true }, "pinkie-promise": { "version": "2.0.1", "resolved": "https://npm.dev3.ts.liveblockauctions.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz", "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "optional": true, "requires": { "pinkie": "^2.0.0" } @@ -963,7 +977,7 @@ }, "random-number": { "version": "0.0.9", - "resolved": "https://npm.dev3.ts.liveblockauctions.com/random-number/-/random-number-0.0.9.tgz", + "resolved": "https://registry.npmjs.org/random-number/-/random-number-0.0.9.tgz", "integrity": "sha512-ipG3kRCREi/YQpi2A5QGcvDz1KemohovWmH6qGfboVyyGdR2t/7zQz0vFxrfxpbHQgPPdtVlUDaks3aikD1Ljw==" }, "randomatic": { @@ -1098,17 +1112,20 @@ "safe-buffer": { "version": "5.1.2", "resolved": "https://npm.dev3.ts.liveblockauctions.com/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "optional": true }, "safer-buffer": { "version": "2.1.2", "resolved": "https://npm.dev3.ts.liveblockauctions.com/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "optional": true }, "semver": { "version": "5.6.0", "resolved": "https://npm.dev3.ts.liveblockauctions.com/semver/-/semver-5.6.0.tgz", - "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==" + "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", + "optional": true }, "send": { "version": "0.16.2", @@ -1172,6 +1189,7 @@ "version": "3.0.2", "resolved": "https://npm.dev3.ts.liveblockauctions.com/spdx-correct/-/spdx-correct-3.0.2.tgz", "integrity": "sha512-q9hedtzyXHr5S0A1vEPoK/7l8NpfkFYTq6iCY+Pno2ZbdZR6WexZFtqeVGkGxW3TEJMN914Z55EnAGMmenlIQQ==", + "optional": true, "requires": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" @@ -1180,12 +1198,14 @@ "spdx-exceptions": { "version": "2.2.0", "resolved": "https://npm.dev3.ts.liveblockauctions.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", - "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==" + "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", + "optional": true }, "spdx-expression-parse": { "version": "3.0.0", "resolved": "https://npm.dev3.ts.liveblockauctions.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "optional": true, "requires": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" @@ -1194,7 +1214,8 @@ "spdx-license-ids": { "version": "3.0.1", "resolved": "https://npm.dev3.ts.liveblockauctions.com/spdx-license-ids/-/spdx-license-ids-3.0.1.tgz", - "integrity": "sha512-TfOfPcYGBB5sDuPn3deByxPhmfegAhpDYKSOXZQN81Oyrrif8ZCodOLzK3AesELnCx03kikhyDwh0pfvvQvF8w==" + "integrity": "sha512-TfOfPcYGBB5sDuPn3deByxPhmfegAhpDYKSOXZQN81Oyrrif8ZCodOLzK3AesELnCx03kikhyDwh0pfvvQvF8w==", + "optional": true }, "speedometer": { "version": "0.1.4", @@ -1324,6 +1345,7 @@ "version": "3.0.4", "resolved": "https://npm.dev3.ts.liveblockauctions.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "optional": true, "requires": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" diff --git a/package.json b/package.json index 95d70eb..53bdfa7 100644 --- a/package.json +++ b/package.json @@ -1,10 +1,11 @@ { "name": "mediasoup-broadcast-example", - "version": "1.2.9", + "version": "1.2.10", "description": "Sample WebRTC broadcast client/server for the Mediasoup SFU.", "main": "server/index.js", "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" + "test": "echo \"Error: no test specified\" && exit 1", + "postinstall": "curl -o app/mediasoup-client.js https://raw.githubusercontent.com/versatica/mediasoup-client/v2/dist/mediasoup-client.js" }, "author": "michael@fig.org", "license": "ISC",