@100mslive/100ms-web-sdk
Advanced tools
Comparing version 0.0.12-7 to 0.0.12-8
@@ -1,2 +0,2 @@ | ||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("uuid");function t(e,t,n,r,i,a,o){try{var s=e[a](o),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,i)}function n(e){return function(){var n=this,r=arguments;return new Promise((function(i,a){var o=e.apply(n,r);function s(e){t(o,i,a,s,c,"next",e)}function c(e){t(o,i,a,s,c,"throw",e)}s(void 0)}))}}function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function i(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}function a(){return(a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function o(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,c(e,t)}function s(e){return(s=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function c(e,t){return(c=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function u(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function h(e,t,n){return(h=u()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var i=new(Function.bind.apply(e,r));return n&&c(i,n.prototype),i}).apply(null,arguments)}function l(e){var t="function"==typeof Map?new Map:void 0;return(l=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;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 h(e,arguments,s(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),c(n,e)})(e)}function d(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function p(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function f(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return p(e,void 0);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?p(e,void 0):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}var v,k,m,E,T=(function(e){var t=function(e){var t=Object.prototype,n=t.hasOwnProperty,r="function"==typeof Symbol?Symbol:{},i=r.iterator||"@@iterator",a=r.asyncIterator||"@@asyncIterator",o=r.toStringTag||"@@toStringTag";function s(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(e){s=function(e,t,n){return e[t]=n}}function c(e,t,n,r){var i=Object.create((t&&t.prototype instanceof l?t:l).prototype),a=new w(r||[]);return i._invoke=function(e,t,n){var r="suspendedStart";return function(i,a){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===i)throw a;return{value:void 0,done:!0}}for(n.method=i,n.arg=a;;){var o=n.delegate;if(o){var s=y(o,n);if(s){if(s===h)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var c=u(e,t,n);if("normal"===c.type){if(r=n.done?"completed":"suspendedYield",c.arg===h)continue;return{value:c.arg,done:n.done}}"throw"===c.type&&(r="completed",n.method="throw",n.arg=c.arg)}}}(e,n,a),i}function u(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}e.wrap=c;var h={};function l(){}function d(){}function p(){}var f={};f[i]=function(){return this};var v=Object.getPrototypeOf,k=v&&v(v(x([])));k&&k!==t&&n.call(k,i)&&(f=k);var m=p.prototype=l.prototype=Object.create(f);function E(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function T(e,t){var r;this._invoke=function(i,a){function o(){return new t((function(r,o){!function r(i,a,o,s){var c=u(e[i],e,a);if("throw"!==c.type){var h=c.arg,l=h.value;return l&&"object"==typeof l&&n.call(l,"__await")?t.resolve(l.__await).then((function(e){r("next",e,o,s)}),(function(e){r("throw",e,o,s)})):t.resolve(l).then((function(e){h.value=e,o(h)}),(function(e){return r("throw",e,o,s)}))}s(c.arg)}(i,a,r,o)}))}return r=r?r.then(o,o):o()}}function y(e,t){var n=e.iterator[t.method];if(void 0===n){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,y(e,t),"throw"===t.method))return h;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return h}var r=u(n,e.iterator,t.arg);if("throw"===r.type)return t.method="throw",t.arg=r.arg,t.delegate=null,h;var i=r.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,h):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,h)}function g(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function b(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function w(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(g,this),this.reset(!0)}function x(e){if(e){var t=e[i];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,a=function t(){for(;++r<e.length;)if(n.call(e,r))return t.value=e[r],t.done=!1,t;return t.value=void 0,t.done=!0,t};return a.next=a}}return{next:R}}function R(){return{value:void 0,done:!0}}return d.prototype=m.constructor=p,p.constructor=d,d.displayName=s(p,o,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===d||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,p):(e.__proto__=p,s(e,o,"GeneratorFunction")),e.prototype=Object.create(m),e},e.awrap=function(e){return{__await:e}},E(T.prototype),T.prototype[a]=function(){return this},e.AsyncIterator=T,e.async=function(t,n,r,i,a){void 0===a&&(a=Promise);var o=new T(c(t,n,r,i),a);return e.isGeneratorFunction(n)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},E(m),s(m,o,"Generator"),m[i]=function(){return this},m.toString=function(){return"[object Generator]"},e.keys=function(e){var t=[];for(var n in e)t.push(n);return t.reverse(),function n(){for(;t.length;){var r=t.pop();if(r in e)return n.value=r,n.done=!1,n}return n.done=!0,n}},e.values=x,w.prototype={constructor:w,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(b),!e)for(var t in this)"t"===t.charAt(0)&&n.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function r(n,r){return o.type="throw",o.arg=e,t.next=n,r&&(t.method="next",t.arg=void 0),!!r}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],o=a.completion;if("root"===a.tryLoc)return r("end");if(a.tryLoc<=this.prev){var s=n.call(a,"catchLoc"),c=n.call(a,"finallyLoc");if(s&&c){if(this.prev<a.catchLoc)return r(a.catchLoc,!0);if(this.prev<a.finallyLoc)return r(a.finallyLoc)}else if(s){if(this.prev<a.catchLoc)return r(a.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return r(a.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var a=i;break}}a&&("break"===e||"continue"===e)&&a.tryLoc<=t&&t<=a.finallyLoc&&(a=null);var o=a?a.completion:{};return o.type=e,o.arg=t,a?(this.method="next",this.next=a.finallyLoc,h):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),h},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),b(n),h}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;b(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:x(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),h}},e}(e.exports);try{regeneratorRuntime=t}catch(e){Function("r","regeneratorRuntime = r")(t)}}(E={exports:{}}),E.exports);!function(e){e[e.OFF=0]="OFF",e[e.ERROR=1]="ERROR",e[e.WARN=2]="WARN",e[e.INFO=3]="INFO",e[e.VERBOSE=4]="VERBOSE"}(v||(v={})),function(e){e[e.OFF=0]="OFF",e[e.ERROR=1]="ERROR",e[e.INFO=2]="INFO",e[e.VERBOSE=3]="VERBOSE"}(k||(k={})),function(e){e[e.VERBOSE=0]="VERBOSE",e[e.DEBUG=1]="DEBUG",e[e.INFO=2]="INFO",e[e.WARN=3]="WARN",e[e.ERROR=4]="ERROR",e[e.NONE=5]="NONE"}(m||(m={}));var y,g,b=function(){function e(){}return e.v=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];this.log.apply(this,[m.VERBOSE,e].concat(n))},e.d=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];this.log.apply(this,[m.DEBUG,e].concat(n))},e.i=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];this.log.apply(this,[m.INFO,e].concat(n))},e.w=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];this.log.apply(this,[m.WARN,e].concat(n))},e.e=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];this.log.apply(this,[m.ERROR,e].concat(n))},e.log=function(e,t){if(!(this.level.valueOf()>e.valueOf())){for(var n=arguments.length,r=new Array(n>2?n-2:0),i=2;i<n;i++)r[i-2]=arguments[i];switch(e){case m.VERBOSE:var a;(a=console).log.apply(a,[t].concat(r));break;case m.DEBUG:var o;(o=console).debug.apply(o,[t].concat(r));break;case m.INFO:var s;(s=console).info.apply(s,[t].concat(r));break;case m.WARN:var c;(c=console).warn.apply(c,[t].concat(r));break;case m.ERROR:var u;(u=console).error.apply(u,[t].concat(r))}}},e}();b.level=m.VERBOSE,function(e){e[e.PEER_JOIN=0]="PEER_JOIN",e[e.PEER_LEAVE=1]="PEER_LEAVE",e[e.PEER_LIST=2]="PEER_LIST",e[e.ACTIVE_SPEAKERS=3]="ACTIVE_SPEAKERS",e[e.BROADCAST=4]="BROADCAST",e[e.ROLE_CHANGE=5]="ROLE_CHANGE",e[e.TRACK_METADATA_ADD=6]="TRACK_METADATA_ADD",e[e.TRACK_UPDATE=7]="TRACK_UPDATE",e[e.UNSUPPORTED=8]="UNSUPPORTED"}(y||(y={})),function(e){e.CHAT="chat"}(g||(g={}));var w,x=function(e){var t=e.sender,n=e.message,r=e.type,i=e.receiver,a=e.time;this.receiver="",this.sender=t,this.message=n,this.type=function(e){if(!e)return g.CHAT;switch(e){case"chat":return g.CHAT;default:throw Error("Unsupported message type="+e+" received")}}(r),i&&(this.receiver=i),this.time=a&&a instanceof Date?a:a&&"string"==typeof a?new Date(a):new Date},R=function(e){this.mute=!e.enabled,this.type=e.type,this.source=e.source||"regular",this.description="",this.track_id=e.trackId,this.stream_id=e.stream.id},A=function(e){this.tracks=[],this.peerId=e.peer_id,this.info={name:e.info.name,data:e.info.data,userId:e.info.user_id},this.role=e.role,this.tracks=Object.values(e.tracks||{})},C=function(e){this.peers=Object.values(e.peers).map((function(e){return new A(e)}))},S="HMSConnection",_=function(){function e(e,t){this.candidates=new Array,this.role=e,this.signal=t}var t=e.prototype;return t.addTransceiver=function(e,t){return this.nativeConnection.addTransceiver(e,t)},t.createOffer=function(){var e=n(T.mark((function e(t){var n;return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===t&&(t=void 0),e.prev=1,e.next=4,this.nativeConnection.createOffer(t);case 4:return n=e.sent,b.d(S,"[role="+this.role+"] createOffer offer="+JSON.stringify(n,null,1)),e.abrupt("return",n);case 9:throw e.prev=9,e.t0=e.catch(1),e.t0;case 12:case"end":return e.stop()}}),e,this,[[1,9]])})));return function(t){return e.apply(this,arguments)}}(),t.createAnswer=function(){var e=n(T.mark((function e(t){var n;return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===t&&(t=void 0),e.next=3,this.nativeConnection.createAnswer(t);case 3:return n=e.sent,b.d(S,"[role="+this.role+"] createAnswer answer="+JSON.stringify(n,null,1)),e.abrupt("return",n);case 6:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),t.setLocalDescription=function(){var e=n(T.mark((function e(t){return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return b.d(S,"[role="+this.role+"] setLocalDescription description="+JSON.stringify(t,null,1)),e.next=3,this.nativeConnection.setLocalDescription(t);case 3:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),t.setRemoteDescription=function(){var e=n(T.mark((function e(t){return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,b.d(S,"[role="+this.role+"] setRemoteDescription description="+JSON.stringify(t,null,1)),e.next=4,this.nativeConnection.setRemoteDescription(t);case 4:e.next=9;break;case 6:throw e.prev=6,e.t0=e.catch(0),e.t0;case 9:case"end":return e.stop()}}),e,this,[[0,6]])})));return function(t){return e.apply(this,arguments)}}(),t.addIceCandidate=function(){var e=n(T.mark((function e(t){return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return b.d(S,"[role="+this.role+"] addIceCandidate candidate="+JSON.stringify(t,null,1)),e.next=3,this.nativeConnection.addIceCandidate(t);case 3:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),t.getSenders=function(){return this.nativeConnection.getSenders()},t.removeTrack=function(e){this.nativeConnection.removeTrack(e)},t.setMaxBitrate=function(){var e=n(T.mark((function e(t,n){var r,i;return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(r=this.getSenders().find((function(e){var t;return(null==e||null==(t=e.track)?void 0:t.id)===n.trackId})))){e.next=6;break}return(i=r.getParameters()).encodings[0].maxBitrate=t,e.next=6,r.setParameters(i);case 6:case"end":return e.stop()}}),e,this)})));return function(t,n){return e.apply(this,arguments)}}(),t.trackUpdate=function(e){var t=new R(e);this.signal.trackUpdate(new Map([[e.trackId,t]]))},t.close=function(){var e=n(T.mark((function e(){return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.nativeConnection.close();case 1:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}(),i(e,[{key:"remoteDescription",get:function(){return this.nativeConnection.remoteDescription}}]),e}();!function(e){e[e.PUBLISH=0]="PUBLISH",e[e.SUBSCRIBE=1]="SUBSCRIBE"}(w||(w={}));var O,P,I=function(e){function t(t,n,r){var i;return(i=e.call(this,w.PUBLISH,t)||this).observer=r,i.nativeConnection=new RTCPeerConnection(n),i.nativeConnection.createDataChannel("ion-sfu",{protocol:"SCTP"}),i.nativeConnection.onicecandidate=function(e){var n=e.candidate;n&&t.trickle(i.role,n)},i.nativeConnection.oniceconnectionstatechange=function(){i.observer.onIceConnectionChange(i.nativeConnection.iceConnectionState)},i}return o(t,e),t.prototype.initAfterJoin=function(){var e=this;this.nativeConnection.onnegotiationneeded=n(T.mark((function t(){return T.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return b.d("HMSPublishConnection","onnegotiationneeded"),t.next=3,e.observer.onRenegotiationNeeded();case 3:case"end":return t.stop()}}),t)})))},t}(_),D=function(e){this.tracks=new Array,this.nativeStream=e,this.id=e.id};!function(e){e.VP8="vp8",e.VP9="vp9",e.H264="h264"}(O||(O={})),function(e){e.OPUS="opus"}(P||(P={}));var M,L=function(e,t){if(e<=0)throw Error("Height should be >= 1");if(t<=0)throw Error("Height should be >= 1");this.width=e,this.height=t},N=function(){function e(){this._resolution=new L(320,180),this._codec=O.VP8,this._maxFrameRate=24,this._maxBitRate=15e4,this._deviceId="default",this._advanced=[]}var t=e.prototype;return t.resolution=function(e){return this._resolution=e,this},t.codec=function(e){return this._codec=e,this},t.maxFrameRate=function(e){if(e<=0)throw Error("maxFrameRate should be >= 1");return this._maxFrameRate=e,this},t.maxBitRate=function(e){if(e<=0)throw Error("maxBitRate should be >= 1");return this._maxBitRate=e,this},t.deviceId=function(e){return this._deviceId=e,this},t.advanced=function(e){return this._advanced=e,this},t.build=function(){return new U(this._resolution,this._codec,this._maxFrameRate,this._maxBitRate,this._deviceId,this._advanced)},e}(),U=function(){function e(e,t,n,r,i,a){this.resolution=e,this.codec=t,this.maxFrameRate=n,this.maxBitRate=r,this.deviceId=i,this.advanced=a}return e.prototype.toConstraints=function(){return{width:this.resolution.width,height:this.resolution.height,frameRate:this.maxFrameRate,deviceId:this.deviceId}},e}(),H=function(){function e(){this._volume=1,this._codec=P.OPUS,this._maxBitRate=32e3,this._deviceId="default",this._advanced=[{googEchoCancellation:{exact:!0}},{googExperimentalEchoCancellation:{exact:!0}},{autoGainControl:{exact:!0}},{noiseSuppression:{exact:!0}},{googHighpassFilter:{exact:!0}},{googAudioMirroring:{exact:!0}}]}var t=e.prototype;return t.volume=function(e){if(!(0<=e&&e<=1))throw Error("volume can only be in range [0.0, 1.0]");return this._volume=e,this},t.codec=function(e){return this._codec=e,this},t.maxBitRate=function(e){if(e<=0)throw Error("maxBitRate should be >= 1");return this._maxBitRate=e,this},t.deviceId=function(e){return this._deviceId=e,this},t.advanced=function(e){return this._advanced=e,this},t.build=function(){return new G(this._volume,this._codec,this._maxBitRate,this._deviceId,this._advanced)},e}(),G=function(){function e(e,t,n,r,i){this.volume=e,this.codec=t,this.maxBitRate=n,this.deviceId=r,this.advanced=i}return e.prototype.toConstraints=function(){return{deviceId:this.deviceId,advanced:this.advanced}},e}(),B={QVGA:(new N).resolution(new L(320,180)).maxBitRate(15e4).build(),VGA:(new N).resolution(new L(640,360)).maxBitRate(5e5).build(),SHD:(new N).resolution(new L(960,540)).maxBitRate(12e5).build(),HD:(new N).resolution(new L(1280,720)).maxBitRate(25e5).build(),FHD:(new N).resolution(new L(1920,1080)).maxBitRate(4e6).build(),QHD:(new N).resolution(new L(2560,1440)).maxBitRate(8e6).build()},V=function(){function e(){this._video=B.QVGA,this._audio=(new H).build(),this._simulcast=!1}var t=e.prototype;return t.video=function(e){return this._video=e,this},t.audio=function(e){return this._audio=e,this},t.simulcast=function(e){return this._simulcast=e,this},t.build=function(){if(null===this._audio&&null===this._video)throw Error("There is no media to return. Please select either video or audio or both");if(null===this._video&&this._simulcast)throw Error("Cannot enable simulcast when no video settings are provided");return new j(this._video,this._audio,this._simulcast)},e}(),j=function(e,t,n){this.video=e,this.audio=t,this.simulcast=n};!function(e){e.NONE="none",e.LOW="low",e.MEDIUM="medium",e.HIGH="high"}(M||(M={}));var F,K=function(e){function t(t,n){var r;return(r=e.call(this,t)||this).audio=!0,r.video=M.HIGH,r.frameRate=M.HIGH,r.connection=n,r}o(t,e);var r=t.prototype;return r.setAudio=function(){var e=n(T.mark((function e(t){return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.audio=t,e.next=3,this.syncWithApiChannel();case 3:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.setVideo=function(){var e=n(T.mark((function e(t){return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.video=t?M.HIGH:M.NONE,e.next=3,this.syncWithApiChannel();case 3:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.syncWithApiChannel=function(){var e=n(T.mark((function e(){var t;return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t={streamId:this.nativeStream.id,video:this.video,audio:this.audio,framerate:this.frameRate},e.next=3,this.connection.apiChannel.send(JSON.stringify(t));case 3:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}(),t}(D),J=function(){function e(e,t,n){var r=this;void 0===n&&(n=""),this.TAG="HMSDataChannel",this.nativeChannel=e,this.observer=t,this.metadata=n,e.onmessage=function(e){b.d(r.TAG,"["+r.metadata+"] onMessage: label="+r.label+", message="+e.data),r.observer.onMessage(e.data)}}var t=e.prototype;return t.send=function(){var e=n(T.mark((function e(t){return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("open"===this.nativeChannel.readyState){e.next=2;break}throw Error("Channel "+this.label+" not yet ready");case 2:b.d(this.TAG,"["+this.metadata+"] Sending [size="+t.length+"] message="+t),this.nativeChannel.send(t);case 4:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),t.close=function(){this.nativeChannel.close()},i(e,[{key:"id",get:function(){return this.nativeChannel.id}},{key:"label",get:function(){return this.nativeChannel.label}}]),e}(),W=function(){function e(e,t,n){this.stream=e,this.nativeTrack=t,this.source=n}return e.prototype.setEnabled=function(){var e=n(T.mark((function e(t){return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.nativeTrack.enabled=t;case 1:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),i(e,[{key:"enabled",get:function(){return this.nativeTrack.enabled}},{key:"trackId",get:function(){return this.nativeTrack.id}}]),e}();(F=exports.HMSTrackType||(exports.HMSTrackType={})).AUDIO="audio",F.VIDEO="video";var Y=function(e){function t(t,n,r){var i;if((i=e.call(this,t,n,r)||this).type=exports.HMSTrackType.AUDIO,"audio"!==n.kind)throw new Error("Expected 'track' kind = 'audio'");return i}return o(t,e),t}(W),Q=function(e){function t(){return e.apply(this,arguments)||this}return o(t,e),t.prototype.setEnabled=function(){var t=n(T.mark((function t(n){return T.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n!==this.enabled){t.next=2;break}return t.abrupt("return");case 2:return t.next=4,e.prototype.setEnabled.call(this,n);case 4:return t.next=6,this.stream.setAudio(n);case 6:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),t}(Y),q=function(e){function t(t,n,r){var i;if((i=e.call(this,t,n,r)||this).type=exports.HMSTrackType.VIDEO,"video"!==n.kind)throw new Error("Expected 'track' kind = 'video'");return i}return o(t,e),t}(W),z=function(e){function t(){return e.apply(this,arguments)||this}return o(t,e),t.prototype.setEnabled=function(){var t=n(T.mark((function t(n){return T.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n!==this.enabled){t.next=2;break}return t.abrupt("return");case 2:return t.next=4,e.prototype.setEnabled.call(this,n);case 4:return t.next=6,this.stream.setVideo(n);case 6:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),t}(q),$=function(e){function t(t,n,r){var i;return(i=e.call(this,w.SUBSCRIBE,t)||this).remoteStreams=new Map,i._apiChannel=null,i.observer=r,i.nativeConnection=new RTCPeerConnection(n),i.initNativeConnectionCallbacks(),i}o(t,e);var r=t.prototype;return r.initNativeConnectionCallbacks=function(){var e=this;this.nativeConnection.oniceconnectionstatechange=function(){e.observer.onIceConnectionChange(e.nativeConnection.iceConnectionState)},this.nativeConnection.ondatachannel=function(t){"ion-sfu"===t.channel.label&&(e._apiChannel=new J(t.channel,{onMessage:function(t){e.observer.onApiChannelMessage(t)}},"role="+e.role))},this.nativeConnection.onicecandidate=function(t){null!==t.candidate&&e.signal.trickle(e.role,t.candidate)},this.nativeConnection.ontrack=function(t){var n=t.streams[0];if(!e.remoteStreams.has(n.id)){var r=new K(n,e);e.remoteStreams.set(n.id,r),n.onremovetrack=function(t){var i=r.tracks.findIndex((function(e){return e.trackId===t.track.id}));i>=0&&(e.observer.onTrackRemove(r.tracks[i]),r.tracks.splice(i,1),0===r.tracks.length&&e.remoteStreams.delete(n.id))}}var i=e.remoteStreams.get(n.id),a=new("audio"===t.track.kind?Q:z)(i,t.track);i.tracks.push(a),e.observer.onTrackAdd(a)}},r.close=function(){var t=n(T.mark((function t(){var n;return T.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.prototype.close.call(this);case 2:null==(n=this.apiChannel)||n.close();case 3:case"end":return t.stop()}}),t,this)})));return function(){return t.apply(this,arguments)}}(),i(t,[{key:"apiChannel",get:function(){return this._apiChannel}}]),t}(_),X=function(){function e(){}return e.fetchInitConfig=function(){var e=n(T.mark((function e(t,n){var r,i;return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===n&&(n=""),b.d("InitService","fetchInitConfig: token="+t+" region="+n),r="https://qa2-us.100ms.live/init?token="+t,n.length>0&&(r+="®ion="+n),e.next=6,fetch(r);case 6:return i=e.sent,e.next=9,i.json();case 9:return e.abrupt("return",e.sent);case 11:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),e}(),Z=function(){function e(e,t){this.code=e,this.message=t}return e.prototype.build=function(){return new ee(this.code,this.message)},e}(),ee=function(e){function t(t,n){var r;return(r=e.call(this,n)||this).code=t,r}return o(t,e),t}(l(Error)),te=function(){function t(e){this.TAG="[ SIGNAL ]: ",this.isJoinCompleted=!1,this.pendingTrickle=[],this.socket=null,this.callbacks=new Map,this.observer=e}var r=t.prototype;return r.call=function(){var t=n(T.mark((function t(n,r){var i,a=this;return T.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i=e.v4(),this.socket.send(JSON.stringify({method:n,params:r,id:i})),t.next=5,new Promise((function(e,t){a.callbacks.set(i,{resolve:e,reject:t})}));case 5:return t.abrupt("return",JSON.parse(t.sent));case 7:case"end":return t.stop()}}),t,this)})));return function(e,n){return t.apply(this,arguments)}}(),r.notify=function(e,t){this.socket.send(JSON.stringify({method:e,params:t}))},r.open=function(e){var t=this;return new Promise((function(n){t.socket=new WebSocket(e),t.socket.addEventListener("open",(function e(){n(),t.socket.removeEventListener("open",e)})),t.socket.addEventListener("message",(function(e){return t.onMessageHandler(e.data)}))}))},r.close=function(){var e=n(T.mark((function e(){var t,n=this;return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=new Promise((function(e){n.socket.addEventListener("close",(function(){return e()}))})),this.socket.close(1e3,"Normal Close"),e.abrupt("return",t);case 3:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}(),r.join=function(){var e=n(T.mark((function e(t,n,r){var i,a,o=this;return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i={name:t,data:n,offer:r},e.next=3,this.call("join",i);case 3:return a=e.sent,this.isJoinCompleted=!0,this.pendingTrickle.forEach((function(e){return o.trickle(e.target,e.candidate)})),this.pendingTrickle.length=0,b.d(this.TAG,"join: response="+JSON.stringify(a,null,1)),e.abrupt("return",a);case 9:case"end":return e.stop()}}),e,this)})));return function(t,n,r){return e.apply(this,arguments)}}(),r.trickle=function(e,t){this.isJoinCompleted?this.notify("trickle",{target:e,candidate:t}):this.pendingTrickle.push({target:e,candidate:t})},r.offer=function(){var e=n(T.mark((function e(t,n){return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.call("offer",{desc:t,tracks:n});case 2:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e,this)})));return function(t,n){return e.apply(this,arguments)}}(),r.answer=function(e){this.notify("answer",{desc:e})},r.trackUpdate=function(e){b.d(this.TAG,"Track Update: ",{tracks:Object.fromEntries(e)}),this.notify("track-update",{version:"1.0",tracks:Object.fromEntries(e)})},r.broadcast=function(e){this.notify("broadcast",{version:"1.0",info:e})},r.recordStart=function(){},r.recordEnd=function(){},r.leave=function(){this.notify("leave",{version:"1.0"})},r.analytics=function(){},r.onMessageHandler=function(e){var t=JSON.parse(e);if(t.hasOwnProperty("id")){var n=t.id;if(this.callbacks.has(n)){var r=this.callbacks.get(n);if(this.callbacks.delete(n),t.result)r.resolve(JSON.stringify(t.result));else{var i=t.error,a=new Z(i.code,i.message).build();r.reject(a)}}else this.observer.onNotification(t)}else{if(!t.hasOwnProperty("method"))throw Error("WebSocket message has no 'method' or 'id' field, message="+t);"offer"===t.method?this.observer.onOffer(t.params):"trickle"===t.method?this.observer.onTrickle(t.params):this.observer.onNotification(t)}},t}();function ne(e){return re.apply(this,arguments)}function re(){return(re=n(T.mark((function e(t){return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,navigator.mediaDevices.getUserMedia({audio:t.toConstraints()});case 2:return e.abrupt("return",e.sent.getAudioTracks()[0]);case 4:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ie(e){return ae.apply(this,arguments)}function ae(){return(ae=n(T.mark((function e(t){return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,navigator.mediaDevices.getUserMedia({video:t.toConstraints()});case 2:return e.abrupt("return",e.sent.getVideoTracks()[0]);case 4:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var oe=function(e){function t(t,n,r,i){var a;return a=e.call(this,t,n,i)||this,t.tracks.push(d(a)),a.settings=r,a}o(t,e);var r=t.prototype;return r.replaceTrackWith=function(){var e=n(T.mark((function e(t){var n;return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,ne(t);case 2:return n=e.sent,e.next=5,this.stream.replaceTrack(this,n);case 5:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.setEnabled=function(){var t=n(T.mark((function t(n){return T.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n!==this.enabled){t.next=2;break}return t.abrupt("return");case 2:return t.next=4,e.prototype.setEnabled.call(this,n);case 4:if(this.stream.trackUpdate(this),!n){t.next=10;break}return t.next=8,this.replaceTrackWith(this.settings);case 8:t.next=11;break;case 10:this.nativeTrack.stop();case 11:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),r.setSettings=function(){var e=n(T.mark((function e(t){return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.settings.codec===t.codec){e.next=2;break}throw Error("Audio Codec can't be changed mid call.");case 2:if(this.settings.deviceId===t.deviceId){e.next=5;break}return e.next=5,this.replaceTrackWith(t);case 5:return e.next=7,this.nativeTrack.applyConstraints(t.toConstraints());case 7:this.settings=t;case 8:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),t}(Y);function se(e){if(e<=0)throw Error("`ms` should be a positive integer");return new Promise((function(t){return setTimeout(t,e)}))}var ce,ue,he,le=function(e){function t(t,n,r,i){var a;return a=e.call(this,t,n,i)||this,t.tracks.push(d(a)),a.settings=r,a}o(t,e);var r=t.prototype;return r.replaceTrackWith=function(){var e=n(T.mark((function e(t){var n;return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,ie(t);case 2:return n=e.sent,e.next=5,this.stream.replaceTrack(this,n);case 5:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.setEnabled=function(){var t=n(T.mark((function t(n){return T.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n!==this.enabled){t.next=2;break}return t.abrupt("return");case 2:return t.next=4,e.prototype.setEnabled.call(this,n);case 4:if(this.stream.trackUpdate(this),!n){t.next=10;break}return t.next=8,this.replaceTrackWith(this.settings);case 8:t.next=13;break;case 10:return t.next=12,se(100);case 12:this.nativeTrack.stop();case 13:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),r.setSettings=function(){var e=n(T.mark((function e(t){return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.settings.codec===t.codec){e.next=2;break}throw Error("Video Codec can't be changed mid call.");case 2:if(this.settings.deviceId===t.deviceId){e.next=5;break}return e.next=5,this.replaceTrackWith(t);case 5:return e.next=7,this.nativeTrack.applyConstraints(t.toConstraints());case 7:this.settings=t;case 8:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),t}(q),de=function(e){function t(){var t;return(t=e.apply(this,arguments)||this).connection=null,t}o(t,e);var r=t.prototype;return r.setConnection=function(e){this.connection=e},t.getLocalScreen=function(){var e=n(T.mark((function e(n){var r,i,a,o,s;return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r={video:n.toConstraints(),audio:!1},e.next=3,navigator.mediaDevices.getDisplayMedia(r);case 3:return a=new t(i=e.sent),o=i.getVideoTracks()[0],s=new le(a,o,n,"screen"),b.v("HMSLocalStream","getLocalScreen",s),e.abrupt("return",s);case 9:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),t.getLocalTracks=function(){var e=n(T.mark((function e(n){var r,i,a,o,s,c,u;return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,navigator.mediaDevices.getUserMedia({audio:null!=n.audio&&n.audio.toConstraints(),video:null!=n.video&&n.video.toConstraints()});case 2:return i=new t(r=e.sent),a=[],null!=n.audio&&(o=r.getAudioTracks()[0],s=new oe(i,o,n.audio,"regular"),a.push(s)),null!=n.video&&(c=r.getVideoTracks()[0],u=new le(i,c,n.video,"regular"),a.push(u)),b.v("HMSLocalStream","getLocalTracks",a),e.abrupt("return",a);case 9:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),r.addTransceiver=function(e){var t=this.connection.addTransceiver(e.nativeTrack,{streams:[this.nativeStream],direction:"sendonly",sendEncodings:void 0});return this.setPreferredCodec(t,e.nativeTrack.kind),t},r.setMaxBitrate=function(){var e=n(T.mark((function e(t,n){var r;return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,null==(r=this.connection)?void 0:r.setMaxBitrate(t,n);case 2:case"end":return e.stop()}}),e,this)})));return function(t,n){return e.apply(this,arguments)}}(),r.setPreferredCodec=function(e,t){},r.replaceTrack=function(){var e=n(T.mark((function e(t,n){var r;return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0!==(r=this.connection.getSenders().find((function(e){return e.track&&e.track.id===t.trackId})))){e.next=3;break}throw Error("No sender found for trackId="+t.trackId);case 3:return this.nativeStream.removeTrack(t.nativeTrack),r.track.stop(),e.next=7,r.replaceTrack(n);case 7:this.nativeStream.addTrack(n),t.nativeTrack=n;case 9:case"end":return e.stop()}}),e,this)})));return function(t,n){return e.apply(this,arguments)}}(),r.removeSender=function(e){var t=this,n=0;if(this.connection.getSenders().forEach((function(r){if(r.track&&r.track.id===e.trackId){t.connection.removeTrack(r),n+=1;var i=t.tracks.indexOf(e);if(-1===i)throw Error("Cannot find "+e+" in locally stored tracks");t.tracks.splice(i,1)}})),1!==n)throw Error("Removed "+n+" sender's, expected to remove 1")},r.trackUpdate=function(e){var t;null==(t=this.connection)||t.trackUpdate(e)},t}(D),pe="[HMSTransport]:",fe=function(){function e(e){var t,r,i,a=this;this.tracks={},this.publishConnection=null,this.subscribeConnection=null,this.callbacks=new Map,this.signalObserver={onOffer:(r=n(T.mark((function e(t){var n,r,i,o;return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,a.subscribeConnection.setRemoteDescription(t);case 2:n=f(a.subscribeConnection.candidates);case 3:if((r=n()).done){e.next=9;break}return i=r.value,e.next=7,a.subscribeConnection.addIceCandidate(i);case 7:e.next=3;break;case 9:return a.subscribeConnection.candidates.length=0,e.next=12,a.subscribeConnection.createAnswer();case 12:return o=e.sent,e.next=15,a.subscribeConnection.setLocalDescription(o);case 15:a.signal.answer(o);case 16:case"end":return e.stop()}}),e)}))),function(e){return r.apply(this,arguments)}),onTrickle:(t=n(T.mark((function e(t){var n;return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(null!==(n=t.target===w.PUBLISH?a.publishConnection:a.subscribeConnection).remoteDescription){e.next=5;break}n.candidates.push(t.candidate),e.next=7;break;case 5:return e.next=7,n.addIceCandidate(t.candidate);case 7:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)}),onNotification:function(e){return a.observer.onNotification(e)},onFailure:function(e){a.observer.onFailure(e)}},this.signal=new te(this.signalObserver),this.publishConnectionObserver={onRenegotiationNeeded:(i=n(T.mark((function e(){var t,n,r;return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return b.d(pe,"⏳ [role=PUBLISH] onRenegotiationNeeded START",a.tracks),t=a.callbacks.get("renegotiation-callback-id"),a.callbacks.delete("renegotiation-callback-id"),e.prev=3,e.next=6,a.publishConnection.createOffer();case 6:return n=e.sent,e.next=9,a.publishConnection.setLocalDescription(n);case 9:return e.next=11,a.signal.offer(n,a.tracks);case 11:return r=e.sent,e.next=14,a.publishConnection.setRemoteDescription(r);case 14:null==t||t.resolve(!0),b.d(pe,"✅ [role=PUBLISH] onRenegotiationNeeded DONE",a.tracks),e.next=21;break;case 18:e.prev=18,e.t0=e.catch(3),console.error(pe,e.t0);case 21:case"end":return e.stop()}}),e,null,[[3,18]])}))),function(){return i.apply(this,arguments)}),onIceConnectionChange:function(e){}},this.subscribeConnectionObserver={onApiChannelMessage:function(e){var t={method:"active-speakers",params:JSON.parse(e)};a.observer.onNotification(t)},onTrackAdd:function(e){return a.observer.onTrackAdd(e)},onTrackRemove:function(e){return a.observer.onTrackRemove(e)},onIceConnectionChange:function(e){}},this.observer=e}var t=e.prototype;return t.getLocalScreen=function(){var e=n(T.mark((function e(t){return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,de.getLocalScreen(t);case 2:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),t.getLocalTracks=function(){var e=n(T.mark((function e(t){return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,de.getLocalTracks(t);case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),t.join=function(){var e=n(T.mark((function e(t,n,r){var i,a,o,s,c,u;return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,X.fetchInitConfig(t);case 2:return b.d(pe,"⏳ join: connecting to ws endpoint",(i=e.sent).endpoint),e.next=6,this.signal.open(i.endpoint+"?peer="+n+"&token="+t);case 6:return b.d(pe,"✅ join: connected to ws endpoint"),b.d(pe,r),this.publishConnection=new I(this.signal,i.rtcConfiguration,this.publishConnectionObserver),this.subscribeConnection=new $(this.signal,i.rtcConfiguration,this.subscribeConnectionObserver),b.d(pe,"⏳ join: Negotiating over PUBLISH connection"),e.next=13,this.publishConnection.createOffer();case 13:return a=e.sent,e.next=16,this.publishConnection.setLocalDescription(a);case 16:return e.next=18,this.signal.join(r.name,n,a);case 18:return o=e.sent,e.next=21,this.publishConnection.setRemoteDescription(o);case 21:s=f(this.publishConnection.candidates);case 22:if((c=s()).done){e.next=28;break}return u=c.value,e.next=26,this.publishConnection.addIceCandidate(u);case 26:e.next=22;break;case 28:this.publishConnection.initAfterJoin(),b.d(pe,"✅ join: Negotiated over PUBLISH connection"),b.d(pe,"✅ join: successful");case 31:case"end":return e.stop()}}),e,this)})));return function(t,n,r){return e.apply(this,arguments)}}(),t.leave=function(){var e=n(T.mark((function e(){return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.publishConnection.close();case 2:return e.next=4,this.subscribeConnection.close();case 4:return this.signal.leave(),e.next=7,this.signal.close();case 7:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}(),t.publishTrack=function(){var e=n(T.mark((function e(t){var n,r,i=this;return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return b.d(pe,"⏳ publishTrack: trackId="+t.trackId,t),this.tracks[t.trackId]={mute:!1,type:t.nativeTrack.kind,source:t.source,description:"",track_id:t.trackId,stream_id:t.stream.id},n=new Promise((function(e,t){i.callbacks.set("renegotiation-callback-id",{resolve:e,reject:t})})),(r=t.stream).setConnection(this.publishConnection),r.addTransceiver(t),e.next=8,n;case 8:if(t.type!==exports.HMSTrackType.VIDEO){e.next=12;break}return e.next=12,r.setMaxBitrate(25e4,t).then((function(){b.d(pe,"Setting maxBitrate to 250 kpbs")})).catch((function(e){return b.e(pe,"Failed setting maxBitrate",e)}));case 12:b.d(pe,"✅ publishTrack: trackId="+t.trackId,this.callbacks);case 13:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),t.unpublishTrack=function(){var e=n(T.mark((function e(t){var n,r=this;return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return b.d(pe,"⏳ unpublishTrack: trackId="+t.trackId,t),delete this.tracks[t.trackId],n=new Promise((function(e,t){r.callbacks.set("renegotiation-callback-id",{resolve:e,reject:t})})),t.stream.removeSender(t),e.next=7,n;case 7:b.d(pe,"✅ unpublishTrack: trackId="+t.trackId,this.callbacks);case 8:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),t.publish=function(){var e=n(T.mark((function e(t){var n,r,i;return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=f(t);case 1:if((r=n()).done){e.next=7;break}return i=r.value,e.next=5,this.publishTrack(i);case 5:e.next=1;break;case 7:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),t.unpublish=function(){var e=n(T.mark((function e(t){var n,r,i;return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=f(t);case 1:if((r=n()).done){e.next=7;break}return i=r.value,e.next=5,this.unpublishTrack(i);case 5:e.next=1;break;case 7:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),t.sendMessage=function(e){this.signal.broadcast(e)},e}();(ce=exports.HMSRoomUpdate||(exports.HMSRoomUpdate={}))[ce.PEER_ADDED=0]="PEER_ADDED",ce[ce.PEER_REMOVED=1]="PEER_REMOVED",ce[ce.PEER_KNOCKED=2]="PEER_KNOCKED",ce[ce.ROOM_TYPE_CHANGED=3]="ROOM_TYPE_CHANGED",ce[ce.METADATA_UPDATED=4]="METADATA_UPDATED",ce[ce.SCREENSHARE_STARTED=5]="SCREENSHARE_STARTED",ce[ce.SCREENSHARE_STOPPED=6]="SCREENSHARE_STOPPED",ce[ce.DEFAULT_UPDATE=7]="DEFAULT_UPDATE",(ue=exports.HMSPeerUpdate||(exports.HMSPeerUpdate={}))[ue.PEER_JOINED=0]="PEER_JOINED",ue[ue.PEER_LEFT=1]="PEER_LEFT",ue[ue.AUDIO_TOGGLED=2]="AUDIO_TOGGLED",ue[ue.VIDEO_TOGGLED=3]="VIDEO_TOGGLED",(he=exports.HMSTrackUpdate||(exports.HMSTrackUpdate={}))[he.TRACK_ADDED=0]="TRACK_ADDED",he[he.TRACK_REMOVED=1]="TRACK_REMOVED",he[he.TRACK_MUTED=2]="TRACK_MUTED",he[he.TRACK_UNMUTED=3]="TRACK_UNMUTED",he[he.TRACK_DESCRIPTION_CHANGED=4]="TRACK_DESCRIPTION_CHANGED";var ve=function(e){var t=e.peerId,n=e.name,r=e.isLocal,i=e.customerDescription;this.customerDescription="",this.auxiliaryTracks=[],this.name=n,this.peerId=t,this.isLocal=r,this.customerDescription=i},ke=function(e){function t(){var t;return(t=e.apply(this,arguments)||this).hmsPeerList=new Map,t.TAG="[Notification Manager]:",t.tracksToProcess=new Map,t.trackStateMap=new Map,t.handleOnTrackAdd=function(e){b.d(t.TAG,"ONTRACKADD",e),t.tracksToProcess.set(e.trackId,e),t.processPendingTracks()},t.handleOnTrackRemove=function(e){b.d(t.TAG,"ONTRACKREMOVE",e);var n=t.trackStateMap.get(e.trackId);if(n){var r=t.hmsPeerList.get(n.peerId);if(r){switch(e.type){case exports.HMSTrackType.AUDIO:r.audioTrack=null;break;case exports.HMSTrackType.VIDEO:var i=r.auxiliaryTracks.indexOf(e);i>-1?r.auxiliaryTracks.splice(i,1):r.videoTrack=null}t.listener.onTrackUpdate(exports.HMSTrackUpdate.TRACK_REMOVED,e,r)}}},t.handleTrackUpdate=function(e){b.d(t.TAG,"TRACK_UPDATE",e);var n=t.hmsPeerList.get(e.peer.peer_id);if(n)for(var r=0,i=Object.entries(e.tracks);r<i.length;r++){var o,s=i[r],c=s[0],u=s[1],h=Object.assign({},null==(o=t.trackStateMap.get(c))?void 0:o.trackInfo),l=t.getPeerTrackByTrackId(n.peerId,c);if(!l)return;t.trackStateMap.set(c,{peerId:e.peer.peer_id,trackInfo:a({},h,u)}),h.mute!==u.mute?t.listener.onTrackUpdate(u.mute?exports.HMSTrackUpdate.TRACK_MUTED:exports.HMSTrackUpdate.TRACK_UNMUTED,l,n):h.description!==u.description&&t.listener.onTrackUpdate(exports.HMSTrackUpdate.TRACK_DESCRIPTION_CHANGED,l,n)}},t.cleanUp=function(){t.hmsPeerList.clear()},t.findPeerByPeerId=function(e){return t.hmsPeerList.get(e)},t.handlePeerJoin=function(e){var n=new ve({peerId:e.peerId,name:e.info.name,isLocal:!1,customerDescription:""});t.hmsPeerList.set(e.peerId,n),b.d(t.TAG,"adding to the peerList",n),e.tracks.forEach((function(n){t.trackStateMap.set(n.track_id,{peerId:e.peerId,trackInfo:n})})),t.processPendingTracks()},t.handlePeerLeave=function(e){t.hmsPeerList.delete(e.peerId)},t.handlePeerList=function(e){var n=e.peers;null==n||n.forEach((function(e){return t.handlePeerJoin(e)}))},t}o(t,e);var n=t.prototype;return n.handleNotification=function(e,t,n){switch(this.listener=n,e){case y.PEER_JOIN:var r=t;b.d(this.TAG,"PEER_JOIN event",r,t),this.handlePeerJoin(r);break;case y.PEER_LEAVE:var i=t;b.d(this.TAG,"PEER_LEAVE event",i),this.handlePeerLeave(i);break;case y.PEER_LIST:var a=t;b.d(this.TAG,"PEER_LIST event",a),this.handlePeerList(a);break;case y.TRACK_METADATA_ADD:this.handleTrackMetadataAdd(t);break;case y.TRACK_UPDATE:this.handleTrackUpdate(t);break;case y.ROLE_CHANGE:this.handleRoleChange(t);break;case y.ACTIVE_SPEAKERS:default:return}},n.handleRoleChange=function(e){this.dispatchEvent(new CustomEvent("role-change",{detail:{params:e}}))},n.handleTrackMetadataAdd=function(e){b.d(this.TAG,"TRACK_METADATA_ADD",e);for(var t=0,n=Object.entries(e.tracks);t<n.length;t++){var r=n[t];this.trackStateMap.set(r[0],{peerId:e.peer.peer_id,trackInfo:r[1]})}this.processPendingTracks()},n.processPendingTracks=function(){var e=this;new Map(this.tracksToProcess).forEach((function(t){var n=e.trackStateMap.get(t.trackId);if(n){var r=e.hmsPeerList.get(n.peerId);if(r){switch(t.source=n.trackInfo.source,t.type){case exports.HMSTrackType.AUDIO:r.audioTrack||(r.audioTrack=t);break;case exports.HMSTrackType.VIDEO:r.videoTrack||"regular"!==t.source?r.auxiliaryTracks.push(t):r.videoTrack=t}e.listener.onTrackUpdate(exports.HMSTrackUpdate.TRACK_ADDED,t,r),e.tracksToProcess.delete(t.trackId)}}}))},n.getPeerTrackByTrackId=function(e,t){var n,r,i=this.findPeerByPeerId(e);return(null==i||null==(n=i.audioTrack)?void 0:n.trackId)===t?i.audioTrack:(null==i||null==(r=i.videoTrack)?void 0:r.trackId)===t?i.videoTrack:null==i?void 0:i.auxiliaryTracks.find((function(e){return e.trackId===t}))},t}(l(EventTarget)),me=function(e,t,n){this.id=e,this.name=t,this.peers=n};exports.HMSSdk=function(){function t(){var e=this;this.logLevel=v.OFF,this.analyticsLevel=k.OFF,this.TAG="[HMSSdk]:",this.notificationManager=new ke,this.published=!1,this.publishParams=null,this.observer={onNotification:function(t){var n=function(e){switch(e){case"on-peer-join":return y.PEER_JOIN;case"on-peer-leave":return y.PEER_LEAVE;case"peer-list":return y.PEER_LIST;case"on-track-add":return y.TRACK_METADATA_ADD;case"on-track-update":return y.TRACK_UPDATE;case"active-speakers":return y.ACTIVE_SPEAKERS;case"on-broadcast":return y.BROADCAST;case"on-role-change":return y.ROLE_CHANGE;default:return b.d("method not supported - "+e),y.UNSUPPORTED}}(t.method),r=function(e,t){switch(e){case y.PEER_JOIN:case y.PEER_LEAVE:return new A(t);case y.PEER_LIST:return new C(t);case y.BROADCAST:return new x(t.info);case y.ACTIVE_SPEAKERS:return;case y.ROLE_CHANGE:return t;case y.TRACK_METADATA_ADD:case y.TRACK_UPDATE:return t;default:return b.d("method not implemented "+e),t}}(n,t.params);e.notificationManager.handleNotification(n,r,e.listener),e.onNotificationHandled(n,r)},onTrackAdd:function(t){e.notificationManager.handleOnTrackAdd(t)},onTrackRemove:function(t){e.notificationManager.handleOnTrackRemove(t)},onFailure:function(t){var n;null==(n=e.listener)||n.onError(t)}},this.notificationManager.addEventListener("role-change",(function(t){return e.publishParams=t.detail.params.role.publishParams})),this.transport=new fe(this.observer)}var r=t.prototype;return r.join=function(t,n){var r=this;this.transport=new fe(this.observer),this.listener=n;var i=JSON.parse(atob(t.authToken.split(".")[1])).room_id,a=e.v4();this.localPeer=new ve({peerId:a,name:t.userName,isLocal:!0,customerDescription:t.metaData}),b.d(this.TAG,"⏳ Joining room "+i),this.transport.join(t.authToken,this.localPeer.peerId,{name:t.userName}).then((function(){b.d(r.TAG,"✅ Joined room "+i),r.roomId=i,r.published||r.publish()}))},r.cleanUp=function(){this.notificationManager.cleanUp(),this.published=!1,this.localPeer=null,this.roomId=null,this.hmsRoom=null,this.transport=null,this.listener=null},r.leave=function(){var e=n(T.mark((function e(){var t,n,r,i,a,o;return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.roomId){e.next=9;break}return b.d(this.TAG,"⏳ Leaving room "+(o=this.roomId)),null==(t=this.localPeer)||null==(n=t.audioTrack)||n.nativeTrack.stop(),null==(r=this.localPeer)||null==(i=r.videoTrack)||i.nativeTrack.stop(),e.next=7,null==(a=this.transport)?void 0:a.leave();case 7:this.cleanUp(),b.d(this.TAG,"✅ Left room "+o);case 9:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}(),r.getLocalPeer=function(){return this.localPeer},r.getPeers=function(){var e=Array.from(this.notificationManager.hmsPeerList,(function(e){return e[1]})),t=this.localPeer?[].concat(e,[this.getLocalPeer()]):e;return b.d(this.TAG,"Got peers",t),t},r.sendMessage=function(e,t,n){var r=new x({sender:this.localPeer.peerId,type:e,message:t,receiver:n});return b.d(this.TAG,"Sending Message:: ",r),this.transport.sendMessage(r),r},r.startScreenShare=function(){var e=n(T.mark((function e(t){var n,r,i,a,o=this;return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(((null==(n=this.localPeer)||null==(r=n.auxiliaryTracks)?void 0:r.length)||0)>0)){e.next=2;break}throw Error("Cannot share multiple screens");case 2:return e.next=4,this.transport.getLocalScreen(B.HD);case 4:return(a=e.sent).nativeTrack.onended=function(){o.stopEndedScreenshare(t)},e.next=8,this.transport.publish([a]);case 8:null==(i=this.localPeer)||i.auxiliaryTracks.push(a);case 9:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.stopEndedScreenshare=function(){var e=n(T.mark((function e(t){return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return b.d(this.TAG,"✅ Screenshare ended natively"),e.next=3,this.stopScreenShare();case 3:t();case 4:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.stopScreenShare=function(){var e=n(T.mark((function e(){var t,n;return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(b.d(this.TAG,"✅ Screenshare ended from app"),!(n=null==(t=this.localPeer)?void 0:t.auxiliaryTracks.find((function(e){return e.type===exports.HMSTrackType.VIDEO&&"screen"===e.source})))){e.next=7;break}return e.next=5,n.setEnabled(!1);case 5:this.transport.unpublish([n]),this.localPeer.auxiliaryTracks.splice(this.localPeer.auxiliaryTracks.indexOf(n),1);case 7:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}(),r.onNotificationHandled=function(e,t){var n,r,i=this;switch(b.d(this.TAG,"onNotificationHandled",e),e){case y.PEER_JOIN:var a=t,o=this.notificationManager.findPeerByPeerId(a.peerId);o?this.listener.onPeerUpdate(exports.HMSPeerUpdate.PEER_JOINED,o):b.e(this.TAG,"⚠️ peer not found in peer-list",a,this.notificationManager.hmsPeerList);break;case y.PEER_LEAVE:var s,c,u,h,l=new ve({peerId:t.peerId,name:t.info.name,isLocal:!1,customerDescription:t.info.data});l.audioTrack&&(null==(u=this.listener)||u.onTrackUpdate(exports.HMSTrackUpdate.TRACK_REMOVED,l.audioTrack,l)),l.videoTrack&&(null==(h=this.listener)||h.onTrackUpdate(exports.HMSTrackUpdate.TRACK_REMOVED,l.videoTrack,l)),null==(s=l.auxiliaryTracks)||s.forEach((function(e){var t;null==(t=i.listener)||t.onTrackUpdate(exports.HMSTrackUpdate.TRACK_REMOVED,e,l)})),null==(c=this.listener)||c.onPeerUpdate(exports.HMSPeerUpdate.PEER_LEFT,l);break;case y.PEER_LIST:null==(n=this.listener)||n.onJoin(this.createRoom());break;case y.ROLE_CHANGE:case y.ACTIVE_SPEAKERS:break;case y.BROADCAST:var d=t;b.d(this.TAG,"Received Message:: ",d),null==(r=this.listener)||r.onMessageReceived(d)}},r.publish=function(){var e,t=this,r=this.publishParams,i=r.audio,a=r.video,o=r.allowed,s=o&&o.includes("audio"),c=o&&o.includes("video"),u=(new H).codec(i.codec).maxBitRate(i.bitrate).build(),h=(new N).codec(a.codec).maxBitRate(a.bitRate).maxFrameRate(a.frameRate).build();(s||c)&&(null==(e=this.transport)||e.getLocalTracks((new V).video(c?h:null).audio(s?u:null).build()).then(function(){var e=n(T.mark((function e(n){return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n.forEach((function(e){var n;switch(e.type){case exports.HMSTrackType.AUDIO:t.localPeer.audioTrack=e;break;case exports.HMSTrackType.VIDEO:t.localPeer.videoTrack=e}null==(n=t.listener)||n.onTrackUpdate(exports.HMSTrackUpdate.TRACK_ADDED,e,t.localPeer)})),e.next=3,t.transport.publish(n);case 3:t.published=!0;case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()))},r.createRoom=function(){var e=this.getPeers();return this.hmsRoom=new me(this.localPeer.peerId,"",e),this.hmsRoom},t}(); | ||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("uuid");function t(e,t,n,r,i,a,o){try{var s=e[a](o),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,i)}function n(e){return function(){var n=this,r=arguments;return new Promise((function(i,a){var o=e.apply(n,r);function s(e){t(o,i,a,s,c,"next",e)}function c(e){t(o,i,a,s,c,"throw",e)}s(void 0)}))}}function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function i(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}function a(){return(a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function o(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,c(e,t)}function s(e){return(s=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function c(e,t){return(c=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function u(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function h(e,t,n){return(h=u()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var i=new(Function.bind.apply(e,r));return n&&c(i,n.prototype),i}).apply(null,arguments)}function l(e){var t="function"==typeof Map?new Map:void 0;return(l=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;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 h(e,arguments,s(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),c(n,e)})(e)}function d(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function p(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function f(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return p(e,void 0);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?p(e,void 0):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}var v,k,E,m,T=(function(e){var t=function(e){var t=Object.prototype,n=t.hasOwnProperty,r="function"==typeof Symbol?Symbol:{},i=r.iterator||"@@iterator",a=r.asyncIterator||"@@asyncIterator",o=r.toStringTag||"@@toStringTag";function s(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(e){s=function(e,t,n){return e[t]=n}}function c(e,t,n,r){var i=Object.create((t&&t.prototype instanceof l?t:l).prototype),a=new w(r||[]);return i._invoke=function(e,t,n){var r="suspendedStart";return function(i,a){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===i)throw a;return{value:void 0,done:!0}}for(n.method=i,n.arg=a;;){var o=n.delegate;if(o){var s=y(o,n);if(s){if(s===h)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var c=u(e,t,n);if("normal"===c.type){if(r=n.done?"completed":"suspendedYield",c.arg===h)continue;return{value:c.arg,done:n.done}}"throw"===c.type&&(r="completed",n.method="throw",n.arg=c.arg)}}}(e,n,a),i}function u(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}e.wrap=c;var h={};function l(){}function d(){}function p(){}var f={};f[i]=function(){return this};var v=Object.getPrototypeOf,k=v&&v(v(x([])));k&&k!==t&&n.call(k,i)&&(f=k);var E=p.prototype=l.prototype=Object.create(f);function m(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function T(e,t){var r;this._invoke=function(i,a){function o(){return new t((function(r,o){!function r(i,a,o,s){var c=u(e[i],e,a);if("throw"!==c.type){var h=c.arg,l=h.value;return l&&"object"==typeof l&&n.call(l,"__await")?t.resolve(l.__await).then((function(e){r("next",e,o,s)}),(function(e){r("throw",e,o,s)})):t.resolve(l).then((function(e){h.value=e,o(h)}),(function(e){return r("throw",e,o,s)}))}s(c.arg)}(i,a,r,o)}))}return r=r?r.then(o,o):o()}}function y(e,t){var n=e.iterator[t.method];if(void 0===n){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,y(e,t),"throw"===t.method))return h;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return h}var r=u(n,e.iterator,t.arg);if("throw"===r.type)return t.method="throw",t.arg=r.arg,t.delegate=null,h;var i=r.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,h):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,h)}function g(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function b(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function w(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(g,this),this.reset(!0)}function x(e){if(e){var t=e[i];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,a=function t(){for(;++r<e.length;)if(n.call(e,r))return t.value=e[r],t.done=!1,t;return t.value=void 0,t.done=!0,t};return a.next=a}}return{next:A}}function A(){return{value:void 0,done:!0}}return d.prototype=E.constructor=p,p.constructor=d,d.displayName=s(p,o,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===d||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,p):(e.__proto__=p,s(e,o,"GeneratorFunction")),e.prototype=Object.create(E),e},e.awrap=function(e){return{__await:e}},m(T.prototype),T.prototype[a]=function(){return this},e.AsyncIterator=T,e.async=function(t,n,r,i,a){void 0===a&&(a=Promise);var o=new T(c(t,n,r,i),a);return e.isGeneratorFunction(n)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},m(E),s(E,o,"Generator"),E[i]=function(){return this},E.toString=function(){return"[object Generator]"},e.keys=function(e){var t=[];for(var n in e)t.push(n);return t.reverse(),function n(){for(;t.length;){var r=t.pop();if(r in e)return n.value=r,n.done=!1,n}return n.done=!0,n}},e.values=x,w.prototype={constructor:w,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(b),!e)for(var t in this)"t"===t.charAt(0)&&n.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function r(n,r){return o.type="throw",o.arg=e,t.next=n,r&&(t.method="next",t.arg=void 0),!!r}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],o=a.completion;if("root"===a.tryLoc)return r("end");if(a.tryLoc<=this.prev){var s=n.call(a,"catchLoc"),c=n.call(a,"finallyLoc");if(s&&c){if(this.prev<a.catchLoc)return r(a.catchLoc,!0);if(this.prev<a.finallyLoc)return r(a.finallyLoc)}else if(s){if(this.prev<a.catchLoc)return r(a.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return r(a.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var a=i;break}}a&&("break"===e||"continue"===e)&&a.tryLoc<=t&&t<=a.finallyLoc&&(a=null);var o=a?a.completion:{};return o.type=e,o.arg=t,a?(this.method="next",this.next=a.finallyLoc,h):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),h},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),b(n),h}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;b(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:x(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),h}},e}(e.exports);try{regeneratorRuntime=t}catch(e){Function("r","regeneratorRuntime = r")(t)}}(m={exports:{}}),m.exports);!function(e){e[e.OFF=0]="OFF",e[e.ERROR=1]="ERROR",e[e.WARN=2]="WARN",e[e.INFO=3]="INFO",e[e.VERBOSE=4]="VERBOSE"}(v||(v={})),function(e){e[e.OFF=0]="OFF",e[e.ERROR=1]="ERROR",e[e.INFO=2]="INFO",e[e.VERBOSE=3]="VERBOSE"}(k||(k={})),function(e){e[e.VERBOSE=0]="VERBOSE",e[e.DEBUG=1]="DEBUG",e[e.INFO=2]="INFO",e[e.WARN=3]="WARN",e[e.ERROR=4]="ERROR",e[e.NONE=5]="NONE"}(E||(E={}));var y,g,b=function(){function e(){}return e.v=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];this.log.apply(this,[E.VERBOSE,e].concat(n))},e.d=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];this.log.apply(this,[E.DEBUG,e].concat(n))},e.i=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];this.log.apply(this,[E.INFO,e].concat(n))},e.w=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];this.log.apply(this,[E.WARN,e].concat(n))},e.e=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];this.log.apply(this,[E.ERROR,e].concat(n))},e.log=function(e,t){if(!(this.level.valueOf()>e.valueOf())){for(var n=arguments.length,r=new Array(n>2?n-2:0),i=2;i<n;i++)r[i-2]=arguments[i];switch(e){case E.VERBOSE:var a;(a=console).log.apply(a,[t].concat(r));break;case E.DEBUG:var o;(o=console).debug.apply(o,[t].concat(r));break;case E.INFO:var s;(s=console).info.apply(s,[t].concat(r));break;case E.WARN:var c;(c=console).warn.apply(c,[t].concat(r));break;case E.ERROR:var u;(u=console).error.apply(u,[t].concat(r))}}},e}();b.level=E.VERBOSE,function(e){e[e.PEER_JOIN=0]="PEER_JOIN",e[e.PEER_LEAVE=1]="PEER_LEAVE",e[e.PEER_LIST=2]="PEER_LIST",e[e.ACTIVE_SPEAKERS=3]="ACTIVE_SPEAKERS",e[e.BROADCAST=4]="BROADCAST",e[e.ROLE_CHANGE=5]="ROLE_CHANGE",e[e.TRACK_METADATA_ADD=6]="TRACK_METADATA_ADD",e[e.TRACK_UPDATE=7]="TRACK_UPDATE",e[e.UNSUPPORTED=8]="UNSUPPORTED"}(y||(y={})),function(e){e.CHAT="chat"}(g||(g={}));var w,x=function(e){var t=e.sender,n=e.message,r=e.type,i=e.receiver,a=e.time;this.receiver="",this.sender=t,this.message=n,this.type=function(e){if(!e)return g.CHAT;switch(e){case"chat":return g.CHAT;default:throw Error("Unsupported message type="+e+" received")}}(r),i&&(this.receiver=i),this.time=a&&a instanceof Date?a:a&&"string"==typeof a?new Date(a):new Date},A=function(e){this.mute=!e.enabled,this.type=e.type,this.source=e.source||"regular",this.description="",this.track_id=e.trackId,this.stream_id=e.stream.id},R=function(e){this.tracks=[],this.peerId=e.peer_id,this.info={name:e.info.name,data:e.info.data,userId:e.info.user_id},this.role=e.role,this.tracks=Object.values(e.tracks||{})},S=function(e){this.peers=Object.values(e.peers).map((function(e){return new R(e)}))},_="HMSConnection",C=function(){function e(e,t){this.candidates=new Array,this.role=e,this.signal=t}var t=e.prototype;return t.addTransceiver=function(e,t){return this.nativeConnection.addTransceiver(e,t)},t.createOffer=function(){var e=n(T.mark((function e(t){var n;return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===t&&(t=void 0),e.prev=1,e.next=4,this.nativeConnection.createOffer(t);case 4:return n=e.sent,b.d(_,"[role="+this.role+"] createOffer offer="+JSON.stringify(n,null,1)),e.abrupt("return",n);case 9:throw e.prev=9,e.t0=e.catch(1),e.t0;case 12:case"end":return e.stop()}}),e,this,[[1,9]])})));return function(t){return e.apply(this,arguments)}}(),t.createAnswer=function(){var e=n(T.mark((function e(t){var n;return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===t&&(t=void 0),e.next=3,this.nativeConnection.createAnswer(t);case 3:return n=e.sent,b.d(_,"[role="+this.role+"] createAnswer answer="+JSON.stringify(n,null,1)),e.abrupt("return",n);case 6:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),t.setLocalDescription=function(){var e=n(T.mark((function e(t){return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return b.d(_,"[role="+this.role+"] setLocalDescription description="+JSON.stringify(t,null,1)),e.next=3,this.nativeConnection.setLocalDescription(t);case 3:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),t.setRemoteDescription=function(){var e=n(T.mark((function e(t){return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,b.d(_,"[role="+this.role+"] setRemoteDescription description="+JSON.stringify(t,null,1)),e.next=4,this.nativeConnection.setRemoteDescription(t);case 4:e.next=9;break;case 6:throw e.prev=6,e.t0=e.catch(0),e.t0;case 9:case"end":return e.stop()}}),e,this,[[0,6]])})));return function(t){return e.apply(this,arguments)}}(),t.addIceCandidate=function(){var e=n(T.mark((function e(t){return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return b.d(_,"[role="+this.role+"] addIceCandidate candidate="+JSON.stringify(t,null,1)),e.next=3,this.nativeConnection.addIceCandidate(t);case 3:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),t.getSenders=function(){return this.nativeConnection.getSenders()},t.removeTrack=function(e){this.nativeConnection.removeTrack(e)},t.setMaxBitrate=function(){var e=n(T.mark((function e(t,n){var r,i;return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(r=this.getSenders().find((function(e){var t;return(null==e||null==(t=e.track)?void 0:t.id)===n.trackId})))){e.next=6;break}return(i=r.getParameters()).encodings[0].maxBitrate=t,e.next=6,r.setParameters(i);case 6:case"end":return e.stop()}}),e,this)})));return function(t,n){return e.apply(this,arguments)}}(),t.trackUpdate=function(e){var t=new A(e);this.signal.trackUpdate(new Map([[e.trackId,t]]))},t.close=function(){var e=n(T.mark((function e(){return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.nativeConnection.close();case 1:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}(),i(e,[{key:"remoteDescription",get:function(){return this.nativeConnection.remoteDescription}}]),e}();!function(e){e[e.PUBLISH=0]="PUBLISH",e[e.SUBSCRIBE=1]="SUBSCRIBE"}(w||(w={}));var P,I,O=function(e){function t(t,n,r){var i;return(i=e.call(this,w.PUBLISH,t)||this).observer=r,i.nativeConnection=new RTCPeerConnection(n),i.nativeConnection.createDataChannel("ion-sfu",{protocol:"SCTP"}),i.nativeConnection.onicecandidate=function(e){var n=e.candidate;n&&t.trickle(i.role,n)},i.nativeConnection.oniceconnectionstatechange=function(){i.observer.onIceConnectionChange(i.nativeConnection.iceConnectionState)},i}return o(t,e),t.prototype.initAfterJoin=function(){var e=this;this.nativeConnection.onnegotiationneeded=n(T.mark((function t(){return T.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return b.d("HMSPublishConnection","onnegotiationneeded"),t.next=3,e.observer.onRenegotiationNeeded();case 3:case"end":return t.stop()}}),t)})))},t}(C),D=function(e){this.tracks=new Array,this.nativeStream=e,this.id=e.id};!function(e){e.VP8="vp8",e.VP9="vp9",e.H264="h264"}(P||(P={})),function(e){e.OPUS="opus"}(I||(I={}));var M,N=function(e,t){if(e<=0)throw Error("Height should be >= 1");if(t<=0)throw Error("Height should be >= 1");this.width=e,this.height=t},L=function(){function e(){this._resolution=new N(320,180),this._codec=P.VP8,this._maxFrameRate=24,this._maxBitRate=15e4,this._deviceId="default",this._advanced=[]}var t=e.prototype;return t.resolution=function(e){return this._resolution=e,this},t.codec=function(e){return this._codec=e,this},t.maxFrameRate=function(e){if(e<=0)throw Error("maxFrameRate should be >= 1");return this._maxFrameRate=e,this},t.maxBitRate=function(e){if(e<=0)throw Error("maxBitRate should be >= 1");return this._maxBitRate=e,this},t.deviceId=function(e){return this._deviceId=e,this},t.advanced=function(e){return this._advanced=e,this},t.build=function(){return new U(this._resolution,this._codec,this._maxFrameRate,this._maxBitRate,this._deviceId,this._advanced)},e}(),U=function(){function e(e,t,n,r,i,a){this.resolution=e,this.codec=t,this.maxFrameRate=n,this.maxBitRate=r,this.deviceId=i,this.advanced=a}return e.prototype.toConstraints=function(){return{width:this.resolution.width,height:this.resolution.height,frameRate:this.maxFrameRate,deviceId:this.deviceId}},e}(),H=function(){function e(){this._volume=1,this._codec=I.OPUS,this._maxBitRate=32e3,this._deviceId="default",this._advanced=[{googEchoCancellation:{exact:!0}},{googExperimentalEchoCancellation:{exact:!0}},{autoGainControl:{exact:!0}},{noiseSuppression:{exact:!0}},{googHighpassFilter:{exact:!0}},{googAudioMirroring:{exact:!0}}]}var t=e.prototype;return t.volume=function(e){if(!(0<=e&&e<=1))throw Error("volume can only be in range [0.0, 1.0]");return this._volume=e,this},t.codec=function(e){return this._codec=e,this},t.maxBitRate=function(e){if(e<=0)throw Error("maxBitRate should be >= 1");return this._maxBitRate=e,this},t.deviceId=function(e){return this._deviceId=e,this},t.advanced=function(e){return this._advanced=e,this},t.build=function(){return new G(this._volume,this._codec,this._maxBitRate,this._deviceId,this._advanced)},e}(),G=function(){function e(e,t,n,r,i){this.volume=e,this.codec=t,this.maxBitRate=n,this.deviceId=r,this.advanced=i}return e.prototype.toConstraints=function(){return{deviceId:this.deviceId,advanced:this.advanced}},e}(),B={QVGA:(new L).resolution(new N(320,180)).maxBitRate(15e4).build(),VGA:(new L).resolution(new N(640,360)).maxBitRate(5e5).build(),SHD:(new L).resolution(new N(960,540)).maxBitRate(12e5).build(),HD:(new L).resolution(new N(1280,720)).maxBitRate(25e5).build(),FHD:(new L).resolution(new N(1920,1080)).maxBitRate(4e6).build(),QHD:(new L).resolution(new N(2560,1440)).maxBitRate(8e6).build()},K=function(){function e(){this._video=B.QVGA,this._audio=(new H).build(),this._simulcast=!1}var t=e.prototype;return t.video=function(e){return this._video=e,this},t.audio=function(e){return this._audio=e,this},t.simulcast=function(e){return this._simulcast=e,this},t.build=function(){if(null===this._audio&&null===this._video)throw Error("There is no media to return. Please select either video or audio or both");if(null===this._video&&this._simulcast)throw Error("Cannot enable simulcast when no video settings are provided");return new V(this._video,this._audio,this._simulcast)},e}(),V=function(e,t,n){this.video=e,this.audio=t,this.simulcast=n};!function(e){e.NONE="none",e.LOW="low",e.MEDIUM="medium",e.HIGH="high"}(M||(M={}));var j,F=function(e){function t(t,n){var r;return(r=e.call(this,t)||this).audio=!0,r.video=M.HIGH,r.frameRate=M.HIGH,r.connection=n,r}o(t,e);var r=t.prototype;return r.setAudio=function(){var e=n(T.mark((function e(t){return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.audio=t,e.next=3,this.syncWithApiChannel();case 3:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.setVideo=function(){var e=n(T.mark((function e(t){return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.video=t?M.HIGH:M.NONE,e.next=3,this.syncWithApiChannel();case 3:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.syncWithApiChannel=function(){var e=n(T.mark((function e(){var t;return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t={streamId:this.nativeStream.id,video:this.video,audio:this.audio,framerate:this.frameRate},e.next=3,this.connection.apiChannel.send(JSON.stringify(t));case 3:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}(),t}(D),J=function(){function e(e,t,n){var r=this;void 0===n&&(n=""),this.TAG="HMSDataChannel",this.nativeChannel=e,this.observer=t,this.metadata=n,e.onmessage=function(e){b.d(r.TAG,"["+r.metadata+"] onMessage: label="+r.label+", message="+e.data),r.observer.onMessage(e.data)}}var t=e.prototype;return t.send=function(){var e=n(T.mark((function e(t){return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("open"===this.nativeChannel.readyState){e.next=2;break}throw Error("Channel "+this.label+" not yet ready");case 2:b.d(this.TAG,"["+this.metadata+"] Sending [size="+t.length+"] message="+t),this.nativeChannel.send(t);case 4:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),t.close=function(){this.nativeChannel.close()},i(e,[{key:"id",get:function(){return this.nativeChannel.id}},{key:"label",get:function(){return this.nativeChannel.label}}]),e}(),W=function(){function e(e,t,n){this.stream=e,this.nativeTrack=t,this.source=n}return e.prototype.setEnabled=function(){var e=n(T.mark((function e(t){return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.nativeTrack.enabled=t;case 1:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),i(e,[{key:"enabled",get:function(){return this.nativeTrack.enabled}},{key:"trackId",get:function(){return this.nativeTrack.id}}]),e}();(j=exports.HMSTrackType||(exports.HMSTrackType={})).AUDIO="audio",j.VIDEO="video";var Y=function(e){function t(t,n,r){var i;if((i=e.call(this,t,n,r)||this).type=exports.HMSTrackType.AUDIO,"audio"!==n.kind)throw new Error("Expected 'track' kind = 'audio'");return i}return o(t,e),t}(W),Q=function(e){function t(){return e.apply(this,arguments)||this}return o(t,e),t.prototype.setEnabled=function(){var t=n(T.mark((function t(n){return T.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n!==this.enabled){t.next=2;break}return t.abrupt("return");case 2:return t.next=4,e.prototype.setEnabled.call(this,n);case 4:return t.next=6,this.stream.setAudio(n);case 6:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),t}(Y),q=function(e){function t(t,n,r){var i;if((i=e.call(this,t,n,r)||this).type=exports.HMSTrackType.VIDEO,"video"!==n.kind)throw new Error("Expected 'track' kind = 'video'");return i}return o(t,e),t}(W),z=function(e){function t(){return e.apply(this,arguments)||this}return o(t,e),t.prototype.setEnabled=function(){var t=n(T.mark((function t(n){return T.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n!==this.enabled){t.next=2;break}return t.abrupt("return");case 2:return t.next=4,e.prototype.setEnabled.call(this,n);case 4:return t.next=6,this.stream.setVideo(n);case 6:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),t}(q),$=function(e){function t(t,n,r){var i;return(i=e.call(this,w.SUBSCRIBE,t)||this).remoteStreams=new Map,i._apiChannel=null,i.observer=r,i.nativeConnection=new RTCPeerConnection(n),i.initNativeConnectionCallbacks(),i}o(t,e);var r=t.prototype;return r.initNativeConnectionCallbacks=function(){var e=this;this.nativeConnection.oniceconnectionstatechange=function(){e.observer.onIceConnectionChange(e.nativeConnection.iceConnectionState)},this.nativeConnection.ondatachannel=function(t){"ion-sfu"===t.channel.label&&(e._apiChannel=new J(t.channel,{onMessage:function(t){e.observer.onApiChannelMessage(t)}},"role="+e.role))},this.nativeConnection.onicecandidate=function(t){null!==t.candidate&&e.signal.trickle(e.role,t.candidate)},this.nativeConnection.ontrack=function(t){var n=t.streams[0];if(!e.remoteStreams.has(n.id)){var r=new F(n,e);e.remoteStreams.set(n.id,r),n.onremovetrack=function(t){var i=r.tracks.findIndex((function(e){return e.trackId===t.track.id}));i>=0&&(e.observer.onTrackRemove(r.tracks[i]),r.tracks.splice(i,1),0===r.tracks.length&&e.remoteStreams.delete(n.id))}}var i=e.remoteStreams.get(n.id),a=new("audio"===t.track.kind?Q:z)(i,t.track);i.tracks.push(a),e.observer.onTrackAdd(a)}},r.close=function(){var t=n(T.mark((function t(){var n;return T.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.prototype.close.call(this);case 2:null==(n=this.apiChannel)||n.close();case 3:case"end":return t.stop()}}),t,this)})));return function(){return t.apply(this,arguments)}}(),i(t,[{key:"apiChannel",get:function(){return this._apiChannel}}]),t}(C),X=function(){function e(){}return e.fetchInitConfig=function(){var e=n(T.mark((function e(t,n){var r,i;return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===n&&(n=""),b.d("InitService","fetchInitConfig: token="+t+" region="+n),r="https://qa2-us.100ms.live/init?token="+t,n.length>0&&(r+="®ion="+n),e.next=6,fetch(r);case 6:return i=e.sent,e.next=9,i.json();case 9:return e.abrupt("return",e.sent);case 11:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),e}(),Z=function(){function e(e,t){this.code=e,this.message=t}return e.prototype.build=function(){return new ee(this.code,this.message)},e}(),ee=function(e){function t(t,n){var r;return(r=e.call(this,n)||this).code=t,r}return o(t,e),t}(l(Error)),te=function(){function t(e){this.TAG="[ SIGNAL ]: ",this.isJoinCompleted=!1,this.pendingTrickle=[],this.socket=null,this.callbacks=new Map,this.observer=e}var r=t.prototype;return r.call=function(){var t=n(T.mark((function t(n,r){var i,a=this;return T.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i=e.v4(),this.socket.send(JSON.stringify({method:n,params:r,id:i})),t.next=5,new Promise((function(e,t){a.callbacks.set(i,{resolve:e,reject:t})}));case 5:return t.abrupt("return",JSON.parse(t.sent));case 7:case"end":return t.stop()}}),t,this)})));return function(e,n){return t.apply(this,arguments)}}(),r.notify=function(e,t){this.socket.send(JSON.stringify({method:e,params:t}))},r.open=function(e){var t=this;return new Promise((function(n){t.socket=new WebSocket(e),t.socket.addEventListener("open",(function e(){n(),t.socket.removeEventListener("open",e)})),t.socket.addEventListener("message",(function(e){return t.onMessageHandler(e.data)}))}))},r.close=function(){var e=n(T.mark((function e(){var t,n=this;return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=new Promise((function(e){n.socket.addEventListener("close",(function(){return e()}))})),this.socket.close(1e3,"Normal Close"),e.abrupt("return",t);case 3:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}(),r.join=function(){var e=n(T.mark((function e(t,n,r){var i,a,o=this;return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i={name:t,data:n,offer:r},e.next=3,this.call("join",i);case 3:return a=e.sent,this.isJoinCompleted=!0,this.pendingTrickle.forEach((function(e){return o.trickle(e.target,e.candidate)})),this.pendingTrickle.length=0,b.d(this.TAG,"join: response="+JSON.stringify(a,null,1)),e.abrupt("return",a);case 9:case"end":return e.stop()}}),e,this)})));return function(t,n,r){return e.apply(this,arguments)}}(),r.trickle=function(e,t){this.isJoinCompleted?this.notify("trickle",{target:e,candidate:t}):this.pendingTrickle.push({target:e,candidate:t})},r.offer=function(){var e=n(T.mark((function e(t,n){return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.call("offer",{desc:t,tracks:n});case 2:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e,this)})));return function(t,n){return e.apply(this,arguments)}}(),r.answer=function(e){this.notify("answer",{desc:e})},r.trackUpdate=function(e){b.d(this.TAG,"Track Update: ",{tracks:Object.fromEntries(e)}),this.notify("track-update",{version:"1.0",tracks:Object.fromEntries(e)})},r.broadcast=function(e){this.notify("broadcast",{version:"1.0",info:e})},r.recordStart=function(){},r.recordEnd=function(){},r.leave=function(){this.notify("leave",{version:"1.0"})},r.analytics=function(){},r.onMessageHandler=function(e){var t=JSON.parse(e);if(t.hasOwnProperty("id")){var n=t.id;if(this.callbacks.has(n)){var r=this.callbacks.get(n);if(this.callbacks.delete(n),t.result)r.resolve(JSON.stringify(t.result));else{var i=t.error,a=new Z(i.code,i.message).build();r.reject(a)}}else this.observer.onNotification(t)}else{if(!t.hasOwnProperty("method"))throw Error("WebSocket message has no 'method' or 'id' field, message="+t);"offer"===t.method?this.observer.onOffer(t.params):"trickle"===t.method?this.observer.onTrickle(t.params):this.observer.onNotification(t)}},t}();function ne(e){return re.apply(this,arguments)}function re(){return(re=n(T.mark((function e(t){return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,navigator.mediaDevices.getUserMedia({audio:t.toConstraints()});case 2:return e.abrupt("return",e.sent.getAudioTracks()[0]);case 4:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ie(e){return ae.apply(this,arguments)}function ae(){return(ae=n(T.mark((function e(t){return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,navigator.mediaDevices.getUserMedia({video:t.toConstraints()});case 2:return e.abrupt("return",e.sent.getVideoTracks()[0]);case 4:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var oe=function(e){function t(t,n,r,i){var a;return a=e.call(this,t,n,i)||this,t.tracks.push(d(a)),a.settings=r,a}o(t,e);var r=t.prototype;return r.replaceTrackWith=function(){var e=n(T.mark((function e(t){var n;return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,ne(t);case 2:return n=e.sent,e.next=5,this.stream.replaceTrack(this,n);case 5:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.setEnabled=function(){var t=n(T.mark((function t(n){return T.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n!==this.enabled){t.next=2;break}return t.abrupt("return");case 2:return t.next=4,e.prototype.setEnabled.call(this,n);case 4:if(this.stream.trackUpdate(this),!n){t.next=10;break}return t.next=8,this.replaceTrackWith(this.settings);case 8:t.next=11;break;case 10:this.nativeTrack.stop();case 11:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),r.setSettings=function(){var e=n(T.mark((function e(t){return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.settings.codec===t.codec){e.next=2;break}throw Error("Audio Codec can't be changed mid call.");case 2:if(this.settings.deviceId===t.deviceId){e.next=5;break}return e.next=5,this.replaceTrackWith(t);case 5:return e.next=7,this.nativeTrack.applyConstraints(t.toConstraints());case 7:this.settings=t;case 8:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),t}(Y);function se(e){if(e<=0)throw Error("`ms` should be a positive integer");return new Promise((function(t){return setTimeout(t,e)}))}var ce,ue,he,le=function(e){function t(t,n,r,i){var a;return a=e.call(this,t,n,i)||this,t.tracks.push(d(a)),a.settings=r,a}o(t,e);var r=t.prototype;return r.replaceTrackWith=function(){var e=n(T.mark((function e(t){var n;return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,ie(t);case 2:return n=e.sent,e.next=5,this.stream.replaceTrack(this,n);case 5:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.setEnabled=function(){var t=n(T.mark((function t(n){return T.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n!==this.enabled){t.next=2;break}return t.abrupt("return");case 2:return t.next=4,e.prototype.setEnabled.call(this,n);case 4:if(this.stream.trackUpdate(this),!n){t.next=10;break}return t.next=8,this.replaceTrackWith(this.settings);case 8:t.next=13;break;case 10:return t.next=12,se(100);case 12:this.nativeTrack.stop();case 13:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),r.setSettings=function(){var e=n(T.mark((function e(t){return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.settings.codec===t.codec){e.next=2;break}throw Error("Video Codec can't be changed mid call.");case 2:if(this.settings.deviceId===t.deviceId){e.next=5;break}return e.next=5,this.replaceTrackWith(t);case 5:return e.next=7,this.nativeTrack.applyConstraints(t.toConstraints());case 7:this.settings=t;case 8:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),t}(q),de=function(e){function t(){var t;return(t=e.apply(this,arguments)||this).connection=null,t}o(t,e);var r=t.prototype;return r.setConnection=function(e){this.connection=e},t.getLocalScreen=function(){var e=n(T.mark((function e(n){var r,i,a,o,s;return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r={video:n.toConstraints(),audio:!1},e.next=3,navigator.mediaDevices.getDisplayMedia(r);case 3:return a=new t(i=e.sent),o=i.getVideoTracks()[0],s=new le(a,o,n,"screen"),b.v("HMSLocalStream","getLocalScreen",s),e.abrupt("return",s);case 9:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),t.getLocalTracks=function(){var e=n(T.mark((function e(n){var r,i,a,o,s,c,u;return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,navigator.mediaDevices.getUserMedia({audio:null!=n.audio&&n.audio.toConstraints(),video:null!=n.video&&n.video.toConstraints()});case 2:return i=new t(r=e.sent),a=[],null!=n.audio&&(o=r.getAudioTracks()[0],s=new oe(i,o,n.audio,"regular"),a.push(s)),null!=n.video&&(c=r.getVideoTracks()[0],u=new le(i,c,n.video,"regular"),a.push(u)),b.v("HMSLocalStream","getLocalTracks",a),e.abrupt("return",a);case 9:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),r.addTransceiver=function(e){var t=this.connection.addTransceiver(e.nativeTrack,{streams:[this.nativeStream],direction:"sendonly",sendEncodings:void 0});return this.setPreferredCodec(t,e.nativeTrack.kind),t},r.setMaxBitrate=function(){var e=n(T.mark((function e(t,n){var r;return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,null==(r=this.connection)?void 0:r.setMaxBitrate(t,n);case 2:case"end":return e.stop()}}),e,this)})));return function(t,n){return e.apply(this,arguments)}}(),r.setPreferredCodec=function(e,t){},r.replaceTrack=function(){var e=n(T.mark((function e(t,n){var r;return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0!==(r=this.connection.getSenders().find((function(e){return e.track&&e.track.id===t.trackId})))){e.next=3;break}throw Error("No sender found for trackId="+t.trackId);case 3:return this.nativeStream.removeTrack(t.nativeTrack),r.track.stop(),e.next=7,r.replaceTrack(n);case 7:this.nativeStream.addTrack(n),t.nativeTrack=n;case 9:case"end":return e.stop()}}),e,this)})));return function(t,n){return e.apply(this,arguments)}}(),r.removeSender=function(e){var t=this,n=0;if(this.connection.getSenders().forEach((function(r){if(r.track&&r.track.id===e.trackId){t.connection.removeTrack(r),n+=1;var i=t.tracks.indexOf(e);if(-1===i)throw Error("Cannot find "+e+" in locally stored tracks");t.tracks.splice(i,1)}})),1!==n)throw Error("Removed "+n+" sender's, expected to remove 1")},r.trackUpdate=function(e){var t;null==(t=this.connection)||t.trackUpdate(e)},t}(D),pe="[HMSTransport]:",fe=function(){function e(e){var t,r,i,a=this;this.tracks={},this.publishConnection=null,this.subscribeConnection=null,this.callbacks=new Map,this.signalObserver={onOffer:(r=n(T.mark((function e(t){var n,r,i,o;return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,a.subscribeConnection.setRemoteDescription(t);case 2:n=f(a.subscribeConnection.candidates);case 3:if((r=n()).done){e.next=9;break}return i=r.value,e.next=7,a.subscribeConnection.addIceCandidate(i);case 7:e.next=3;break;case 9:return a.subscribeConnection.candidates.length=0,e.next=12,a.subscribeConnection.createAnswer();case 12:return o=e.sent,e.next=15,a.subscribeConnection.setLocalDescription(o);case 15:a.signal.answer(o);case 16:case"end":return e.stop()}}),e)}))),function(e){return r.apply(this,arguments)}),onTrickle:(t=n(T.mark((function e(t){var n;return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(null!==(n=t.target===w.PUBLISH?a.publishConnection:a.subscribeConnection).remoteDescription){e.next=5;break}n.candidates.push(t.candidate),e.next=7;break;case 5:return e.next=7,n.addIceCandidate(t.candidate);case 7:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)}),onNotification:function(e){return a.observer.onNotification(e)},onFailure:function(e){a.observer.onFailure(e)}},this.signal=new te(this.signalObserver),this.publishConnectionObserver={onRenegotiationNeeded:(i=n(T.mark((function e(){var t,n,r;return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return b.d(pe,"⏳ [role=PUBLISH] onRenegotiationNeeded START",a.tracks),t=a.callbacks.get("renegotiation-callback-id"),a.callbacks.delete("renegotiation-callback-id"),e.prev=3,e.next=6,a.publishConnection.createOffer();case 6:return n=e.sent,e.next=9,a.publishConnection.setLocalDescription(n);case 9:return e.next=11,a.signal.offer(n,a.tracks);case 11:return r=e.sent,e.next=14,a.publishConnection.setRemoteDescription(r);case 14:null==t||t.resolve(!0),b.d(pe,"✅ [role=PUBLISH] onRenegotiationNeeded DONE",a.tracks),e.next=21;break;case 18:e.prev=18,e.t0=e.catch(3),console.error(pe,e.t0);case 21:case"end":return e.stop()}}),e,null,[[3,18]])}))),function(){return i.apply(this,arguments)}),onIceConnectionChange:function(e){}},this.subscribeConnectionObserver={onApiChannelMessage:function(e){a.observer.onNotification(JSON.parse(e))},onTrackAdd:function(e){return a.observer.onTrackAdd(e)},onTrackRemove:function(e){return a.observer.onTrackRemove(e)},onIceConnectionChange:function(e){}},this.observer=e}var t=e.prototype;return t.getLocalScreen=function(){var e=n(T.mark((function e(t){return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,de.getLocalScreen(t);case 2:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),t.getLocalTracks=function(){var e=n(T.mark((function e(t){return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,de.getLocalTracks(t);case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),t.join=function(){var e=n(T.mark((function e(t,n,r){var i,a,o,s,c,u;return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,X.fetchInitConfig(t);case 2:return b.d(pe,"⏳ join: connecting to ws endpoint",(i=e.sent).endpoint),e.next=6,this.signal.open(i.endpoint+"?peer="+n+"&token="+t);case 6:return b.d(pe,"✅ join: connected to ws endpoint"),b.d(pe,r),this.publishConnection=new O(this.signal,i.rtcConfiguration,this.publishConnectionObserver),this.subscribeConnection=new $(this.signal,i.rtcConfiguration,this.subscribeConnectionObserver),b.d(pe,"⏳ join: Negotiating over PUBLISH connection"),e.next=13,this.publishConnection.createOffer();case 13:return a=e.sent,e.next=16,this.publishConnection.setLocalDescription(a);case 16:return e.next=18,this.signal.join(r.name,n,a);case 18:return o=e.sent,e.next=21,this.publishConnection.setRemoteDescription(o);case 21:s=f(this.publishConnection.candidates);case 22:if((c=s()).done){e.next=28;break}return u=c.value,e.next=26,this.publishConnection.addIceCandidate(u);case 26:e.next=22;break;case 28:this.publishConnection.initAfterJoin(),b.d(pe,"✅ join: Negotiated over PUBLISH connection"),b.d(pe,"✅ join: successful");case 31:case"end":return e.stop()}}),e,this)})));return function(t,n,r){return e.apply(this,arguments)}}(),t.leave=function(){var e=n(T.mark((function e(){return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.publishConnection.close();case 2:return e.next=4,this.subscribeConnection.close();case 4:return this.signal.leave(),e.next=7,this.signal.close();case 7:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}(),t.publishTrack=function(){var e=n(T.mark((function e(t){var n,r,i=this;return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return b.d(pe,"⏳ publishTrack: trackId="+t.trackId,t),this.tracks[t.trackId]={mute:!1,type:t.nativeTrack.kind,source:t.source,description:"",track_id:t.trackId,stream_id:t.stream.id},n=new Promise((function(e,t){i.callbacks.set("renegotiation-callback-id",{resolve:e,reject:t})})),(r=t.stream).setConnection(this.publishConnection),r.addTransceiver(t),e.next=8,n;case 8:if(t.type!==exports.HMSTrackType.VIDEO){e.next=12;break}return e.next=12,r.setMaxBitrate(25e4,t).then((function(){b.d(pe,"Setting maxBitrate to 250 kpbs")})).catch((function(e){return b.e(pe,"Failed setting maxBitrate",e)}));case 12:b.d(pe,"✅ publishTrack: trackId="+t.trackId,this.callbacks);case 13:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),t.unpublishTrack=function(){var e=n(T.mark((function e(t){var n,r=this;return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return b.d(pe,"⏳ unpublishTrack: trackId="+t.trackId,t),delete this.tracks[t.trackId],n=new Promise((function(e,t){r.callbacks.set("renegotiation-callback-id",{resolve:e,reject:t})})),t.stream.removeSender(t),e.next=7,n;case 7:b.d(pe,"✅ unpublishTrack: trackId="+t.trackId,this.callbacks);case 8:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),t.publish=function(){var e=n(T.mark((function e(t){var n,r,i;return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=f(t);case 1:if((r=n()).done){e.next=7;break}return i=r.value,e.next=5,this.publishTrack(i);case 5:e.next=1;break;case 7:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),t.unpublish=function(){var e=n(T.mark((function e(t){var n,r,i;return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=f(t);case 1:if((r=n()).done){e.next=7;break}return i=r.value,e.next=5,this.unpublishTrack(i);case 5:e.next=1;break;case 7:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),t.sendMessage=function(e){this.signal.broadcast(e)},e}();(ce=exports.HMSRoomUpdate||(exports.HMSRoomUpdate={}))[ce.PEER_ADDED=0]="PEER_ADDED",ce[ce.PEER_REMOVED=1]="PEER_REMOVED",ce[ce.PEER_KNOCKED=2]="PEER_KNOCKED",ce[ce.ROOM_TYPE_CHANGED=3]="ROOM_TYPE_CHANGED",ce[ce.METADATA_UPDATED=4]="METADATA_UPDATED",ce[ce.SCREENSHARE_STARTED=5]="SCREENSHARE_STARTED",ce[ce.SCREENSHARE_STOPPED=6]="SCREENSHARE_STOPPED",ce[ce.DEFAULT_UPDATE=7]="DEFAULT_UPDATE",(ue=exports.HMSPeerUpdate||(exports.HMSPeerUpdate={}))[ue.PEER_JOINED=0]="PEER_JOINED",ue[ue.PEER_LEFT=1]="PEER_LEFT",ue[ue.AUDIO_TOGGLED=2]="AUDIO_TOGGLED",ue[ue.VIDEO_TOGGLED=3]="VIDEO_TOGGLED",ue[ue.BECAME_DOMINANT_SPEAKER=4]="BECAME_DOMINANT_SPEAKER",ue[ue.RESIGNED_DOMINANT_SPEAKER=5]="RESIGNED_DOMINANT_SPEAKER",ue[ue.STARTED_SPEAKING=6]="STARTED_SPEAKING",ue[ue.STOPPED_SPEAKING=7]="STOPPED_SPEAKING",(he=exports.HMSTrackUpdate||(exports.HMSTrackUpdate={}))[he.TRACK_ADDED=0]="TRACK_ADDED",he[he.TRACK_REMOVED=1]="TRACK_REMOVED",he[he.TRACK_MUTED=2]="TRACK_MUTED",he[he.TRACK_UNMUTED=3]="TRACK_UNMUTED",he[he.TRACK_DESCRIPTION_CHANGED=4]="TRACK_DESCRIPTION_CHANGED";var ve=function(e){var t=e.peerId,n=e.name,r=e.isLocal,i=e.customerDescription;this.customerDescription="",this.auxiliaryTracks=[],this.name=n,this.peerId=t,this.isLocal=r,this.customerDescription=i},ke=function(){function e(){this.TAG="[HMSAudioLevelListener]:",this.recentUpdate=null,this.dominantSpeaker=null}return e.prototype.updateDominantSpeaker=function(e,t,n){var r=this;if(this.listener=n,this.recentUpdate)this.recentUpdate=new Date,this.dominantSpeaker=t,b.d(this.TAG,"BECAME_DOMINANT_SPEAKER",e,t),this.listener.onPeerUpdate(exports.HMSPeerUpdate.BECAME_DOMINANT_SPEAKER,t);else{this.recentUpdate=new Date,this.dominantSpeaker=t,b.d(this.TAG,"BECAME_DOMINANT_SPEAKER",e,t),this.listener.onPeerUpdate(exports.HMSPeerUpdate.BECAME_DOMINANT_SPEAKER,t);var i=setInterval((function(){var e=new Date;r.recentUpdate&&e.getTime()-r.recentUpdate.getTime()>1e3&&(r.recentUpdate=null,b.d(r.TAG,"RESIGNED_DOMINANT_SPEAKER",r.dominantSpeaker),r.listener.onPeerUpdate(exports.HMSPeerUpdate.RESIGNED_DOMINANT_SPEAKER,r.dominantSpeaker),r.dominantSpeaker=null,clearInterval(i))}),1e3)}},e}(),Ee=function(e){function t(){var t;return(t=e.apply(this,arguments)||this).hmsPeerList=new Map,t.TAG="[Notification Manager]:",t.tracksToProcess=new Map,t.trackStateMap=new Map,t.audioLevelListener=new ke,t.handleOnTrackAdd=function(e){b.d(t.TAG,"ONTRACKADD",e),t.tracksToProcess.set(e.trackId,e),t.processPendingTracks()},t.handleOnTrackRemove=function(e){b.d(t.TAG,"ONTRACKREMOVE",e);var n=t.trackStateMap.get(e.trackId);if(n){var r=t.hmsPeerList.get(n.peerId);if(r){switch(e.type){case exports.HMSTrackType.AUDIO:r.audioTrack=null;break;case exports.HMSTrackType.VIDEO:var i=r.auxiliaryTracks.indexOf(e);i>-1?r.auxiliaryTracks.splice(i,1):r.videoTrack=null}t.listener.onTrackUpdate(exports.HMSTrackUpdate.TRACK_REMOVED,e,r)}}},t.handleTrackUpdate=function(e){b.d(t.TAG,"TRACK_UPDATE",e);var n=t.hmsPeerList.get(e.peer.peer_id);if(n)for(var r=0,i=Object.entries(e.tracks);r<i.length;r++){var o,s,c=i[r],u=c[0],h=c[1],l=Object.assign({},null==(o=t.trackStateMap.get(u))?void 0:o.trackInfo),d=t.getPeerTrackByTrackId(n.peerId,u);if(!d)return;t.trackStateMap.set(u,{peerId:e.peer.peer_id,trackInfo:a({},l,h)}),l.mute!==h.mute?h.mute?(n.peerId===(null==(s=t.audioLevelListener.dominantSpeaker)?void 0:s.peerId)&&(b.d(t.TAG,"DOMINANT_SPEAKER_MUTE",n),t.listener.onPeerUpdate(exports.HMSPeerUpdate.RESIGNED_DOMINANT_SPEAKER,n)),t.listener.onTrackUpdate(exports.HMSTrackUpdate.TRACK_MUTED,d,n)):t.listener.onTrackUpdate(exports.HMSTrackUpdate.TRACK_UNMUTED,d,n):l.description!==h.description&&t.listener.onTrackUpdate(exports.HMSTrackUpdate.TRACK_DESCRIPTION_CHANGED,d,n)}},t.cleanUp=function(){t.hmsPeerList.clear()},t.findPeerByPeerId=function(e){var n;return(null==(n=t.localPeer)?void 0:n.peerId)===e?t.localPeer:t.hmsPeerList.get(e)},t.handlePeerJoin=function(e){var n=new ve({peerId:e.peerId,name:e.info.name,isLocal:!1,customerDescription:""});t.hmsPeerList.set(e.peerId,n),b.d(t.TAG,"adding to the peerList",n),e.tracks.forEach((function(n){t.trackStateMap.set(n.track_id,{peerId:e.peerId,trackInfo:n})})),t.processPendingTracks()},t.handlePeerLeave=function(e){t.hmsPeerList.delete(e.peerId)},t.handlePeerList=function(e){var n=e.peers;null==n||n.forEach((function(e){return t.handlePeerJoin(e)}))},t}o(t,e);var n=t.prototype;return n.handleNotification=function(e,t,n){switch(this.listener=n,e){case y.PEER_JOIN:var r=t;b.d(this.TAG,"PEER_JOIN event",r,t),this.handlePeerJoin(r);break;case y.PEER_LEAVE:var i=t;b.d(this.TAG,"PEER_LEAVE event",i),this.handlePeerLeave(i);break;case y.PEER_LIST:var a=t;b.d(this.TAG,"PEER_LIST event",a),this.handlePeerList(a);break;case y.TRACK_METADATA_ADD:this.handleTrackMetadataAdd(t);break;case y.TRACK_UPDATE:this.handleTrackUpdate(t);break;case y.ROLE_CHANGE:this.handleRoleChange(t);break;case y.ACTIVE_SPEAKERS:this.handleActiveSpeakers(t);break;default:return}},n.handleRoleChange=function(e){this.dispatchEvent(new CustomEvent("role-change",{detail:{params:e}}))},n.handleTrackMetadataAdd=function(e){b.d(this.TAG,"TRACK_METADATA_ADD",e);for(var t=0,n=Object.entries(e.tracks);t<n.length;t++){var r=n[t];this.trackStateMap.set(r[0],{peerId:e.peer.peer_id,trackInfo:r[1]})}this.processPendingTracks()},n.processPendingTracks=function(){var e=this;new Map(this.tracksToProcess).forEach((function(t){var n=e.trackStateMap.get(t.trackId);if(n){var r=e.hmsPeerList.get(n.peerId);if(r){switch(t.source=n.trackInfo.source,t.type){case exports.HMSTrackType.AUDIO:r.audioTrack||(r.audioTrack=t);break;case exports.HMSTrackType.VIDEO:r.videoTrack||"regular"!==t.source?r.auxiliaryTracks.push(t):r.videoTrack=t}e.listener.onTrackUpdate(exports.HMSTrackUpdate.TRACK_ADDED,t,r),e.tracksToProcess.delete(t.trackId)}}}))},n.handleActiveSpeakers=function(e){b.d(this.TAG,"ACTIVESPEAKERS",e);var t=e[0],n=this.findPeerByPeerId(t.peer_id);this.audioLevelListener.updateDominantSpeaker(t,n,this.listener)},n.getPeerTrackByTrackId=function(e,t){var n,r,i=this.findPeerByPeerId(e);return(null==i||null==(n=i.audioTrack)?void 0:n.trackId)===t?i.audioTrack:(null==i||null==(r=i.videoTrack)?void 0:r.trackId)===t?i.videoTrack:null==i?void 0:i.auxiliaryTracks.find((function(e){return e.trackId===t}))},t}(l(EventTarget)),me=function(e,t,n){this.id=e,this.name=t,this.peers=n};exports.HMSSdk=function(){function t(){var e=this;this.logLevel=v.OFF,this.analyticsLevel=k.OFF,this.TAG="[HMSSdk]:",this.notificationManager=new Ee,this.published=!1,this.publishParams=null,this.observer={onNotification:function(t){var n=function(e){switch(e){case"on-peer-join":return y.PEER_JOIN;case"on-peer-leave":return y.PEER_LEAVE;case"peer-list":return y.PEER_LIST;case"on-track-add":return y.TRACK_METADATA_ADD;case"on-track-update":return y.TRACK_UPDATE;case"active-speakers":return y.ACTIVE_SPEAKERS;case"on-broadcast":return y.BROADCAST;case"on-role-change":return y.ROLE_CHANGE;default:return b.d("method not supported - "+e),y.UNSUPPORTED}}(t.method),r=function(e,t){switch(e){case y.PEER_JOIN:case y.PEER_LEAVE:return new R(t);case y.PEER_LIST:return new S(t);case y.BROADCAST:return new x(t.info);case y.ACTIVE_SPEAKERS:return t.hasOwnProperty("speaker-list")?t["speaker-list"]:[];case y.ROLE_CHANGE:return t;case y.TRACK_METADATA_ADD:case y.TRACK_UPDATE:return t;default:return b.d("method not implemented "+e),t}}(n,t.params);e.notificationManager.handleNotification(n,r,e.listener),e.onNotificationHandled(n,r)},onTrackAdd:function(t){e.notificationManager.handleOnTrackAdd(t)},onTrackRemove:function(t){e.notificationManager.handleOnTrackRemove(t)},onFailure:function(t){var n;null==(n=e.listener)||n.onError(t)}},this.notificationManager.addEventListener("role-change",(function(t){return e.publishParams=t.detail.params.role.publishParams})),this.transport=new fe(this.observer)}var r=t.prototype;return r.join=function(t,n){var r=this;this.transport=new fe(this.observer),this.listener=n;var i=JSON.parse(atob(t.authToken.split(".")[1])).room_id,a=e.v4();this.localPeer=new ve({peerId:a,name:t.userName,isLocal:!0,customerDescription:t.metaData}),this.notificationManager.localPeer=this.localPeer,b.d(this.TAG,"⏳ Joining room "+i),this.transport.join(t.authToken,this.localPeer.peerId,{name:t.userName}).then((function(){b.d(r.TAG,"✅ Joined room "+i),r.roomId=i,r.published||r.publish()}))},r.cleanUp=function(){this.notificationManager.cleanUp(),this.published=!1,this.localPeer=null,this.roomId=null,this.hmsRoom=null,this.transport=null,this.listener=null},r.leave=function(){var e=n(T.mark((function e(){var t,n,r,i,a,o;return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.roomId){e.next=9;break}return b.d(this.TAG,"⏳ Leaving room "+(o=this.roomId)),null==(t=this.localPeer)||null==(n=t.audioTrack)||n.nativeTrack.stop(),null==(r=this.localPeer)||null==(i=r.videoTrack)||i.nativeTrack.stop(),e.next=7,null==(a=this.transport)?void 0:a.leave();case 7:this.cleanUp(),b.d(this.TAG,"✅ Left room "+o);case 9:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}(),r.getLocalPeer=function(){return this.localPeer},r.getPeers=function(){var e=Array.from(this.notificationManager.hmsPeerList,(function(e){return e[1]})),t=this.localPeer?[].concat(e,[this.getLocalPeer()]):e;return b.d(this.TAG,"Got peers",t),t},r.sendMessage=function(e,t,n){var r=new x({sender:this.localPeer.peerId,type:e,message:t,receiver:n});return b.d(this.TAG,"Sending Message:: ",r),this.transport.sendMessage(r),r},r.startScreenShare=function(){var e=n(T.mark((function e(t){var n,r,i,a,o=this;return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(((null==(n=this.localPeer)||null==(r=n.auxiliaryTracks)?void 0:r.length)||0)>0)){e.next=2;break}throw Error("Cannot share multiple screens");case 2:return e.next=4,this.transport.getLocalScreen(B.HD);case 4:return(a=e.sent).nativeTrack.onended=function(){o.stopEndedScreenshare(t)},e.next=8,this.transport.publish([a]);case 8:null==(i=this.localPeer)||i.auxiliaryTracks.push(a);case 9:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.stopEndedScreenshare=function(){var e=n(T.mark((function e(t){return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return b.d(this.TAG,"✅ Screenshare ended natively"),e.next=3,this.stopScreenShare();case 3:t();case 4:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),r.stopScreenShare=function(){var e=n(T.mark((function e(){var t,n;return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(b.d(this.TAG,"✅ Screenshare ended from app"),!(n=null==(t=this.localPeer)?void 0:t.auxiliaryTracks.find((function(e){return e.type===exports.HMSTrackType.VIDEO&&"screen"===e.source})))){e.next=7;break}return e.next=5,n.setEnabled(!1);case 5:this.transport.unpublish([n]),this.localPeer.auxiliaryTracks.splice(this.localPeer.auxiliaryTracks.indexOf(n),1);case 7:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}(),r.onNotificationHandled=function(e,t){var n,r,i=this;switch(b.d(this.TAG,"onNotificationHandled",e),e){case y.PEER_JOIN:var a=t,o=this.notificationManager.findPeerByPeerId(a.peerId);o?this.listener.onPeerUpdate(exports.HMSPeerUpdate.PEER_JOINED,o):b.e(this.TAG,"⚠️ peer not found in peer-list",a,this.notificationManager.hmsPeerList);break;case y.PEER_LEAVE:var s,c,u,h,l=new ve({peerId:t.peerId,name:t.info.name,isLocal:!1,customerDescription:t.info.data});l.audioTrack&&(null==(u=this.listener)||u.onTrackUpdate(exports.HMSTrackUpdate.TRACK_REMOVED,l.audioTrack,l)),l.videoTrack&&(null==(h=this.listener)||h.onTrackUpdate(exports.HMSTrackUpdate.TRACK_REMOVED,l.videoTrack,l)),null==(s=l.auxiliaryTracks)||s.forEach((function(e){var t;null==(t=i.listener)||t.onTrackUpdate(exports.HMSTrackUpdate.TRACK_REMOVED,e,l)})),null==(c=this.listener)||c.onPeerUpdate(exports.HMSPeerUpdate.PEER_LEFT,l);break;case y.PEER_LIST:null==(n=this.listener)||n.onJoin(this.createRoom());break;case y.ROLE_CHANGE:case y.ACTIVE_SPEAKERS:break;case y.BROADCAST:var d=t;b.d(this.TAG,"Received Message:: ",d),null==(r=this.listener)||r.onMessageReceived(d)}},r.publish=function(){var e,t=this,r=this.publishParams,i=r.audio,a=r.video,o=r.allowed,s=o&&o.includes("audio"),c=o&&o.includes("video"),u=(new H).codec(i.codec).maxBitRate(i.bitrate).build(),h=(new L).codec(a.codec).maxBitRate(a.bitRate).maxFrameRate(a.frameRate).build();(s||c)&&(null==(e=this.transport)||e.getLocalTracks((new K).video(c?h:null).audio(s?u:null).build()).then(function(){var e=n(T.mark((function e(n){return T.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n.forEach((function(e){var n;switch(e.type){case exports.HMSTrackType.AUDIO:t.localPeer.audioTrack=e;break;case exports.HMSTrackType.VIDEO:t.localPeer.videoTrack=e}null==(n=t.listener)||n.onTrackUpdate(exports.HMSTrackUpdate.TRACK_ADDED,e,t.localPeer)})),e.next=3,t.transport.publish(n);case 3:t.published=!0;case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()))},r.createRoom=function(){var e=this.getPeers();return this.hmsRoom=new me(this.localPeer.peerId,"",e),this.hmsRoom},t}(); | ||
//# sourceMappingURL=100ms-web-sdk.cjs.production.min.js.map |
@@ -20,3 +20,7 @@ import HMSException from '../error/HMSException'; | ||
AUDIO_TOGGLED = 2, | ||
VIDEO_TOGGLED = 3 | ||
VIDEO_TOGGLED = 3, | ||
BECAME_DOMINANT_SPEAKER = 4, | ||
RESIGNED_DOMINANT_SPEAKER = 5, | ||
STARTED_SPEAKING = 6, | ||
STOPPED_SPEAKING = 7 | ||
} | ||
@@ -23,0 +27,0 @@ export declare enum HMSTrackUpdate { |
@@ -5,3 +5,3 @@ import HMSTrack from '../../media/tracks/HMSTrack'; | ||
import Message from './HMSMessage'; | ||
export declare type HMSNotifications = Peer | PeerList | Message | TrackStateNotification | undefined; | ||
export declare type HMSNotifications = Peer | PeerList | Message | TrackStateNotification | Speaker[] | undefined; | ||
export interface TrackStateNotification { | ||
@@ -40,2 +40,6 @@ tracks: Map<string, TrackState>; | ||
} | ||
export interface Speaker { | ||
peer_id: string; | ||
level: number; | ||
} | ||
export declare const getNotification: (method: HMSNotificationMethod, params: any) => any; |
import HMSTrack from '../media/tracks/HMSTrack'; | ||
import { HMSNotificationMethod } from './models/enums/HMSNotificationMethod'; | ||
import { HMSNotifications, TrackStateNotification } from './models/HMSNotifications'; | ||
import { HMSNotifications, TrackStateNotification, Speaker } from './models/HMSNotifications'; | ||
import HMSPeer from '../interfaces/hms-peer'; | ||
@@ -8,2 +8,3 @@ import HMSUpdateListener from '../interfaces/update-listener'; | ||
hmsPeerList: Map<string, HMSPeer>; | ||
localPeer: HMSPeer | null; | ||
private TAG; | ||
@@ -13,2 +14,3 @@ private tracksToProcess; | ||
private listener; | ||
private audioLevelListener; | ||
handleNotification(method: HMSNotificationMethod, notification: HMSNotifications, listener: HMSUpdateListener): void; | ||
@@ -32,3 +34,7 @@ handleRoleChange(params: TrackStateNotification): void; | ||
private handlePeerList; | ||
/** | ||
* @param speakersList List of speakers[peer_id, level] sorted by level in descending order. | ||
*/ | ||
handleActiveSpeakers(speakers: Speaker[]): void; | ||
private getPeerTrackByTrackId; | ||
} |
{ | ||
"version": "0.0.12-7", | ||
"version": "0.0.12-8", | ||
"license": "UNLICENSED", | ||
@@ -4,0 +4,0 @@ "main": "dist/index.js", |
@@ -23,2 +23,6 @@ import HMSException from '../error/HMSException'; | ||
VIDEO_TOGGLED, | ||
BECAME_DOMINANT_SPEAKER, | ||
RESIGNED_DOMINANT_SPEAKER, | ||
STARTED_SPEAKING, | ||
STOPPED_SPEAKING, | ||
} | ||
@@ -25,0 +29,0 @@ |
@@ -77,2 +77,3 @@ import HMSConfig from '../interfaces/config'; | ||
this.localPeer = new Peer({ peerId, name: config.userName, isLocal: true, customerDescription: config.metaData }); | ||
this.notificationManager.localPeer = this.localPeer; | ||
@@ -213,2 +214,3 @@ HMSLogger.d(this.TAG, `⏳ Joining room ${roomId}`); | ||
this.listener?.onMessageReceived(message); | ||
break; | ||
} | ||
@@ -215,0 +217,0 @@ } |
@@ -7,3 +7,3 @@ import HMSTrack from '../../media/tracks/HMSTrack'; | ||
export type HMSNotifications = Peer | PeerList | Message | TrackStateNotification | undefined; | ||
export type HMSNotifications = Peer | PeerList | Message | TrackStateNotification | Speaker[] | undefined; | ||
@@ -70,2 +70,7 @@ export interface TrackStateNotification { | ||
export interface Speaker { | ||
peer_id: string; | ||
level: number; | ||
} | ||
export const getNotification = (method: HMSNotificationMethod, params: any) => { | ||
@@ -82,3 +87,3 @@ switch (method) { | ||
case HMSNotificationMethod.ACTIVE_SPEAKERS: | ||
return; | ||
return (params.hasOwnProperty('speaker-list') ? params['speaker-list'] : []) as Speaker[]; | ||
case HMSNotificationMethod.ROLE_CHANGE: | ||
@@ -85,0 +90,0 @@ return params as TrackStateNotification; |
@@ -11,6 +11,8 @@ import HMSTrack from '../media/tracks/HMSTrack'; | ||
TrackState, | ||
Speaker, | ||
} from './models/HMSNotifications'; | ||
import HMSLogger from '../utils/logger'; | ||
import HMSPeer from '../interfaces/hms-peer'; | ||
import HMSUpdateListener, { HMSTrackUpdate } from '../interfaces/update-listener'; | ||
import HMSUpdateListener, { HMSPeerUpdate, HMSTrackUpdate } from '../interfaces/update-listener'; | ||
import { HMSAudioLevelListener } from './HMSAudioLevelListener'; | ||
@@ -24,2 +26,3 @@ interface TrackStateEntry { | ||
hmsPeerList: Map<string, HMSPeer> = new Map(); | ||
localPeer!: HMSPeer | null; | ||
@@ -30,2 +33,3 @@ private TAG: string = '[Notification Manager]:'; | ||
private listener!: HMSUpdateListener; | ||
private audioLevelListener = new HMSAudioLevelListener(); | ||
@@ -66,3 +70,4 @@ handleNotification(method: HMSNotificationMethod, notification: HMSNotifications, listener: HMSUpdateListener) { | ||
case HMSNotificationMethod.ACTIVE_SPEAKERS: | ||
return; | ||
this.handleActiveSpeakers(notification as Speaker[]); | ||
break; | ||
default: | ||
@@ -183,2 +188,7 @@ return; | ||
if (trackEntry.mute) { | ||
// If dominant speaker is muted, resign dominant speaker. | ||
if (hmsPeer.peerId === this.audioLevelListener.dominantSpeaker?.peerId) { | ||
HMSLogger.d(this.TAG, 'DOMINANT_SPEAKER_MUTE', hmsPeer); | ||
this.listener.onPeerUpdate(HMSPeerUpdate.RESIGNED_DOMINANT_SPEAKER, hmsPeer); | ||
} | ||
this.listener.onTrackUpdate(HMSTrackUpdate.TRACK_MUTED, track, hmsPeer); | ||
@@ -199,2 +209,6 @@ } else { | ||
findPeerByPeerId = (peerId: string) => { | ||
if (this.localPeer?.peerId === peerId) { | ||
return this.localPeer; | ||
} | ||
return this.hmsPeerList.get(peerId); | ||
@@ -233,2 +247,12 @@ }; | ||
/** | ||
* @param speakersList List of speakers[peer_id, level] sorted by level in descending order. | ||
*/ | ||
handleActiveSpeakers(speakers: Speaker[]) { | ||
HMSLogger.d(this.TAG, `ACTIVESPEAKERS`, speakers); | ||
const dominantSpeaker = speakers[0]; | ||
const dominantSpeakerPeer = this.findPeerByPeerId(dominantSpeaker.peer_id); | ||
this.audioLevelListener.updateDominantSpeaker(dominantSpeaker, dominantSpeakerPeer!, this.listener); | ||
} | ||
private getPeerTrackByTrackId(peerId: string, trackId: string) { | ||
@@ -235,0 +259,0 @@ const peer = this.findPeerByPeerId(peerId); |
@@ -95,4 +95,3 @@ import ITransportObserver from './ITransportObserver'; | ||
onApiChannelMessage: (message: string) => { | ||
const data = { method: 'active-speakers', params: JSON.parse(message) }; | ||
this.observer.onNotification(data); | ||
this.observer.onNotification(JSON.parse(message)); | ||
}, | ||
@@ -99,0 +98,0 @@ |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
981040
135
10878