sip-connector 6.21.0 → 6.21.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("./SipConnector-3317ff75.cjs"),j=require("ts-debounce"),H=require("@krivega/cancelable-promise"),Y=require("sequent-promises"),z=require("stack-promises"),J=require("debug");require("events-constructor");const L="purgatory",N=e=>e===L,P=e=>()=>(r.logger("getRemoteStreams"),e.getRemoteStreams()),Q=({kind:e,readyState:t})=>e==="video"&&t==="live",V=e=>({track:t})=>{Q(t)&&e()},D=({getRemoteStreams:e,setRemoteStreams:t})=>j.debounce(()=>{const n=e();r.logger("remoteStreams",n),n&&t(n)},200),Z=e=>async n=>{const{mediaStream:s,extraHeaders:o,iceServers:a,degradationPreference:c,setRemoteStreams:u,onBeforeProgressCall:i,onSuccessProgressCall:S,onEnterPurgatory:d,onEnterConference:l,onFailProgressCall:f,onFinishProgressCall:m,onEndedCall:C}=n,R=D({setRemoteStreams:u,getRemoteStreams:P(e)}),_=V(R);r.logger("answerIncomingCall",n);const y=async()=>e.answerToIncomingCall({mediaStream:s,extraHeaders:o,iceServers:a,degradationPreference:c,ontrack:_}),h=()=>{const{remoteCallerData:g}=e;return g.incomingNumber};let M=!1,T;const b=(()=>(r.logger("subscribeEnterConference: onEnterConference",l),d??l?e.onSession("enterRoom",g=>{r.logger("enterRoom",{_room:g,isSuccessProgressCall:M}),T=g,N(T)?d&&d():l&&l({isSuccessProgressCall:M})}):()=>{}))(),O=g=>(r.logger("onSuccess"),M=!0,R(),S&&S({isPurgatory:N(T)}),e.onceRaceSession(["ended","failed"],()=>{b(),C&&C()}),g),v=g=>{throw r.logger("onFail"),f&&f(),b(),g},A=()=>{r.logger("onFinish"),m&&m()};if(r.logger("onBeforeProgressCall"),i){const g=h();i(g)}return y().then(O).catch(v).finally(A)},ee=e=>async n=>{const{conference:s,mediaStream:o,extraHeaders:a,iceServers:c,degradationPreference:u,setRemoteStreams:i,onBeforeProgressCall:S,onSuccessProgressCall:d,onEnterPurgatory:l,onEnterConference:f,onFailProgressCall:m,onFinishProgressCall:C,onEndedCall:R}=n,_=D({setRemoteStreams:i,getRemoteStreams:P(e)}),y=V(_);r.logger("callToServer",n);const h=async()=>(r.logger("startCall"),e.call({mediaStream:o,extraHeaders:a,iceServers:c,degradationPreference:u,number:s,ontrack:y}));let M=!1,T;const b=(()=>(r.logger("subscribeEnterConference: onEnterConference",f),l??f?e.onSession("enterRoom",g=>{r.logger("enterRoom",{_room:g,isSuccessProgressCall:M}),T=g,N(T)?l&&l():f&&f({isSuccessProgressCall:M})}):()=>{}))(),O=g=>(r.logger("onSuccess"),M=!0,_(),d&&d({isPurgatory:N(T)}),e.onceRaceSession(["ended","failed"],()=>{b(),R&&R()}),g),v=g=>{throw r.logger("onFail"),m&&m(),b(),g},A=()=>{r.logger("onFinish"),C&&C()};return r.logger("onBeforeProgressCall"),S&&S(s),h().then(O).catch(v).finally(A)},I=e=>{if(!H.isCanceledError(e))throw e;return!1},ne=e=>async n=>{const{userAgent:s,sipWebSocketServerURL:o,sipServerUrl:a,remoteAddress:c,displayName:u,name:i,password:S,isRegisteredUser:d,sdpSemantics:l,isDisconnectOnFail:f}=n;return r.logger("connectToServer",n),e.connect({userAgent:s,sdpSemantics:l,sipWebSocketServerURL:o,sipServerUrl:a,remoteAddress:c,displayName:u,password:S,user:i,register:d}).then(()=>(r.logger("connectToServer then"),!0)).catch(async m=>(r.logger("connectToServer catch: error",m),f===!0?e.disconnect().then(()=>I(m)).catch(()=>I(m)):I(m)))},te=e=>async()=>(r.logger("disconnectFromServer"),e.disconnect().then(()=>(r.logger("disconnectFromServer: then"),!1)).catch(t=>(r.logger("disconnectFromServer: catch",t),!1))),w=e=>{const{url:t,cause:n}=e;let s=t;return(n===r.BAD_MEDIA_DESCRIPTION||n===r.NOT_FOUND)&&(s=`${e.message.to.uri.user}@${e.message.to.uri.host}`),s};var $=(e=>(e.CONNECT_SERVER_FAILED="CONNECT_SERVER_FAILED",e.WRONG_USER_OR_PASSWORD="WRONG_USER_OR_PASSWORD",e.BAD_MEDIA_ERROR="BAD_MEDIA_ERROR",e.NOT_FOUND_ERROR="NOT_FOUND_ERROR",e.WS_CONNECTION_FAILED="WS_CONNECTION_FAILED",e.CONNECT_SERVER_FAILED_BY_LINK="CONNECT_SERVER_FAILED_BY_LINK",e))($||{});const re=(e=new Error)=>{var o;const{cause:t,socket:n}=e;let s="CONNECT_SERVER_FAILED";switch(t){case"Forbidden":{s="WRONG_USER_OR_PASSWORD";break}case r.BAD_MEDIA_DESCRIPTION:{s="BAD_MEDIA_ERROR";break}case r.NOT_FOUND:{s="NOT_FOUND_ERROR";break}default:n&&((o=n==null?void 0:n._ws)==null?void 0:o.readyState)===3?s="WS_CONNECTION_FAILED":w(e)&&(s="CONNECT_SERVER_FAILED_BY_LINK")}return s},se=(e=new Error)=>{const{code:t,cause:n,message:s}=e,o=w(e),a={};return s&&(a.message=s),o&&(a.link=o),t&&(a.code=t),n&&(a.cause=n),a},oe=Object.freeze(Object.defineProperty({__proto__:null,EErrorTypes:$,getLinkError:w,getTypeFromError:re,getValuesFromError:se},Symbol.toStringTag,{value:"Module"})),ae=({sessionId:e,remoteAddress:t,isMutedAudio:n,isMutedVideo:s,isRegistered:o,isPresentationCall:a})=>{const c=[],u=n?"0":"1",i=s?"0":"1";return c.push(`X-Vinteo-Mic-State: ${u}`,`X-Vinteo-MainCam-State: ${i}`),o||c.push("X-Vinteo-Purgatory-Call: yes"),e&&c.push(`X-Vinteo-Session: ${e}`),a&&c.push("X-Vinteo-Presentation-Call: yes"),t&&c.push(`X-Vinteo-Remote: ${t}`),c},ce=({appName:e,appVersion:t,browserName:n,browserVersion:s})=>{const o=`${e} ${t}`;return`ChromeNew - ${n?`${n} ${s}, ${o}`:o}`},ie=({isUnifiedSdpSemantic:e,appVersion:t,browserName:n,browserVersion:s,appName:o})=>e?ce({appVersion:t,browserName:n,browserVersion:s,appName:o}):"Chrome",ue=e=>async()=>{if(e.isCallActive)return r.logger("askPermissionToEnableCam"),e.askPermissionToEnableCam()},le=e=>n=>(r.logger("onMustStopPresentation"),e.onSession("mustStopPresentation",n)),ge=e=>n=>(r.logger("onUseLicense"),e.onSession("useLicense",n)),Se=e=>async({isEnabledCam:n,isEnabledMic:s})=>{if(e.isCallActive)return r.logger("sendMediaState"),e.sendMediaState({cam:n,mic:s})},de=e=>async()=>{if(e.isCallActive)return r.logger("sendRefusalToTurnOnCam"),e.sendRefusalToTurnOnCam().catch(n=>{r.logger("sendRefusalToTurnOnCam: error",n)})},me=e=>async()=>{if(e.isCallActive)return r.logger("sendRefusalToTurnOnMic"),e.sendRefusalToTurnOnMic().catch(n=>{r.logger("sendRefusalToTurnOnMic: error",n)})},Ce=1e6,fe=({maxBitrate:e=Ce,sipConnector:t})=>async({mediaStream:s,isP2P:o=!1})=>(r.logger("startPresentation"),t.startPresentation(s,{isP2P:o,maxBitrate:e})),Ee=({sipConnector:e})=>async({isP2P:n=!1}={})=>(r.logger("stopShareSipConnector"),e.stopPresentation({isP2P:n}).catch(r.logger)),Re=1e6,Me=({sipConnector:e,maxBitrate:t=Re})=>async({mediaStream:s,isP2P:o=!1})=>(r.logger("updatePresentation"),e.updatePresentation(s,{isP2P:o,maxBitrate:t})),Te=e=>t=>[...t].map(s=>async()=>e(s)),_e=async({accumulatedKeys:e,sendKey:t,canRunTask:n})=>{const o=Te(t)(e);return Y(o,n)},be=e=>n=>(r.logger("onStartMainCam"),e.onSession("admin-start-main-cam",n)),ye=e=>n=>(r.logger("onStartMic"),e.onSession("admin-start-mic",n)),he=e=>n=>(r.logger("onStopMainCam"),e.onSession("admin-stop-main-cam",n)),Oe=e=>n=>(r.logger("onStopMic"),e.onSession("admin-stop-mic",n)),ve=({sipConnector:e})=>{const t=(C,R)=>({isSyncForced:_=!1})=>{if(_){C();return}R()},n=be(e),s=he(e),o=ye(e),a=Oe(e);let c=()=>{},u=()=>{},i=()=>{},S=()=>{};const d=({onStartMainCamForced:C,onStartMainCamNotForced:R,onStopMainCamForced:_,onStopMainCamNotForced:y,onStartMicForced:h,onStartMicNotForced:M,onStopMicForced:T,onStopMicNotForced:B})=>{const b=t(C,R);c=n(b);const O=t(_,y);u=s(O);const v=t(h,M);i=o(v);const A=t(T,B);S=a(A)},l=()=>{c(),u(),i(),S()};return{start:C=>{d(C)},stop:()=>{l()}}},Ae=Object.freeze(Object.defineProperty({__proto__:null,PURGATORY_CONFERENCE_NUMBER:L,createSyncMediaState:ve,error:oe,getExtraHeaders:ae,getUserAgent:ie,hasPurgatory:N,resolveAnswerIncomingCall:Z,resolveAskPermissionToEnableCam:ue,resolveCallToServer:ee,resolveConnectToServer:ne,resolveDisconnectFromServer:te,resolveGetRemoteStreams:P,resolveOnMustStopPresentation:le,resolveOnUseLicense:ge,resolveSendMediaState:Se,resolveSendRefusalToTurnOnCam:de,resolveSendRefusalToTurnOnMic:me,resolveStartPresentation:fe,resolveStopShareSipConnector:Ee,resolveUpdatePresentation:Me,resolveUpdateRemoteStreams:D,sendDTMFAccumulated:_e},Symbol.toStringTag,{value:"Module"})),Ne=e=>[...e.keys()].map(t=>e.get(t)),Be=(e,t)=>Ne(e).find(n=>n.type===t),x=async e=>e.getStats().then(t=>{const n=Be(t,"codec");return n==null?void 0:n.mimeType}),Ie=e=>e.find(t=>{var n;return((n=t==null?void 0:t.track)==null?void 0:n.kind)==="video"}),q=(e,t)=>e!==void 0&&t!==void 0&&e.toLowerCase().includes(t.toLowerCase()),pe=1e6,E=e=>e*pe,G=E(.06),Pe=E(4),De=e=>e<=64?G:e<=128?E(.12):e<=256?E(.25):e<=384?E(.32):e<=426?E(.38):e<=640?E(.5):e<=848?E(.7):e<=1280?E(1):e<=1920?E(2):Pe,we="av1",Fe=e=>q(e,we),ke=.6,X=(e,t)=>Fe(t)?e*ke:e,Ue=e=>X(G,e),K=(e,t)=>{const n=De(e);return X(n,t)},W=z(),Le=async()=>W().catch(e=>{r.logger("videoSendingBalancer: error",e)}),Ve=async e=>(W.add(e),Le()),F=async({sender:e,scaleResolutionDownBy:t,maxBitrate:n,onSetParameters:s})=>Ve(async()=>r.setEncodingsToSender(e,{scaleResolutionDownBy:t,maxBitrate:n},s)),$e=async({sender:e,codec:t},n)=>{const o=Ue(t);return F({sender:e,maxBitrate:o,onSetParameters:n,scaleResolutionDownBy:200})},p=async({sender:e,track:t,codec:n},s)=>{const c=t.getSettings().width,u=K(c,n);return F({sender:e,maxBitrate:u,onSetParameters:s,scaleResolutionDownBy:1})},xe=async({sender:e,track:t,resolution:n,codec:s},o)=>{const a=t.getSettings(),c=a.width,u=a.height,[i,S]=n.split("x"),d=c/Number(i),l=u/Number(S),m=Math.max(d,l,1),C=K(Number(i),s);return F({sender:e,maxBitrate:C,onSetParameters:o,scaleResolutionDownBy:m})},qe=async({mainCam:e,resolutionMainCam:t,sender:n,track:s,codec:o},a)=>{switch(e){case r.EEventsMainCAM.PAUSE_MAIN_CAM:return $e({sender:n,codec:o},a);case r.EEventsMainCAM.RESUME_MAIN_CAM:return p({sender:n,track:s,codec:o},a);case r.EEventsMainCAM.MAX_MAIN_CAM_RESOLUTION:return t!==void 0?xe({sender:n,track:s,codec:o,resolution:t},a):p({sender:n,track:s,codec:o},a);default:return p({sender:n,track:s,codec:o},a)}},k={isChanged:!1,parameters:{encodings:[{}],transactionId:"0",codecs:[],headerExtensions:[],rtcp:{}}},U=async({mainCam:e,resolutionMainCam:t,connection:n,onSetParameters:s,ignoreForCodec:o})=>{const a=n.getSenders(),c=Ie(a);if(!(c!=null&&c.track))return k;const u=await x(c);return q(u,o)?k:qe({mainCam:e,resolutionMainCam:t,sender:c,codec:u,track:c.track},s)},Ge=(e,{ignoreForCodec:t,onSetParameters:n}={})=>{const s=async()=>{const{connection:i}=e;if(!i)throw new Error("connection is not exist");return U({connection:i,onSetParameters:n,ignoreForCodec:t})};let o=s;const a=async i=>(o=async()=>{const{mainCam:S,resolutionMainCam:d}=i,{connection:l}=e;if(!l)throw new Error("connection is not exist");return U({mainCam:S,resolutionMainCam:d,connection:l,onSetParameters:n,ignoreForCodec:t})},o());return{subscribe:()=>{e.onSession("main-cam-control",a)},unsubscribe:()=>{e.offSession("main-cam-control",a)},balanceByTrack:s,resetMainCamControl(){o=s},async reBalance(){return o()}}};exports.EEventsMainCAM=r.EEventsMainCAM;exports.EEventsMic=r.EEventsMic;exports.EEventsSyncMediaState=r.EEventsSyncMediaState;exports.EUseLicense=r.EUseLicense;exports.causes=r.causes;exports.constants=r.constants;exports.default=r.SipConnector;exports.disableDebug=r.disableDebug;exports.enableDebug=r.enableDebug;exports.eventNames=r.eventNames;exports.hasCanceledCallError=r.hasCanceledCallError;exports.debug=J;exports.getCodecFromSender=x;exports.resolveVideoSendingBalancer=Ge;exports.tools=Ae;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("./SipConnector-3317ff75.cjs"),q=require("ts-debounce"),H=require("@krivega/cancelable-promise"),Y=require("debug");require("events-constructor");const L="purgatory",P=e=>e===L,w=e=>()=>(s.logger("getRemoteStreams"),e.getRemoteStreams()),z=({kind:e,readyState:n})=>e==="video"&&n==="live",x=e=>({track:n})=>{z(n)&&e()},B=({getRemoteStreams:e,setRemoteStreams:n})=>q.debounce(()=>{const t=e();s.logger("remoteStreams",t),t&&n(t)},200),J=e=>async t=>{const{mediaStream:r,extraHeaders:o,iceServers:c,degradationPreference:a,setRemoteStreams:u,onBeforeProgressCall:d,onSuccessProgressCall:E,onEnterPurgatory:f,onEnterConference:m,onFailProgressCall:y,onFinishProgressCall:h,onEndedCall:M}=t,C=B({setRemoteStreams:u,getRemoteStreams:w(e)}),T=x(C);s.logger("answerIncomingCall",t);const O=async()=>e.answerToIncomingCall({mediaStream:r,extraHeaders:o,iceServers:c,degradationPreference:a,ontrack:T}),A=()=>{const{remoteCallerData:S}=e;return S.incomingNumber};let _=!1,i;const l=(()=>(s.logger("subscribeEnterConference: onEnterConference",m),f??m?e.onSession("enterRoom",S=>{s.logger("enterRoom",{_room:S,isSuccessProgressCall:_}),i=S,P(i)?f&&f():m&&m({isSuccessProgressCall:_})}):()=>{}))(),R=S=>(s.logger("onSuccess"),_=!0,C(),E&&E({isPurgatory:P(i)}),e.onceRaceSession(["ended","failed"],()=>{l(),M&&M()}),S),b=S=>{throw s.logger("onFail"),y&&y(),l(),S},N=()=>{s.logger("onFinish"),h&&h()};if(s.logger("onBeforeProgressCall"),d){const S=A();d(S)}return O().then(R).catch(b).finally(N)},Q=e=>async t=>{const{conference:r,mediaStream:o,extraHeaders:c,iceServers:a,degradationPreference:u,setRemoteStreams:d,onBeforeProgressCall:E,onSuccessProgressCall:f,onEnterPurgatory:m,onEnterConference:y,onFailProgressCall:h,onFinishProgressCall:M,onEndedCall:C}=t,T=B({setRemoteStreams:d,getRemoteStreams:w(e)}),O=x(T);s.logger("callToServer",t);const A=async()=>(s.logger("startCall"),e.call({mediaStream:o,extraHeaders:c,iceServers:a,degradationPreference:u,number:r,ontrack:O}));let _=!1,i;const l=(()=>(s.logger("subscribeEnterConference: onEnterConference",y),m??y?e.onSession("enterRoom",S=>{s.logger("enterRoom",{_room:S,isSuccessProgressCall:_}),i=S,P(i)?m&&m():y&&y({isSuccessProgressCall:_})}):()=>{}))(),R=S=>(s.logger("onSuccess"),_=!0,T(),f&&f({isPurgatory:P(i)}),e.onceRaceSession(["ended","failed"],()=>{l(),C&&C()}),S),b=S=>{throw s.logger("onFail"),h&&h(),l(),S},N=()=>{s.logger("onFinish"),M&&M()};return s.logger("onBeforeProgressCall"),E&&E(r),A().then(R).catch(b).finally(N)},p=e=>{if(!H.isCanceledError(e))throw e;return!1},Z=e=>async t=>{const{userAgent:r,sipWebSocketServerURL:o,sipServerUrl:c,remoteAddress:a,displayName:u,name:d,password:E,isRegisteredUser:f,sdpSemantics:m,isDisconnectOnFail:y}=t;return s.logger("connectToServer",t),e.connect({userAgent:r,sdpSemantics:m,sipWebSocketServerURL:o,sipServerUrl:c,remoteAddress:a,displayName:u,password:E,user:d,register:f}).then(()=>(s.logger("connectToServer then"),!0)).catch(async h=>(s.logger("connectToServer catch: error",h),y===!0?e.disconnect().then(()=>p(h)).catch(()=>p(h)):p(h)))},ee=e=>async()=>(s.logger("disconnectFromServer"),e.disconnect().then(()=>(s.logger("disconnectFromServer: then"),!1)).catch(n=>(s.logger("disconnectFromServer: catch",n),!1))),D=e=>{const{url:n,cause:t}=e;let r=n;return(t===s.BAD_MEDIA_DESCRIPTION||t===s.NOT_FOUND)&&(r=`${e.message.to.uri.user}@${e.message.to.uri.host}`),r};var V=(e=>(e.CONNECT_SERVER_FAILED="CONNECT_SERVER_FAILED",e.WRONG_USER_OR_PASSWORD="WRONG_USER_OR_PASSWORD",e.BAD_MEDIA_ERROR="BAD_MEDIA_ERROR",e.NOT_FOUND_ERROR="NOT_FOUND_ERROR",e.WS_CONNECTION_FAILED="WS_CONNECTION_FAILED",e.CONNECT_SERVER_FAILED_BY_LINK="CONNECT_SERVER_FAILED_BY_LINK",e))(V||{});const ne=(e=new Error)=>{var o;const{cause:n,socket:t}=e;let r="CONNECT_SERVER_FAILED";switch(n){case"Forbidden":{r="WRONG_USER_OR_PASSWORD";break}case s.BAD_MEDIA_DESCRIPTION:{r="BAD_MEDIA_ERROR";break}case s.NOT_FOUND:{r="NOT_FOUND_ERROR";break}default:t&&((o=t==null?void 0:t._ws)==null?void 0:o.readyState)===3?r="WS_CONNECTION_FAILED":D(e)&&(r="CONNECT_SERVER_FAILED_BY_LINK")}return r},te=(e=new Error)=>{const{code:n,cause:t,message:r}=e,o=D(e),c={};return r&&(c.message=r),o&&(c.link=o),n&&(c.code=n),t&&(c.cause=t),c},re=Object.freeze(Object.defineProperty({__proto__:null,EErrorTypes:V,getLinkError:D,getTypeFromError:ne,getValuesFromError:te},Symbol.toStringTag,{value:"Module"})),se=({sessionId:e,remoteAddress:n,isMutedAudio:t,isMutedVideo:r,isRegistered:o,isPresentationCall:c})=>{const a=[],u=t?"0":"1",d=r?"0":"1";return a.push(`X-Vinteo-Mic-State: ${u}`,`X-Vinteo-MainCam-State: ${d}`),o||a.push("X-Vinteo-Purgatory-Call: yes"),e&&a.push(`X-Vinteo-Session: ${e}`),c&&a.push("X-Vinteo-Presentation-Call: yes"),n&&a.push(`X-Vinteo-Remote: ${n}`),a},oe=({appName:e,appVersion:n,browserName:t,browserVersion:r})=>{const o=`${e} ${n}`;return`ChromeNew - ${t?`${t} ${r}, ${o}`:o}`},ce=({isUnifiedSdpSemantic:e,appVersion:n,browserName:t,browserVersion:r,appName:o})=>e?oe({appVersion:n,browserName:t,browserVersion:r,appName:o}):"Chrome",ae=e=>async()=>{if(e.isCallActive)return s.logger("askPermissionToEnableCam"),e.askPermissionToEnableCam()},ie=e=>t=>(s.logger("onMustStopPresentation"),e.onSession("mustStopPresentation",t)),ue=e=>t=>(s.logger("onUseLicense"),e.onSession("useLicense",t)),le=e=>async({isEnabledCam:t,isEnabledMic:r})=>{if(e.isCallActive)return s.logger("sendMediaState"),e.sendMediaState({cam:t,mic:r})},ge=e=>async()=>{if(e.isCallActive)return s.logger("sendRefusalToTurnOnCam"),e.sendRefusalToTurnOnCam().catch(t=>{s.logger("sendRefusalToTurnOnCam: error",t)})},Se=e=>async()=>{if(e.isCallActive)return s.logger("sendRefusalToTurnOnMic"),e.sendRefusalToTurnOnMic().catch(t=>{s.logger("sendRefusalToTurnOnMic: error",t)})},de=1e6,me=({maxBitrate:e=de,sipConnector:n})=>async({mediaStream:r,isP2P:o=!1})=>(s.logger("startPresentation"),n.startPresentation(r,{isP2P:o,maxBitrate:e})),fe=({sipConnector:e})=>async({isP2P:t=!1}={})=>(s.logger("stopShareSipConnector"),e.stopPresentation({isP2P:t}).catch(s.logger)),Ee=1e6,Ce=({sipConnector:e,maxBitrate:n=Ee})=>async({mediaStream:r,isP2P:o=!1})=>(s.logger("updatePresentation"),e.updatePresentation(r,{isP2P:o,maxBitrate:n})),Re="ERROR_NOT_RUNNING",he=e=>{const n=new Error("Promise was not running");return n.basePromise=e,n.id=Re,n.name="Not running",n},Me=async(e,n)=>e.reduce(async(t,r)=>t.then(async({success:o,errors:c,results:a})=>(!n||n(r)?r():Promise.reject(he(r))).then(u=>({errors:c,success:[...o,u],results:[...a,u],isSuccessful:!0,isError:!1})).catch(u=>({success:o,errors:[...c,u],results:[...a,u],isSuccessful:!1,isError:!0}))),Promise.resolve({success:[],errors:[],results:[],isSuccessful:!1,isError:!1})),ye=e=>n=>[...n].map(r=>async()=>e(r)),Te=async({accumulatedKeys:e,sendKey:n,canRunTask:t})=>{const o=ye(n)(e);return Me(o,t)},_e=e=>t=>(s.logger("onStartMainCam"),e.onSession("admin-start-main-cam",t)),be=e=>t=>(s.logger("onStartMic"),e.onSession("admin-start-mic",t)),ve=e=>t=>(s.logger("onStopMainCam"),e.onSession("admin-stop-main-cam",t)),Ne=e=>t=>(s.logger("onStopMic"),e.onSession("admin-stop-mic",t)),Oe=({sipConnector:e})=>{const n=(M,C)=>({isSyncForced:T=!1})=>{if(T){M();return}C()},t=_e(e),r=ve(e),o=be(e),c=Ne(e);let a=()=>{},u=()=>{},d=()=>{},E=()=>{};const f=({onStartMainCamForced:M,onStartMainCamNotForced:C,onStopMainCamForced:T,onStopMainCamNotForced:O,onStartMicForced:A,onStartMicNotForced:_,onStopMicForced:i,onStopMicNotForced:g})=>{const l=n(M,C);a=t(l);const R=n(T,O);u=r(R);const b=n(A,_);d=o(b);const N=n(i,g);E=c(N)},m=()=>{a(),u(),d(),E()};return{start:M=>{f(M)},stop:()=>{m()}}},Ae=Object.freeze(Object.defineProperty({__proto__:null,PURGATORY_CONFERENCE_NUMBER:L,createSyncMediaState:Oe,error:re,getExtraHeaders:se,getUserAgent:ce,hasPurgatory:P,resolveAnswerIncomingCall:J,resolveAskPermissionToEnableCam:ae,resolveCallToServer:Q,resolveConnectToServer:Z,resolveDisconnectFromServer:ee,resolveGetRemoteStreams:w,resolveOnMustStopPresentation:ie,resolveOnUseLicense:ue,resolveSendMediaState:le,resolveSendRefusalToTurnOnCam:ge,resolveSendRefusalToTurnOnMic:Se,resolveStartPresentation:me,resolveStopShareSipConnector:fe,resolveUpdatePresentation:Ce,resolveUpdateRemoteStreams:B,sendDTMFAccumulated:Te},Symbol.toStringTag,{value:"Module"})),Pe=e=>[...e.keys()].map(n=>e.get(n)),pe=(e,n)=>Pe(e).find(t=>t.type===n),$=async e=>e.getStats().then(n=>{const t=pe(n,"codec");return t==null?void 0:t.mimeType}),Ie=e=>e.find(n=>{var t;return((t=n==null?void 0:n.track)==null?void 0:t.kind)==="video"}),j=(e,n)=>e!==void 0&&n!==void 0&&e.toLowerCase().includes(n.toLowerCase()),we="ERROR_NOT_RUNNING",Be=e=>{const n=new Error("Promise was not running");return n.basePromise=e,n.id=we,n.name="Not running",n},De=async(e,n)=>e.reduce(async(t,r)=>t.then(async({success:o,errors:c,results:a})=>(!n||n(r)?r():Promise.reject(Be(r))).then(u=>({errors:c,success:[...o,u],results:[...a,u],isSuccessful:!0,isError:!1})).catch(u=>({success:o,errors:[...c,u],results:[...a,u],isSuccessful:!1,isError:!0}))),Promise.resolve({success:[],errors:[],results:[],isSuccessful:!1,isError:!1})),ke=new Error("Stack is empty"),Fe=new Error("Promise is not actual"),Ue=new Error("stackPromises only works with functions that returns a Promise"),Le=({noRejectIsNotActual:e=!1,noRunIsNotActual:n=!1}={})=>{const t=[],r=[],o=({task:i,index:g})=>{r.push({task:i,index:g})},c=(i,{task:g,index:l})=>{const R=r.find(({task:b,index:N})=>g===b&&l===N);if(!R)throw new Error("Task not found");if(R.promise)throw new Error("Task is already running");R.promise=i},a=({task:i,index:g})=>{const l=r.find(({task:R,index:b})=>i===R&&g===b);if(l)return l.promise},u=({task:i})=>{const g=r.at(-1);return(g==null?void 0:g.task)===i},d=({task:i,index:g})=>(o({task:i,index:g}),async()=>{let l=a({task:i,index:g});const R=u({task:i});return!l&&n&&!R?Promise.resolve():(l||(l=i({isActual:R}),c(l,{task:i,index:g})),l)}),E=({resolve:i,reject:g})=>({results:l,isSuccessful:R})=>{const b=l.length,N=t.length;if(b===N){const S=l.at(-1);if(R){i(S);return}g(S);return}if(e){const S=l.at(-1);i(S);return}g(Fe)};let f=!1;const m=()=>{f=!0},y=()=>{f=!1},h=()=>f,M=async()=>(m(),De(t,h)),C=async()=>{if(t.length===0)throw ke;return new Promise((i,g)=>{const l=E({resolve:i,reject:g});M().then(l).catch(l)})},T=i=>{if(typeof i!="function")throw Ue;const g=t.length;return t.push(d({task:i,index:g})),C},O=async i=>(T(i),C()),A=()=>{t.length=0,r.length=0},_=()=>{y(),A()};return C.add=T,C.run=O,C.stop=_,C},xe=1e6,v=e=>e*xe,G=v(.06),Ve=v(4),$e=e=>e<=64?G:e<=128?v(.12):e<=256?v(.25):e<=384?v(.32):e<=426?v(.38):e<=640?v(.5):e<=848?v(.7):e<=1280?v(1):e<=1920?v(2):Ve,je="av1",Ge=e=>j(e,je),Xe=.6,X=(e,n)=>Ge(n)?e*Xe:e,Ke=e=>X(G,e),K=(e,n)=>{const t=$e(e);return X(t,n)},W=Le(),We=async()=>W().catch(e=>{s.logger("videoSendingBalancer: error",e)}),qe=async e=>(W.add(e),We()),k=async({sender:e,scaleResolutionDownBy:n,maxBitrate:t,onSetParameters:r})=>qe(async()=>s.setEncodingsToSender(e,{scaleResolutionDownBy:n,maxBitrate:t},r)),He=async({sender:e,codec:n},t)=>{const o=Ke(n);return k({sender:e,maxBitrate:o,onSetParameters:t,scaleResolutionDownBy:200})},I=async({sender:e,track:n,codec:t},r)=>{const a=n.getSettings().width,u=K(a,t);return k({sender:e,maxBitrate:u,onSetParameters:r,scaleResolutionDownBy:1})},Ye=async({sender:e,track:n,resolution:t,codec:r},o)=>{const c=n.getSettings(),a=c.width,u=c.height,[d,E]=t.split("x"),f=a/Number(d),m=u/Number(E),h=Math.max(f,m,1),M=K(Number(d),r);return k({sender:e,maxBitrate:M,onSetParameters:o,scaleResolutionDownBy:h})},ze=async({mainCam:e,resolutionMainCam:n,sender:t,track:r,codec:o},c)=>{switch(e){case s.EEventsMainCAM.PAUSE_MAIN_CAM:return He({sender:t,codec:o},c);case s.EEventsMainCAM.RESUME_MAIN_CAM:return I({sender:t,track:r,codec:o},c);case s.EEventsMainCAM.MAX_MAIN_CAM_RESOLUTION:return n!==void 0?Ye({sender:t,track:r,codec:o,resolution:n},c):I({sender:t,track:r,codec:o},c);default:return I({sender:t,track:r,codec:o},c)}},F={isChanged:!1,parameters:{encodings:[{}],transactionId:"0",codecs:[],headerExtensions:[],rtcp:{}}},U=async({mainCam:e,resolutionMainCam:n,connection:t,onSetParameters:r,ignoreForCodec:o})=>{const c=t.getSenders(),a=Ie(c);if(!(a!=null&&a.track))return F;const u=await $(a);return j(u,o)?F:ze({mainCam:e,resolutionMainCam:n,sender:a,codec:u,track:a.track},r)},Je=(e,{ignoreForCodec:n,onSetParameters:t}={})=>{const r=async()=>{const{connection:d}=e;if(!d)throw new Error("connection is not exist");return U({connection:d,onSetParameters:t,ignoreForCodec:n})};let o=r;const c=async d=>(o=async()=>{const{mainCam:E,resolutionMainCam:f}=d,{connection:m}=e;if(!m)throw new Error("connection is not exist");return U({mainCam:E,resolutionMainCam:f,connection:m,onSetParameters:t,ignoreForCodec:n})},o());return{subscribe:()=>{e.onSession("main-cam-control",c)},unsubscribe:()=>{e.offSession("main-cam-control",c)},balanceByTrack:r,resetMainCamControl(){o=r},async reBalance(){return o()}}};exports.EEventsMainCAM=s.EEventsMainCAM;exports.EEventsMic=s.EEventsMic;exports.EEventsSyncMediaState=s.EEventsSyncMediaState;exports.EUseLicense=s.EUseLicense;exports.causes=s.causes;exports.constants=s.constants;exports.default=s.SipConnector;exports.disableDebug=s.disableDebug;exports.enableDebug=s.enableDebug;exports.eventNames=s.eventNames;exports.hasCanceledCallError=s.hasCanceledCallError;exports.debug=Y;exports.getCodecFromSender=$;exports.resolveVideoSendingBalancer=Je;exports.tools=Ae;
package/dist/index.js CHANGED
@@ -1,374 +1,493 @@
1
- import { l as o, B as V, N as $, E as B, s as z, S as He } from "./SipConnector-abcad4a1.js";
2
- import { f as tn, g as rn, i as sn, c as on, a as an, d as cn, b as un, e as ln, h as Sn } from "./SipConnector-abcad4a1.js";
1
+ import { l as c, B as x, N as V, E as P, s as z, S as en } from "./SipConnector-abcad4a1.js";
2
+ import { f as un, g as ln, i as Sn, c as dn, a as mn, d as fn, b as Cn, e as En, h as gn } from "./SipConnector-abcad4a1.js";
3
3
  import { debounce as q } from "ts-debounce";
4
4
  import { isCanceledError as J } from "@krivega/cancelable-promise";
5
- import Q from "sequent-promises";
6
- import Z from "stack-promises";
7
- import { default as dn } from "debug";
5
+ import { default as hn } from "debug";
8
6
  import "events-constructor";
9
- const x = "purgatory", A = (e) => e === x, D = (e) => () => (o("getRemoteStreams"), e.getRemoteStreams()), ee = ({ kind: e, readyState: t }) => e === "video" && t === "live", G = (e) => ({ track: t }) => {
10
- ee(t) && e();
11
- }, w = ({
7
+ const $ = "purgatory", A = (e) => e === $, B = (e) => () => (c("getRemoteStreams"), e.getRemoteStreams()), Q = ({ kind: e, readyState: n }) => e === "video" && n === "live", G = (e) => ({ track: n }) => {
8
+ Q(n) && e();
9
+ }, k = ({
12
10
  getRemoteStreams: e,
13
- setRemoteStreams: t
11
+ setRemoteStreams: n
14
12
  }) => q(() => {
15
- const n = e();
16
- o("remoteStreams", n), n && t(n);
17
- }, 200), ne = (e) => async (n) => {
13
+ const t = e();
14
+ c("remoteStreams", t), t && n(t);
15
+ }, 200), Z = (e) => async (t) => {
18
16
  const {
19
- mediaStream: r,
20
- extraHeaders: s,
21
- iceServers: a,
22
- degradationPreference: c,
17
+ mediaStream: s,
18
+ extraHeaders: r,
19
+ iceServers: o,
20
+ degradationPreference: a,
23
21
  setRemoteStreams: u,
24
- onBeforeProgressCall: i,
25
- onSuccessProgressCall: m,
26
- onEnterPurgatory: d,
27
- onEnterConference: l,
28
- onFailProgressCall: R,
29
- onFinishProgressCall: f,
30
- onEndedCall: C
31
- } = n, E = w({
22
+ onBeforeProgressCall: m,
23
+ onSuccessProgressCall: E,
24
+ onEnterPurgatory: C,
25
+ onEnterConference: f,
26
+ onFailProgressCall: T,
27
+ onFinishProgressCall: h,
28
+ onEndedCall: y
29
+ } = t, g = k({
32
30
  setRemoteStreams: u,
33
- getRemoteStreams: D(e)
34
- }), _ = G(E);
35
- o("answerIncomingCall", n);
36
- const b = async () => e.answerToIncomingCall({
37
- mediaStream: r,
38
- extraHeaders: s,
39
- iceServers: a,
40
- degradationPreference: c,
31
+ getRemoteStreams: B(e)
32
+ }), _ = G(g);
33
+ c("answerIncomingCall", t);
34
+ const v = async () => e.answerToIncomingCall({
35
+ mediaStream: s,
36
+ extraHeaders: r,
37
+ iceServers: o,
38
+ degradationPreference: a,
41
39
  ontrack: _
42
- }), h = () => {
43
- const { remoteCallerData: S } = e;
44
- return S.incomingNumber;
40
+ }), p = () => {
41
+ const { remoteCallerData: d } = e;
42
+ return d.incomingNumber;
45
43
  };
46
- let T = !1, M;
47
- const y = (() => (o("subscribeEnterConference: onEnterConference", l), d ?? l ? e.onSession("enterRoom", (S) => {
48
- o("enterRoom", { _room: S, isSuccessProgressCall: T }), M = S, A(M) ? d && d() : l && l({ isSuccessProgressCall: T });
44
+ let M = !1, i;
45
+ const l = (() => (c("subscribeEnterConference: onEnterConference", f), C ?? f ? e.onSession("enterRoom", (d) => {
46
+ c("enterRoom", { _room: d, isSuccessProgressCall: M }), i = d, A(i) ? C && C() : f && f({ isSuccessProgressCall: M });
49
47
  }) : () => {
50
- }))(), O = (S) => (o("onSuccess"), T = !0, E(), m && m({ isPurgatory: A(M) }), e.onceRaceSession(["ended", "failed"], () => {
51
- y(), C && C();
52
- }), S), v = (S) => {
53
- throw o("onFail"), R && R(), y(), S;
54
- }, N = () => {
55
- o("onFinish"), f && f();
48
+ }))(), R = (d) => (c("onSuccess"), M = !0, g(), E && E({ isPurgatory: A(i) }), e.onceRaceSession(["ended", "failed"], () => {
49
+ l(), y && y();
50
+ }), d), b = (d) => {
51
+ throw c("onFail"), T && T(), l(), d;
52
+ }, O = () => {
53
+ c("onFinish"), h && h();
56
54
  };
57
- if (o("onBeforeProgressCall"), i) {
58
- const S = h();
59
- i(S);
55
+ if (c("onBeforeProgressCall"), m) {
56
+ const d = p();
57
+ m(d);
60
58
  }
61
- return b().then(O).catch(v).finally(N);
62
- }, te = (e) => async (n) => {
59
+ return v().then(R).catch(b).finally(O);
60
+ }, ee = (e) => async (t) => {
63
61
  const {
64
- conference: r,
65
- mediaStream: s,
66
- extraHeaders: a,
67
- iceServers: c,
62
+ conference: s,
63
+ mediaStream: r,
64
+ extraHeaders: o,
65
+ iceServers: a,
68
66
  degradationPreference: u,
69
- setRemoteStreams: i,
70
- onBeforeProgressCall: m,
71
- onSuccessProgressCall: d,
72
- onEnterPurgatory: l,
73
- onEnterConference: R,
74
- onFailProgressCall: f,
75
- onFinishProgressCall: C,
76
- onEndedCall: E
77
- } = n, _ = w({
78
- setRemoteStreams: i,
79
- getRemoteStreams: D(e)
80
- }), b = G(_);
81
- o("callToServer", n);
82
- const h = async () => (o("startCall"), e.call({
83
- mediaStream: s,
84
- extraHeaders: a,
85
- iceServers: c,
67
+ setRemoteStreams: m,
68
+ onBeforeProgressCall: E,
69
+ onSuccessProgressCall: C,
70
+ onEnterPurgatory: f,
71
+ onEnterConference: T,
72
+ onFailProgressCall: h,
73
+ onFinishProgressCall: y,
74
+ onEndedCall: g
75
+ } = t, _ = k({
76
+ setRemoteStreams: m,
77
+ getRemoteStreams: B(e)
78
+ }), v = G(_);
79
+ c("callToServer", t);
80
+ const p = async () => (c("startCall"), e.call({
81
+ mediaStream: r,
82
+ extraHeaders: o,
83
+ iceServers: a,
86
84
  degradationPreference: u,
87
- number: r,
88
- ontrack: b
85
+ number: s,
86
+ ontrack: v
89
87
  }));
90
- let T = !1, M;
91
- const y = (() => (o("subscribeEnterConference: onEnterConference", R), l ?? R ? e.onSession("enterRoom", (S) => {
92
- o("enterRoom", { _room: S, isSuccessProgressCall: T }), M = S, A(M) ? l && l() : R && R({ isSuccessProgressCall: T });
88
+ let M = !1, i;
89
+ const l = (() => (c("subscribeEnterConference: onEnterConference", T), f ?? T ? e.onSession("enterRoom", (d) => {
90
+ c("enterRoom", { _room: d, isSuccessProgressCall: M }), i = d, A(i) ? f && f() : T && T({ isSuccessProgressCall: M });
93
91
  }) : () => {
94
- }))(), O = (S) => (o("onSuccess"), T = !0, _(), d && d({ isPurgatory: A(M) }), e.onceRaceSession(["ended", "failed"], () => {
95
- y(), E && E();
96
- }), S), v = (S) => {
97
- throw o("onFail"), f && f(), y(), S;
98
- }, N = () => {
99
- o("onFinish"), C && C();
92
+ }))(), R = (d) => (c("onSuccess"), M = !0, _(), C && C({ isPurgatory: A(i) }), e.onceRaceSession(["ended", "failed"], () => {
93
+ l(), g && g();
94
+ }), d), b = (d) => {
95
+ throw c("onFail"), h && h(), l(), d;
96
+ }, O = () => {
97
+ c("onFinish"), y && y();
100
98
  };
101
- return o("onBeforeProgressCall"), m && m(r), h().then(O).catch(v).finally(N);
102
- }, I = (e) => {
99
+ return c("onBeforeProgressCall"), E && E(s), p().then(R).catch(b).finally(O);
100
+ }, w = (e) => {
103
101
  if (!J(e))
104
102
  throw e;
105
103
  return !1;
106
- }, re = (e) => async (n) => {
104
+ }, ne = (e) => async (t) => {
107
105
  const {
108
- userAgent: r,
109
- sipWebSocketServerURL: s,
110
- sipServerUrl: a,
111
- remoteAddress: c,
106
+ userAgent: s,
107
+ sipWebSocketServerURL: r,
108
+ sipServerUrl: o,
109
+ remoteAddress: a,
112
110
  displayName: u,
113
- name: i,
114
- password: m,
115
- isRegisteredUser: d,
116
- sdpSemantics: l,
117
- isDisconnectOnFail: R
118
- } = n;
119
- return o("connectToServer", n), e.connect({
120
- userAgent: r,
121
- sdpSemantics: l,
122
- sipWebSocketServerURL: s,
123
- sipServerUrl: a,
124
- remoteAddress: c,
111
+ name: m,
112
+ password: E,
113
+ isRegisteredUser: C,
114
+ sdpSemantics: f,
115
+ isDisconnectOnFail: T
116
+ } = t;
117
+ return c("connectToServer", t), e.connect({
118
+ userAgent: s,
119
+ sdpSemantics: f,
120
+ sipWebSocketServerURL: r,
121
+ sipServerUrl: o,
122
+ remoteAddress: a,
125
123
  displayName: u,
126
- password: m,
127
- user: i,
128
- register: d
129
- }).then(() => (o("connectToServer then"), !0)).catch(async (f) => (o("connectToServer catch: error", f), R === !0 ? e.disconnect().then(() => I(f)).catch(() => I(f)) : I(f)));
130
- }, se = (e) => async () => (o("disconnectFromServer"), e.disconnect().then(() => (o("disconnectFromServer: then"), !1)).catch((t) => (o("disconnectFromServer: catch", t), !1))), F = (e) => {
131
- const { url: t, cause: n } = e;
132
- let r = t;
133
- return (n === V || n === $) && (r = `${e.message.to.uri.user}@${e.message.to.uri.host}`), r;
124
+ password: E,
125
+ user: m,
126
+ register: C
127
+ }).then(() => (c("connectToServer then"), !0)).catch(async (h) => (c("connectToServer catch: error", h), T === !0 ? e.disconnect().then(() => w(h)).catch(() => w(h)) : w(h)));
128
+ }, te = (e) => async () => (c("disconnectFromServer"), e.disconnect().then(() => (c("disconnectFromServer: then"), !1)).catch((n) => (c("disconnectFromServer: catch", n), !1))), D = (e) => {
129
+ const { url: n, cause: t } = e;
130
+ let s = n;
131
+ return (t === x || t === V) && (s = `${e.message.to.uri.user}@${e.message.to.uri.host}`), s;
134
132
  };
135
- var X = /* @__PURE__ */ ((e) => (e.CONNECT_SERVER_FAILED = "CONNECT_SERVER_FAILED", e.WRONG_USER_OR_PASSWORD = "WRONG_USER_OR_PASSWORD", e.BAD_MEDIA_ERROR = "BAD_MEDIA_ERROR", e.NOT_FOUND_ERROR = "NOT_FOUND_ERROR", e.WS_CONNECTION_FAILED = "WS_CONNECTION_FAILED", e.CONNECT_SERVER_FAILED_BY_LINK = "CONNECT_SERVER_FAILED_BY_LINK", e))(X || {});
136
- const oe = (e = new Error()) => {
137
- var s;
138
- const { cause: t, socket: n } = e;
139
- let r = "CONNECT_SERVER_FAILED";
140
- switch (t) {
133
+ var j = /* @__PURE__ */ ((e) => (e.CONNECT_SERVER_FAILED = "CONNECT_SERVER_FAILED", e.WRONG_USER_OR_PASSWORD = "WRONG_USER_OR_PASSWORD", e.BAD_MEDIA_ERROR = "BAD_MEDIA_ERROR", e.NOT_FOUND_ERROR = "NOT_FOUND_ERROR", e.WS_CONNECTION_FAILED = "WS_CONNECTION_FAILED", e.CONNECT_SERVER_FAILED_BY_LINK = "CONNECT_SERVER_FAILED_BY_LINK", e))(j || {});
134
+ const se = (e = new Error()) => {
135
+ var r;
136
+ const { cause: n, socket: t } = e;
137
+ let s = "CONNECT_SERVER_FAILED";
138
+ switch (n) {
141
139
  case "Forbidden": {
142
- r = "WRONG_USER_OR_PASSWORD";
140
+ s = "WRONG_USER_OR_PASSWORD";
143
141
  break;
144
142
  }
145
- case V: {
146
- r = "BAD_MEDIA_ERROR";
143
+ case x: {
144
+ s = "BAD_MEDIA_ERROR";
147
145
  break;
148
146
  }
149
- case $: {
150
- r = "NOT_FOUND_ERROR";
147
+ case V: {
148
+ s = "NOT_FOUND_ERROR";
151
149
  break;
152
150
  }
153
151
  default:
154
- n && ((s = n == null ? void 0 : n._ws) == null ? void 0 : s.readyState) === 3 ? r = "WS_CONNECTION_FAILED" : F(e) && (r = "CONNECT_SERVER_FAILED_BY_LINK");
152
+ t && ((r = t == null ? void 0 : t._ws) == null ? void 0 : r.readyState) === 3 ? s = "WS_CONNECTION_FAILED" : D(e) && (s = "CONNECT_SERVER_FAILED_BY_LINK");
155
153
  }
156
- return r;
157
- }, ae = (e = new Error()) => {
158
- const { code: t, cause: n, message: r } = e, s = F(e), a = {};
159
- return r && (a.message = r), s && (a.link = s), t && (a.code = t), n && (a.cause = n), a;
160
- }, ce = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
154
+ return s;
155
+ }, re = (e = new Error()) => {
156
+ const { code: n, cause: t, message: s } = e, r = D(e), o = {};
157
+ return s && (o.message = s), r && (o.link = r), n && (o.code = n), t && (o.cause = t), o;
158
+ }, oe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
161
159
  __proto__: null,
162
- EErrorTypes: X,
163
- getLinkError: F,
164
- getTypeFromError: oe,
165
- getValuesFromError: ae
166
- }, Symbol.toStringTag, { value: "Module" })), ie = ({
160
+ EErrorTypes: j,
161
+ getLinkError: D,
162
+ getTypeFromError: se,
163
+ getValuesFromError: re
164
+ }, Symbol.toStringTag, { value: "Module" })), ce = ({
167
165
  sessionId: e,
168
- remoteAddress: t,
169
- isMutedAudio: n,
170
- isMutedVideo: r,
171
- isRegistered: s,
172
- isPresentationCall: a
166
+ remoteAddress: n,
167
+ isMutedAudio: t,
168
+ isMutedVideo: s,
169
+ isRegistered: r,
170
+ isPresentationCall: o
173
171
  }) => {
174
- const c = [], u = n ? "0" : "1", i = r ? "0" : "1";
175
- return c.push(`X-Vinteo-Mic-State: ${u}`, `X-Vinteo-MainCam-State: ${i}`), s || c.push("X-Vinteo-Purgatory-Call: yes"), e && c.push(`X-Vinteo-Session: ${e}`), a && c.push("X-Vinteo-Presentation-Call: yes"), t && c.push(`X-Vinteo-Remote: ${t}`), c;
176
- }, ue = ({
172
+ const a = [], u = t ? "0" : "1", m = s ? "0" : "1";
173
+ return a.push(`X-Vinteo-Mic-State: ${u}`, `X-Vinteo-MainCam-State: ${m}`), r || a.push("X-Vinteo-Purgatory-Call: yes"), e && a.push(`X-Vinteo-Session: ${e}`), o && a.push("X-Vinteo-Presentation-Call: yes"), n && a.push(`X-Vinteo-Remote: ${n}`), a;
174
+ }, ae = ({
177
175
  appName: e,
178
- appVersion: t,
179
- browserName: n,
180
- browserVersion: r
176
+ appVersion: n,
177
+ browserName: t,
178
+ browserVersion: s
181
179
  }) => {
182
- const s = `${e} ${t}`;
183
- return `ChromeNew - ${n ? `${n} ${r}, ${s}` : s}`;
184
- }, le = ({
180
+ const r = `${e} ${n}`;
181
+ return `ChromeNew - ${t ? `${t} ${s}, ${r}` : r}`;
182
+ }, ie = ({
185
183
  isUnifiedSdpSemantic: e,
186
- appVersion: t,
187
- browserName: n,
188
- browserVersion: r,
189
- appName: s
190
- }) => e ? ue({ appVersion: t, browserName: n, browserVersion: r, appName: s }) : "Chrome", Se = (e) => async () => {
184
+ appVersion: n,
185
+ browserName: t,
186
+ browserVersion: s,
187
+ appName: r
188
+ }) => e ? ae({ appVersion: n, browserName: t, browserVersion: s, appName: r }) : "Chrome", ue = (e) => async () => {
191
189
  if (e.isCallActive)
192
- return o("askPermissionToEnableCam"), e.askPermissionToEnableCam();
193
- }, me = (e) => (n) => (o("onMustStopPresentation"), e.onSession("mustStopPresentation", n)), de = (e) => (n) => (o("onUseLicense"), e.onSession("useLicense", n)), fe = (e) => async ({
194
- isEnabledCam: n,
195
- isEnabledMic: r
190
+ return c("askPermissionToEnableCam"), e.askPermissionToEnableCam();
191
+ }, le = (e) => (t) => (c("onMustStopPresentation"), e.onSession("mustStopPresentation", t)), Se = (e) => (t) => (c("onUseLicense"), e.onSession("useLicense", t)), de = (e) => async ({
192
+ isEnabledCam: t,
193
+ isEnabledMic: s
196
194
  }) => {
197
195
  if (e.isCallActive)
198
- return o("sendMediaState"), e.sendMediaState({ cam: n, mic: r });
199
- }, Ce = (e) => async () => {
196
+ return c("sendMediaState"), e.sendMediaState({ cam: t, mic: s });
197
+ }, me = (e) => async () => {
200
198
  if (e.isCallActive)
201
- return o("sendRefusalToTurnOnCam"), e.sendRefusalToTurnOnCam().catch((n) => {
202
- o("sendRefusalToTurnOnCam: error", n);
199
+ return c("sendRefusalToTurnOnCam"), e.sendRefusalToTurnOnCam().catch((t) => {
200
+ c("sendRefusalToTurnOnCam: error", t);
203
201
  });
204
- }, Re = (e) => async () => {
202
+ }, fe = (e) => async () => {
205
203
  if (e.isCallActive)
206
- return o("sendRefusalToTurnOnMic"), e.sendRefusalToTurnOnMic().catch((n) => {
207
- o("sendRefusalToTurnOnMic: error", n);
204
+ return c("sendRefusalToTurnOnMic"), e.sendRefusalToTurnOnMic().catch((t) => {
205
+ c("sendRefusalToTurnOnMic: error", t);
208
206
  });
209
- }, ge = 1e6, Ee = ({
210
- maxBitrate: e = ge,
211
- sipConnector: t
207
+ }, Ce = 1e6, Ee = ({
208
+ maxBitrate: e = Ce,
209
+ sipConnector: n
212
210
  }) => async ({
213
- mediaStream: r,
214
- isP2P: s = !1
215
- }) => (o("startPresentation"), t.startPresentation(r, {
216
- isP2P: s,
211
+ mediaStream: s,
212
+ isP2P: r = !1
213
+ }) => (c("startPresentation"), n.startPresentation(s, {
214
+ isP2P: r,
217
215
  maxBitrate: e
218
- })), Te = ({ sipConnector: e }) => async ({ isP2P: n = !1 } = {}) => (o("stopShareSipConnector"), e.stopPresentation({
219
- isP2P: n
220
- }).catch(o)), Me = 1e6, _e = ({
216
+ })), ge = ({ sipConnector: e }) => async ({ isP2P: t = !1 } = {}) => (c("stopShareSipConnector"), e.stopPresentation({
217
+ isP2P: t
218
+ }).catch(c)), Re = 1e6, he = ({
221
219
  sipConnector: e,
222
- maxBitrate: t = Me
220
+ maxBitrate: n = Re
223
221
  }) => async ({
224
- mediaStream: r,
225
- isP2P: s = !1
226
- }) => (o("updatePresentation"), e.updatePresentation(r, {
227
- isP2P: s,
228
- maxBitrate: t
229
- })), ye = (e) => (t) => [...t].map((r) => async () => e(r)), be = async ({
222
+ mediaStream: s,
223
+ isP2P: r = !1
224
+ }) => (c("updatePresentation"), e.updatePresentation(s, {
225
+ isP2P: r,
226
+ maxBitrate: n
227
+ })), ye = "ERROR_NOT_RUNNING", Te = (e) => {
228
+ const n = new Error("Promise was not running");
229
+ return n.basePromise = e, n.id = ye, n.name = "Not running", n;
230
+ }, _e = async (e, n) => e.reduce(
231
+ async (t, s) => t.then(async ({ success: r, errors: o, results: a }) => (!n || n(s) ? s() : Promise.reject(Te(s))).then((u) => ({
232
+ errors: o,
233
+ success: [...r, u],
234
+ results: [...a, u],
235
+ isSuccessful: !0,
236
+ isError: !1
237
+ })).catch((u) => ({
238
+ success: r,
239
+ errors: [...o, u],
240
+ results: [...a, u],
241
+ isSuccessful: !1,
242
+ isError: !0
243
+ }))),
244
+ Promise.resolve({
245
+ success: [],
246
+ errors: [],
247
+ results: [],
248
+ isSuccessful: !1,
249
+ isError: !1
250
+ })
251
+ ), Me = (e) => (n) => [...n].map((s) => async () => e(s)), be = async ({
230
252
  accumulatedKeys: e,
231
- sendKey: t,
232
- canRunTask: n
253
+ sendKey: n,
254
+ canRunTask: t
233
255
  }) => {
234
- const s = ye(t)(e);
235
- return Q(s, n);
236
- }, he = (e) => (n) => (o("onStartMainCam"), e.onSession("admin-start-main-cam", n)), Oe = (e) => (n) => (o("onStartMic"), e.onSession("admin-start-mic", n)), ve = (e) => (n) => (o("onStopMainCam"), e.onSession("admin-stop-main-cam", n)), Ne = (e) => (n) => (o("onStopMic"), e.onSession("admin-stop-mic", n)), Ae = ({ sipConnector: e }) => {
237
- const t = (C, E) => ({ isSyncForced: _ = !1 }) => {
256
+ const r = Me(n)(e);
257
+ return _e(r, t);
258
+ }, Ne = (e) => (t) => (c("onStartMainCam"), e.onSession("admin-start-main-cam", t)), Oe = (e) => (t) => (c("onStartMic"), e.onSession("admin-start-mic", t)), ve = (e) => (t) => (c("onStopMainCam"), e.onSession("admin-stop-main-cam", t)), pe = (e) => (t) => (c("onStopMic"), e.onSession("admin-stop-mic", t)), Ae = ({ sipConnector: e }) => {
259
+ const n = (y, g) => ({ isSyncForced: _ = !1 }) => {
238
260
  if (_) {
239
- C();
261
+ y();
240
262
  return;
241
263
  }
242
- E();
243
- }, n = he(e), r = ve(e), s = Oe(e), a = Ne(e);
244
- let c = () => {
264
+ g();
265
+ }, t = Ne(e), s = ve(e), r = Oe(e), o = pe(e);
266
+ let a = () => {
245
267
  }, u = () => {
246
- }, i = () => {
247
268
  }, m = () => {
269
+ }, E = () => {
248
270
  };
249
- const d = ({
250
- onStartMainCamForced: C,
251
- onStartMainCamNotForced: E,
271
+ const C = ({
272
+ onStartMainCamForced: y,
273
+ onStartMainCamNotForced: g,
252
274
  onStopMainCamForced: _,
253
- onStopMainCamNotForced: b,
254
- onStartMicForced: h,
255
- onStartMicNotForced: T,
256
- onStopMicForced: M,
257
- onStopMicNotForced: p
275
+ onStopMainCamNotForced: v,
276
+ onStartMicForced: p,
277
+ onStartMicNotForced: M,
278
+ onStopMicForced: i,
279
+ onStopMicNotForced: S
258
280
  }) => {
259
- const y = t(
260
- C,
261
- E
281
+ const l = n(
282
+ y,
283
+ g
262
284
  );
263
- c = n(y);
264
- const O = t(
285
+ a = t(l);
286
+ const R = n(
265
287
  _,
266
- b
288
+ v
267
289
  );
268
- u = r(O);
269
- const v = t(h, T);
270
- i = s(v);
271
- const N = t(M, p);
272
- m = a(N);
273
- }, l = () => {
274
- c(), u(), i(), m();
290
+ u = s(R);
291
+ const b = n(p, M);
292
+ m = r(b);
293
+ const O = n(i, S);
294
+ E = o(O);
295
+ }, f = () => {
296
+ a(), u(), m(), E();
275
297
  };
276
298
  return {
277
- start: (C) => {
278
- d(C);
299
+ start: (y) => {
300
+ C(y);
279
301
  },
280
302
  stop: () => {
281
- l();
303
+ f();
282
304
  }
283
305
  };
284
- }, Qe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
306
+ }, rn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
285
307
  __proto__: null,
286
- PURGATORY_CONFERENCE_NUMBER: x,
308
+ PURGATORY_CONFERENCE_NUMBER: $,
287
309
  createSyncMediaState: Ae,
288
- error: ce,
289
- getExtraHeaders: ie,
290
- getUserAgent: le,
310
+ error: oe,
311
+ getExtraHeaders: ce,
312
+ getUserAgent: ie,
291
313
  hasPurgatory: A,
292
- resolveAnswerIncomingCall: ne,
293
- resolveAskPermissionToEnableCam: Se,
294
- resolveCallToServer: te,
295
- resolveConnectToServer: re,
296
- resolveDisconnectFromServer: se,
297
- resolveGetRemoteStreams: D,
298
- resolveOnMustStopPresentation: me,
299
- resolveOnUseLicense: de,
300
- resolveSendMediaState: fe,
301
- resolveSendRefusalToTurnOnCam: Ce,
302
- resolveSendRefusalToTurnOnMic: Re,
314
+ resolveAnswerIncomingCall: Z,
315
+ resolveAskPermissionToEnableCam: ue,
316
+ resolveCallToServer: ee,
317
+ resolveConnectToServer: ne,
318
+ resolveDisconnectFromServer: te,
319
+ resolveGetRemoteStreams: B,
320
+ resolveOnMustStopPresentation: le,
321
+ resolveOnUseLicense: Se,
322
+ resolveSendMediaState: de,
323
+ resolveSendRefusalToTurnOnCam: me,
324
+ resolveSendRefusalToTurnOnMic: fe,
303
325
  resolveStartPresentation: Ee,
304
- resolveStopShareSipConnector: Te,
305
- resolveUpdatePresentation: _e,
306
- resolveUpdateRemoteStreams: w,
326
+ resolveStopShareSipConnector: ge,
327
+ resolveUpdatePresentation: he,
328
+ resolveUpdateRemoteStreams: k,
307
329
  sendDTMFAccumulated: be
308
- }, Symbol.toStringTag, { value: "Module" })), pe = (e) => [...e.keys()].map((t) => e.get(t)), Be = (e, t) => pe(e).find((n) => n.type === t), Ie = async (e) => e.getStats().then((t) => {
309
- const n = Be(t, "codec");
310
- return n == null ? void 0 : n.mimeType;
311
- }), Pe = (e) => e.find((t) => {
312
- var n;
313
- return ((n = t == null ? void 0 : t.track) == null ? void 0 : n.kind) === "video";
314
- }), K = (e, t) => e !== void 0 && t !== void 0 && e.toLowerCase().includes(t.toLowerCase()), De = 1e6, g = (e) => e * De, W = g(0.06), we = g(4), Fe = (e) => e <= 64 ? W : e <= 128 ? g(0.12) : e <= 256 ? g(0.25) : e <= 384 ? g(0.32) : e <= 426 ? g(0.38) : e <= 640 ? g(0.5) : e <= 848 ? g(0.7) : e <= 1280 ? g(1) : e <= 1920 ? g(2) : we, ke = "av1", Ue = (e) => K(e, ke), Le = 0.6, H = (e, t) => Ue(t) ? e * Le : e, Ve = (e) => H(W, e), j = (e, t) => {
315
- const n = Fe(e);
316
- return H(n, t);
317
- }, Y = Z(), $e = async () => Y().catch((e) => {
318
- o("videoSendingBalancer: error", e);
319
- }), xe = async (e) => (Y.add(e), $e()), k = async ({
330
+ }, Symbol.toStringTag, { value: "Module" })), Pe = (e) => [...e.keys()].map((n) => e.get(n)), we = (e, n) => Pe(e).find((t) => t.type === n), Ie = async (e) => e.getStats().then((n) => {
331
+ const t = we(n, "codec");
332
+ return t == null ? void 0 : t.mimeType;
333
+ }), Be = (e) => e.find((n) => {
334
+ var t;
335
+ return ((t = n == null ? void 0 : n.track) == null ? void 0 : t.kind) === "video";
336
+ }), X = (e, n) => e !== void 0 && n !== void 0 && e.toLowerCase().includes(n.toLowerCase()), ke = "ERROR_NOT_RUNNING", De = (e) => {
337
+ const n = new Error("Promise was not running");
338
+ return n.basePromise = e, n.id = ke, n.name = "Not running", n;
339
+ }, Fe = async (e, n) => e.reduce(
340
+ async (t, s) => t.then(async ({ success: r, errors: o, results: a }) => (!n || n(s) ? s() : Promise.reject(De(s))).then((u) => ({
341
+ errors: o,
342
+ success: [...r, u],
343
+ results: [...a, u],
344
+ isSuccessful: !0,
345
+ isError: !1
346
+ })).catch((u) => ({
347
+ success: r,
348
+ errors: [...o, u],
349
+ results: [...a, u],
350
+ isSuccessful: !1,
351
+ isError: !0
352
+ }))),
353
+ Promise.resolve({
354
+ success: [],
355
+ errors: [],
356
+ results: [],
357
+ isSuccessful: !1,
358
+ isError: !1
359
+ })
360
+ ), Ue = new Error("Stack is empty"), Le = new Error("Promise is not actual"), xe = new Error(
361
+ "stackPromises only works with functions that returns a Promise"
362
+ ), Ve = ({
363
+ noRejectIsNotActual: e = !1,
364
+ noRunIsNotActual: n = !1
365
+ } = {}) => {
366
+ const t = [], s = [], r = ({ task: i, index: S }) => {
367
+ s.push({ task: i, index: S });
368
+ }, o = (i, { task: S, index: l }) => {
369
+ const R = s.find(({ task: b, index: O }) => S === b && l === O);
370
+ if (!R)
371
+ throw new Error("Task not found");
372
+ if (R.promise)
373
+ throw new Error("Task is already running");
374
+ R.promise = i;
375
+ }, a = ({
376
+ task: i,
377
+ index: S
378
+ }) => {
379
+ const l = s.find(({ task: R, index: b }) => i === R && S === b);
380
+ if (l)
381
+ return l.promise;
382
+ }, u = ({ task: i }) => {
383
+ const S = s.at(-1);
384
+ return (S == null ? void 0 : S.task) === i;
385
+ }, m = ({ task: i, index: S }) => (r({ task: i, index: S }), async () => {
386
+ let l = a({ task: i, index: S });
387
+ const R = u({ task: i });
388
+ return !l && n && !R ? Promise.resolve() : (l || (l = i({ isActual: R }), o(l, { task: i, index: S })), l);
389
+ }), E = ({
390
+ resolve: i,
391
+ reject: S
392
+ }) => ({ results: l, isSuccessful: R }) => {
393
+ const b = l.length, O = t.length;
394
+ if (b === O) {
395
+ const d = l.at(-1);
396
+ if (R) {
397
+ i(d);
398
+ return;
399
+ }
400
+ S(d);
401
+ return;
402
+ }
403
+ if (e) {
404
+ const d = l.at(-1);
405
+ i(d);
406
+ return;
407
+ }
408
+ S(Le);
409
+ };
410
+ let C = !1;
411
+ const f = () => {
412
+ C = !0;
413
+ }, T = () => {
414
+ C = !1;
415
+ }, h = () => C, y = async () => (f(), Fe(t, h)), g = async () => {
416
+ if (t.length === 0)
417
+ throw Ue;
418
+ return new Promise((i, S) => {
419
+ const l = E({ resolve: i, reject: S });
420
+ y().then(l).catch(l);
421
+ });
422
+ }, _ = (i) => {
423
+ if (typeof i != "function")
424
+ throw xe;
425
+ const S = t.length;
426
+ return t.push(m({ task: i, index: S })), g;
427
+ }, v = async (i) => (_(i), g()), p = () => {
428
+ t.length = 0, s.length = 0;
429
+ }, M = () => {
430
+ T(), p();
431
+ };
432
+ return g.add = _, g.run = v, g.stop = M, g;
433
+ }, $e = 1e6, N = (e) => e * $e, K = N(0.06), Ge = N(4), je = (e) => e <= 64 ? K : e <= 128 ? N(0.12) : e <= 256 ? N(0.25) : e <= 384 ? N(0.32) : e <= 426 ? N(0.38) : e <= 640 ? N(0.5) : e <= 848 ? N(0.7) : e <= 1280 ? N(1) : e <= 1920 ? N(2) : Ge, Xe = "av1", Ke = (e) => X(e, Xe), We = 0.6, W = (e, n) => Ke(n) ? e * We : e, He = (e) => W(K, e), H = (e, n) => {
434
+ const t = je(e);
435
+ return W(t, n);
436
+ }, Y = Ve(), Ye = async () => Y().catch((e) => {
437
+ c("videoSendingBalancer: error", e);
438
+ }), ze = async (e) => (Y.add(e), Ye()), F = async ({
320
439
  sender: e,
321
- scaleResolutionDownBy: t,
322
- maxBitrate: n,
323
- onSetParameters: r
324
- }) => xe(async () => z(e, { scaleResolutionDownBy: t, maxBitrate: n }, r)), Ge = async ({ sender: e, codec: t }, n) => {
325
- const s = Ve(t);
326
- return k({
440
+ scaleResolutionDownBy: n,
441
+ maxBitrate: t,
442
+ onSetParameters: s
443
+ }) => ze(async () => z(e, { scaleResolutionDownBy: n, maxBitrate: t }, s)), qe = async ({ sender: e, codec: n }, t) => {
444
+ const r = He(n);
445
+ return F({
327
446
  sender: e,
328
- maxBitrate: s,
329
- onSetParameters: n,
447
+ maxBitrate: r,
448
+ onSetParameters: t,
330
449
  scaleResolutionDownBy: 200
331
450
  });
332
- }, P = async ({ sender: e, track: t, codec: n }, r) => {
333
- const c = t.getSettings().width, u = j(c, n);
334
- return k({
451
+ }, I = async ({ sender: e, track: n, codec: t }, s) => {
452
+ const a = n.getSettings().width, u = H(a, t);
453
+ return F({
335
454
  sender: e,
336
455
  maxBitrate: u,
337
- onSetParameters: r,
456
+ onSetParameters: s,
338
457
  scaleResolutionDownBy: 1
339
458
  });
340
- }, Xe = async ({
459
+ }, Je = async ({
341
460
  sender: e,
342
- track: t,
343
- resolution: n,
344
- codec: r
345
- }, s) => {
346
- const a = t.getSettings(), c = a.width, u = a.height, [i, m] = n.split("x"), d = c / Number(i), l = u / Number(m), f = Math.max(d, l, 1), C = j(Number(i), r);
347
- return k({
461
+ track: n,
462
+ resolution: t,
463
+ codec: s
464
+ }, r) => {
465
+ const o = n.getSettings(), a = o.width, u = o.height, [m, E] = t.split("x"), C = a / Number(m), f = u / Number(E), h = Math.max(C, f, 1), y = H(Number(m), s);
466
+ return F({
348
467
  sender: e,
349
- maxBitrate: C,
350
- onSetParameters: s,
351
- scaleResolutionDownBy: f
468
+ maxBitrate: y,
469
+ onSetParameters: r,
470
+ scaleResolutionDownBy: h
352
471
  });
353
- }, Ke = async ({
472
+ }, Qe = async ({
354
473
  mainCam: e,
355
- resolutionMainCam: t,
356
- sender: n,
357
- track: r,
358
- codec: s
359
- }, a) => {
474
+ resolutionMainCam: n,
475
+ sender: t,
476
+ track: s,
477
+ codec: r
478
+ }, o) => {
360
479
  switch (e) {
361
- case B.PAUSE_MAIN_CAM:
362
- return Ge({ sender: n, codec: s }, a);
363
- case B.RESUME_MAIN_CAM:
364
- return P({ sender: n, track: r, codec: s }, a);
365
- case B.MAX_MAIN_CAM_RESOLUTION:
366
- return t !== void 0 ? Xe(
367
- { sender: n, track: r, codec: s, resolution: t },
368
- a
369
- ) : P({ sender: n, track: r, codec: s }, a);
480
+ case P.PAUSE_MAIN_CAM:
481
+ return qe({ sender: t, codec: r }, o);
482
+ case P.RESUME_MAIN_CAM:
483
+ return I({ sender: t, track: s, codec: r }, o);
484
+ case P.MAX_MAIN_CAM_RESOLUTION:
485
+ return n !== void 0 ? Je(
486
+ { sender: t, track: s, codec: r, resolution: n },
487
+ o
488
+ ) : I({ sender: t, track: s, codec: r }, o);
370
489
  default:
371
- return P({ sender: n, track: r, codec: s }, a);
490
+ return I({ sender: t, track: s, codec: r }, o);
372
491
  }
373
492
  }, U = {
374
493
  isChanged: !1,
@@ -381,76 +500,76 @@ const oe = (e = new Error()) => {
381
500
  }
382
501
  }, L = async ({
383
502
  mainCam: e,
384
- resolutionMainCam: t,
385
- connection: n,
386
- onSetParameters: r,
387
- ignoreForCodec: s
503
+ resolutionMainCam: n,
504
+ connection: t,
505
+ onSetParameters: s,
506
+ ignoreForCodec: r
388
507
  }) => {
389
- const a = n.getSenders(), c = Pe(a);
390
- if (!(c != null && c.track))
508
+ const o = t.getSenders(), a = Be(o);
509
+ if (!(a != null && a.track))
391
510
  return U;
392
- const u = await Ie(c);
393
- return K(u, s) ? U : Ke(
394
- { mainCam: e, resolutionMainCam: t, sender: c, codec: u, track: c.track },
395
- r
511
+ const u = await Ie(a);
512
+ return X(u, r) ? U : Qe(
513
+ { mainCam: e, resolutionMainCam: n, sender: a, codec: u, track: a.track },
514
+ s
396
515
  );
397
- }, Ze = (e, {
398
- ignoreForCodec: t,
399
- onSetParameters: n
516
+ }, on = (e, {
517
+ ignoreForCodec: n,
518
+ onSetParameters: t
400
519
  } = {}) => {
401
- const r = async () => {
402
- const { connection: i } = e;
403
- if (!i)
520
+ const s = async () => {
521
+ const { connection: m } = e;
522
+ if (!m)
404
523
  throw new Error("connection is not exist");
405
524
  return L({
406
- connection: i,
407
- onSetParameters: n,
408
- ignoreForCodec: t
525
+ connection: m,
526
+ onSetParameters: t,
527
+ ignoreForCodec: n
409
528
  });
410
529
  };
411
- let s = r;
412
- const a = async (i) => (s = async () => {
413
- const { mainCam: m, resolutionMainCam: d } = i, { connection: l } = e;
414
- if (!l)
530
+ let r = s;
531
+ const o = async (m) => (r = async () => {
532
+ const { mainCam: E, resolutionMainCam: C } = m, { connection: f } = e;
533
+ if (!f)
415
534
  throw new Error("connection is not exist");
416
535
  return L({
417
- mainCam: m,
418
- resolutionMainCam: d,
419
- connection: l,
420
- onSetParameters: n,
421
- ignoreForCodec: t
536
+ mainCam: E,
537
+ resolutionMainCam: C,
538
+ connection: f,
539
+ onSetParameters: t,
540
+ ignoreForCodec: n
422
541
  });
423
- }, s());
542
+ }, r());
424
543
  return {
425
544
  subscribe: () => {
426
- e.onSession("main-cam-control", a);
545
+ e.onSession("main-cam-control", o);
427
546
  },
428
547
  unsubscribe: () => {
429
- e.offSession("main-cam-control", a);
548
+ e.offSession("main-cam-control", o);
430
549
  },
431
- balanceByTrack: r,
550
+ balanceByTrack: s,
432
551
  resetMainCamControl() {
433
- s = r;
552
+ r = s;
434
553
  },
435
554
  async reBalance() {
436
- return s();
555
+ return r();
437
556
  }
438
557
  };
439
558
  };
440
559
  export {
441
- B as EEventsMainCAM,
442
- tn as EEventsMic,
443
- rn as EEventsSyncMediaState,
444
- sn as EUseLicense,
445
- on as causes,
446
- an as constants,
447
- dn as debug,
448
- He as default,
449
- cn as disableDebug,
450
- un as enableDebug,
451
- ln as eventNames,
560
+ P as EEventsMainCAM,
561
+ un as EEventsMic,
562
+ ln as EEventsSyncMediaState,
563
+ Sn as EUseLicense,
564
+ dn as causes,
565
+ mn as constants,
566
+ hn as debug,
567
+ en as default,
568
+ fn as disableDebug,
569
+ Cn as enableDebug,
570
+ En as eventNames,
452
571
  Ie as getCodecFromSender,
453
- Sn as hasCanceledCallError,
454
- Ze as resolveVideoSendingBalancer,
455
- Qe as tools
572
+ gn as hasCanceledCallError,
573
+ on as resolveVideoSendingBalancer,
574
+ rn as tools
456
575
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sip-connector",
3
- "version": "6.21.0",
3
+ "version": "6.21.1",
4
4
  "description": "Module for connect to Vinteo server",
5
5
  "keywords": [
6
6
  "webrtc",
@@ -46,7 +46,7 @@
46
46
  "release": "standard-version && yarn release:publish",
47
47
  "release:major": "standard-version --release-as major && yarn release:publish",
48
48
  "release:pre": "standard-version --prerelease && yarn release:publish",
49
- "release:publish": "git push --follow-tags origin master && npm publish",
49
+ "release:publish": "git push --follow-tags origin master && npm publish --access=public",
50
50
  "test": "jest --watch",
51
51
  "test:ci": "cross-env CI=true jest --passWithNoTests",
52
52
  "test:coverage": "yarn test:ci --coverage --reporters=default --reporters=jest-junit"
@@ -102,8 +102,6 @@
102
102
  "@krivega/jssip": "^3.22.0",
103
103
  "debug": "^4.3.4",
104
104
  "events-constructor": "^1.2.2",
105
- "sequent-promises": "^1.0.0",
106
- "stack-promises": "^1.0.0",
107
105
  "ts-debounce": "^4.0.0"
108
106
  },
109
107
  "main:src": "src/index.ts"