sip-connector 14.1.0 → 14.1.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.
Files changed (98) hide show
  1. package/dist/SipConnector-DRjfFGAZ.js +1339 -0
  2. package/dist/SipConnector-EXAO9Z-2.cjs +1 -0
  3. package/dist/doMock.cjs +1 -1
  4. package/dist/doMock.js +399 -402
  5. package/dist/index.cjs +1 -1
  6. package/dist/index.js +499 -500
  7. package/dist/src/SipConnector.d.ts +235 -0
  8. package/dist/{SipConnectorFacade → src/SipConnectorFacade}/SipConnectorFacade.d.ts +7 -7
  9. package/dist/{__fixtures__ → src/__fixtures__}/BaseSession.mock.d.ts +22 -34
  10. package/dist/{__fixtures__ → src/__fixtures__}/RTCPeerConnectionMock.d.ts +15 -15
  11. package/dist/{__fixtures__ → src/__fixtures__}/RTCRtpSenderMock.d.ts +2 -2
  12. package/dist/{__fixtures__ → src/__fixtures__}/RTCSessionMock.d.ts +34 -38
  13. package/dist/{__fixtures__ → src/__fixtures__}/UA.mock.d.ts +25 -44
  14. package/dist/{__fixtures__ → src/__fixtures__}/channelsNotify.d.ts +2 -2
  15. package/dist/{__fixtures__ → src/__fixtures__}/jssip.mock.d.ts +1 -1
  16. package/dist/{__fixtures__ → src/__fixtures__}/participantNotify.d.ts +2 -2
  17. package/dist/{tools → src/tools}/index.d.ts +2 -2
  18. package/dist/{tools → src/tools}/sendDTMFAccumulated.d.ts +2 -2
  19. package/dist/{types.d.ts → src/types.d.ts} +2 -1
  20. package/dist/src/videoSendingBalancer/scaleBitrate.d.ts +2 -0
  21. package/package.json +30 -30
  22. package/dist/SipConnector-BPIL3yLc.js +0 -1343
  23. package/dist/SipConnector-BUbfMgHs.cjs +0 -1
  24. package/dist/SipConnector.d.ts +0 -315
  25. package/dist/utils.d.ts +0 -4
  26. package/dist/videoSendingBalancer/scaleBitrate.d.ts +0 -2
  27. /package/dist/{SipConnectorFacade → src/SipConnectorFacade}/index.d.ts +0 -0
  28. /package/dist/{__fixtures__ → src/__fixtures__}/Registrator.mock.d.ts +0 -0
  29. /package/dist/{__fixtures__ → src/__fixtures__}/Request.mock.d.ts +0 -0
  30. /package/dist/{__fixtures__ → src/__fixtures__}/WebSocketInterface.mock.d.ts +0 -0
  31. /package/dist/{__fixtures__ → src/__fixtures__}/accountNotify.d.ts +0 -0
  32. /package/dist/{__fixtures__ → src/__fixtures__}/channels.d.ts +0 -0
  33. /package/dist/{__fixtures__ → src/__fixtures__}/conferenceParticipantTokenIssuedNotify.d.ts +0 -0
  34. /package/dist/{__fixtures__ → src/__fixtures__}/delayPromise.d.ts +0 -0
  35. /package/dist/{__fixtures__ → src/__fixtures__}/enterRoom.d.ts +0 -0
  36. /package/dist/{__fixtures__ → src/__fixtures__}/index.d.ts +0 -0
  37. /package/dist/{__fixtures__ → src/__fixtures__}/mediaState.d.ts +0 -0
  38. /package/dist/{__fixtures__ → src/__fixtures__}/participantMoveRequests.d.ts +0 -0
  39. /package/dist/{__fixtures__ → src/__fixtures__}/remoteCallerData.d.ts +0 -0
  40. /package/dist/{__fixtures__ → src/__fixtures__}/utils.d.ts +0 -0
  41. /package/dist/{__fixtures__ → src/__fixtures__}/webcastNotify.d.ts +0 -0
  42. /package/dist/{causes.d.ts → src/causes.d.ts} +0 -0
  43. /package/dist/{constants.d.ts → src/constants.d.ts} +0 -0
  44. /package/dist/{doMock.d.ts → src/doMock.d.ts} +0 -0
  45. /package/dist/{eventNames.d.ts → src/eventNames.d.ts} +0 -0
  46. /package/dist/{getExtraHeadersRemoteAddress.d.ts → src/getExtraHeadersRemoteAddress.d.ts} +0 -0
  47. /package/dist/{headers.d.ts → src/headers.d.ts} +0 -0
  48. /package/dist/{index.d.ts → src/index.d.ts} +0 -0
  49. /package/dist/{logger.d.ts → src/logger.d.ts} +0 -0
  50. /package/dist/{setParametersToSender → src/setParametersToSender}/configureDegradationPreference.d.ts +0 -0
  51. /package/dist/{setParametersToSender → src/setParametersToSender}/configureEmptyEncodings.d.ts +0 -0
  52. /package/dist/{setParametersToSender → src/setParametersToSender}/configureEncodings.d.ts +0 -0
  53. /package/dist/{setParametersToSender → src/setParametersToSender}/configureMaxBitrate.d.ts +0 -0
  54. /package/dist/{setParametersToSender → src/setParametersToSender}/configureScaleResolutionDownBy.d.ts +0 -0
  55. /package/dist/{setParametersToSender → src/setParametersToSender}/hasChangedRTCRtpSendParameters.d.ts +0 -0
  56. /package/dist/{setParametersToSender → src/setParametersToSender}/index.d.ts +0 -0
  57. /package/dist/{setParametersToSender → src/setParametersToSender}/resolveHasNeedToUpdateItemEncoding.d.ts +0 -0
  58. /package/dist/{setParametersToSender → src/setParametersToSender}/setParametersToSender.d.ts +0 -0
  59. /package/dist/{tools → src/tools}/__fixtures__/call.d.ts +0 -0
  60. /package/dist/{tools → src/tools}/__fixtures__/connectToServer.d.ts +0 -0
  61. /package/dist/{tools → src/tools}/__fixtures__/hasValidUri.d.ts +0 -0
  62. /package/dist/{tools → src/tools}/__fixtures__/permissions.d.ts +0 -0
  63. /package/dist/{tools → src/tools}/__fixtures__/processRequest.d.ts +0 -0
  64. /package/dist/{tools → src/tools}/__tests-utils__/parseObject.d.ts +0 -0
  65. /package/dist/{tools → src/tools}/__tests-utils__/resolveParseArray.d.ts +0 -0
  66. /package/dist/{tools → src/tools}/error/getLinkError.d.ts +0 -0
  67. /package/dist/{tools → src/tools}/error/getTypeFromError.d.ts +0 -0
  68. /package/dist/{tools → src/tools}/error/getValuesFromError.d.ts +0 -0
  69. /package/dist/{tools → src/tools}/error/index.d.ts +0 -0
  70. /package/dist/{tools → src/tools}/error/stringifyMessage.d.ts +0 -0
  71. /package/dist/{tools → src/tools}/generateSimulcastEncodings.d.ts +0 -0
  72. /package/dist/{tools → src/tools}/getExtraHeaders.d.ts +0 -0
  73. /package/dist/{tools → src/tools}/getUserAgent.d.ts +0 -0
  74. /package/dist/{tools → src/tools}/hasPurgatory.d.ts +0 -0
  75. /package/dist/{tools → src/tools}/prepareMediaStream.d.ts +0 -0
  76. /package/dist/{tools → src/tools}/resolveUpdateTransceiver.d.ts +0 -0
  77. /package/dist/{tools → src/tools}/setVideoTrackContentHints.d.ts +0 -0
  78. /package/dist/{tools → src/tools}/syncMediaState/index.d.ts +0 -0
  79. /package/dist/{tools → src/tools}/syncMediaState/resolveOnStartMainCam.d.ts +0 -0
  80. /package/dist/{tools → src/tools}/syncMediaState/resolveOnStartMic.d.ts +0 -0
  81. /package/dist/{tools → src/tools}/syncMediaState/resolveOnStopMainCam.d.ts +0 -0
  82. /package/dist/{tools → src/tools}/syncMediaState/resolveOnStopMic.d.ts +0 -0
  83. /package/dist/{utils → src/utils}/errors.d.ts +0 -0
  84. /package/dist/{utils → src/utils}/findSenderByStream.d.ts +0 -0
  85. /package/dist/{utils → src/utils}/findVideoSender.d.ts +0 -0
  86. /package/dist/{utils → src/utils}/findVideoTrack.d.ts +0 -0
  87. /package/dist/{utils → src/utils}/getCodecFromSender.d.ts +0 -0
  88. /package/dist/{utils → src/utils}/replaceForbiddenSymbolsWithUnderscore.d.ts +0 -0
  89. /package/dist/{videoSendingBalancer → src/videoSendingBalancer}/balance.d.ts +0 -0
  90. /package/dist/{videoSendingBalancer → src/videoSendingBalancer}/getMaxBitrateByWidth.d.ts +0 -0
  91. /package/dist/{videoSendingBalancer → src/videoSendingBalancer}/getMaxBitrateByWidthAndCodec.d.ts +0 -0
  92. /package/dist/{videoSendingBalancer → src/videoSendingBalancer}/hasAv1Codec.d.ts +0 -0
  93. /package/dist/{videoSendingBalancer → src/videoSendingBalancer}/hasIncludesString.d.ts +0 -0
  94. /package/dist/{videoSendingBalancer → src/videoSendingBalancer}/index.d.ts +0 -0
  95. /package/dist/{videoSendingBalancer → src/videoSendingBalancer}/processSender.d.ts +0 -0
  96. /package/dist/{videoSendingBalancer → src/videoSendingBalancer}/scaleBitrateByCodec.d.ts +0 -0
  97. /package/dist/{videoSendingBalancer → src/videoSendingBalancer}/scaleResolutionAndBitrate.d.ts +0 -0
  98. /package/dist/{videoSendingBalancer → src/videoSendingBalancer}/setEncodingsToSender.d.ts +0 -0
package/dist/index.js CHANGED
@@ -1,22 +1,19 @@
1
- var se = Object.defineProperty;
2
- var oe = (n, e, t) => e in n ? se(n, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : n[e] = t;
3
- var a = (n, e, t) => oe(n, typeof e != "symbol" ? e + "" : e, t);
4
- import { B as G, N as K, l as c, E as x, s as re, a as ie, P as ce, b as ae } from "./SipConnector-BPIL3yLc.js";
5
- import { j as Cn, k as mn, n as hn, m as Rn, S as gn, c as pn, d as yn, f as En, g as Tn, e as bn, h as Mn, i as _n } from "./SipConnector-BPIL3yLc.js";
6
- import { sequentPromises as ue } from "sequent-promises";
7
- import { createStackPromises as le } from "stack-promises";
1
+ import { B as K, N as Y, l as i, E as w, s as oe, a as re, P as ie, b as ce } from "./SipConnector-DRjfFGAZ.js";
2
+ import { j as fn, k as mn, n as hn, m as pn, S as Rn, c as gn, d as yn, f as Tn, g as En, e as Mn, h as bn, i as vn } from "./SipConnector-DRjfFGAZ.js";
3
+ import { sequentPromises as ae } from "sequent-promises";
4
+ import { createStackPromises as ue } from "stack-promises";
5
+ import I from "debug";
6
+ import { default as An } from "debug";
8
7
  import { isCanceledError as de } from "@krivega/cancelable-promise";
9
- import { hasCanceledError as Se } from "repeated-calls";
10
- import { debounce as fe } from "ts-debounce";
11
- import { default as vn } from "debug";
12
- const H = (n) => {
8
+ import { hasCanceledError as le } from "repeated-calls";
9
+ import { debounce as Ce } from "ts-debounce";
10
+ const U = (n) => {
13
11
  const { url: e, cause: t } = n;
14
12
  let s = e;
15
- return (t === G || t === K) && (s = `${n.message.to.uri.user}@${n.message.to.uri.host}`), s;
13
+ return (t === K || t === Y) && (s = `${n.message.to.uri.user}@${n.message.to.uri.host}`), s;
16
14
  };
17
- var Y = /* @__PURE__ */ ((n) => (n.CONNECT_SERVER_FAILED = "CONNECT_SERVER_FAILED", n.WRONG_USER_OR_PASSWORD = "WRONG_USER_OR_PASSWORD", n.BAD_MEDIA_ERROR = "BAD_MEDIA_ERROR", n.NOT_FOUND_ERROR = "NOT_FOUND_ERROR", n.WS_CONNECTION_FAILED = "WS_CONNECTION_FAILED", n.CONNECT_SERVER_FAILED_BY_LINK = "CONNECT_SERVER_FAILED_BY_LINK", n))(Y || {});
18
- const Ce = (n = new Error()) => {
19
- var o;
15
+ var q = /* @__PURE__ */ ((n) => (n.CONNECT_SERVER_FAILED = "CONNECT_SERVER_FAILED", n.WRONG_USER_OR_PASSWORD = "WRONG_USER_OR_PASSWORD", n.BAD_MEDIA_ERROR = "BAD_MEDIA_ERROR", n.NOT_FOUND_ERROR = "NOT_FOUND_ERROR", n.WS_CONNECTION_FAILED = "WS_CONNECTION_FAILED", n.CONNECT_SERVER_FAILED_BY_LINK = "CONNECT_SERVER_FAILED_BY_LINK", n))(q || {});
16
+ const Se = new Error("Unknown error"), fe = (n = Se) => {
20
17
  const { cause: e, socket: t } = n;
21
18
  let s = "CONNECT_SERVER_FAILED";
22
19
  switch (e) {
@@ -24,16 +21,16 @@ const Ce = (n = new Error()) => {
24
21
  s = "WRONG_USER_OR_PASSWORD";
25
22
  break;
26
23
  }
27
- case G: {
24
+ case K: {
28
25
  s = "BAD_MEDIA_ERROR";
29
26
  break;
30
27
  }
31
- case K: {
28
+ case Y: {
32
29
  s = "NOT_FOUND_ERROR";
33
30
  break;
34
31
  }
35
32
  default:
36
- t && ((o = t == null ? void 0 : t._ws) == null ? void 0 : o.readyState) === 3 ? s = "WS_CONNECTION_FAILED" : H(n) && (s = "CONNECT_SERVER_FAILED_BY_LINK");
33
+ t !== void 0 && t._ws?.readyState === 3 ? s = "WS_CONNECTION_FAILED" : U(n) !== void 0 && U(n) !== "" && (s = "CONNECT_SERVER_FAILED_BY_LINK");
37
34
  }
38
35
  return s;
39
36
  }, me = (n) => {
@@ -41,18 +38,18 @@ const Ce = (n = new Error()) => {
41
38
  try {
42
39
  e = JSON.stringify(n);
43
40
  } catch (t) {
44
- c("failed to stringify message", t);
41
+ i("failed to stringify message", t);
45
42
  }
46
43
  return e;
47
- }, he = (n = new Error()) => {
48
- const { code: e, cause: t, message: s } = n, o = H(n), r = { code: "", cause: "", message: "" };
49
- return typeof s == "object" && s !== null ? r.message = me(s) : s && (r.message = String(s)), o && (r.link = o), e && (r.code = e), t && (r.cause = t), r;
44
+ }, he = new Error("Unknown error"), pe = (n = he) => {
45
+ const { code: e, cause: t, message: s } = n, o = U(n), r = { code: "", cause: "", message: "" };
46
+ return typeof s == "object" && s !== null ? r.message = me(s) : s && (r.message = String(s)), o !== void 0 && o !== "" && (r.link = o), e !== void 0 && e !== "" && (r.code = e), t !== void 0 && t !== "" && (r.cause = t), r;
50
47
  }, Re = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
51
48
  __proto__: null,
52
- EErrorTypes: Y,
53
- getLinkError: H,
54
- getTypeFromError: Ce,
55
- getValuesFromError: he
49
+ EErrorTypes: q,
50
+ getLinkError: U,
51
+ getTypeFromError: fe,
52
+ getValuesFromError: pe
56
53
  }, Symbol.toStringTag, { value: "Module" })), ge = ({
57
54
  sessionId: n,
58
55
  remoteAddress: e,
@@ -61,129 +58,123 @@ const Ce = (n = new Error()) => {
61
58
  isRegistered: o,
62
59
  isPresentationCall: r
63
60
  }) => {
64
- const i = [], u = t ? "0" : "1", l = s ? "0" : "1";
65
- return i.push(`X-Vinteo-Mic-State: ${u}`, `X-Vinteo-MainCam-State: ${l}`), o || i.push("X-Vinteo-Purgatory-Call: yes"), n && i.push(`X-Vinteo-Session: ${n}`), r && i.push("X-Vinteo-Presentation-Call: yes"), e && i.push(`X-Vinteo-Remote: ${e}`), i;
66
- }, pe = "[@*!|]", ye = "_", Ee = (n) => {
61
+ const c = [], a = t ? "0" : "1", u = s ? "0" : "1";
62
+ return c.push(`X-Vinteo-Mic-State: ${a}`, `X-Vinteo-MainCam-State: ${u}`), (o === !1 || o === void 0) && c.push("X-Vinteo-Purgatory-Call: yes"), n !== void 0 && n !== "" && c.push(`X-Vinteo-Session: ${n}`), r === !0 && c.push("X-Vinteo-Presentation-Call: yes"), e !== void 0 && e !== "" && c.push(`X-Vinteo-Remote: ${e}`), c;
63
+ }, ye = "[@*!|]", Te = "_", Ee = (n) => {
67
64
  let e = n;
68
- return e = e.replaceAll(new RegExp(pe, "g"), ye), e;
69
- }, Te = ({
65
+ return e = e.replaceAll(new RegExp(ye, "g"), Te), e;
66
+ }, Me = ({
70
67
  appName: n,
71
68
  appVersion: e,
72
69
  browserName: t,
73
70
  browserVersion: s
74
71
  }) => {
75
72
  const r = `${Ee(n)} ${e}`;
76
- return `ChromeNew - ${t ? `${t} ${s}, ${r}` : r}`;
73
+ return `ChromeNew - ${t === void 0 ? r : `${t} ${s}, ${r}`}`;
77
74
  }, be = ({
78
75
  isUnifiedSdpSemantic: n,
79
76
  appVersion: e,
80
77
  browserName: t,
81
78
  browserVersion: s,
82
79
  appName: o
83
- }) => n ? Te({ appVersion: e, browserName: t, browserVersion: s, appName: o }) : "Chrome", q = "purgatory", D = (n) => n === q, Me = (n) => (e) => [...e].map((s) => async () => n(s)), _e = async ({
80
+ }) => n ? Me({ appVersion: e, browserName: t, browserVersion: s, appName: o }) : "Chrome", z = "purgatory", D = (n) => n === z, ve = (n) => (e) => [...e].map((s) => async () => n(s)), _e = async ({
84
81
  accumulatedKeys: n,
85
82
  sendKey: e,
86
83
  canRunTask: t
87
84
  }) => {
88
- const o = Me(e)(n);
89
- return ue(o, t);
90
- }, Ae = (n) => (t) => (c("onStartMainCam"), n.onSession("admin-start-main-cam", t)), ve = (n) => (t) => (c("onStartMic"), n.onSession("admin-start-mic", t)), Oe = (n) => (t) => (c("onStopMainCam"), n.onSession("admin-stop-main-cam", t)), Ne = (n) => (t) => (c("onStopMic"), n.onSession("admin-stop-mic", t)), we = ({ sipConnector: n }) => {
91
- const e = (m, p) => ({ isSyncForced: h = !1 }) => {
92
- if (h) {
93
- m();
85
+ const o = ve(e)(n);
86
+ return ae(o, t);
87
+ }, Ae = (n) => (t) => (i("onStartMainCam"), n.onSession("admin-start-main-cam", t)), Oe = (n) => (t) => (i("onStartMic"), n.onSession("admin-start-mic", t)), Ne = (n) => (t) => (i("onStopMainCam"), n.onSession("admin-stop-main-cam", t)), we = (n) => (t) => (i("onStopMic"), n.onSession("admin-stop-mic", t)), Be = ({ sipConnector: n }) => {
88
+ const e = (f, R) => ({ isSyncForced: m = !1 }) => {
89
+ if (m) {
90
+ f();
94
91
  return;
95
92
  }
96
- p();
97
- }, t = Ae(n), s = Oe(n), o = ve(n), r = Ne(n);
98
- let i = () => {
93
+ R();
94
+ }, t = Ae(n), s = Ne(n), o = Oe(n), r = we(n);
95
+ let c = () => {
96
+ }, a = () => {
99
97
  }, u = () => {
100
98
  }, l = () => {
101
- }, S = () => {
102
99
  };
103
- const C = ({
104
- onStartMainCamForced: m,
105
- onStartMainCamNotForced: p,
106
- onStopMainCamForced: h,
107
- onStopMainCamNotForced: R,
108
- onStartMicForced: y,
109
- onStartMicNotForced: E,
100
+ const S = ({
101
+ onStartMainCamForced: f,
102
+ onStartMainCamNotForced: R,
103
+ onStopMainCamForced: m,
104
+ onStopMainCamNotForced: h,
105
+ onStartMicForced: g,
106
+ onStartMicNotForced: y,
110
107
  onStopMicForced: T,
111
- onStopMicNotForced: b
108
+ onStopMicNotForced: E
112
109
  }) => {
113
- const A = e(
114
- m,
115
- p
116
- );
117
- i = t(A);
118
110
  const v = e(
119
- h,
111
+ f,
120
112
  R
121
113
  );
122
- u = s(v);
123
- const O = e(y, E);
124
- l = o(O);
125
- const N = e(T, b);
126
- S = r(N);
127
- }, f = () => {
128
- i(), u(), l(), S();
114
+ c = t(v);
115
+ const _ = e(
116
+ m,
117
+ h
118
+ );
119
+ a = s(_);
120
+ const A = e(g, y);
121
+ u = o(A);
122
+ const O = e(T, E);
123
+ l = r(O);
124
+ }, C = () => {
125
+ c(), a(), u(), l();
129
126
  };
130
127
  return {
131
- start: (m) => {
132
- C(m);
128
+ start: (f) => {
129
+ S(f);
133
130
  },
134
131
  stop: () => {
135
- f();
132
+ C();
136
133
  }
137
134
  };
138
135
  }, un = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
139
136
  __proto__: null,
140
- PURGATORY_CONFERENCE_NUMBER: q,
141
- createSyncMediaState: we,
137
+ PURGATORY_CONFERENCE_NUMBER: z,
138
+ createSyncMediaState: Be,
142
139
  error: Re,
143
140
  getExtraHeaders: ge,
144
141
  getUserAgent: be,
145
142
  hasPurgatory: D,
146
- sendDTMFAccumulated: _e
147
- }, Symbol.toStringTag, { value: "Module" })), Be = (n) => [...n.keys()].map((e) => n.get(e)), Pe = (n, e) => Be(n).find((t) => t.type === e), De = async (n) => n.getStats().then((e) => {
148
- const t = Pe(e, "codec");
149
- return t == null ? void 0 : t.mimeType;
150
- }), Ie = (n) => n.find((e) => {
151
- var t;
152
- return ((t = e == null ? void 0 : e.track) == null ? void 0 : t.kind) === "video";
153
- }), z = (n, e) => n !== void 0 && e !== void 0 && n.toLowerCase().includes(e.toLowerCase()), Fe = 1e6, g = (n) => n * Fe, Q = g(0.06), ke = g(4), Ue = (n) => n <= 64 ? Q : n <= 128 ? g(0.12) : n <= 256 ? g(0.25) : n <= 384 ? g(0.32) : n <= 426 ? g(0.38) : n <= 640 ? g(0.5) : n <= 848 ? g(0.7) : n <= 1280 ? g(1) : n <= 1920 ? g(2) : ke, Ve = "av1", xe = (n) => z(n, Ve), Le = 0.6, J = (n, e) => xe(e) ? n * Le : n, $e = (n) => J(Q, n), Z = (n, e) => {
143
+ sendDtmfAccumulated: _e
144
+ }, Symbol.toStringTag, { value: "Module" })), Pe = (n) => [...n.keys()].map((e) => n.get(e)), Ie = (n, e) => Pe(n).find((t) => t?.type === e), De = async (n) => n.getStats().then((e) => Ie(e, "codec")?.mimeType), ke = (n) => n.find((e) => e.track?.kind === "video"), Q = (n, e) => n !== void 0 && e !== void 0 && n.toLowerCase().includes(e.toLowerCase()), Fe = 1e6, p = (n) => n * Fe, J = p(0.06), Ve = p(4), Ue = (n) => n <= 64 ? J : n <= 128 ? p(0.12) : n <= 256 ? p(0.25) : n <= 384 ? p(0.32) : n <= 426 ? p(0.38) : n <= 640 ? p(0.5) : n <= 848 ? p(0.7) : n <= 1280 ? p(1) : n <= 1920 ? p(2) : Ve, xe = "av1", Le = (n) => Q(n, xe), $e = 0.6, Z = (n, e) => Le(e) ? n * $e : n, He = (n) => Z(J, n), ee = (n, e) => {
154
145
  const t = Ue(n);
155
- return J(t, e);
156
- }, He = 1, ee = ({
146
+ return Z(t, e);
147
+ }, H = 1, ne = ({
157
148
  videoTrack: n,
158
149
  targetSize: e,
159
150
  codec: t
160
151
  }) => {
161
- const s = n.getSettings(), o = s.width, r = s.height, i = o / e.width, u = r / e.height, l = Math.max(i, u, He), S = Z(e.width, t);
162
- return { scaleResolutionDownBy: l, maxBitrate: S };
163
- }, ne = le(), Xe = async () => ne().catch((n) => {
164
- c("videoSendingBalancer: error", n);
165
- }), je = async (n) => (ne.add(n), Xe()), X = async ({
152
+ const s = n.getSettings(), o = s.width, r = s.height, c = o === void 0 ? H : o / e.width, a = r === void 0 ? H : r / e.height, u = Math.max(c, a, H), l = ee(e.width, t);
153
+ return { scaleResolutionDownBy: u, maxBitrate: l };
154
+ }, te = ue(), Xe = async () => te().catch((n) => {
155
+ i("videoSendingBalancer: error", n);
156
+ }), je = async (n) => (te.add(n), Xe()), j = async ({
166
157
  sender: n,
167
158
  scaleResolutionDownBy: e,
168
159
  maxBitrate: t,
169
160
  onSetParameters: s
170
- }) => je(async () => re(n, { scaleResolutionDownBy: e, maxBitrate: t }, s)), We = async ({ sender: n, codec: e }, t) => {
171
- const o = $e(e);
172
- return X({
161
+ }) => je(async () => oe(n, { scaleResolutionDownBy: e, maxBitrate: t }, s)), We = async ({ sender: n, codec: e }, t) => {
162
+ const o = He(e);
163
+ return j({
173
164
  sender: n,
174
165
  maxBitrate: o,
175
166
  onSetParameters: t,
176
167
  scaleResolutionDownBy: 200
177
168
  });
178
- }, L = async ({
169
+ }, V = async ({
179
170
  sender: n,
180
171
  videoTrack: e,
181
172
  codec: t
182
173
  }, s) => {
183
- const i = e.getSettings().width, u = Z(i, t);
184
- return X({
174
+ const c = e.getSettings().width, a = ee(c ?? 0, t);
175
+ return j({
185
176
  sender: n,
186
- maxBitrate: u,
177
+ maxBitrate: a,
187
178
  onSetParameters: s,
188
179
  scaleResolutionDownBy: 1
189
180
  });
@@ -193,19 +184,19 @@ const Ce = (n = new Error()) => {
193
184
  resolution: t,
194
185
  codec: s
195
186
  }, o) => {
196
- const [r, i] = t.split("x"), { maxBitrate: u, scaleResolutionDownBy: l } = ee({
187
+ const [r, c] = t.split("x"), { maxBitrate: a, scaleResolutionDownBy: u } = ne({
197
188
  videoTrack: e,
198
189
  codec: s,
199
190
  targetSize: {
200
191
  width: Number(r),
201
- height: Number(i)
192
+ height: Number(c)
202
193
  }
203
194
  });
204
- return X({
195
+ return j({
205
196
  sender: n,
206
- maxBitrate: u,
197
+ maxBitrate: a,
207
198
  onSetParameters: o,
208
- scaleResolutionDownBy: l
199
+ scaleResolutionDownBy: u
209
200
  });
210
201
  }, Ke = async ({
211
202
  mainCam: n,
@@ -215,19 +206,23 @@ const Ce = (n = new Error()) => {
215
206
  codec: o
216
207
  }, r) => {
217
208
  switch (n) {
218
- case x.PAUSE_MAIN_CAM:
209
+ case w.PAUSE_MAIN_CAM:
219
210
  return We({ sender: t, codec: o }, r);
220
- case x.RESUME_MAIN_CAM:
221
- return L({ sender: t, videoTrack: s, codec: o }, r);
222
- case x.MAX_MAIN_CAM_RESOLUTION:
211
+ case w.RESUME_MAIN_CAM:
212
+ return V({ sender: t, videoTrack: s, codec: o }, r);
213
+ case w.MAX_MAIN_CAM_RESOLUTION:
223
214
  return e !== void 0 ? Ge(
224
215
  { sender: t, videoTrack: s, codec: o, resolution: e },
225
216
  r
226
- ) : L({ sender: t, videoTrack: s, codec: o }, r);
217
+ ) : V({ sender: t, videoTrack: s, codec: o }, r);
218
+ case w.ADMIN_STOP_MAIN_CAM:
219
+ case w.ADMIN_START_MAIN_CAM:
220
+ case void 0:
221
+ return V({ sender: t, videoTrack: s, codec: o }, r);
227
222
  default:
228
- return L({ sender: t, videoTrack: s, codec: o }, r);
223
+ return V({ sender: t, videoTrack: s, codec: o }, r);
229
224
  }
230
- }, j = {
225
+ }, W = {
231
226
  isChanged: !1,
232
227
  parameters: {
233
228
  encodings: [{}],
@@ -236,54 +231,56 @@ const Ce = (n = new Error()) => {
236
231
  headerExtensions: [],
237
232
  rtcp: {}
238
233
  }
239
- }, W = async ({
234
+ }, G = async ({
240
235
  mainCam: n,
241
236
  resolutionMainCam: e,
242
237
  connection: t,
243
238
  onSetParameters: s,
244
239
  ignoreForCodec: o
245
240
  }) => {
246
- const r = t.getSenders(), i = Ie(r);
247
- if (!(i != null && i.track))
248
- return j;
249
- const u = await De(i);
250
- return z(u, o) ? j : Ke(
241
+ const r = t.getSenders(), c = ke(r);
242
+ if (!c?.track)
243
+ return W;
244
+ const a = await De(c);
245
+ return Q(a, o) ? W : Ke(
251
246
  {
252
247
  mainCam: n,
253
248
  resolutionMainCam: e,
254
- sender: i,
255
- codec: u,
256
- videoTrack: i.track
249
+ sender: c,
250
+ codec: a,
251
+ videoTrack: c.track
257
252
  },
258
253
  s
259
254
  );
260
- }, ln = (n, {
255
+ }, dn = (n, {
261
256
  ignoreForCodec: e,
262
257
  onSetParameters: t
263
258
  } = {}) => {
264
259
  const s = async () => {
265
- const { connection: l } = n;
266
- if (!l)
260
+ const { connection: u } = n;
261
+ if (!u)
267
262
  throw new Error("connection is not exist");
268
- return W({
269
- connection: l,
263
+ return G({
264
+ connection: u,
270
265
  onSetParameters: t,
271
266
  ignoreForCodec: e
272
267
  });
273
268
  };
274
269
  let o = s;
275
- const r = async (l) => (o = async () => {
276
- const { mainCam: S, resolutionMainCam: C } = l, { connection: f } = n;
277
- if (!f)
278
- throw new Error("connection is not exist");
279
- return W({
280
- mainCam: S,
281
- resolutionMainCam: C,
282
- connection: f,
283
- onSetParameters: t,
284
- ignoreForCodec: e
285
- });
286
- }, o());
270
+ const r = (u) => {
271
+ o = async () => {
272
+ const { mainCam: l, resolutionMainCam: S } = u, { connection: C } = n;
273
+ if (!C)
274
+ throw new Error("connection is not exist");
275
+ return G({
276
+ mainCam: l,
277
+ resolutionMainCam: S,
278
+ connection: C,
279
+ onSetParameters: t,
280
+ ignoreForCodec: e
281
+ });
282
+ }, o().catch(I);
283
+ };
287
284
  return {
288
285
  subscribe: () => {
289
286
  n.onSession("main-cam-control", r);
@@ -306,17 +303,19 @@ const Ce = (n = new Error()) => {
306
303
  }) => {
307
304
  if (e && e.length > 0) {
308
305
  const s = t ?? [], o = Ye(n);
309
- return e.forEach((r, i) => {
310
- const u = s[i] ?? {};
311
- u.active = !0, r.rid !== void 0 && (u.rid = r.rid), r.scalabilityMode !== void 0 && (u.scalabilityMode = r.scalabilityMode);
312
- const { maxBitrate: l, scaleResolutionDownBy: S } = ee({
306
+ if (o === void 0)
307
+ throw new Error("No video track");
308
+ return e.forEach((r, c) => {
309
+ const a = s[c] ?? {};
310
+ a.active = !0, r.rid !== void 0 && (a.rid = r.rid), r.scalabilityMode !== void 0 && (a.scalabilityMode = r.scalabilityMode);
311
+ const { maxBitrate: u, scaleResolutionDownBy: l } = ne({
313
312
  videoTrack: o,
314
313
  targetSize: {
315
314
  width: r.width,
316
315
  height: r.height
317
316
  }
318
317
  });
319
- u.maxBitrate = l, u.scaleResolutionDownBy = S, s[i] = u;
318
+ a.maxBitrate = u, a.scaleResolutionDownBy = l, s[c] = a;
320
319
  }), s;
321
320
  }
322
321
  return t;
@@ -324,24 +323,23 @@ const Ce = (n = new Error()) => {
324
323
  const e = RTCRtpSender.getCapabilities(n), t = RTCRtpReceiver.getCapabilities(n), s = e === null ? [] : e.codecs, o = t === null ? [] : t.codecs;
325
324
  return qe(s, o);
326
325
  }, Qe = (n, e) => e === void 0 || e.length === 0 ? n : n.sort((t, s) => {
327
- const o = e.indexOf(t.mimeType), r = e.indexOf(s.mimeType), i = o === -1 ? Number.MAX_VALUE : o, u = r === -1 ? Number.MAX_VALUE : r;
328
- return i - u;
326
+ const o = e.indexOf(t.mimeType), r = e.indexOf(s.mimeType), c = o === -1 ? Number.MAX_VALUE : o, a = r === -1 ? Number.MAX_VALUE : r;
327
+ return c - a;
329
328
  }), Je = (n, e) => e === void 0 || e.length === 0 ? n : n.filter((t) => !e.includes(t.mimeType)), P = (n, {
330
329
  preferredMimeTypesVideoCodecs: e,
331
330
  excludeMimeTypesVideoCodecs: t
332
331
  }) => async (s) => {
333
- var o;
334
332
  try {
335
- if (typeof s.setCodecPreferences == "function" && ((o = s.sender.track) == null ? void 0 : o.kind) === "video" && (e !== void 0 && (e == null ? void 0 : e.length) > 0 || t !== void 0 && (t == null ? void 0 : t.length) > 0)) {
336
- const r = ze("video"), i = Je(r, t), u = Qe(i, e);
337
- s.setCodecPreferences(u);
333
+ if (typeof s.setCodecPreferences == "function" && s.sender.track?.kind === "video" && (e !== void 0 && e.length > 0 || t !== void 0 && t.length > 0)) {
334
+ const o = ze("video"), r = Je(o, t), c = Qe(r, e);
335
+ s.setCodecPreferences(c);
338
336
  }
339
- Object.keys(n).length > 0 && await ie(s.sender, n);
340
- } catch (r) {
341
- c("updateTransceiver error", r);
337
+ Object.keys(n).length > 0 && await re(s.sender, n);
338
+ } catch (o) {
339
+ i("updateTransceiver error", o);
342
340
  }
343
- }, $ = (n) => {
344
- if (!de(n) && !Se(n))
341
+ }, X = (n) => {
342
+ if (!de(n) && !le(n))
345
343
  throw n;
346
344
  return { isSuccessful: !1 };
347
345
  }, Ze = ({ kind: n, readyState: e }) => n === "video" && e === "live", en = /* @__PURE__ */ new Set([
@@ -366,390 +364,391 @@ const Ce = (n = new Error()) => {
366
364
  "isConfigured",
367
365
  "isRegistered"
368
366
  ]);
369
- class dn {
367
+ class ln {
368
+ // @ts-expect-error: proxy method
369
+ on;
370
+ // @ts-expect-error: proxy method
371
+ once;
372
+ // @ts-expect-error: proxy method
373
+ onceRace;
374
+ // @ts-expect-error: proxy method
375
+ wait;
376
+ // @ts-expect-error: proxy method
377
+ off;
378
+ // @ts-expect-error: proxy method
379
+ onSession;
380
+ // @ts-expect-error: proxy method
381
+ onceSession;
382
+ // @ts-expect-error: proxy method
383
+ onceRaceSession;
384
+ // @ts-expect-error: proxy method
385
+ waitSession;
386
+ // @ts-expect-error: proxy method
387
+ offSession;
388
+ // @ts-expect-error: proxy method
389
+ sendDTMF;
390
+ // @ts-expect-error: proxy method
391
+ hangUp;
392
+ // @ts-expect-error: proxy method
393
+ declineToIncomingCall;
394
+ // @ts-expect-error: proxy method
395
+ sendChannels;
396
+ // @ts-expect-error: proxy method
397
+ checkTelephony;
398
+ // @ts-expect-error: proxy method
399
+ waitChannels;
400
+ // @ts-expect-error: proxy method
401
+ ping;
402
+ // proxy method
403
+ connection;
404
+ // @ts-expect-error: proxy method
405
+ isConfigured;
406
+ // @ts-expect-error: proxy method
407
+ isRegistered;
408
+ sipConnector;
409
+ preferredMimeTypesVideoCodecs;
410
+ excludeMimeTypesVideoCodecs;
370
411
  constructor(e, {
371
412
  preferredMimeTypesVideoCodecs: t,
372
413
  excludeMimeTypesVideoCodecs: s
373
414
  } = {}) {
374
- a(this, "sipConnector");
375
- a(this, "preferredMimeTypesVideoCodecs");
376
- a(this, "excludeMimeTypesVideoCodecs");
377
- // @ts-expect-error: proxy method
378
- a(this, "on");
379
- // @ts-expect-error: proxy method
380
- a(this, "once");
381
- // @ts-expect-error: proxy method
382
- a(this, "onceRace");
383
- // @ts-expect-error: proxy method
384
- a(this, "wait");
385
- // @ts-expect-error: proxy method
386
- a(this, "off");
387
- // @ts-expect-error: proxy method
388
- a(this, "onSession");
389
- // @ts-expect-error: proxy method
390
- a(this, "onceSession");
391
- // @ts-expect-error: proxy method
392
- a(this, "onceRaceSession");
393
- // @ts-expect-error: proxy method
394
- a(this, "waitSession");
395
- // @ts-expect-error: proxy method
396
- a(this, "offSession");
397
- // @ts-expect-error: proxy method
398
- a(this, "sendDTMF");
399
- // @ts-expect-error: proxy method
400
- a(this, "hangUp");
401
- // @ts-expect-error: proxy method
402
- a(this, "declineToIncomingCall");
403
- // @ts-expect-error: proxy method
404
- a(this, "sendChannels");
405
- // @ts-expect-error: proxy method
406
- a(this, "checkTelephony");
407
- // @ts-expect-error: proxy method
408
- a(this, "waitChannels");
409
- // @ts-expect-error: proxy method
410
- a(this, "ping");
411
- // proxy method
412
- a(this, "connection");
413
- // @ts-expect-error: proxy method
414
- a(this, "isConfigured");
415
- // @ts-expect-error: proxy method
416
- a(this, "isRegistered");
417
- a(this, "connectToServer", async (e) => {
418
- const {
419
- userAgent: t,
420
- sipWebSocketServerURL: s,
421
- sipServerUrl: o,
422
- remoteAddress: r,
423
- displayName: i,
424
- name: u,
425
- password: l,
426
- isRegisteredUser: S,
427
- isDisconnectOnFail: C
428
- } = e;
429
- return c("connectToServer", e), this.sipConnector.connect({
430
- userAgent: t,
431
- sipWebSocketServerURL: s,
432
- sipServerUrl: o,
433
- remoteAddress: r,
434
- displayName: i,
435
- password: l,
436
- user: u,
437
- register: S
438
- }).then((f) => (c("connectToServer then"), { ua: f, isSuccessful: !0 })).catch(async (f) => (c("connectToServer catch: error", f), C === !0 ? this.sipConnector.disconnect().then(() => $(f)).catch(() => $(f)) : $(f)));
439
- });
440
- a(this, "callToServer", async (e) => {
441
- const {
442
- conference: t,
443
- mediaStream: s,
444
- extraHeaders: o,
445
- iceServers: r,
446
- contentHint: i,
447
- simulcastEncodings: u,
448
- degradationPreference: l,
449
- sendEncodings: S,
450
- offerToReceiveAudio: C,
451
- offerToReceiveVideo: f,
452
- directionVideo: I,
453
- directionAudio: F,
454
- setRemoteStreams: m,
455
- onBeforeProgressCall: p,
456
- onSuccessProgressCall: h,
457
- onEnterPurgatory: R,
458
- onEnterConference: y,
459
- onFailProgressCall: E,
460
- onFinishProgressCall: T,
461
- onEndedCall: b
462
- } = e, A = this.resolveHandleReadyRemoteStreamsDebounced({
463
- onReadyRemoteStreams: m
464
- }), v = this.resolveHandleReadyRemoteStreams({
465
- onReadyRemoteStreams: A
466
- }), O = P(
467
- {
468
- degradationPreference: l
469
- },
470
- {
471
- preferredMimeTypesVideoCodecs: this.preferredMimeTypesVideoCodecs,
472
- excludeMimeTypesVideoCodecs: this.excludeMimeTypesVideoCodecs
415
+ return this.preferredMimeTypesVideoCodecs = t, this.excludeMimeTypesVideoCodecs = s, this.sipConnector = e, new Proxy(this, {
416
+ get: (o, r, c) => {
417
+ if (typeof r == "string" && en.has(r) && r in this.sipConnector) {
418
+ const u = Reflect.get(this.sipConnector, r, this.sipConnector);
419
+ return typeof u == "function" ? u.bind(this.sipConnector) : u;
473
420
  }
474
- );
475
- c("callToServer", e);
476
- const N = async () => (c("startCall"), this.sipConnector.call({
477
- mediaStream: s,
478
- extraHeaders: o,
479
- iceServers: r,
480
- contentHint: i,
481
- offerToReceiveAudio: C,
482
- offerToReceiveVideo: f,
483
- directionVideo: I,
484
- directionAudio: F,
485
- sendEncodings: B({
486
- mediaStream: s,
487
- simulcastEncodings: u,
488
- sendEncodings: S
489
- }),
490
- number: t,
491
- onAddedTransceiver: O,
492
- ontrack: v
493
- }));
494
- let M = !1, _;
495
- const w = (c("subscribeEnterConference: onEnterConference", y), R ?? y ? this.sipConnector.onSession("enterRoom", ({ room: d }) => {
496
- c("enterRoom", { _room: d, isSuccessProgressCall: M }), _ = d, D(_) ? R && R() : y && y({ isSuccessProgressCall: M });
497
- }) : () => {
498
- }), k = (d) => (c("onSuccess"), M = !0, A(), h && h({ isPurgatory: D(_) }), this.sipConnector.onceRaceSession(["ended", "failed"], () => {
499
- w(), b && b();
500
- }), d), U = (d) => {
501
- throw c("onFail"), E && E(), w(), d;
502
- }, V = () => {
503
- c("onFinish"), T && T();
504
- };
505
- return c("onBeforeProgressCall"), p && p(t), N().then(k).catch((d) => U(d)).finally(V);
421
+ const a = Reflect.get(o, r, c);
422
+ return typeof a == "function" ? a.bind(o) : a;
423
+ }
506
424
  });
507
- a(this, "disconnectFromServer", async () => this.sipConnector.disconnect().then(() => (c("disconnectFromServer: then"), { isSuccessful: !0 })).catch((e) => (c("disconnectFromServer: catch", e), { isSuccessful: !1 })));
508
- a(this, "answerIncomingCall", async (e) => {
509
- const {
510
- mediaStream: t,
511
- extraHeaders: s,
512
- iceServers: o,
513
- contentHint: r,
514
- simulcastEncodings: i,
515
- degradationPreference: u,
516
- sendEncodings: l,
517
- offerToReceiveAudio: S,
518
- offerToReceiveVideo: C,
519
- directionVideo: f,
520
- directionAudio: I,
521
- setRemoteStreams: F,
522
- onBeforeProgressCall: m,
523
- onSuccessProgressCall: p,
524
- onEnterPurgatory: h,
525
- onEnterConference: R,
526
- onFailProgressCall: y,
527
- onFinishProgressCall: E,
528
- onEndedCall: T
529
- } = e, b = this.resolveHandleReadyRemoteStreamsDebounced({
530
- onReadyRemoteStreams: F
531
- }), A = this.resolveHandleReadyRemoteStreams({
532
- onReadyRemoteStreams: b
533
- }), v = P(
534
- {
535
- degradationPreference: u
536
- },
537
- {
538
- preferredMimeTypesVideoCodecs: this.preferredMimeTypesVideoCodecs,
539
- excludeMimeTypesVideoCodecs: this.excludeMimeTypesVideoCodecs
540
- }
541
- );
542
- c("answerIncomingCall", e);
543
- const O = async () => this.sipConnector.answerToIncomingCall({
425
+ }
426
+ connectToServer = async (e) => {
427
+ const {
428
+ userAgent: t,
429
+ sipWebSocketServerURL: s,
430
+ sipServerUrl: o,
431
+ remoteAddress: r,
432
+ displayName: c,
433
+ name: a,
434
+ password: u,
435
+ isRegisteredUser: l,
436
+ isDisconnectOnFail: S
437
+ } = e;
438
+ return i("connectToServer", e), this.sipConnector.connect({
439
+ userAgent: t,
440
+ sipWebSocketServerURL: s,
441
+ sipServerUrl: o,
442
+ remoteAddress: r,
443
+ displayName: c,
444
+ password: u,
445
+ user: a,
446
+ register: l
447
+ }).then((C) => (i("connectToServer then"), { ua: C, isSuccessful: !0 })).catch(async (C) => (i("connectToServer catch: error", C), S === !0 ? this.sipConnector.disconnect().then(() => X(C)).catch(() => X(C)) : X(C)));
448
+ };
449
+ callToServer = async (e) => {
450
+ const {
451
+ conference: t,
452
+ mediaStream: s,
453
+ extraHeaders: o,
454
+ iceServers: r,
455
+ contentHint: c,
456
+ simulcastEncodings: a,
457
+ degradationPreference: u,
458
+ sendEncodings: l,
459
+ offerToReceiveAudio: S,
460
+ offerToReceiveVideo: C,
461
+ directionVideo: k,
462
+ directionAudio: F,
463
+ setRemoteStreams: f,
464
+ onBeforeProgressCall: R,
465
+ onSuccessProgressCall: m,
466
+ onEnterPurgatory: h,
467
+ onEnterConference: g,
468
+ onFailProgressCall: y,
469
+ onFinishProgressCall: T,
470
+ onEndedCall: E
471
+ } = e, v = this.resolveHandleReadyRemoteStreamsDebounced({
472
+ onReadyRemoteStreams: f
473
+ }), _ = this.resolveHandleReadyRemoteStreams({
474
+ onReadyRemoteStreams: () => {
475
+ v().catch(I);
476
+ }
477
+ }), A = P(
478
+ {
479
+ degradationPreference: u
480
+ },
481
+ {
482
+ preferredMimeTypesVideoCodecs: this.preferredMimeTypesVideoCodecs,
483
+ excludeMimeTypesVideoCodecs: this.excludeMimeTypesVideoCodecs
484
+ }
485
+ );
486
+ i("callToServer", e);
487
+ const O = async () => (i("startCall"), this.sipConnector.call({
488
+ mediaStream: s,
489
+ extraHeaders: o,
490
+ iceServers: r,
491
+ contentHint: c,
492
+ offerToReceiveAudio: S,
493
+ offerToReceiveVideo: C,
494
+ directionVideo: k,
495
+ directionAudio: F,
496
+ sendEncodings: B({
497
+ mediaStream: s,
498
+ simulcastEncodings: a,
499
+ sendEncodings: l
500
+ }),
501
+ number: t,
502
+ onAddedTransceiver: A,
503
+ ontrack: _
504
+ }));
505
+ let M = !1, b;
506
+ const N = (i("subscribeEnterConference: onEnterConference", g), h ?? g ? this.sipConnector.onSession("enterRoom", ({ room: d }) => {
507
+ i("enterRoom", { _room: d, isSuccessProgressCall: M }), b = d, D(b) ? h && h() : g && g({ isSuccessProgressCall: M });
508
+ }) : () => {
509
+ }), x = (d) => (i("onSuccess"), M = !0, v().catch(I), m && m({ isPurgatory: D(b) }), this.sipConnector.onceRaceSession(["ended", "failed"], () => {
510
+ N(), E && E();
511
+ }), d), L = (d) => {
512
+ throw i("onFail"), y && y(), N(), d;
513
+ }, $ = () => {
514
+ i("onFinish"), T && T();
515
+ };
516
+ return i("onBeforeProgressCall"), R && R(t), O().then(x).catch((d) => L(d)).finally($);
517
+ };
518
+ disconnectFromServer = async () => this.sipConnector.disconnect().then(() => (i("disconnectFromServer: then"), { isSuccessful: !0 })).catch((e) => (i("disconnectFromServer: catch", e), { isSuccessful: !1 }));
519
+ answerIncomingCall = async (e) => {
520
+ const {
521
+ mediaStream: t,
522
+ extraHeaders: s,
523
+ iceServers: o,
524
+ contentHint: r,
525
+ simulcastEncodings: c,
526
+ degradationPreference: a,
527
+ sendEncodings: u,
528
+ offerToReceiveAudio: l,
529
+ offerToReceiveVideo: S,
530
+ directionVideo: C,
531
+ directionAudio: k,
532
+ setRemoteStreams: F,
533
+ onBeforeProgressCall: f,
534
+ onSuccessProgressCall: R,
535
+ onEnterPurgatory: m,
536
+ onEnterConference: h,
537
+ onFailProgressCall: g,
538
+ onFinishProgressCall: y,
539
+ onEndedCall: T
540
+ } = e, E = this.resolveHandleReadyRemoteStreamsDebounced({
541
+ onReadyRemoteStreams: F
542
+ }), v = this.resolveHandleReadyRemoteStreams({
543
+ onReadyRemoteStreams: () => {
544
+ E().catch(I);
545
+ }
546
+ }), _ = P(
547
+ {
548
+ degradationPreference: a
549
+ },
550
+ {
551
+ preferredMimeTypesVideoCodecs: this.preferredMimeTypesVideoCodecs,
552
+ excludeMimeTypesVideoCodecs: this.excludeMimeTypesVideoCodecs
553
+ }
554
+ );
555
+ i("answerIncomingCall", e);
556
+ const A = async () => this.sipConnector.answerToIncomingCall({
557
+ mediaStream: t,
558
+ extraHeaders: s,
559
+ iceServers: o,
560
+ contentHint: r,
561
+ offerToReceiveAudio: l,
562
+ offerToReceiveVideo: S,
563
+ directionVideo: C,
564
+ directionAudio: k,
565
+ sendEncodings: B({
544
566
  mediaStream: t,
545
- extraHeaders: s,
546
- iceServers: o,
547
- contentHint: r,
548
- offerToReceiveAudio: S,
549
- offerToReceiveVideo: C,
550
- directionVideo: f,
551
- directionAudio: I,
552
- sendEncodings: B({
553
- mediaStream: t,
554
- simulcastEncodings: i,
555
- sendEncodings: l
556
- }),
557
- onAddedTransceiver: v,
558
- ontrack: A
559
- }), N = () => {
560
- const { remoteCallerData: d } = this.sipConnector;
561
- return d.incomingNumber;
562
- };
563
- let M = !1, _;
564
- const w = (c("subscribeEnterConference: onEnterConference", R), h ?? R ? this.sipConnector.onSession("enterRoom", (d) => {
565
- c("enterRoom", { _room: d, isSuccessProgressCall: M }), _ = d, D(_) ? h && h() : R && R({ isSuccessProgressCall: M });
566
- }) : () => {
567
- }), k = (d) => (c("onSuccess"), M = !0, b(), p && p({ isPurgatory: D(_) }), this.sipConnector.onceRaceSession(["ended", "failed"], () => {
568
- w(), T && T();
569
- }), d), U = (d) => {
570
- throw c("onFail"), y && y(), w(), d;
571
- }, V = () => {
572
- c("onFinish"), E && E();
573
- };
574
- if (c("onBeforeProgressCall"), m) {
575
- const d = N();
576
- m(d);
567
+ simulcastEncodings: c,
568
+ sendEncodings: u
569
+ }),
570
+ onAddedTransceiver: _,
571
+ ontrack: v
572
+ }), O = () => {
573
+ const { remoteCallerData: d } = this.sipConnector;
574
+ return d.incomingNumber;
575
+ };
576
+ let M = !1, b;
577
+ const N = (i("subscribeEnterConference: onEnterConference", h), m ?? h ? this.sipConnector.onSession("enterRoom", (d) => {
578
+ i("enterRoom", { _room: d, isSuccessProgressCall: M }), b = d, D(b) ? m && m() : h && h({ isSuccessProgressCall: M });
579
+ }) : () => {
580
+ }), x = (d) => (i("onSuccess"), M = !0, E().catch(I), R && R({ isPurgatory: D(b) }), this.sipConnector.onceRaceSession(["ended", "failed"], () => {
581
+ N(), T && T();
582
+ }), d), L = (d) => {
583
+ throw i("onFail"), g && g(), N(), d;
584
+ }, $ = () => {
585
+ i("onFinish"), y && y();
586
+ };
587
+ if (i("onBeforeProgressCall"), f) {
588
+ const d = O();
589
+ f(d);
590
+ }
591
+ return A().then(x).catch((d) => L(d)).finally($);
592
+ };
593
+ updatePresentation = async ({
594
+ mediaStream: e,
595
+ isP2P: t,
596
+ maxBitrate: s,
597
+ contentHint: o,
598
+ simulcastEncodings: r,
599
+ degradationPreference: c,
600
+ sendEncodings: a,
601
+ preferredMimeTypesVideoCodecs: u,
602
+ excludeMimeTypesVideoCodecs: l
603
+ }) => {
604
+ const S = P(
605
+ {
606
+ degradationPreference: c
607
+ },
608
+ {
609
+ preferredMimeTypesVideoCodecs: u,
610
+ excludeMimeTypesVideoCodecs: l
577
611
  }
578
- return O().then(k).catch((d) => U(d)).finally(V);
579
- });
580
- a(this, "updatePresentation", async ({
581
- mediaStream: e,
612
+ );
613
+ return i("updatePresentation"), this.sipConnector.updatePresentation(e, {
582
614
  isP2P: t,
583
615
  maxBitrate: s,
584
616
  contentHint: o,
585
- simulcastEncodings: r,
586
- degradationPreference: i,
587
- sendEncodings: u,
588
- preferredMimeTypesVideoCodecs: l,
589
- excludeMimeTypesVideoCodecs: S
590
- }) => {
591
- const C = P(
592
- {
593
- degradationPreference: i
594
- },
595
- {
596
- preferredMimeTypesVideoCodecs: l,
597
- excludeMimeTypesVideoCodecs: S
598
- }
599
- );
600
- return c("updatePresentation"), this.sipConnector.updatePresentation(e, {
617
+ sendEncodings: B({
618
+ mediaStream: e,
619
+ simulcastEncodings: r,
620
+ sendEncodings: a
621
+ }),
622
+ onAddedTransceiver: S
623
+ });
624
+ };
625
+ startPresentation = async ({
626
+ mediaStream: e,
627
+ isP2P: t,
628
+ maxBitrate: s,
629
+ contentHint: o,
630
+ simulcastEncodings: r,
631
+ degradationPreference: c,
632
+ sendEncodings: a,
633
+ preferredMimeTypesVideoCodecs: u,
634
+ excludeMimeTypesVideoCodecs: l
635
+ }, S) => {
636
+ const C = P(
637
+ {
638
+ degradationPreference: c
639
+ },
640
+ {
641
+ preferredMimeTypesVideoCodecs: u,
642
+ excludeMimeTypesVideoCodecs: l
643
+ }
644
+ );
645
+ return i("startPresentation"), this.sipConnector.startPresentation(
646
+ e,
647
+ {
601
648
  isP2P: t,
602
649
  maxBitrate: s,
603
650
  contentHint: o,
604
651
  sendEncodings: B({
605
652
  mediaStream: e,
606
653
  simulcastEncodings: r,
607
- sendEncodings: u
654
+ sendEncodings: a
608
655
  }),
609
656
  onAddedTransceiver: C
610
- });
611
- });
612
- a(this, "startPresentation", async ({
613
- mediaStream: e,
614
- isP2P: t,
615
- maxBitrate: s,
616
- contentHint: o,
617
- simulcastEncodings: r,
618
- degradationPreference: i,
619
- sendEncodings: u,
620
- preferredMimeTypesVideoCodecs: l,
621
- excludeMimeTypesVideoCodecs: S
622
- }, C) => {
623
- const f = P(
624
- {
625
- degradationPreference: i
626
- },
627
- {
628
- preferredMimeTypesVideoCodecs: l,
629
- excludeMimeTypesVideoCodecs: S
630
- }
631
- );
632
- return c("startPresentation"), this.sipConnector.startPresentation(
633
- e,
634
- {
635
- isP2P: t,
636
- maxBitrate: s,
637
- contentHint: o,
638
- sendEncodings: B({
639
- mediaStream: e,
640
- simulcastEncodings: r,
641
- sendEncodings: u
642
- }),
643
- onAddedTransceiver: f
644
- },
645
- C
646
- );
647
- });
648
- a(this, "stopShareSipConnector", async ({ isP2P: e = !1 } = {}) => (c("stopShareSipConnector"), this.sipConnector.stopPresentation({
649
- isP2P: e
650
- }).catch((t) => {
651
- c(t);
652
- })));
653
- a(this, "sendRefusalToTurnOnMic", async () => {
654
- if (this.sipConnector.isCallActive)
655
- return c("sendRefusalToTurnOnMic"), this.sipConnector.sendRefusalToTurnOnMic().catch((e) => {
656
- c("sendRefusalToTurnOnMic: error", e);
657
- });
658
- });
659
- a(this, "sendRefusalToTurnOnCam", async () => {
660
- if (this.sipConnector.isCallActive)
661
- return c("sendRefusalToTurnOnCam"), this.sipConnector.sendRefusalToTurnOnCam().catch((e) => {
662
- c("sendRefusalToTurnOnCam: error", e);
663
- });
664
- });
665
- a(this, "sendMediaState", async ({
666
- isEnabledCam: e,
667
- isEnabledMic: t
668
- }) => {
669
- if (this.sipConnector.isCallActive)
670
- return c("sendMediaState"), this.sipConnector.sendMediaState({ cam: e, mic: t });
671
- });
672
- a(this, "replaceMediaStream", async (e, {
657
+ },
658
+ S
659
+ );
660
+ };
661
+ stopShareSipConnector = async ({ isP2P: e = !1 } = {}) => (i("stopShareSipConnector"), this.sipConnector.stopPresentation({
662
+ isP2P: e
663
+ }).catch((t) => {
664
+ i(t);
665
+ }));
666
+ sendRefusalToTurnOnMic = async () => {
667
+ this.sipConnector.isCallActive && (i("sendRefusalToTurnOnMic"), await this.sipConnector.sendRefusalToTurnOnMic().catch((e) => {
668
+ i("sendRefusalToTurnOnMic: error", e);
669
+ }));
670
+ };
671
+ sendRefusalToTurnOnCam = async () => {
672
+ this.sipConnector.isCallActive && (i("sendRefusalToTurnOnCam"), await this.sipConnector.sendRefusalToTurnOnCam().catch((e) => {
673
+ i("sendRefusalToTurnOnCam: error", e);
674
+ }));
675
+ };
676
+ sendMediaState = async ({
677
+ isEnabledCam: e,
678
+ isEnabledMic: t
679
+ }) => {
680
+ this.sipConnector.isCallActive && (i("sendMediaState"), await this.sipConnector.sendMediaState({ cam: e, mic: t }));
681
+ };
682
+ replaceMediaStream = async (e, {
683
+ deleteExisting: t,
684
+ addMissing: s,
685
+ forceRenegotiation: o,
686
+ contentHint: r,
687
+ simulcastEncodings: c,
688
+ degradationPreference: a,
689
+ sendEncodings: u
690
+ } = {}) => {
691
+ const l = P(
692
+ {
693
+ degradationPreference: a
694
+ },
695
+ {
696
+ preferredMimeTypesVideoCodecs: this.preferredMimeTypesVideoCodecs,
697
+ excludeMimeTypesVideoCodecs: this.excludeMimeTypesVideoCodecs
698
+ }
699
+ );
700
+ return i("replaceMediaStream"), this.sipConnector.replaceMediaStream(e, {
673
701
  deleteExisting: t,
674
702
  addMissing: s,
675
703
  forceRenegotiation: o,
676
704
  contentHint: r,
677
- simulcastEncodings: i,
678
- degradationPreference: u,
679
- sendEncodings: l
680
- } = {}) => {
681
- const S = P(
682
- {
683
- degradationPreference: u
684
- },
685
- {
686
- preferredMimeTypesVideoCodecs: this.preferredMimeTypesVideoCodecs,
687
- excludeMimeTypesVideoCodecs: this.excludeMimeTypesVideoCodecs
688
- }
689
- );
690
- return c("replaceMediaStream"), this.sipConnector.replaceMediaStream(e, {
691
- deleteExisting: t,
692
- addMissing: s,
693
- forceRenegotiation: o,
694
- contentHint: r,
695
- sendEncodings: B({
696
- mediaStream: e,
697
- simulcastEncodings: i,
698
- sendEncodings: l
699
- }),
700
- onAddedTransceiver: S
701
- });
702
- });
703
- a(this, "askPermissionToEnableCam", async () => {
704
- if (this.sipConnector.isCallActive)
705
- return c("askPermissionToEnableCam"), this.sipConnector.askPermissionToEnableCam();
705
+ sendEncodings: B({
706
+ mediaStream: e,
707
+ simulcastEncodings: c,
708
+ sendEncodings: u
709
+ }),
710
+ onAddedTransceiver: l
706
711
  });
707
- a(this, "resolveHandleReadyRemoteStreamsDebounced", ({
708
- onReadyRemoteStreams: e
709
- }) => fe(() => {
710
- const t = this.sipConnector.getRemoteStreams();
711
- c("remoteStreams", t), t && e(t);
712
- }, 200));
713
- a(this, "resolveHandleReadyRemoteStreams", ({
714
- onReadyRemoteStreams: e
715
- }) => ({ track: t }) => {
716
- Ze(t) && e();
717
- });
718
- a(this, "getRemoteStreams", () => (c("getRemoteStreams"), this.sipConnector.getRemoteStreams()));
719
- a(this, "onUseLicense", (e) => (c("onUseLicense"), this.sipConnector.onSession("useLicense", e)));
720
- a(this, "onMustStopPresentation", (e) => (c("onMustStopPresentation"), this.sipConnector.onSession("mustStopPresentation", e)));
721
- a(this, "onMoveToSpectators", (e) => (c("onMoveToSpectators"), this.sipConnector.onSession(ce, e)));
722
- a(this, "onMoveToParticipants", (e) => (c("onMoveToParticipants"), this.sipConnector.onSession(ae, e)));
723
- return this.preferredMimeTypesVideoCodecs = t, this.excludeMimeTypesVideoCodecs = s, this.sipConnector = e, new Proxy(this, {
724
- get: (o, r, i) => {
725
- if (typeof r == "string" && en.has(r) && r in this.sipConnector) {
726
- const l = Reflect.get(this.sipConnector, r, this.sipConnector);
727
- return typeof l == "function" ? l.bind(this.sipConnector) : l;
728
- }
729
- const u = Reflect.get(o, r, i);
730
- return typeof u == "function" ? u.bind(o) : u;
731
- }
732
- });
733
- }
712
+ };
713
+ askPermissionToEnableCam = async () => {
714
+ this.sipConnector.isCallActive && (i("askPermissionToEnableCam"), await this.sipConnector.askPermissionToEnableCam());
715
+ };
716
+ resolveHandleReadyRemoteStreamsDebounced = ({
717
+ onReadyRemoteStreams: e
718
+ }) => Ce(() => {
719
+ const t = this.sipConnector.getRemoteStreams();
720
+ i("remoteStreams", t), t && e(t);
721
+ }, 200);
722
+ // eslint-disable-next-line class-methods-use-this
723
+ resolveHandleReadyRemoteStreams = ({
724
+ onReadyRemoteStreams: e
725
+ }) => ({ track: t }) => {
726
+ Ze(t) && e();
727
+ };
728
+ getRemoteStreams = () => (i("getRemoteStreams"), this.sipConnector.getRemoteStreams());
729
+ onUseLicense = (e) => (i("onUseLicense"), this.sipConnector.onSession("useLicense", e));
730
+ onMustStopPresentation = (e) => (i("onMustStopPresentation"), this.sipConnector.onSession("mustStopPresentation", e));
731
+ onMoveToSpectators = (e) => (i("onMoveToSpectators"), this.sipConnector.onSession(ie, e));
732
+ onMoveToParticipants = (e) => (i("onMoveToParticipants"), this.sipConnector.onSession(ce, e));
734
733
  }
735
734
  export {
736
- x as EEventsMainCAM,
737
- Cn as EEventsMic,
735
+ w as EEventsMainCAM,
736
+ fn as EEventsMic,
738
737
  mn as EEventsSyncMediaState,
739
738
  hn as EMimeTypesVideoCodecs,
740
- Rn as EUseLicense,
741
- gn as SipConnector,
742
- dn as SipConnectorFacade,
743
- pn as causes,
739
+ pn as EUseLicense,
740
+ Rn as SipConnector,
741
+ ln as SipConnectorFacade,
742
+ gn as causes,
744
743
  yn as constants,
745
- vn as debug,
746
- En as disableDebug,
747
- Tn as enableDebug,
748
- bn as eventNames,
744
+ An as debug,
745
+ Tn as disableDebug,
746
+ En as enableDebug,
747
+ Mn as eventNames,
749
748
  De as getCodecFromSender,
750
- Mn as hasCanceledCallError,
751
- _n as hasCanceledStartPresentationError,
752
- ln as resolveVideoSendingBalancer,
753
- ie as setParametersToSender,
749
+ bn as hasCanceledCallError,
750
+ vn as hasCanceledStartPresentationError,
751
+ dn as resolveVideoSendingBalancer,
752
+ re as setParametersToSender,
754
753
  un as tools
755
754
  };