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