@vonage/media-processor 1.2.6 → 1.2.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -6,4 +6,5 @@ JS client library providing an easy way of processing media streams.
6
6
 
7
7
  ## Reference documentation
8
8
 
9
- Check out https://vonage.github.io/media-processor.
9
+ Docs: Check out https://vonage.github.io/media-processor-docs
10
+ Examples: Check out https://github.com/Vonage/vonage-media-transformers-samples
@@ -11,5 +11,6 @@
11
11
  <a href="#reference-documentation" id="reference-documentation" style="color: inherit; text-decoration: none;">
12
12
  <h2>Reference documentation</h2>
13
13
  </a>
14
- <p>Check out <a href="https://vonage.github.io/media-processor">https://vonage.github.io/media-processor</a>.</p>
14
+ <p>Docs: Check out <a href="https://vonage.github.io/media-processor-docs">https://vonage.github.io/media-processor-docs</a>
15
+ Examples: Check out <a href="https://github.com/Vonage/vonage-media-transformers-samples">https://github.com/Vonage/vonage-media-transformers-samples</a></p>
15
16
  </div></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class="current"><a href="modules.html">Exports</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="tsd-kind-class"><a href="classes/MediaProcessor.html" class="tsd-kind-icon">Media<wbr/>Processor</a></li><li class="tsd-kind-class"><a href="classes/MediaProcessorConnector.html" class="tsd-kind-icon">Media<wbr/>Processor<wbr/>Connector</a></li><li class="tsd-kind-interface"><a href="interfaces/MediaProcessorConnectorInterface.html" class="tsd-kind-icon">Media<wbr/>Processor<wbr/>Connector<wbr/>Interface</a></li><li class="tsd-kind-interface"><a href="interfaces/MediaProcessorInterface.html" class="tsd-kind-icon">Media<wbr/>Processor<wbr/>Interface</a></li><li class="tsd-kind-type-alias"><a href="modules.html#ErrorData" class="tsd-kind-icon">Error<wbr/>Data</a></li><li class="tsd-kind-type-alias"><a href="modules.html#ErrorFunction" class="tsd-kind-icon">Error<wbr/>Function</a></li><li class="tsd-kind-type-alias"><a href="modules.html#EventDataMap" class="tsd-kind-icon">Event<wbr/>Data<wbr/>Map</a></li><li class="tsd-kind-type-alias"><a href="modules.html#EventMetaData" class="tsd-kind-icon">Event<wbr/>Meta<wbr/>Data</a></li><li class="tsd-kind-type-alias"><a href="modules.html#PipelineInfoData" class="tsd-kind-icon">Pipeline<wbr/>Info<wbr/>Data</a></li><li class="tsd-kind-type-alias"><a href="modules.html#VonageMetadata" class="tsd-kind-icon">Vonage<wbr/>Metadata</a></li><li class="tsd-kind-type-alias"><a href="modules.html#VonageSourceType" class="tsd-kind-icon">Vonage<wbr/>Source<wbr/>Type</a></li><li class="tsd-kind-type-alias"><a href="modules.html#WarnData" class="tsd-kind-icon">Warn<wbr/>Data</a></li><li class="tsd-kind-function"><a href="modules.html#getVonageMetadata" class="tsd-kind-icon">get<wbr/>Vonage<wbr/>Metadata</a></li><li class="tsd-kind-function"><a href="modules.html#isSupported" class="tsd-kind-icon">is<wbr/>Supported</a></li><li class="tsd-kind-function"><a href="modules.html#setVonageMetadata" class="tsd-kind-icon">set<wbr/>Vonage<wbr/>Metadata</a></li></ul></nav></div></div></div><footer class="with-border-bottom"><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li><li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-method tsd-parent-kind-interface"><span class="tsd-kind-icon">Method</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="container tsd-generator"><p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></div><div class="overlay"></div><script src="assets/main.js"></script></body></html>
@@ -1211,7 +1211,7 @@ class EmptyOptional extends Optional {
1211
1211
  return null;
1212
1212
  }
1213
1213
  }
1214
- const version = "1.2.6";
1214
+ const version = "1.2.7";
1215
1215
  function setVonageMetadata(metadata) {
1216
1216
  globalThis._vonageMediaProcessorMetadata = metadata;
1217
1217
  }
@@ -1,3 +1,3 @@
1
1
  (function(w,I){typeof exports=="object"&&typeof module!="undefined"?I(exports):typeof define=="function"&&define.amd?define(["exports"],I):(w=typeof globalThis!="undefined"?globalThis:w||self,I(w["media-processor"]={}))})(this,function(w){"use strict";function I(){return new Promise((t,e)=>{typeof MediaStreamTrackProcessor=="undefined"||typeof MediaStreamTrackGenerator=="undefined"?e("Your browser does not support the MediaStreamTrack API for Insertable Streams of Media."):t()})}class S{}S.updates={transformer_new:"New transformer",transformer_null:"Null transformer"},S.errors={transformer_none:"No transformers provided",transformer_start:"Cannot start transformer",transformer_transform:"Cannot transform frame",transformer_flush:"Cannot flush transformer",readable_null:"Readable is null",writable_null:"Writable is null"};var Z={exports:{}},be=function(e,r){return function(){for(var s=new Array(arguments.length),i=0;i<s.length;i++)s[i]=arguments[i];return e.apply(r,s)}},Ke=be,P=Object.prototype.toString;function ee(t){return Array.isArray(t)}function re(t){return typeof t=="undefined"}function Ye(t){return t!==null&&!re(t)&&t.constructor!==null&&!re(t.constructor)&&typeof t.constructor.isBuffer=="function"&&t.constructor.isBuffer(t)}function _e(t){return P.call(t)==="[object ArrayBuffer]"}function Ze(t){return P.call(t)==="[object FormData]"}function er(t){var e;return typeof ArrayBuffer!="undefined"&&ArrayBuffer.isView?e=ArrayBuffer.isView(t):e=t&&t.buffer&&_e(t.buffer),e}function rr(t){return typeof t=="string"}function tr(t){return typeof t=="number"}function we(t){return t!==null&&typeof t=="object"}function j(t){if(P.call(t)!=="[object Object]")return!1;var e=Object.getPrototypeOf(t);return e===null||e===Object.prototype}function nr(t){return P.call(t)==="[object Date]"}function sr(t){return P.call(t)==="[object File]"}function ir(t){return P.call(t)==="[object Blob]"}function ve(t){return P.call(t)==="[object Function]"}function or(t){return we(t)&&ve(t.pipe)}function ar(t){return P.call(t)==="[object URLSearchParams]"}function ur(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}function lr(){return typeof navigator!="undefined"&&(navigator.product==="ReactNative"||navigator.product==="NativeScript"||navigator.product==="NS")?!1:typeof window!="undefined"&&typeof document!="undefined"}function te(t,e){if(!(t===null||typeof t=="undefined"))if(typeof t!="object"&&(t=[t]),ee(t))for(var r=0,n=t.length;r<n;r++)e.call(null,t[r],r,t);else for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&e.call(null,t[s],s,t)}function ne(){var t={};function e(s,i){j(t[i])&&j(s)?t[i]=ne(t[i],s):j(s)?t[i]=ne({},s):ee(s)?t[i]=s.slice():t[i]=s}for(var r=0,n=arguments.length;r<n;r++)te(arguments[r],e);return t}function fr(t,e,r){return te(e,function(s,i){r&&typeof s=="function"?t[i]=Ke(s,r):t[i]=s}),t}function cr(t){return t.charCodeAt(0)===65279&&(t=t.slice(1)),t}var p={isArray:ee,isArrayBuffer:_e,isBuffer:Ye,isFormData:Ze,isArrayBufferView:er,isString:rr,isNumber:tr,isObject:we,isPlainObject:j,isUndefined:re,isDate:nr,isFile:sr,isBlob:ir,isFunction:ve,isStream:or,isURLSearchParams:ar,isStandardBrowserEnv:lr,forEach:te,merge:ne,extend:fr,trim:ur,stripBOM:cr},A=p;function Ee(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}var Te=function(e,r,n){if(!r)return e;var s;if(n)s=n(r);else if(A.isURLSearchParams(r))s=r.toString();else{var i=[];A.forEach(r,function(f,m){f===null||typeof f=="undefined"||(A.isArray(f)?m=m+"[]":f=[f],A.forEach(f,function(c){A.isDate(c)?c=c.toISOString():A.isObject(c)&&(c=JSON.stringify(c)),i.push(Ee(m)+"="+Ee(c))}))}),s=i.join("&")}if(s){var o=e.indexOf("#");o!==-1&&(e=e.slice(0,o)),e+=(e.indexOf("?")===-1?"?":"&")+s}return e},dr=p;function F(){this.handlers=[]}F.prototype.use=function(e,r,n){return this.handlers.push({fulfilled:e,rejected:r,synchronous:n?n.synchronous:!1,runWhen:n?n.runWhen:null}),this.handlers.length-1},F.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},F.prototype.forEach=function(e){dr.forEach(this.handlers,function(n){n!==null&&e(n)})};var hr=F,pr=p,mr=function(e,r){pr.forEach(e,function(s,i){i!==r&&i.toUpperCase()===r.toUpperCase()&&(e[r]=s,delete e[i])})},Se=function(e,r,n,s,i){return e.config=r,n&&(e.code=n),e.request=s,e.response=i,e.isAxiosError=!0,e.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code,status:this.response&&this.response.status?this.response.status:null}},e},yr=Se,Pe=function(e,r,n,s,i){var o=new Error(e);return yr(o,r,n,s,i)},gr=Pe,br=function(e,r,n){var s=n.config.validateStatus;!n.status||!s||s(n.status)?e(n):r(gr("Request failed with status code "+n.status,n.config,null,n.request,n))},q=p,_r=q.isStandardBrowserEnv()?function(){return{write:function(r,n,s,i,o,a){var f=[];f.push(r+"="+encodeURIComponent(n)),q.isNumber(s)&&f.push("expires="+new Date(s).toGMTString()),q.isString(i)&&f.push("path="+i),q.isString(o)&&f.push("domain="+o),a===!0&&f.push("secure"),document.cookie=f.join("; ")},read:function(r){var n=document.cookie.match(new RegExp("(^|;\\s*)("+r+")=([^;]*)"));return n?decodeURIComponent(n[3]):null},remove:function(r){this.write(r,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}(),wr=function(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)},vr=function(e,r){return r?e.replace(/\/+$/,"")+"/"+r.replace(/^\/+/,""):e},Er=wr,Tr=vr,Sr=function(e,r){return e&&!Er(r)?Tr(e,r):r},se=p,Pr=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"],Rr=function(e){var r={},n,s,i;return e&&se.forEach(e.split(`
2
- `),function(a){if(i=a.indexOf(":"),n=se.trim(a.substr(0,i)).toLowerCase(),s=se.trim(a.substr(i+1)),n){if(r[n]&&Pr.indexOf(n)>=0)return;n==="set-cookie"?r[n]=(r[n]?r[n]:[]).concat([s]):r[n]=r[n]?r[n]+", "+s:s}}),r},Re=p,xr=Re.isStandardBrowserEnv()?function(){var e=/(msie|trident)/i.test(navigator.userAgent),r=document.createElement("a"),n;function s(i){var o=i;return e&&(r.setAttribute("href",o),o=r.href),r.setAttribute("href",o),{href:r.href,protocol:r.protocol?r.protocol.replace(/:$/,""):"",host:r.host,search:r.search?r.search.replace(/^\?/,""):"",hash:r.hash?r.hash.replace(/^#/,""):"",hostname:r.hostname,port:r.port,pathname:r.pathname.charAt(0)==="/"?r.pathname:"/"+r.pathname}}return n=s(window.location.href),function(o){var a=Re.isString(o)?s(o):o;return a.protocol===n.protocol&&a.host===n.host}}():function(){return function(){return!0}}();function ie(t){this.message=t}ie.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},ie.prototype.__CANCEL__=!0;var B=ie,H=p,Or=br,Ar=_r,Mr=Te,Cr=Sr,$r=Rr,kr=xr,oe=Pe,Ur=J,Ir=B,xe=function(e){return new Promise(function(n,s){var i=e.data,o=e.headers,a=e.responseType,f;function m(){e.cancelToken&&e.cancelToken.unsubscribe(f),e.signal&&e.signal.removeEventListener("abort",f)}H.isFormData(i)&&delete o["Content-Type"];var u=new XMLHttpRequest;if(e.auth){var c=e.auth.username||"",T=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";o.Authorization="Basic "+btoa(c+":"+T)}var y=Cr(e.baseURL,e.url);u.open(e.method.toUpperCase(),Mr(y,e.params,e.paramsSerializer),!0),u.timeout=e.timeout;function Qe(){if(!!u){var v="getAllResponseHeaders"in u?$r(u.getAllResponseHeaders()):null,U=!a||a==="text"||a==="json"?u.responseText:u.response,O={data:U,status:u.status,statusText:u.statusText,headers:v,config:e,request:u};Or(function(ge){n(ge),m()},function(ge){s(ge),m()},O),u=null}}if("onloadend"in u?u.onloadend=Qe:u.onreadystatechange=function(){!u||u.readyState!==4||u.status===0&&!(u.responseURL&&u.responseURL.indexOf("file:")===0)||setTimeout(Qe)},u.onabort=function(){!u||(s(oe("Request aborted",e,"ECONNABORTED",u)),u=null)},u.onerror=function(){s(oe("Network Error",e,null,u)),u=null},u.ontimeout=function(){var U=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded",O=e.transitional||Ur.transitional;e.timeoutErrorMessage&&(U=e.timeoutErrorMessage),s(oe(U,e,O.clarifyTimeoutError?"ETIMEDOUT":"ECONNABORTED",u)),u=null},H.isStandardBrowserEnv()){var Xe=(e.withCredentials||kr(y))&&e.xsrfCookieName?Ar.read(e.xsrfCookieName):void 0;Xe&&(o[e.xsrfHeaderName]=Xe)}"setRequestHeader"in u&&H.forEach(o,function(U,O){typeof i=="undefined"&&O.toLowerCase()==="content-type"?delete o[O]:u.setRequestHeader(O,U)}),H.isUndefined(e.withCredentials)||(u.withCredentials=!!e.withCredentials),a&&a!=="json"&&(u.responseType=e.responseType),typeof e.onDownloadProgress=="function"&&u.addEventListener("progress",e.onDownloadProgress),typeof e.onUploadProgress=="function"&&u.upload&&u.upload.addEventListener("progress",e.onUploadProgress),(e.cancelToken||e.signal)&&(f=function(v){!u||(s(!v||v&&v.type?new Ir("canceled"):v),u.abort(),u=null)},e.cancelToken&&e.cancelToken.subscribe(f),e.signal&&(e.signal.aborted?f():e.signal.addEventListener("abort",f))),i||(i=null),u.send(i)})},d=p,Oe=mr,Dr=Se,Lr={"Content-Type":"application/x-www-form-urlencoded"};function Ae(t,e){!d.isUndefined(t)&&d.isUndefined(t["Content-Type"])&&(t["Content-Type"]=e)}function Nr(){var t;return(typeof XMLHttpRequest!="undefined"||typeof process!="undefined"&&Object.prototype.toString.call(process)==="[object process]")&&(t=xe),t}function jr(t,e,r){if(d.isString(t))try{return(e||JSON.parse)(t),d.trim(t)}catch(n){if(n.name!=="SyntaxError")throw n}return(r||JSON.stringify)(t)}var W={transitional:{silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},adapter:Nr(),transformRequest:[function(e,r){return Oe(r,"Accept"),Oe(r,"Content-Type"),d.isFormData(e)||d.isArrayBuffer(e)||d.isBuffer(e)||d.isStream(e)||d.isFile(e)||d.isBlob(e)?e:d.isArrayBufferView(e)?e.buffer:d.isURLSearchParams(e)?(Ae(r,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):d.isObject(e)||r&&r["Content-Type"]==="application/json"?(Ae(r,"application/json"),jr(e)):e}],transformResponse:[function(e){var r=this.transitional||W.transitional,n=r&&r.silentJSONParsing,s=r&&r.forcedJSONParsing,i=!n&&this.responseType==="json";if(i||s&&d.isString(e)&&e.length)try{return JSON.parse(e)}catch(o){if(i)throw o.name==="SyntaxError"?Dr(o,this,"E_JSON_PARSE"):o}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};d.forEach(["delete","get","head"],function(e){W.headers[e]={}}),d.forEach(["post","put","patch"],function(e){W.headers[e]=d.merge(Lr)});var J=W,Fr=p,qr=J,Br=function(e,r,n){var s=this||qr;return Fr.forEach(n,function(o){e=o.call(s,e,r)}),e},Me=function(e){return!!(e&&e.__CANCEL__)},Ce=p,ae=Br,Hr=Me,Wr=J,Jr=B;function ue(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new Jr("canceled")}var Vr=function(e){ue(e),e.headers=e.headers||{},e.data=ae.call(e,e.data,e.headers,e.transformRequest),e.headers=Ce.merge(e.headers.common||{},e.headers[e.method]||{},e.headers),Ce.forEach(["delete","get","head","post","put","patch","common"],function(s){delete e.headers[s]});var r=e.adapter||Wr.adapter;return r(e).then(function(s){return ue(e),s.data=ae.call(e,s.data,s.headers,e.transformResponse),s},function(s){return Hr(s)||(ue(e),s&&s.response&&(s.response.data=ae.call(e,s.response.data,s.response.headers,e.transformResponse))),Promise.reject(s)})},g=p,$e=function(e,r){r=r||{};var n={};function s(u,c){return g.isPlainObject(u)&&g.isPlainObject(c)?g.merge(u,c):g.isPlainObject(c)?g.merge({},c):g.isArray(c)?c.slice():c}function i(u){if(g.isUndefined(r[u])){if(!g.isUndefined(e[u]))return s(void 0,e[u])}else return s(e[u],r[u])}function o(u){if(!g.isUndefined(r[u]))return s(void 0,r[u])}function a(u){if(g.isUndefined(r[u])){if(!g.isUndefined(e[u]))return s(void 0,e[u])}else return s(void 0,r[u])}function f(u){if(u in r)return s(e[u],r[u]);if(u in e)return s(void 0,e[u])}var m={url:o,method:o,data:o,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:f};return g.forEach(Object.keys(e).concat(Object.keys(r)),function(c){var T=m[c]||i,y=T(c);g.isUndefined(y)&&T!==f||(n[c]=y)}),n},ke={version:"0.25.0"},zr=ke.version,le={};["object","boolean","number","function","string","symbol"].forEach(function(t,e){le[t]=function(n){return typeof n===t||"a"+(e<1?"n ":" ")+t}});var Ue={};le.transitional=function(e,r,n){function s(i,o){return"[Axios v"+zr+"] Transitional option '"+i+"'"+o+(n?". "+n:"")}return function(i,o,a){if(e===!1)throw new Error(s(o," has been removed"+(r?" in "+r:"")));return r&&!Ue[o]&&(Ue[o]=!0,console.warn(s(o," has been deprecated since v"+r+" and will be removed in the near future"))),e?e(i,o,a):!0}};function Gr(t,e,r){if(typeof t!="object")throw new TypeError("options must be an object");for(var n=Object.keys(t),s=n.length;s-- >0;){var i=n[s],o=e[i];if(o){var a=t[i],f=a===void 0||o(a,i,t);if(f!==!0)throw new TypeError("option "+i+" must be "+f);continue}if(r!==!0)throw Error("Unknown option "+i)}}var Qr={assertOptions:Gr,validators:le},Ie=p,Xr=Te,De=hr,Le=Vr,V=$e,Ne=Qr,M=Ne.validators;function D(t){this.defaults=t,this.interceptors={request:new De,response:new De}}D.prototype.request=function(e,r){if(typeof e=="string"?(r=r||{},r.url=e):r=e||{},!r.url)throw new Error("Provided config url is not valid");r=V(this.defaults,r),r.method?r.method=r.method.toLowerCase():this.defaults.method?r.method=this.defaults.method.toLowerCase():r.method="get";var n=r.transitional;n!==void 0&&Ne.assertOptions(n,{silentJSONParsing:M.transitional(M.boolean),forcedJSONParsing:M.transitional(M.boolean),clarifyTimeoutError:M.transitional(M.boolean)},!1);var s=[],i=!0;this.interceptors.request.forEach(function(y){typeof y.runWhen=="function"&&y.runWhen(r)===!1||(i=i&&y.synchronous,s.unshift(y.fulfilled,y.rejected))});var o=[];this.interceptors.response.forEach(function(y){o.push(y.fulfilled,y.rejected)});var a;if(!i){var f=[Le,void 0];for(Array.prototype.unshift.apply(f,s),f=f.concat(o),a=Promise.resolve(r);f.length;)a=a.then(f.shift(),f.shift());return a}for(var m=r;s.length;){var u=s.shift(),c=s.shift();try{m=u(m)}catch(T){c(T);break}}try{a=Le(m)}catch(T){return Promise.reject(T)}for(;o.length;)a=a.then(o.shift(),o.shift());return a},D.prototype.getUri=function(e){if(!e.url)throw new Error("Provided config url is not valid");return e=V(this.defaults,e),Xr(e.url,e.params,e.paramsSerializer).replace(/^\?/,"")},Ie.forEach(["delete","get","head","options"],function(e){D.prototype[e]=function(r,n){return this.request(V(n||{},{method:e,url:r,data:(n||{}).data}))}}),Ie.forEach(["post","put","patch"],function(e){D.prototype[e]=function(r,n,s){return this.request(V(s||{},{method:e,url:r,data:n}))}});var Kr=D,Yr=B;function C(t){if(typeof t!="function")throw new TypeError("executor must be a function.");var e;this.promise=new Promise(function(s){e=s});var r=this;this.promise.then(function(n){if(!!r._listeners){var s,i=r._listeners.length;for(s=0;s<i;s++)r._listeners[s](n);r._listeners=null}}),this.promise.then=function(n){var s,i=new Promise(function(o){r.subscribe(o),s=o}).then(n);return i.cancel=function(){r.unsubscribe(s)},i},t(function(s){r.reason||(r.reason=new Yr(s),e(r.reason))})}C.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},C.prototype.subscribe=function(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]},C.prototype.unsubscribe=function(e){if(!!this._listeners){var r=this._listeners.indexOf(e);r!==-1&&this._listeners.splice(r,1)}},C.source=function(){var e,r=new C(function(s){e=s});return{token:r,cancel:e}};var Zr=C,et=function(e){return function(n){return e.apply(null,n)}},rt=p,tt=function(e){return rt.isObject(e)&&e.isAxiosError===!0},je=p,nt=be,z=Kr,st=$e,it=J;function Fe(t){var e=new z(t),r=nt(z.prototype.request,e);return je.extend(r,z.prototype,e),je.extend(r,e),r.create=function(s){return Fe(st(t,s))},r}var E=Fe(it);E.Axios=z,E.Cancel=B,E.CancelToken=Zr,E.isCancel=Me,E.VERSION=ke.version,E.all=function(e){return Promise.all(e)},E.spread=et,E.isAxiosError=tt,Z.exports=E,Z.exports.default=E;var ot=Z.exports;class l{isEmpty(){return!this.isPresent()}static of(e){if(e!=null)return new qe(e);throw new TypeError("The passed value was null or undefined.")}static ofNonNull(e){return l.of(e)}static ofNullable(e){return e!=null?new qe(e):new Be}static empty(){return new Be}static from(e){switch(e.kind){case"present":return l.of(e.value);case"empty":return l.empty();default:throw new TypeError("The passed value was not an Option type.")}}}class qe extends l{constructor(e){super();this.payload=e}isPresent(){return!0}get(){return this.payload}ifPresent(e){e(this.payload)}ifPresentOrElse(e,r){e(this.payload)}filter(e){return e(this.payload)?this:l.empty()}map(e){const r=e(this.payload);return l.ofNullable(r)}flatMap(e){return e(this.payload)}or(e){return this}orElse(e){return this.payload}orElseGet(e){return this.payload}orElseThrow(e){return this.payload}orNull(){return this.payload}orUndefined(){return this.payload}toOption(){return{kind:"present",value:this.payload}}matches(e){return e.present(this.payload)}toJSON(e){return this.payload}}class Be extends l{isPresent(){return!1}constructor(){super()}get(){throw new TypeError("The optional is not present.")}ifPresent(e){}ifPresentOrElse(e,r){r()}filter(e){return this}map(e){return l.empty()}flatMap(e){return l.empty()}or(e){return e()}orElse(e){return e}orElseGet(e){return this.orElse(e())}orElseThrow(e){throw e()}orNull(){return null}orUndefined(){}toOption(){return{kind:"empty"}}matches(e){return e.empty()}toJSON(e){return null}}const at="1.2.6";function ut(t){globalThis._vonageMediaProcessorMetadata=t}function He(){return globalThis._vonageMediaProcessorMetadata}class b{constructor(){const e=He();this._report={action:l.empty(),applicationId:l.ofNullable(e!==void 0&&e!=null?e.appId:null),timestamp:Date.now(),fps:l.empty(),framesTransformed:l.empty(),guid:l.empty(),highestFrameTransformCpu:l.empty(),message:l.empty(),source:l.ofNullable(e!==void 0&&e!=null?e.sourceType:null),transformedFps:l.empty(),transformerType:l.empty(),variation:l.empty(),videoHeight:l.empty(),videoWidth:l.empty(),version:at,error:l.empty(),proxyUrl:l.ofNullable(e!==void 0&&e!=null?e.proxyUrl:null)}}action(e){return this._report.action=l.ofNullable(e),this}framesTransformed(e){return this._report.framesTransformed=l.ofNullable(e),this}fps(e){return this._report.fps=l.ofNullable(e),this}guid(e){return this._report.guid=l.ofNullable(e),this}message(e){return this._report.message=l.ofNullable(e),this}transformedFps(e){return this._report.transformedFps=l.ofNullable(e),this}transformerType(e){return this._report.transformerType=l.ofNullable(e),this}variation(e){return this._report.variation=l.ofNullable(e),this}videoHeight(e){return this._report.videoHeight=l.ofNullable(e),this}videoWidth(e){return this._report.videoWidth=l.ofNullable(e),this}error(e){return this._report.error=l.ofNullable(e),this}build(){return this._report}}const lt=t=>JSON.stringify(t,(e,r)=>{if(r!==null)return r});class _{static report(e){return new Promise((r,n)=>{if(e.applicationId.isEmpty()||e.source.isEmpty()){r("success");return}let s=ot.create(),i={timeout:1e4,timeoutErrorMessage:"Request timeout",headers:{"Content-Type":"application/json"}},o="hlg.tokbox.com/prod/logging/vcp_webrtc";if(e.proxyUrl.isEmpty())o="https://"+o;else{let a;e.proxyUrl.get().slice(e.proxyUrl.get().length-1)!=="/"?a=e.proxyUrl.get()+"/":a=e.proxyUrl.get(),o=a+o}s.post(o,lt(e),i).then(a=>{console.log(a),r("success")}).catch(a=>{console.log(a),n(a)})})}}var G,ft=new Uint8Array(16);function ct(){if(!G&&(G=typeof crypto!="undefined"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||typeof msCrypto!="undefined"&&typeof msCrypto.getRandomValues=="function"&&msCrypto.getRandomValues.bind(msCrypto),!G))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return G(ft)}var dt=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function ht(t){return typeof t=="string"&&dt.test(t)}for(var h=[],fe=0;fe<256;++fe)h.push((fe+256).toString(16).substr(1));function pt(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=(h[t[e+0]]+h[t[e+1]]+h[t[e+2]]+h[t[e+3]]+"-"+h[t[e+4]]+h[t[e+5]]+"-"+h[t[e+6]]+h[t[e+7]]+"-"+h[t[e+8]]+h[t[e+9]]+"-"+h[t[e+10]]+h[t[e+11]]+h[t[e+12]]+h[t[e+13]]+h[t[e+14]]+h[t[e+15]]).toLowerCase();if(!ht(r))throw TypeError("Stringified UUID is invalid");return r}function We(t,e,r){t=t||{};var n=t.random||(t.rng||ct)();if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,e){r=r||0;for(var s=0;s<16;++s)e[r+s]=n[s];return e}return pt(n)}const R=new WeakMap,Q=new WeakMap,L=new WeakMap,ce=Symbol("anyProducer"),Je=Promise.resolve(),X=Symbol("listenerAdded"),K=Symbol("listenerRemoved");let de=!1;function $(t){if(typeof t!="string"&&typeof t!="symbol")throw new TypeError("eventName must be a string or a symbol")}function Y(t){if(typeof t!="function")throw new TypeError("listener must be a function")}function k(t,e){const r=Q.get(t);return r.has(e)||r.set(e,new Set),r.get(e)}function N(t,e){const r=typeof e=="string"||typeof e=="symbol"?e:ce,n=L.get(t);return n.has(r)||n.set(r,new Set),n.get(r)}function mt(t,e,r){const n=L.get(t);if(n.has(e))for(const s of n.get(e))s.enqueue(r);if(n.has(ce)){const s=Promise.all([e,r]);for(const i of n.get(ce))i.enqueue(s)}}function Ve(t,e){e=Array.isArray(e)?e:[e];let r=!1,n=()=>{},s=[];const i={enqueue(o){s.push(o),n()},finish(){r=!0,n()}};for(const o of e)N(t,o).add(i);return{async next(){return s?s.length===0?r?(s=void 0,this.next()):(await new Promise(o=>{n=o}),this.next()):{done:!1,value:await s.shift()}:{done:!0}},async return(o){s=void 0;for(const a of e)N(t,a).delete(i);return n(),arguments.length>0?{done:!0,value:await o}:{done:!0}},[Symbol.asyncIterator](){return this}}}function ze(t){if(t===void 0)return Ge;if(!Array.isArray(t))throw new TypeError("`methodNames` must be an array of strings");for(const e of t)if(!Ge.includes(e))throw typeof e!="string"?new TypeError("`methodNames` element must be a string"):new Error(`${e} is not Emittery method`);return t}const he=t=>t===X||t===K;class x{static mixin(e,r){return r=ze(r),n=>{if(typeof n!="function")throw new TypeError("`target` must be function");for(const o of r)if(n.prototype[o]!==void 0)throw new Error(`The property \`${o}\` already exists on \`target\``);function s(){return Object.defineProperty(this,e,{enumerable:!1,value:new x}),this[e]}Object.defineProperty(n.prototype,e,{enumerable:!1,get:s});const i=o=>function(...a){return this[e][o](...a)};for(const o of r)Object.defineProperty(n.prototype,o,{enumerable:!1,value:i(o)});return n}}static get isDebugEnabled(){if(typeof process!="object")return de;const{env:e}=process||{env:{}};return e.DEBUG==="emittery"||e.DEBUG==="*"||de}static set isDebugEnabled(e){de=e}constructor(e={}){R.set(this,new Set),Q.set(this,new Map),L.set(this,new Map),this.debug=e.debug||{},this.debug.enabled===void 0&&(this.debug.enabled=!1),this.debug.logger||(this.debug.logger=(r,n,s,i)=>{i=JSON.stringify(i),typeof s=="symbol"&&(s=s.toString());const o=new Date,a=`${o.getHours()}:${o.getMinutes()}:${o.getSeconds()}.${o.getMilliseconds()}`;console.log(`[${a}][emittery:${r}][${n}] Event Name: ${s}
2
+ `),function(a){if(i=a.indexOf(":"),n=se.trim(a.substr(0,i)).toLowerCase(),s=se.trim(a.substr(i+1)),n){if(r[n]&&Pr.indexOf(n)>=0)return;n==="set-cookie"?r[n]=(r[n]?r[n]:[]).concat([s]):r[n]=r[n]?r[n]+", "+s:s}}),r},Re=p,xr=Re.isStandardBrowserEnv()?function(){var e=/(msie|trident)/i.test(navigator.userAgent),r=document.createElement("a"),n;function s(i){var o=i;return e&&(r.setAttribute("href",o),o=r.href),r.setAttribute("href",o),{href:r.href,protocol:r.protocol?r.protocol.replace(/:$/,""):"",host:r.host,search:r.search?r.search.replace(/^\?/,""):"",hash:r.hash?r.hash.replace(/^#/,""):"",hostname:r.hostname,port:r.port,pathname:r.pathname.charAt(0)==="/"?r.pathname:"/"+r.pathname}}return n=s(window.location.href),function(o){var a=Re.isString(o)?s(o):o;return a.protocol===n.protocol&&a.host===n.host}}():function(){return function(){return!0}}();function ie(t){this.message=t}ie.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},ie.prototype.__CANCEL__=!0;var B=ie,H=p,Or=br,Ar=_r,Mr=Te,Cr=Sr,$r=Rr,kr=xr,oe=Pe,Ur=J,Ir=B,xe=function(e){return new Promise(function(n,s){var i=e.data,o=e.headers,a=e.responseType,f;function m(){e.cancelToken&&e.cancelToken.unsubscribe(f),e.signal&&e.signal.removeEventListener("abort",f)}H.isFormData(i)&&delete o["Content-Type"];var u=new XMLHttpRequest;if(e.auth){var c=e.auth.username||"",T=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";o.Authorization="Basic "+btoa(c+":"+T)}var y=Cr(e.baseURL,e.url);u.open(e.method.toUpperCase(),Mr(y,e.params,e.paramsSerializer),!0),u.timeout=e.timeout;function Qe(){if(!!u){var v="getAllResponseHeaders"in u?$r(u.getAllResponseHeaders()):null,U=!a||a==="text"||a==="json"?u.responseText:u.response,O={data:U,status:u.status,statusText:u.statusText,headers:v,config:e,request:u};Or(function(ge){n(ge),m()},function(ge){s(ge),m()},O),u=null}}if("onloadend"in u?u.onloadend=Qe:u.onreadystatechange=function(){!u||u.readyState!==4||u.status===0&&!(u.responseURL&&u.responseURL.indexOf("file:")===0)||setTimeout(Qe)},u.onabort=function(){!u||(s(oe("Request aborted",e,"ECONNABORTED",u)),u=null)},u.onerror=function(){s(oe("Network Error",e,null,u)),u=null},u.ontimeout=function(){var U=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded",O=e.transitional||Ur.transitional;e.timeoutErrorMessage&&(U=e.timeoutErrorMessage),s(oe(U,e,O.clarifyTimeoutError?"ETIMEDOUT":"ECONNABORTED",u)),u=null},H.isStandardBrowserEnv()){var Xe=(e.withCredentials||kr(y))&&e.xsrfCookieName?Ar.read(e.xsrfCookieName):void 0;Xe&&(o[e.xsrfHeaderName]=Xe)}"setRequestHeader"in u&&H.forEach(o,function(U,O){typeof i=="undefined"&&O.toLowerCase()==="content-type"?delete o[O]:u.setRequestHeader(O,U)}),H.isUndefined(e.withCredentials)||(u.withCredentials=!!e.withCredentials),a&&a!=="json"&&(u.responseType=e.responseType),typeof e.onDownloadProgress=="function"&&u.addEventListener("progress",e.onDownloadProgress),typeof e.onUploadProgress=="function"&&u.upload&&u.upload.addEventListener("progress",e.onUploadProgress),(e.cancelToken||e.signal)&&(f=function(v){!u||(s(!v||v&&v.type?new Ir("canceled"):v),u.abort(),u=null)},e.cancelToken&&e.cancelToken.subscribe(f),e.signal&&(e.signal.aborted?f():e.signal.addEventListener("abort",f))),i||(i=null),u.send(i)})},d=p,Oe=mr,Dr=Se,Lr={"Content-Type":"application/x-www-form-urlencoded"};function Ae(t,e){!d.isUndefined(t)&&d.isUndefined(t["Content-Type"])&&(t["Content-Type"]=e)}function Nr(){var t;return(typeof XMLHttpRequest!="undefined"||typeof process!="undefined"&&Object.prototype.toString.call(process)==="[object process]")&&(t=xe),t}function jr(t,e,r){if(d.isString(t))try{return(e||JSON.parse)(t),d.trim(t)}catch(n){if(n.name!=="SyntaxError")throw n}return(r||JSON.stringify)(t)}var W={transitional:{silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},adapter:Nr(),transformRequest:[function(e,r){return Oe(r,"Accept"),Oe(r,"Content-Type"),d.isFormData(e)||d.isArrayBuffer(e)||d.isBuffer(e)||d.isStream(e)||d.isFile(e)||d.isBlob(e)?e:d.isArrayBufferView(e)?e.buffer:d.isURLSearchParams(e)?(Ae(r,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):d.isObject(e)||r&&r["Content-Type"]==="application/json"?(Ae(r,"application/json"),jr(e)):e}],transformResponse:[function(e){var r=this.transitional||W.transitional,n=r&&r.silentJSONParsing,s=r&&r.forcedJSONParsing,i=!n&&this.responseType==="json";if(i||s&&d.isString(e)&&e.length)try{return JSON.parse(e)}catch(o){if(i)throw o.name==="SyntaxError"?Dr(o,this,"E_JSON_PARSE"):o}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};d.forEach(["delete","get","head"],function(e){W.headers[e]={}}),d.forEach(["post","put","patch"],function(e){W.headers[e]=d.merge(Lr)});var J=W,Fr=p,qr=J,Br=function(e,r,n){var s=this||qr;return Fr.forEach(n,function(o){e=o.call(s,e,r)}),e},Me=function(e){return!!(e&&e.__CANCEL__)},Ce=p,ae=Br,Hr=Me,Wr=J,Jr=B;function ue(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new Jr("canceled")}var Vr=function(e){ue(e),e.headers=e.headers||{},e.data=ae.call(e,e.data,e.headers,e.transformRequest),e.headers=Ce.merge(e.headers.common||{},e.headers[e.method]||{},e.headers),Ce.forEach(["delete","get","head","post","put","patch","common"],function(s){delete e.headers[s]});var r=e.adapter||Wr.adapter;return r(e).then(function(s){return ue(e),s.data=ae.call(e,s.data,s.headers,e.transformResponse),s},function(s){return Hr(s)||(ue(e),s&&s.response&&(s.response.data=ae.call(e,s.response.data,s.response.headers,e.transformResponse))),Promise.reject(s)})},g=p,$e=function(e,r){r=r||{};var n={};function s(u,c){return g.isPlainObject(u)&&g.isPlainObject(c)?g.merge(u,c):g.isPlainObject(c)?g.merge({},c):g.isArray(c)?c.slice():c}function i(u){if(g.isUndefined(r[u])){if(!g.isUndefined(e[u]))return s(void 0,e[u])}else return s(e[u],r[u])}function o(u){if(!g.isUndefined(r[u]))return s(void 0,r[u])}function a(u){if(g.isUndefined(r[u])){if(!g.isUndefined(e[u]))return s(void 0,e[u])}else return s(void 0,r[u])}function f(u){if(u in r)return s(e[u],r[u]);if(u in e)return s(void 0,e[u])}var m={url:o,method:o,data:o,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:f};return g.forEach(Object.keys(e).concat(Object.keys(r)),function(c){var T=m[c]||i,y=T(c);g.isUndefined(y)&&T!==f||(n[c]=y)}),n},ke={version:"0.25.0"},zr=ke.version,le={};["object","boolean","number","function","string","symbol"].forEach(function(t,e){le[t]=function(n){return typeof n===t||"a"+(e<1?"n ":" ")+t}});var Ue={};le.transitional=function(e,r,n){function s(i,o){return"[Axios v"+zr+"] Transitional option '"+i+"'"+o+(n?". "+n:"")}return function(i,o,a){if(e===!1)throw new Error(s(o," has been removed"+(r?" in "+r:"")));return r&&!Ue[o]&&(Ue[o]=!0,console.warn(s(o," has been deprecated since v"+r+" and will be removed in the near future"))),e?e(i,o,a):!0}};function Gr(t,e,r){if(typeof t!="object")throw new TypeError("options must be an object");for(var n=Object.keys(t),s=n.length;s-- >0;){var i=n[s],o=e[i];if(o){var a=t[i],f=a===void 0||o(a,i,t);if(f!==!0)throw new TypeError("option "+i+" must be "+f);continue}if(r!==!0)throw Error("Unknown option "+i)}}var Qr={assertOptions:Gr,validators:le},Ie=p,Xr=Te,De=hr,Le=Vr,V=$e,Ne=Qr,M=Ne.validators;function D(t){this.defaults=t,this.interceptors={request:new De,response:new De}}D.prototype.request=function(e,r){if(typeof e=="string"?(r=r||{},r.url=e):r=e||{},!r.url)throw new Error("Provided config url is not valid");r=V(this.defaults,r),r.method?r.method=r.method.toLowerCase():this.defaults.method?r.method=this.defaults.method.toLowerCase():r.method="get";var n=r.transitional;n!==void 0&&Ne.assertOptions(n,{silentJSONParsing:M.transitional(M.boolean),forcedJSONParsing:M.transitional(M.boolean),clarifyTimeoutError:M.transitional(M.boolean)},!1);var s=[],i=!0;this.interceptors.request.forEach(function(y){typeof y.runWhen=="function"&&y.runWhen(r)===!1||(i=i&&y.synchronous,s.unshift(y.fulfilled,y.rejected))});var o=[];this.interceptors.response.forEach(function(y){o.push(y.fulfilled,y.rejected)});var a;if(!i){var f=[Le,void 0];for(Array.prototype.unshift.apply(f,s),f=f.concat(o),a=Promise.resolve(r);f.length;)a=a.then(f.shift(),f.shift());return a}for(var m=r;s.length;){var u=s.shift(),c=s.shift();try{m=u(m)}catch(T){c(T);break}}try{a=Le(m)}catch(T){return Promise.reject(T)}for(;o.length;)a=a.then(o.shift(),o.shift());return a},D.prototype.getUri=function(e){if(!e.url)throw new Error("Provided config url is not valid");return e=V(this.defaults,e),Xr(e.url,e.params,e.paramsSerializer).replace(/^\?/,"")},Ie.forEach(["delete","get","head","options"],function(e){D.prototype[e]=function(r,n){return this.request(V(n||{},{method:e,url:r,data:(n||{}).data}))}}),Ie.forEach(["post","put","patch"],function(e){D.prototype[e]=function(r,n,s){return this.request(V(s||{},{method:e,url:r,data:n}))}});var Kr=D,Yr=B;function C(t){if(typeof t!="function")throw new TypeError("executor must be a function.");var e;this.promise=new Promise(function(s){e=s});var r=this;this.promise.then(function(n){if(!!r._listeners){var s,i=r._listeners.length;for(s=0;s<i;s++)r._listeners[s](n);r._listeners=null}}),this.promise.then=function(n){var s,i=new Promise(function(o){r.subscribe(o),s=o}).then(n);return i.cancel=function(){r.unsubscribe(s)},i},t(function(s){r.reason||(r.reason=new Yr(s),e(r.reason))})}C.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},C.prototype.subscribe=function(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]},C.prototype.unsubscribe=function(e){if(!!this._listeners){var r=this._listeners.indexOf(e);r!==-1&&this._listeners.splice(r,1)}},C.source=function(){var e,r=new C(function(s){e=s});return{token:r,cancel:e}};var Zr=C,et=function(e){return function(n){return e.apply(null,n)}},rt=p,tt=function(e){return rt.isObject(e)&&e.isAxiosError===!0},je=p,nt=be,z=Kr,st=$e,it=J;function Fe(t){var e=new z(t),r=nt(z.prototype.request,e);return je.extend(r,z.prototype,e),je.extend(r,e),r.create=function(s){return Fe(st(t,s))},r}var E=Fe(it);E.Axios=z,E.Cancel=B,E.CancelToken=Zr,E.isCancel=Me,E.VERSION=ke.version,E.all=function(e){return Promise.all(e)},E.spread=et,E.isAxiosError=tt,Z.exports=E,Z.exports.default=E;var ot=Z.exports;class l{isEmpty(){return!this.isPresent()}static of(e){if(e!=null)return new qe(e);throw new TypeError("The passed value was null or undefined.")}static ofNonNull(e){return l.of(e)}static ofNullable(e){return e!=null?new qe(e):new Be}static empty(){return new Be}static from(e){switch(e.kind){case"present":return l.of(e.value);case"empty":return l.empty();default:throw new TypeError("The passed value was not an Option type.")}}}class qe extends l{constructor(e){super();this.payload=e}isPresent(){return!0}get(){return this.payload}ifPresent(e){e(this.payload)}ifPresentOrElse(e,r){e(this.payload)}filter(e){return e(this.payload)?this:l.empty()}map(e){const r=e(this.payload);return l.ofNullable(r)}flatMap(e){return e(this.payload)}or(e){return this}orElse(e){return this.payload}orElseGet(e){return this.payload}orElseThrow(e){return this.payload}orNull(){return this.payload}orUndefined(){return this.payload}toOption(){return{kind:"present",value:this.payload}}matches(e){return e.present(this.payload)}toJSON(e){return this.payload}}class Be extends l{isPresent(){return!1}constructor(){super()}get(){throw new TypeError("The optional is not present.")}ifPresent(e){}ifPresentOrElse(e,r){r()}filter(e){return this}map(e){return l.empty()}flatMap(e){return l.empty()}or(e){return e()}orElse(e){return e}orElseGet(e){return this.orElse(e())}orElseThrow(e){throw e()}orNull(){return null}orUndefined(){}toOption(){return{kind:"empty"}}matches(e){return e.empty()}toJSON(e){return null}}const at="1.2.7";function ut(t){globalThis._vonageMediaProcessorMetadata=t}function He(){return globalThis._vonageMediaProcessorMetadata}class b{constructor(){const e=He();this._report={action:l.empty(),applicationId:l.ofNullable(e!==void 0&&e!=null?e.appId:null),timestamp:Date.now(),fps:l.empty(),framesTransformed:l.empty(),guid:l.empty(),highestFrameTransformCpu:l.empty(),message:l.empty(),source:l.ofNullable(e!==void 0&&e!=null?e.sourceType:null),transformedFps:l.empty(),transformerType:l.empty(),variation:l.empty(),videoHeight:l.empty(),videoWidth:l.empty(),version:at,error:l.empty(),proxyUrl:l.ofNullable(e!==void 0&&e!=null?e.proxyUrl:null)}}action(e){return this._report.action=l.ofNullable(e),this}framesTransformed(e){return this._report.framesTransformed=l.ofNullable(e),this}fps(e){return this._report.fps=l.ofNullable(e),this}guid(e){return this._report.guid=l.ofNullable(e),this}message(e){return this._report.message=l.ofNullable(e),this}transformedFps(e){return this._report.transformedFps=l.ofNullable(e),this}transformerType(e){return this._report.transformerType=l.ofNullable(e),this}variation(e){return this._report.variation=l.ofNullable(e),this}videoHeight(e){return this._report.videoHeight=l.ofNullable(e),this}videoWidth(e){return this._report.videoWidth=l.ofNullable(e),this}error(e){return this._report.error=l.ofNullable(e),this}build(){return this._report}}const lt=t=>JSON.stringify(t,(e,r)=>{if(r!==null)return r});class _{static report(e){return new Promise((r,n)=>{if(e.applicationId.isEmpty()||e.source.isEmpty()){r("success");return}let s=ot.create(),i={timeout:1e4,timeoutErrorMessage:"Request timeout",headers:{"Content-Type":"application/json"}},o="hlg.tokbox.com/prod/logging/vcp_webrtc";if(e.proxyUrl.isEmpty())o="https://"+o;else{let a;e.proxyUrl.get().slice(e.proxyUrl.get().length-1)!=="/"?a=e.proxyUrl.get()+"/":a=e.proxyUrl.get(),o=a+o}s.post(o,lt(e),i).then(a=>{console.log(a),r("success")}).catch(a=>{console.log(a),n(a)})})}}var G,ft=new Uint8Array(16);function ct(){if(!G&&(G=typeof crypto!="undefined"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||typeof msCrypto!="undefined"&&typeof msCrypto.getRandomValues=="function"&&msCrypto.getRandomValues.bind(msCrypto),!G))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return G(ft)}var dt=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function ht(t){return typeof t=="string"&&dt.test(t)}for(var h=[],fe=0;fe<256;++fe)h.push((fe+256).toString(16).substr(1));function pt(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=(h[t[e+0]]+h[t[e+1]]+h[t[e+2]]+h[t[e+3]]+"-"+h[t[e+4]]+h[t[e+5]]+"-"+h[t[e+6]]+h[t[e+7]]+"-"+h[t[e+8]]+h[t[e+9]]+"-"+h[t[e+10]]+h[t[e+11]]+h[t[e+12]]+h[t[e+13]]+h[t[e+14]]+h[t[e+15]]).toLowerCase();if(!ht(r))throw TypeError("Stringified UUID is invalid");return r}function We(t,e,r){t=t||{};var n=t.random||(t.rng||ct)();if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,e){r=r||0;for(var s=0;s<16;++s)e[r+s]=n[s];return e}return pt(n)}const R=new WeakMap,Q=new WeakMap,L=new WeakMap,ce=Symbol("anyProducer"),Je=Promise.resolve(),X=Symbol("listenerAdded"),K=Symbol("listenerRemoved");let de=!1;function $(t){if(typeof t!="string"&&typeof t!="symbol")throw new TypeError("eventName must be a string or a symbol")}function Y(t){if(typeof t!="function")throw new TypeError("listener must be a function")}function k(t,e){const r=Q.get(t);return r.has(e)||r.set(e,new Set),r.get(e)}function N(t,e){const r=typeof e=="string"||typeof e=="symbol"?e:ce,n=L.get(t);return n.has(r)||n.set(r,new Set),n.get(r)}function mt(t,e,r){const n=L.get(t);if(n.has(e))for(const s of n.get(e))s.enqueue(r);if(n.has(ce)){const s=Promise.all([e,r]);for(const i of n.get(ce))i.enqueue(s)}}function Ve(t,e){e=Array.isArray(e)?e:[e];let r=!1,n=()=>{},s=[];const i={enqueue(o){s.push(o),n()},finish(){r=!0,n()}};for(const o of e)N(t,o).add(i);return{async next(){return s?s.length===0?r?(s=void 0,this.next()):(await new Promise(o=>{n=o}),this.next()):{done:!1,value:await s.shift()}:{done:!0}},async return(o){s=void 0;for(const a of e)N(t,a).delete(i);return n(),arguments.length>0?{done:!0,value:await o}:{done:!0}},[Symbol.asyncIterator](){return this}}}function ze(t){if(t===void 0)return Ge;if(!Array.isArray(t))throw new TypeError("`methodNames` must be an array of strings");for(const e of t)if(!Ge.includes(e))throw typeof e!="string"?new TypeError("`methodNames` element must be a string"):new Error(`${e} is not Emittery method`);return t}const he=t=>t===X||t===K;class x{static mixin(e,r){return r=ze(r),n=>{if(typeof n!="function")throw new TypeError("`target` must be function");for(const o of r)if(n.prototype[o]!==void 0)throw new Error(`The property \`${o}\` already exists on \`target\``);function s(){return Object.defineProperty(this,e,{enumerable:!1,value:new x}),this[e]}Object.defineProperty(n.prototype,e,{enumerable:!1,get:s});const i=o=>function(...a){return this[e][o](...a)};for(const o of r)Object.defineProperty(n.prototype,o,{enumerable:!1,value:i(o)});return n}}static get isDebugEnabled(){if(typeof process!="object")return de;const{env:e}=process||{env:{}};return e.DEBUG==="emittery"||e.DEBUG==="*"||de}static set isDebugEnabled(e){de=e}constructor(e={}){R.set(this,new Set),Q.set(this,new Map),L.set(this,new Map),this.debug=e.debug||{},this.debug.enabled===void 0&&(this.debug.enabled=!1),this.debug.logger||(this.debug.logger=(r,n,s,i)=>{i=JSON.stringify(i),typeof s=="symbol"&&(s=s.toString());const o=new Date,a=`${o.getHours()}:${o.getMinutes()}:${o.getSeconds()}.${o.getMilliseconds()}`;console.log(`[${a}][emittery:${r}][${n}] Event Name: ${s}
3
3
  data: ${i}`)})}logIfDebugEnabled(e,r,n){(x.isDebugEnabled||this.debug.enabled)&&this.debug.logger(e,this.debug.name,r,n)}on(e,r){Y(r),e=Array.isArray(e)?e:[e];for(const n of e)$(n),k(this,n).add(r),this.logIfDebugEnabled("subscribe",n,void 0),he(n)||this.emit(X,{eventName:n,listener:r});return this.off.bind(this,e,r)}off(e,r){Y(r),e=Array.isArray(e)?e:[e];for(const n of e)$(n),k(this,n).delete(r),this.logIfDebugEnabled("unsubscribe",n,void 0),he(n)||this.emit(K,{eventName:n,listener:r})}once(e){return new Promise(r=>{const n=this.on(e,s=>{n(),r(s)})})}events(e){e=Array.isArray(e)?e:[e];for(const r of e)$(r);return Ve(this,e)}async emit(e,r){$(e),this.logIfDebugEnabled("emit",e,r),mt(this,e,r);const n=k(this,e),s=R.get(this),i=[...n],o=he(e)?[]:[...s];await Je,await Promise.all([...i.map(async a=>{if(n.has(a))return a(r)}),...o.map(async a=>{if(s.has(a))return a(e,r)})])}async emitSerial(e,r){$(e),this.logIfDebugEnabled("emitSerial",e,r);const n=k(this,e),s=R.get(this),i=[...n],o=[...s];await Je;for(const a of i)n.has(a)&&await a(r);for(const a of o)s.has(a)&&await a(e,r)}onAny(e){return Y(e),this.logIfDebugEnabled("subscribeAny",void 0,void 0),R.get(this).add(e),this.emit(X,{listener:e}),this.offAny.bind(this,e)}anyEvent(){return Ve(this)}offAny(e){Y(e),this.logIfDebugEnabled("unsubscribeAny",void 0,void 0),this.emit(K,{listener:e}),R.get(this).delete(e)}clearListeners(e){e=Array.isArray(e)?e:[e];for(const r of e)if(this.logIfDebugEnabled("clear",r,void 0),typeof r=="string"||typeof r=="symbol"){k(this,r).clear();const n=N(this,r);for(const s of n)s.finish();n.clear()}else{R.get(this).clear();for(const n of Q.get(this).values())n.clear();for(const n of L.get(this).values()){for(const s of n)s.finish();n.clear()}}}listenerCount(e){e=Array.isArray(e)?e:[e];let r=0;for(const n of e){if(typeof n=="string"){r+=R.get(this).size+k(this,n).size+N(this,n).size+N(this).size;continue}typeof n!="undefined"&&$(n),r+=R.get(this).size;for(const s of Q.get(this).values())r+=s.size;for(const s of L.get(this).values())r+=s.size}return r}bindMethods(e,r){if(typeof e!="object"||e===null)throw new TypeError("`target` must be an object");r=ze(r);for(const n of r){if(e[n]!==void 0)throw new Error(`The property \`${n}\` already exists on \`target\``);Object.defineProperty(e,n,{enumerable:!1,value:this[n].bind(this)})}}}const Ge=Object.getOwnPropertyNames(x.prototype).filter(t=>t!=="constructor");Object.defineProperty(x,"listenerAdded",{value:X,writable:!1,enumerable:!0,configurable:!1}),Object.defineProperty(x,"listenerRemoved",{value:K,writable:!1,enumerable:!0,configurable:!1});var pe=x;function yt(t){return typeof t=="object"&&t!==null&&"message"in t&&typeof t.message=="string"}function gt(t){if(yt(t))return t;try{return new Error(JSON.stringify(t))}catch{return new Error(String(t))}}function me(t){return gt(t).message}var ye;(function(t){t.FPS_DROP="fps_drop"})(ye||(ye={}));const bt=500,_t=.8;class wt extends pe{constructor(e,r){super();this.index_=r,this.uuid_=We(),this.framesTransformed_=0,this.transformer_=e,this.shouldStop_=!1,this.isFlashed_=!1,this.framesFromSource_=0,this.fps_=0,this.mediaTransformerQosReportStartTimestamp_=0,this.videoHeight_=0,this.videoWidth_=0,this.trackExpectedRate_=-1,this.transformerType_="Custom","getTransformerType"in e&&(this.transformerType_=e.getTransformerType());const n=new b().action("MediaTransformer").guid(this.uuid_).transformerType(this.transformerType_).variation("Create").build();_.report(n)}setTrackExpectedRate(e){this.trackExpectedRate_=e}async start(e){if(this.controller_=e,this.transformer_&&typeof this.transformer_.start=="function")try{await this.transformer_.start(e)}catch(r){const n=new b().action("MediaTransformer").guid(this.uuid_).message(S.errors.transformer_start).transformerType(this.transformerType_).variation("Error").error(me(r)).build();_.report(n);const s={eventMetaData:{transformerIndex:this.index_},error:r,function:"start"};this.emit("error",s)}}async transform(e,r){var n,s,i,o;if(this.mediaTransformerQosReportStartTimestamp_===0&&(this.mediaTransformerQosReportStartTimestamp_=Date.now()),e instanceof VideoFrame&&(this.videoHeight_=(n=e==null?void 0:e.displayHeight)!=null?n:0,this.videoWidth_=(s=e==null?void 0:e.displayWidth)!=null?s:0),++this.framesFromSource_,this.transformer_)if(this.shouldStop_)console.warn("[Pipeline] flush from transform"),e.close(),this.flush(r),r.terminate();else try{await((o=(i=this.transformer_).transform)==null?void 0:o.call(i,e,r)),++this.framesTransformed_,this.framesTransformed_===bt&&this.mediaTransformerQosReport()}catch(a){const f=new b().action("MediaTransformer").guid(this.uuid_).message(S.errors.transformer_transform).transformerType(this.transformerType_).variation("Error").error(me(a)).build();_.report(f);const m={eventMetaData:{transformerIndex:this.index_},error:a,function:"transform"};this.emit("error",m)}}async flush(e){if(this.transformer_&&typeof this.transformer_.flush=="function"&&!this.isFlashed_){this.isFlashed_=!0;try{await this.transformer_.flush(e)}catch(n){const s=new b().action("MediaTransformer").guid(this.uuid_).message(S.errors.transformer_flush).transformerType(this.transformerType_).variation("Error").error(me(n)).build();_.report(s);const i={eventMetaData:{transformerIndex:this.index_},error:n,function:"flush"};this.emit("error",i)}}this.mediaTransformerQosReport();const r=new b().action("MediaTransformer").guid(this.uuid_).transformerType(this.transformerType_).variation("Delete").build();_.report(r)}stop(){console.log("[Pipeline] Stop stream."),this.controller_&&(this.flush(this.controller_),this.controller_.terminate()),this.shouldStop_=!0}mediaTransformerQosReport(){let e=(Date.now()-this.mediaTransformerQosReportStartTimestamp_)/1e3,r=this.framesFromSource_/e,n=this.framesTransformed_/e;if(this.trackExpectedRate_!=-1&&this.trackExpectedRate_*_t>r){const i={eventMetaData:{transformerIndex:this.index_},warningType:ye.FPS_DROP,dropInfo:{requested:this.trackExpectedRate_,current:r}};this.emit("warn",i)}const s=new b().action("MediaTransformer").fps(r).transformedFps(n).framesTransformed(this.framesTransformed_).guid(this.uuid_).transformerType(this.transformerType_).videoHeight(this.videoHeight_).videoWidth(this.videoWidth_).variation("QoS").build();_.report(s),this.mediaTransformerQosReportStartTimestamp_=0,this.framesFromSource_=0,this.framesTransformed_=0}}class vt extends pe{constructor(e){super();this.transformers_=[],this.trackExpectedRate_=-1;for(let r=0;r<e.length;r++){let n=new wt(e[r],r);n.on("error",s=>{this.emit("error",s)}),n.on("warn",s=>{this.emit("warn",s)}),this.transformers_.push(n)}}setTrackExpectedRate(e){this.trackExpectedRate_=e;for(let r of this.transformers_)r.setTrackExpectedRate(this.trackExpectedRate_)}async start(e,r){if(!this.transformers_||this.transformers_.length===0){console.log("[Pipeline] No transformers.");return}try{let n=e;for(let s of this.transformers_)e=e.pipeThrough(new TransformStream(s));e.pipeTo(r).then(async()=>{console.log("[Pipeline] Setup."),await r.abort(),await n.cancel(),this.emit("pipelineInfo",{message:"pipeline_ended"})}).catch(async s=>{e.cancel().then(()=>{console.log("[Pipeline] Shutting down streams after abort.")}).catch(i=>{console.error("[Pipeline] Error from stream transform:",i)}),await r.abort(s),await n.cancel(s),this.emit("pipelineInfo",{message:"pipeline_ended_with_error"})})}catch{this.emit("pipelineInfo",{message:"pipeline_started_with_error"}),this.destroy();return}this.emit("pipelineInfo",{message:"pipeline_started"}),console.log("[Pipeline] Pipeline started.")}async destroy(){console.log("[Pipeline] Destroying Pipeline.");for(let e of this.transformers_)e.stop()}}class Et extends pe{constructor(){super();this.uuid_=We(),this.trackExpectedRate_=-1;const e=new b().action("MediaProcessor").guid(this.uuid_).variation("Create").build();_.report(e)}setTrackExpectedRate(e){this.trackExpectedRate_=e,this.pipeline_&&this.pipeline_.setTrackExpectedRate(this.trackExpectedRate_)}transform(e,r){return this.readable_=e,this.writable_=r,this.transformInternal()}transformInternal(){return new Promise((e,r)=>{if(!this.transformers_||this.transformers_.length===0){const s=new b().action("MediaProcessor").guid(this.uuid_).message(S.errors.transformer_none).variation("Error").build();_.report(s),r("[MediaProcessor] Need to set transformers.");return}if(!this.readable_){const s=new b().action("MediaProcessor").guid(this.uuid_).message(S.errors.readable_null).variation("Error").build();_.report(s),r("[MediaProcessor] Readable is null.");return}if(!this.writable_){const s=new b().action("MediaProcessor").guid(this.uuid_).message(S.errors.writable_null).variation("Error").build();_.report(s),r("[MediaProcessor] Writable is null.");return}let n=!1;this.pipeline_&&(n=!0,this.pipeline_.clearListeners(),this.pipeline_.destroy()),this.pipeline_=new vt(this.transformers_),this.pipeline_.on("warn",s=>{this.emit("warn",s)}),this.pipeline_.on("error",s=>{this.emit("error",s)}),this.pipeline_.on("pipelineInfo",s=>{n&&(s.message==="pipeline_started"?s.message="pipeline_restarted":s.message==="pipeline_started_with_error"&&(s.message="pipeline_restarted_with_error")),this.emit("pipelineInfo",s)}),this.trackExpectedRate_!=-1&&this.pipeline_.setTrackExpectedRate(this.trackExpectedRate_),this.pipeline_.start(this.readable_,this.writable_).then(()=>{e()}).catch(s=>{r(s)})})}setTransformers(e){const r=new b().action("MediaProcessor").guid(this.uuid_).message(S.updates.transformer_new).variation("Update").build();return _.report(r),this.transformers_=e,this.readable_&&this.writable_?this.transformInternal():Promise.resolve()}destroy(){return new Promise(e=>{this.pipeline_&&this.pipeline_.destroy();const r=new b().action("MediaProcessor").guid(this.uuid_).variation("Delete").build();_.report(r),e()})}}class Tt{constructor(){this.processor_=null,this.generator_=null}init(e){return new Promise((r,n)=>{try{this.processor_=new MediaStreamTrackProcessor(e)}catch(s){console.log(`[InsertableStreamHelper] MediaStreamTrackProcessor failed: ${s}`),n(s)}try{e.kind==="audio"?this.generator_=new MediaStreamTrackGenerator({kind:"audio"}):e.kind==="video"?this.generator_=new MediaStreamTrackGenerator({kind:"video"}):n("kind not supported")}catch(s){console.log(`[InsertableStreamHelper] MediaStreamTrackGenerator failed: ${s}`),n(s)}r()})}getReadable(){return this.processor_.readable}getWriteable(){return this.generator_.writable}getProccesorTrack(){return this.generator_}}class St{constructor(e){this.insertableStreamHelper_=new Tt,this.mediaProcessor_=e}setTrack(e){return new Promise((r,n)=>{this.insertableStreamHelper_.init(e).then(()=>{this.mediaProcessor_.transform(this.insertableStreamHelper_.getReadable(),this.insertableStreamHelper_.getWriteable()).then(()=>{r(this.insertableStreamHelper_.getProccesorTrack())}).catch(s=>{n(s)})}).catch(s=>{n(s)})})}destroy(){return new Promise((e,r)=>{this.mediaProcessor_?this.mediaProcessor_.destroy().then(()=>{e()}).catch(n=>{r(n)}):r("no processor")})}}w.MediaProcessor=Et,w.MediaProcessorConnector=St,w.getVonageMetadata=He,w.isSupported=I,w.setVonageMetadata=ut,Object.defineProperty(w,"__esModule",{value:!0}),w[Symbol.toStringTag]="Module"});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vonage/media-processor",
3
- "version": "1.2.6",
3
+ "version": "1.2.7",
4
4
  "author": "Guy Mininberg <guy.mininberg@vonage.com>",
5
5
  "contributors": [
6
6
  "Guy Mininberg <guy.mininberg@vonage.com>",
@@ -58,7 +58,7 @@
58
58
  "typescript": "^4.6.2",
59
59
  "vite": "^2.7.2"
60
60
  },
61
- "repository": "https://github.com/vonage/media-processor",
61
+ "repository": "https://github.com/Vonage/vonage-media-transformers-samples",
62
62
  "publishConfig": {
63
63
  "registry": "https://registry.npmjs.org"
64
64
  }