@stream-io/video-client 0.5.11 → 0.6.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/CHANGELOG.md +25 -0
- package/dist/index.browser.es.js +377 -566
- package/dist/index.browser.es.js.map +1 -1
- package/dist/index.cjs.js +376 -565
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +377 -566
- package/dist/index.es.js.map +1 -1
- package/dist/src/Call.d.ts +12 -13
- package/dist/src/StreamVideoClient.d.ts +4 -5
- package/dist/src/coordinator/connection/client.d.ts +7 -13
- package/dist/src/coordinator/connection/types.d.ts +16 -4
- package/dist/src/devices/SpeakerManager.d.ts +14 -3
- package/dist/src/events/call-permissions.d.ts +2 -2
- package/dist/src/events/call.d.ts +4 -4
- package/dist/src/events/internal.d.ts +2 -2
- package/dist/src/events/participant.d.ts +5 -5
- package/dist/src/rtc/Dispatcher.d.ts +19 -6
- package/dist/src/rtc/IceTrickleBuffer.d.ts +2 -3
- package/dist/src/rtc/signal.d.ts +2 -2
- package/dist/src/types.d.ts +7 -0
- package/package.json +4 -4
- package/src/Call.ts +46 -53
- package/src/StreamSfuClient.ts +1 -3
- package/src/StreamVideoClient.ts +14 -13
- package/src/__tests__/server-side/call.test.ts +1 -7
- package/src/coordinator/connection/client.ts +30 -53
- package/src/coordinator/connection/connection.ts +22 -9
- package/src/coordinator/connection/types.ts +16 -5
- package/src/devices/InputMediaDeviceManagerState.ts +10 -1
- package/src/devices/SpeakerManager.ts +25 -4
- package/src/devices/__tests__/InputMediaDeviceManagerState.test.ts +25 -1
- package/src/devices/__tests__/SpeakerManager.test.ts +32 -2
- package/src/events/__tests__/call-permissions.test.ts +10 -20
- package/src/events/__tests__/mutes.test.ts +26 -55
- package/src/events/__tests__/participant.test.ts +47 -87
- package/src/events/call-permissions.ts +3 -4
- package/src/events/call.ts +6 -13
- package/src/events/callEventHandlers.ts +7 -4
- package/src/events/internal.ts +14 -22
- package/src/events/mutes.ts +1 -4
- package/src/events/participant.ts +14 -19
- package/src/events/speaker.ts +2 -8
- package/src/gen/google/protobuf/struct.ts +12 -19
- package/src/gen/google/protobuf/timestamp.ts +4 -7
- package/src/gen/video/sfu/event/events.ts +83 -164
- package/src/gen/video/sfu/models/models.ts +81 -123
- package/src/gen/video/sfu/signal_rpc/signal.client.ts +1 -1
- package/src/gen/video/sfu/signal_rpc/signal.ts +38 -77
- package/src/helpers/DynascaleManager.ts +7 -5
- package/src/helpers/__tests__/DynascaleManager.test.ts +5 -0
- package/src/rtc/Dispatcher.ts +42 -25
- package/src/rtc/IceTrickleBuffer.ts +4 -8
- package/src/rtc/Publisher.ts +1 -3
- package/src/rtc/Subscriber.ts +2 -6
- package/src/rtc/signal.ts +3 -2
- package/src/types.ts +8 -0
package/dist/index.cjs.js
CHANGED
|
@@ -218,11 +218,8 @@ class Struct$Type extends runtime.MessageType {
|
|
|
218
218
|
return target;
|
|
219
219
|
}
|
|
220
220
|
create(value) {
|
|
221
|
-
const message =
|
|
222
|
-
|
|
223
|
-
enumerable: false,
|
|
224
|
-
value: this,
|
|
225
|
-
});
|
|
221
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
222
|
+
message.fields = {};
|
|
226
223
|
if (value !== undefined)
|
|
227
224
|
runtime.reflectionMergePartial(this, message, value);
|
|
228
225
|
return message;
|
|
@@ -265,7 +262,7 @@ class Struct$Type extends runtime.MessageType {
|
|
|
265
262
|
}
|
|
266
263
|
internalBinaryWrite(message, writer, options) {
|
|
267
264
|
/* map<string, google.protobuf.Value> fields = 1; */
|
|
268
|
-
for (let k of Object.keys(message.fields)) {
|
|
265
|
+
for (let k of globalThis.Object.keys(message.fields)) {
|
|
269
266
|
writer
|
|
270
267
|
.tag(1, runtime.WireType.LengthDelimited)
|
|
271
268
|
.fork()
|
|
@@ -347,7 +344,10 @@ class Value$Type extends runtime.MessageType {
|
|
|
347
344
|
case 'nullValue':
|
|
348
345
|
return null;
|
|
349
346
|
case 'numberValue':
|
|
350
|
-
|
|
347
|
+
let numberValue = message.kind.numberValue;
|
|
348
|
+
if (typeof numberValue == 'number' && !Number.isFinite(numberValue))
|
|
349
|
+
throw new globalThis.Error();
|
|
350
|
+
return numberValue;
|
|
351
351
|
case 'stringValue':
|
|
352
352
|
return message.kind.stringValue;
|
|
353
353
|
case 'listValue':
|
|
@@ -407,11 +407,8 @@ class Value$Type extends runtime.MessageType {
|
|
|
407
407
|
return target;
|
|
408
408
|
}
|
|
409
409
|
create(value) {
|
|
410
|
-
const message =
|
|
411
|
-
|
|
412
|
-
enumerable: false,
|
|
413
|
-
value: this,
|
|
414
|
-
});
|
|
410
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
411
|
+
message.kind = { oneofKind: undefined };
|
|
415
412
|
if (value !== undefined)
|
|
416
413
|
runtime.reflectionMergePartial(this, message, value);
|
|
417
414
|
return message;
|
|
@@ -532,11 +529,8 @@ class ListValue$Type extends runtime.MessageType {
|
|
|
532
529
|
return target;
|
|
533
530
|
}
|
|
534
531
|
create(value) {
|
|
535
|
-
const message =
|
|
536
|
-
|
|
537
|
-
enumerable: false,
|
|
538
|
-
value: this,
|
|
539
|
-
});
|
|
532
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
533
|
+
message.values = [];
|
|
540
534
|
if (value !== undefined)
|
|
541
535
|
runtime.reflectionMergePartial(this, message, value);
|
|
542
536
|
return message;
|
|
@@ -671,11 +665,9 @@ class Timestamp$Type extends runtime.MessageType {
|
|
|
671
665
|
return target;
|
|
672
666
|
}
|
|
673
667
|
create(value) {
|
|
674
|
-
const message =
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
value: this,
|
|
678
|
-
});
|
|
668
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
669
|
+
message.seconds = '0';
|
|
670
|
+
message.nanos = 0;
|
|
679
671
|
if (value !== undefined)
|
|
680
672
|
runtime.reflectionMergePartial(this, message, value);
|
|
681
673
|
return message;
|
|
@@ -1012,11 +1004,9 @@ class CallState$Type extends runtime.MessageType {
|
|
|
1012
1004
|
]);
|
|
1013
1005
|
}
|
|
1014
1006
|
create(value) {
|
|
1015
|
-
const message =
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
value: this,
|
|
1019
|
-
});
|
|
1007
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
1008
|
+
message.participants = [];
|
|
1009
|
+
message.pins = [];
|
|
1020
1010
|
if (value !== undefined)
|
|
1021
1011
|
runtime.reflectionMergePartial(this, message, value);
|
|
1022
1012
|
return message;
|
|
@@ -1081,11 +1071,9 @@ class ParticipantCount$Type extends runtime.MessageType {
|
|
|
1081
1071
|
]);
|
|
1082
1072
|
}
|
|
1083
1073
|
create(value) {
|
|
1084
|
-
const message =
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
value: this,
|
|
1088
|
-
});
|
|
1074
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
1075
|
+
message.total = 0;
|
|
1076
|
+
message.anonymous = 0;
|
|
1089
1077
|
if (value !== undefined)
|
|
1090
1078
|
runtime.reflectionMergePartial(this, message, value);
|
|
1091
1079
|
return message;
|
|
@@ -1138,11 +1126,9 @@ class Pin$Type extends runtime.MessageType {
|
|
|
1138
1126
|
]);
|
|
1139
1127
|
}
|
|
1140
1128
|
create(value) {
|
|
1141
|
-
const message =
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
value: this,
|
|
1145
|
-
});
|
|
1129
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
1130
|
+
message.userId = '';
|
|
1131
|
+
message.sessionId = '';
|
|
1146
1132
|
if (value !== undefined)
|
|
1147
1133
|
runtime.reflectionMergePartial(this, message, value);
|
|
1148
1134
|
return message;
|
|
@@ -1241,23 +1227,18 @@ class Participant$Type extends runtime.MessageType {
|
|
|
1241
1227
|
]);
|
|
1242
1228
|
}
|
|
1243
1229
|
create(value) {
|
|
1244
|
-
const message =
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
};
|
|
1257
|
-
globalThis.Object.defineProperty(message, runtime.MESSAGE_TYPE, {
|
|
1258
|
-
enumerable: false,
|
|
1259
|
-
value: this,
|
|
1260
|
-
});
|
|
1230
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
1231
|
+
message.userId = '';
|
|
1232
|
+
message.sessionId = '';
|
|
1233
|
+
message.publishedTracks = [];
|
|
1234
|
+
message.trackLookupPrefix = '';
|
|
1235
|
+
message.connectionQuality = 0;
|
|
1236
|
+
message.isSpeaking = false;
|
|
1237
|
+
message.isDominantSpeaker = false;
|
|
1238
|
+
message.audioLevel = 0;
|
|
1239
|
+
message.name = '';
|
|
1240
|
+
message.image = '';
|
|
1241
|
+
message.roles = [];
|
|
1261
1242
|
if (value !== undefined)
|
|
1262
1243
|
runtime.reflectionMergePartial(this, message, value);
|
|
1263
1244
|
return message;
|
|
@@ -1393,11 +1374,9 @@ class StreamQuality$Type extends runtime.MessageType {
|
|
|
1393
1374
|
]);
|
|
1394
1375
|
}
|
|
1395
1376
|
create(value) {
|
|
1396
|
-
const message =
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
value: this,
|
|
1400
|
-
});
|
|
1377
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
1378
|
+
message.videoQuality = 0;
|
|
1379
|
+
message.userId = '';
|
|
1401
1380
|
if (value !== undefined)
|
|
1402
1381
|
runtime.reflectionMergePartial(this, message, value);
|
|
1403
1382
|
return message;
|
|
@@ -1450,11 +1429,9 @@ class VideoDimension$Type extends runtime.MessageType {
|
|
|
1450
1429
|
]);
|
|
1451
1430
|
}
|
|
1452
1431
|
create(value) {
|
|
1453
|
-
const message =
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
value: this,
|
|
1457
|
-
});
|
|
1432
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
1433
|
+
message.width = 0;
|
|
1434
|
+
message.height = 0;
|
|
1458
1435
|
if (value !== undefined)
|
|
1459
1436
|
runtime.reflectionMergePartial(this, message, value);
|
|
1460
1437
|
return message;
|
|
@@ -1524,11 +1501,11 @@ class VideoLayer$Type extends runtime.MessageType {
|
|
|
1524
1501
|
]);
|
|
1525
1502
|
}
|
|
1526
1503
|
create(value) {
|
|
1527
|
-
const message =
|
|
1528
|
-
|
|
1529
|
-
|
|
1530
|
-
|
|
1531
|
-
|
|
1504
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
1505
|
+
message.rid = '';
|
|
1506
|
+
message.bitrate = 0;
|
|
1507
|
+
message.fps = 0;
|
|
1508
|
+
message.quality = 0;
|
|
1532
1509
|
if (value !== undefined)
|
|
1533
1510
|
runtime.reflectionMergePartial(this, message, value);
|
|
1534
1511
|
return message;
|
|
@@ -1624,18 +1601,13 @@ class Codec$Type extends runtime.MessageType {
|
|
|
1624
1601
|
]);
|
|
1625
1602
|
}
|
|
1626
1603
|
create(value) {
|
|
1627
|
-
const message =
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
|
|
1631
|
-
|
|
1632
|
-
|
|
1633
|
-
|
|
1634
|
-
};
|
|
1635
|
-
globalThis.Object.defineProperty(message, runtime.MESSAGE_TYPE, {
|
|
1636
|
-
enumerable: false,
|
|
1637
|
-
value: this,
|
|
1638
|
-
});
|
|
1604
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
1605
|
+
message.payloadType = 0;
|
|
1606
|
+
message.name = '';
|
|
1607
|
+
message.fmtpLine = '';
|
|
1608
|
+
message.clockRate = 0;
|
|
1609
|
+
message.encodingParameters = '';
|
|
1610
|
+
message.feedbacks = [];
|
|
1639
1611
|
if (value !== undefined)
|
|
1640
1612
|
runtime.reflectionMergePartial(this, message, value);
|
|
1641
1613
|
return message;
|
|
@@ -1725,11 +1697,10 @@ let ICETrickle$Type$1 = class ICETrickle$Type extends runtime.MessageType {
|
|
|
1725
1697
|
]);
|
|
1726
1698
|
}
|
|
1727
1699
|
create(value) {
|
|
1728
|
-
const message =
|
|
1729
|
-
|
|
1730
|
-
|
|
1731
|
-
|
|
1732
|
-
});
|
|
1700
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
1701
|
+
message.peerType = 0;
|
|
1702
|
+
message.iceCandidate = '';
|
|
1703
|
+
message.sessionId = '';
|
|
1733
1704
|
if (value !== undefined)
|
|
1734
1705
|
runtime.reflectionMergePartial(this, message, value);
|
|
1735
1706
|
return message;
|
|
@@ -1808,19 +1779,14 @@ class TrackInfo$Type extends runtime.MessageType {
|
|
|
1808
1779
|
]);
|
|
1809
1780
|
}
|
|
1810
1781
|
create(value) {
|
|
1811
|
-
const message =
|
|
1812
|
-
|
|
1813
|
-
|
|
1814
|
-
|
|
1815
|
-
|
|
1816
|
-
|
|
1817
|
-
|
|
1818
|
-
|
|
1819
|
-
};
|
|
1820
|
-
globalThis.Object.defineProperty(message, runtime.MESSAGE_TYPE, {
|
|
1821
|
-
enumerable: false,
|
|
1822
|
-
value: this,
|
|
1823
|
-
});
|
|
1782
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
1783
|
+
message.trackId = '';
|
|
1784
|
+
message.trackType = 0;
|
|
1785
|
+
message.layers = [];
|
|
1786
|
+
message.mid = '';
|
|
1787
|
+
message.dtx = false;
|
|
1788
|
+
message.stereo = false;
|
|
1789
|
+
message.red = false;
|
|
1824
1790
|
if (value !== undefined)
|
|
1825
1791
|
runtime.reflectionMergePartial(this, message, value);
|
|
1826
1792
|
return message;
|
|
@@ -1918,11 +1884,11 @@ class Call$Type extends runtime.MessageType {
|
|
|
1918
1884
|
]);
|
|
1919
1885
|
}
|
|
1920
1886
|
create(value) {
|
|
1921
|
-
const message =
|
|
1922
|
-
|
|
1923
|
-
|
|
1924
|
-
|
|
1925
|
-
|
|
1887
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
1888
|
+
message.type = '';
|
|
1889
|
+
message.id = '';
|
|
1890
|
+
message.createdByUserId = '';
|
|
1891
|
+
message.hostUserId = '';
|
|
1926
1892
|
if (value !== undefined)
|
|
1927
1893
|
runtime.reflectionMergePartial(this, message, value);
|
|
1928
1894
|
return message;
|
|
@@ -2015,11 +1981,10 @@ let Error$Type$1 = class Error$Type extends runtime.MessageType {
|
|
|
2015
1981
|
]);
|
|
2016
1982
|
}
|
|
2017
1983
|
create(value) {
|
|
2018
|
-
const message =
|
|
2019
|
-
|
|
2020
|
-
|
|
2021
|
-
|
|
2022
|
-
});
|
|
1984
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
1985
|
+
message.code = 0;
|
|
1986
|
+
message.message = '';
|
|
1987
|
+
message.shouldRetry = false;
|
|
2023
1988
|
if (value !== undefined)
|
|
2024
1989
|
runtime.reflectionMergePartial(this, message, value);
|
|
2025
1990
|
return message;
|
|
@@ -2080,11 +2045,7 @@ class ClientDetails$Type extends runtime.MessageType {
|
|
|
2080
2045
|
]);
|
|
2081
2046
|
}
|
|
2082
2047
|
create(value) {
|
|
2083
|
-
const message =
|
|
2084
|
-
globalThis.Object.defineProperty(message, runtime.MESSAGE_TYPE, {
|
|
2085
|
-
enumerable: false,
|
|
2086
|
-
value: this,
|
|
2087
|
-
});
|
|
2048
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
2088
2049
|
if (value !== undefined)
|
|
2089
2050
|
runtime.reflectionMergePartial(this, message, value);
|
|
2090
2051
|
return message;
|
|
@@ -2156,11 +2117,11 @@ class Sdk$Type extends runtime.MessageType {
|
|
|
2156
2117
|
]);
|
|
2157
2118
|
}
|
|
2158
2119
|
create(value) {
|
|
2159
|
-
const message =
|
|
2160
|
-
|
|
2161
|
-
|
|
2162
|
-
|
|
2163
|
-
|
|
2120
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
2121
|
+
message.type = 0;
|
|
2122
|
+
message.major = '';
|
|
2123
|
+
message.minor = '';
|
|
2124
|
+
message.patch = '';
|
|
2164
2125
|
if (value !== undefined)
|
|
2165
2126
|
runtime.reflectionMergePartial(this, message, value);
|
|
2166
2127
|
return message;
|
|
@@ -2231,11 +2192,10 @@ class OS$Type extends runtime.MessageType {
|
|
|
2231
2192
|
]);
|
|
2232
2193
|
}
|
|
2233
2194
|
create(value) {
|
|
2234
|
-
const message =
|
|
2235
|
-
|
|
2236
|
-
|
|
2237
|
-
|
|
2238
|
-
});
|
|
2195
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
2196
|
+
message.name = '';
|
|
2197
|
+
message.version = '';
|
|
2198
|
+
message.architecture = '';
|
|
2239
2199
|
if (value !== undefined)
|
|
2240
2200
|
runtime.reflectionMergePartial(this, message, value);
|
|
2241
2201
|
return message;
|
|
@@ -2294,11 +2254,9 @@ class Browser$Type extends runtime.MessageType {
|
|
|
2294
2254
|
]);
|
|
2295
2255
|
}
|
|
2296
2256
|
create(value) {
|
|
2297
|
-
const message =
|
|
2298
|
-
|
|
2299
|
-
|
|
2300
|
-
value: this,
|
|
2301
|
-
});
|
|
2257
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
2258
|
+
message.name = '';
|
|
2259
|
+
message.version = '';
|
|
2302
2260
|
if (value !== undefined)
|
|
2303
2261
|
runtime.reflectionMergePartial(this, message, value);
|
|
2304
2262
|
return message;
|
|
@@ -2351,11 +2309,9 @@ class Device$Type extends runtime.MessageType {
|
|
|
2351
2309
|
]);
|
|
2352
2310
|
}
|
|
2353
2311
|
create(value) {
|
|
2354
|
-
const message =
|
|
2355
|
-
|
|
2356
|
-
|
|
2357
|
-
value: this,
|
|
2358
|
-
});
|
|
2312
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
2313
|
+
message.name = '';
|
|
2314
|
+
message.version = '';
|
|
2359
2315
|
if (value !== undefined)
|
|
2360
2316
|
runtime.reflectionMergePartial(this, message, value);
|
|
2361
2317
|
return message;
|
|
@@ -2424,15 +2380,10 @@ class CallGrants$Type extends runtime.MessageType {
|
|
|
2424
2380
|
]);
|
|
2425
2381
|
}
|
|
2426
2382
|
create(value) {
|
|
2427
|
-
const message =
|
|
2428
|
-
|
|
2429
|
-
|
|
2430
|
-
|
|
2431
|
-
};
|
|
2432
|
-
globalThis.Object.defineProperty(message, runtime.MESSAGE_TYPE, {
|
|
2433
|
-
enumerable: false,
|
|
2434
|
-
value: this,
|
|
2435
|
-
});
|
|
2383
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
2384
|
+
message.canPublishAudio = false;
|
|
2385
|
+
message.canPublishVideo = false;
|
|
2386
|
+
message.canScreenshare = false;
|
|
2436
2387
|
if (value !== undefined)
|
|
2437
2388
|
runtime.reflectionMergePartial(this, message, value);
|
|
2438
2389
|
return message;
|
|
@@ -2514,7 +2465,7 @@ var models = /*#__PURE__*/Object.freeze({
|
|
|
2514
2465
|
});
|
|
2515
2466
|
|
|
2516
2467
|
/* eslint-disable */
|
|
2517
|
-
// @generated by protobuf-ts 2.9.
|
|
2468
|
+
// @generated by protobuf-ts 2.9.3 with parameter long_type_string,client_generic,server_none,eslint_disable
|
|
2518
2469
|
// @generated from protobuf file "video/sfu/signal_rpc/signal.proto" (package "stream.video.sfu.signal", syntax proto3)
|
|
2519
2470
|
// tslint:disable
|
|
2520
2471
|
// @generated message type with reflection information, may provide speed optimized methods
|
|
@@ -2531,11 +2482,9 @@ class ICERestartRequest$Type extends runtime.MessageType {
|
|
|
2531
2482
|
]);
|
|
2532
2483
|
}
|
|
2533
2484
|
create(value) {
|
|
2534
|
-
const message =
|
|
2535
|
-
|
|
2536
|
-
|
|
2537
|
-
value: this,
|
|
2538
|
-
});
|
|
2485
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
2486
|
+
message.sessionId = '';
|
|
2487
|
+
message.peerType = 0;
|
|
2539
2488
|
if (value !== undefined)
|
|
2540
2489
|
runtime.reflectionMergePartial(this, message, value);
|
|
2541
2490
|
return message;
|
|
@@ -2587,11 +2536,7 @@ class ICERestartResponse$Type extends runtime.MessageType {
|
|
|
2587
2536
|
]);
|
|
2588
2537
|
}
|
|
2589
2538
|
create(value) {
|
|
2590
|
-
const message =
|
|
2591
|
-
globalThis.Object.defineProperty(message, runtime.MESSAGE_TYPE, {
|
|
2592
|
-
enumerable: false,
|
|
2593
|
-
value: this,
|
|
2594
|
-
});
|
|
2539
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
2595
2540
|
if (value !== undefined)
|
|
2596
2541
|
runtime.reflectionMergePartial(this, message, value);
|
|
2597
2542
|
return message;
|
|
@@ -2644,11 +2589,9 @@ class UpdateMuteStatesRequest$Type extends runtime.MessageType {
|
|
|
2644
2589
|
]);
|
|
2645
2590
|
}
|
|
2646
2591
|
create(value) {
|
|
2647
|
-
const message =
|
|
2648
|
-
|
|
2649
|
-
|
|
2650
|
-
value: this,
|
|
2651
|
-
});
|
|
2592
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
2593
|
+
message.sessionId = '';
|
|
2594
|
+
message.muteStates = [];
|
|
2652
2595
|
if (value !== undefined)
|
|
2653
2596
|
runtime.reflectionMergePartial(this, message, value);
|
|
2654
2597
|
return message;
|
|
@@ -2700,11 +2643,7 @@ class UpdateMuteStatesResponse$Type extends runtime.MessageType {
|
|
|
2700
2643
|
]);
|
|
2701
2644
|
}
|
|
2702
2645
|
create(value) {
|
|
2703
|
-
const message =
|
|
2704
|
-
globalThis.Object.defineProperty(message, runtime.MESSAGE_TYPE, {
|
|
2705
|
-
enumerable: false,
|
|
2706
|
-
value: this,
|
|
2707
|
-
});
|
|
2646
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
2708
2647
|
if (value !== undefined)
|
|
2709
2648
|
runtime.reflectionMergePartial(this, message, value);
|
|
2710
2649
|
return message;
|
|
@@ -2760,11 +2699,9 @@ class TrackMuteState$Type extends runtime.MessageType {
|
|
|
2760
2699
|
]);
|
|
2761
2700
|
}
|
|
2762
2701
|
create(value) {
|
|
2763
|
-
const message =
|
|
2764
|
-
|
|
2765
|
-
|
|
2766
|
-
value: this,
|
|
2767
|
-
});
|
|
2702
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
2703
|
+
message.trackType = 0;
|
|
2704
|
+
message.muted = false;
|
|
2768
2705
|
if (value !== undefined)
|
|
2769
2706
|
runtime.reflectionMergePartial(this, message, value);
|
|
2770
2707
|
return message;
|
|
@@ -2816,11 +2753,8 @@ class AudioMuteChanged$Type extends runtime.MessageType {
|
|
|
2816
2753
|
]);
|
|
2817
2754
|
}
|
|
2818
2755
|
create(value) {
|
|
2819
|
-
const message =
|
|
2820
|
-
|
|
2821
|
-
enumerable: false,
|
|
2822
|
-
value: this,
|
|
2823
|
-
});
|
|
2756
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
2757
|
+
message.muted = false;
|
|
2824
2758
|
if (value !== undefined)
|
|
2825
2759
|
runtime.reflectionMergePartial(this, message, value);
|
|
2826
2760
|
return message;
|
|
@@ -2866,11 +2800,8 @@ class VideoMuteChanged$Type extends runtime.MessageType {
|
|
|
2866
2800
|
]);
|
|
2867
2801
|
}
|
|
2868
2802
|
create(value) {
|
|
2869
|
-
const message =
|
|
2870
|
-
|
|
2871
|
-
enumerable: false,
|
|
2872
|
-
value: this,
|
|
2873
|
-
});
|
|
2803
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
2804
|
+
message.muted = false;
|
|
2874
2805
|
if (value !== undefined)
|
|
2875
2806
|
runtime.reflectionMergePartial(this, message, value);
|
|
2876
2807
|
return message;
|
|
@@ -2923,11 +2854,9 @@ class UpdateSubscriptionsRequest$Type extends runtime.MessageType {
|
|
|
2923
2854
|
]);
|
|
2924
2855
|
}
|
|
2925
2856
|
create(value) {
|
|
2926
|
-
const message =
|
|
2927
|
-
|
|
2928
|
-
|
|
2929
|
-
value: this,
|
|
2930
|
-
});
|
|
2857
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
2858
|
+
message.sessionId = '';
|
|
2859
|
+
message.tracks = [];
|
|
2931
2860
|
if (value !== undefined)
|
|
2932
2861
|
runtime.reflectionMergePartial(this, message, value);
|
|
2933
2862
|
return message;
|
|
@@ -2979,11 +2908,7 @@ class UpdateSubscriptionsResponse$Type extends runtime.MessageType {
|
|
|
2979
2908
|
]);
|
|
2980
2909
|
}
|
|
2981
2910
|
create(value) {
|
|
2982
|
-
const message =
|
|
2983
|
-
globalThis.Object.defineProperty(message, runtime.MESSAGE_TYPE, {
|
|
2984
|
-
enumerable: false,
|
|
2985
|
-
value: this,
|
|
2986
|
-
});
|
|
2911
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
2987
2912
|
if (value !== undefined)
|
|
2988
2913
|
runtime.reflectionMergePartial(this, message, value);
|
|
2989
2914
|
return message;
|
|
@@ -3041,11 +2966,10 @@ class TrackSubscriptionDetails$Type extends runtime.MessageType {
|
|
|
3041
2966
|
]);
|
|
3042
2967
|
}
|
|
3043
2968
|
create(value) {
|
|
3044
|
-
const message =
|
|
3045
|
-
|
|
3046
|
-
|
|
3047
|
-
|
|
3048
|
-
});
|
|
2969
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
2970
|
+
message.userId = '';
|
|
2971
|
+
message.sessionId = '';
|
|
2972
|
+
message.trackType = 0;
|
|
3049
2973
|
if (value !== undefined)
|
|
3050
2974
|
runtime.reflectionMergePartial(this, message, value);
|
|
3051
2975
|
return message;
|
|
@@ -3116,11 +3040,10 @@ class SendAnswerRequest$Type extends runtime.MessageType {
|
|
|
3116
3040
|
]);
|
|
3117
3041
|
}
|
|
3118
3042
|
create(value) {
|
|
3119
|
-
const message =
|
|
3120
|
-
|
|
3121
|
-
|
|
3122
|
-
|
|
3123
|
-
});
|
|
3043
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
3044
|
+
message.peerType = 0;
|
|
3045
|
+
message.sdp = '';
|
|
3046
|
+
message.sessionId = '';
|
|
3124
3047
|
if (value !== undefined)
|
|
3125
3048
|
runtime.reflectionMergePartial(this, message, value);
|
|
3126
3049
|
return message;
|
|
@@ -3178,11 +3101,7 @@ class SendAnswerResponse$Type extends runtime.MessageType {
|
|
|
3178
3101
|
]);
|
|
3179
3102
|
}
|
|
3180
3103
|
create(value) {
|
|
3181
|
-
const message =
|
|
3182
|
-
globalThis.Object.defineProperty(message, runtime.MESSAGE_TYPE, {
|
|
3183
|
-
enumerable: false,
|
|
3184
|
-
value: this,
|
|
3185
|
-
});
|
|
3104
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
3186
3105
|
if (value !== undefined)
|
|
3187
3106
|
runtime.reflectionMergePartial(this, message, value);
|
|
3188
3107
|
return message;
|
|
@@ -3228,11 +3147,7 @@ class ICETrickleResponse$Type extends runtime.MessageType {
|
|
|
3228
3147
|
]);
|
|
3229
3148
|
}
|
|
3230
3149
|
create(value) {
|
|
3231
|
-
const message =
|
|
3232
|
-
globalThis.Object.defineProperty(message, runtime.MESSAGE_TYPE, {
|
|
3233
|
-
enumerable: false,
|
|
3234
|
-
value: this,
|
|
3235
|
-
});
|
|
3150
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
3236
3151
|
if (value !== undefined)
|
|
3237
3152
|
runtime.reflectionMergePartial(this, message, value);
|
|
3238
3153
|
return message;
|
|
@@ -3286,11 +3201,10 @@ class SetPublisherRequest$Type extends runtime.MessageType {
|
|
|
3286
3201
|
]);
|
|
3287
3202
|
}
|
|
3288
3203
|
create(value) {
|
|
3289
|
-
const message =
|
|
3290
|
-
|
|
3291
|
-
|
|
3292
|
-
|
|
3293
|
-
});
|
|
3204
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
3205
|
+
message.sdp = '';
|
|
3206
|
+
message.sessionId = '';
|
|
3207
|
+
message.tracks = [];
|
|
3294
3208
|
if (value !== undefined)
|
|
3295
3209
|
runtime.reflectionMergePartial(this, message, value);
|
|
3296
3210
|
return message;
|
|
@@ -3351,11 +3265,10 @@ class SetPublisherResponse$Type extends runtime.MessageType {
|
|
|
3351
3265
|
]);
|
|
3352
3266
|
}
|
|
3353
3267
|
create(value) {
|
|
3354
|
-
const message =
|
|
3355
|
-
|
|
3356
|
-
|
|
3357
|
-
|
|
3358
|
-
});
|
|
3268
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
3269
|
+
message.sdp = '';
|
|
3270
|
+
message.sessionId = '';
|
|
3271
|
+
message.iceRestart = false;
|
|
3359
3272
|
if (value !== undefined)
|
|
3360
3273
|
runtime.reflectionMergePartial(this, message, value);
|
|
3361
3274
|
return message;
|
|
@@ -3603,11 +3516,8 @@ class SfuEvent$Type extends runtime.MessageType {
|
|
|
3603
3516
|
]);
|
|
3604
3517
|
}
|
|
3605
3518
|
create(value) {
|
|
3606
|
-
const message =
|
|
3607
|
-
|
|
3608
|
-
enumerable: false,
|
|
3609
|
-
value: this,
|
|
3610
|
-
});
|
|
3519
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
3520
|
+
message.eventPayload = { oneofKind: undefined };
|
|
3611
3521
|
if (value !== undefined)
|
|
3612
3522
|
runtime.reflectionMergePartial(this, message, value);
|
|
3613
3523
|
return message;
|
|
@@ -3815,11 +3725,8 @@ class PinsChanged$Type extends runtime.MessageType {
|
|
|
3815
3725
|
]);
|
|
3816
3726
|
}
|
|
3817
3727
|
create(value) {
|
|
3818
|
-
const message =
|
|
3819
|
-
|
|
3820
|
-
enumerable: false,
|
|
3821
|
-
value: this,
|
|
3822
|
-
});
|
|
3728
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
3729
|
+
message.pins = [];
|
|
3823
3730
|
if (value !== undefined)
|
|
3824
3731
|
runtime.reflectionMergePartial(this, message, value);
|
|
3825
3732
|
return message;
|
|
@@ -3865,11 +3772,7 @@ class Error$Type extends runtime.MessageType {
|
|
|
3865
3772
|
]);
|
|
3866
3773
|
}
|
|
3867
3774
|
create(value) {
|
|
3868
|
-
const message =
|
|
3869
|
-
globalThis.Object.defineProperty(message, runtime.MESSAGE_TYPE, {
|
|
3870
|
-
enumerable: false,
|
|
3871
|
-
value: this,
|
|
3872
|
-
});
|
|
3775
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
3873
3776
|
if (value !== undefined)
|
|
3874
3777
|
runtime.reflectionMergePartial(this, message, value);
|
|
3875
3778
|
return message;
|
|
@@ -3926,11 +3829,9 @@ class ICETrickle$Type extends runtime.MessageType {
|
|
|
3926
3829
|
]);
|
|
3927
3830
|
}
|
|
3928
3831
|
create(value) {
|
|
3929
|
-
const message =
|
|
3930
|
-
|
|
3931
|
-
|
|
3932
|
-
value: this,
|
|
3933
|
-
});
|
|
3832
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
3833
|
+
message.peerType = 0;
|
|
3834
|
+
message.iceCandidate = '';
|
|
3934
3835
|
if (value !== undefined)
|
|
3935
3836
|
runtime.reflectionMergePartial(this, message, value);
|
|
3936
3837
|
return message;
|
|
@@ -3987,11 +3888,8 @@ class ICERestart$Type extends runtime.MessageType {
|
|
|
3987
3888
|
]);
|
|
3988
3889
|
}
|
|
3989
3890
|
create(value) {
|
|
3990
|
-
const message =
|
|
3991
|
-
|
|
3992
|
-
enumerable: false,
|
|
3993
|
-
value: this,
|
|
3994
|
-
});
|
|
3891
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
3892
|
+
message.peerType = 0;
|
|
3995
3893
|
if (value !== undefined)
|
|
3996
3894
|
runtime.reflectionMergePartial(this, message, value);
|
|
3997
3895
|
return message;
|
|
@@ -4050,11 +3948,8 @@ class SfuRequest$Type extends runtime.MessageType {
|
|
|
4050
3948
|
]);
|
|
4051
3949
|
}
|
|
4052
3950
|
create(value) {
|
|
4053
|
-
const message =
|
|
4054
|
-
|
|
4055
|
-
enumerable: false,
|
|
4056
|
-
value: this,
|
|
4057
|
-
});
|
|
3951
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
3952
|
+
message.requestPayload = { oneofKind: undefined };
|
|
4058
3953
|
if (value !== undefined)
|
|
4059
3954
|
runtime.reflectionMergePartial(this, message, value);
|
|
4060
3955
|
return message;
|
|
@@ -4110,11 +4005,7 @@ class HealthCheckRequest$Type extends runtime.MessageType {
|
|
|
4110
4005
|
super('stream.video.sfu.event.HealthCheckRequest', []);
|
|
4111
4006
|
}
|
|
4112
4007
|
create(value) {
|
|
4113
|
-
const message =
|
|
4114
|
-
globalThis.Object.defineProperty(message, runtime.MESSAGE_TYPE, {
|
|
4115
|
-
enumerable: false,
|
|
4116
|
-
value: this,
|
|
4117
|
-
});
|
|
4008
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
4118
4009
|
if (value !== undefined)
|
|
4119
4010
|
runtime.reflectionMergePartial(this, message, value);
|
|
4120
4011
|
return message;
|
|
@@ -4146,11 +4037,7 @@ class HealthCheckResponse$Type extends runtime.MessageType {
|
|
|
4146
4037
|
]);
|
|
4147
4038
|
}
|
|
4148
4039
|
create(value) {
|
|
4149
|
-
const message =
|
|
4150
|
-
globalThis.Object.defineProperty(message, runtime.MESSAGE_TYPE, {
|
|
4151
|
-
enumerable: false,
|
|
4152
|
-
value: this,
|
|
4153
|
-
});
|
|
4040
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
4154
4041
|
if (value !== undefined)
|
|
4155
4042
|
runtime.reflectionMergePartial(this, message, value);
|
|
4156
4043
|
return message;
|
|
@@ -4208,11 +4095,10 @@ class TrackPublished$Type extends runtime.MessageType {
|
|
|
4208
4095
|
]);
|
|
4209
4096
|
}
|
|
4210
4097
|
create(value) {
|
|
4211
|
-
const message =
|
|
4212
|
-
|
|
4213
|
-
|
|
4214
|
-
|
|
4215
|
-
});
|
|
4098
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
4099
|
+
message.userId = '';
|
|
4100
|
+
message.sessionId = '';
|
|
4101
|
+
message.type = 0;
|
|
4216
4102
|
if (value !== undefined)
|
|
4217
4103
|
runtime.reflectionMergePartial(this, message, value);
|
|
4218
4104
|
return message;
|
|
@@ -4298,11 +4184,11 @@ class TrackUnpublished$Type extends runtime.MessageType {
|
|
|
4298
4184
|
]);
|
|
4299
4185
|
}
|
|
4300
4186
|
create(value) {
|
|
4301
|
-
const message =
|
|
4302
|
-
|
|
4303
|
-
|
|
4304
|
-
|
|
4305
|
-
|
|
4187
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
4188
|
+
message.userId = '';
|
|
4189
|
+
message.sessionId = '';
|
|
4190
|
+
message.type = 0;
|
|
4191
|
+
message.cause = 0;
|
|
4306
4192
|
if (value !== undefined)
|
|
4307
4193
|
runtime.reflectionMergePartial(this, message, value);
|
|
4308
4194
|
return message;
|
|
@@ -4392,16 +4278,11 @@ class JoinRequest$Type extends runtime.MessageType {
|
|
|
4392
4278
|
]);
|
|
4393
4279
|
}
|
|
4394
4280
|
create(value) {
|
|
4395
|
-
const message =
|
|
4396
|
-
|
|
4397
|
-
|
|
4398
|
-
|
|
4399
|
-
|
|
4400
|
-
};
|
|
4401
|
-
globalThis.Object.defineProperty(message, runtime.MESSAGE_TYPE, {
|
|
4402
|
-
enumerable: false,
|
|
4403
|
-
value: this,
|
|
4404
|
-
});
|
|
4281
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
4282
|
+
message.token = '';
|
|
4283
|
+
message.sessionId = '';
|
|
4284
|
+
message.subscriberSdp = '';
|
|
4285
|
+
message.fastReconnect = false;
|
|
4405
4286
|
if (value !== undefined)
|
|
4406
4287
|
runtime.reflectionMergePartial(this, message, value);
|
|
4407
4288
|
return message;
|
|
@@ -4496,11 +4377,10 @@ class Migration$Type extends runtime.MessageType {
|
|
|
4496
4377
|
]);
|
|
4497
4378
|
}
|
|
4498
4379
|
create(value) {
|
|
4499
|
-
const message =
|
|
4500
|
-
|
|
4501
|
-
|
|
4502
|
-
|
|
4503
|
-
});
|
|
4380
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
4381
|
+
message.fromSfuId = '';
|
|
4382
|
+
message.announcedTracks = [];
|
|
4383
|
+
message.subscriptions = [];
|
|
4504
4384
|
if (value !== undefined)
|
|
4505
4385
|
runtime.reflectionMergePartial(this, message, value);
|
|
4506
4386
|
return message;
|
|
@@ -4559,11 +4439,8 @@ class JoinResponse$Type extends runtime.MessageType {
|
|
|
4559
4439
|
]);
|
|
4560
4440
|
}
|
|
4561
4441
|
create(value) {
|
|
4562
|
-
const message =
|
|
4563
|
-
|
|
4564
|
-
enumerable: false,
|
|
4565
|
-
value: this,
|
|
4566
|
-
});
|
|
4442
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
4443
|
+
message.reconnected = false;
|
|
4567
4444
|
if (value !== undefined)
|
|
4568
4445
|
runtime.reflectionMergePartial(this, message, value);
|
|
4569
4446
|
return message;
|
|
@@ -4616,11 +4493,8 @@ class ParticipantJoined$Type extends runtime.MessageType {
|
|
|
4616
4493
|
]);
|
|
4617
4494
|
}
|
|
4618
4495
|
create(value) {
|
|
4619
|
-
const message =
|
|
4620
|
-
|
|
4621
|
-
enumerable: false,
|
|
4622
|
-
value: this,
|
|
4623
|
-
});
|
|
4496
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
4497
|
+
message.callCid = '';
|
|
4624
4498
|
if (value !== undefined)
|
|
4625
4499
|
runtime.reflectionMergePartial(this, message, value);
|
|
4626
4500
|
return message;
|
|
@@ -4673,11 +4547,8 @@ class ParticipantLeft$Type extends runtime.MessageType {
|
|
|
4673
4547
|
]);
|
|
4674
4548
|
}
|
|
4675
4549
|
create(value) {
|
|
4676
|
-
const message =
|
|
4677
|
-
|
|
4678
|
-
enumerable: false,
|
|
4679
|
-
value: this,
|
|
4680
|
-
});
|
|
4550
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
4551
|
+
message.callCid = '';
|
|
4681
4552
|
if (value !== undefined)
|
|
4682
4553
|
runtime.reflectionMergePartial(this, message, value);
|
|
4683
4554
|
return message;
|
|
@@ -4730,11 +4601,9 @@ class SubscriberOffer$Type extends runtime.MessageType {
|
|
|
4730
4601
|
]);
|
|
4731
4602
|
}
|
|
4732
4603
|
create(value) {
|
|
4733
|
-
const message =
|
|
4734
|
-
|
|
4735
|
-
|
|
4736
|
-
value: this,
|
|
4737
|
-
});
|
|
4604
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
4605
|
+
message.iceRestart = false;
|
|
4606
|
+
message.sdp = '';
|
|
4738
4607
|
if (value !== undefined)
|
|
4739
4608
|
runtime.reflectionMergePartial(this, message, value);
|
|
4740
4609
|
return message;
|
|
@@ -4786,11 +4655,8 @@ class PublisherAnswer$Type extends runtime.MessageType {
|
|
|
4786
4655
|
]);
|
|
4787
4656
|
}
|
|
4788
4657
|
create(value) {
|
|
4789
|
-
const message =
|
|
4790
|
-
|
|
4791
|
-
enumerable: false,
|
|
4792
|
-
value: this,
|
|
4793
|
-
});
|
|
4658
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
4659
|
+
message.sdp = '';
|
|
4794
4660
|
if (value !== undefined)
|
|
4795
4661
|
runtime.reflectionMergePartial(this, message, value);
|
|
4796
4662
|
return message;
|
|
@@ -4842,11 +4708,8 @@ class ConnectionQualityChanged$Type extends runtime.MessageType {
|
|
|
4842
4708
|
]);
|
|
4843
4709
|
}
|
|
4844
4710
|
create(value) {
|
|
4845
|
-
const message =
|
|
4846
|
-
|
|
4847
|
-
enumerable: false,
|
|
4848
|
-
value: this,
|
|
4849
|
-
});
|
|
4711
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
4712
|
+
message.connectionQualityUpdates = [];
|
|
4850
4713
|
if (value !== undefined)
|
|
4851
4714
|
runtime.reflectionMergePartial(this, message, value);
|
|
4852
4715
|
return message;
|
|
@@ -4903,11 +4766,10 @@ class ConnectionQualityInfo$Type extends runtime.MessageType {
|
|
|
4903
4766
|
]);
|
|
4904
4767
|
}
|
|
4905
4768
|
create(value) {
|
|
4906
|
-
const message =
|
|
4907
|
-
|
|
4908
|
-
|
|
4909
|
-
|
|
4910
|
-
});
|
|
4769
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
4770
|
+
message.userId = '';
|
|
4771
|
+
message.sessionId = '';
|
|
4772
|
+
message.connectionQuality = 0;
|
|
4911
4773
|
if (value !== undefined)
|
|
4912
4774
|
runtime.reflectionMergePartial(this, message, value);
|
|
4913
4775
|
return message;
|
|
@@ -4966,11 +4828,9 @@ class DominantSpeakerChanged$Type extends runtime.MessageType {
|
|
|
4966
4828
|
]);
|
|
4967
4829
|
}
|
|
4968
4830
|
create(value) {
|
|
4969
|
-
const message =
|
|
4970
|
-
|
|
4971
|
-
|
|
4972
|
-
value: this,
|
|
4973
|
-
});
|
|
4831
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
4832
|
+
message.userId = '';
|
|
4833
|
+
message.sessionId = '';
|
|
4974
4834
|
if (value !== undefined)
|
|
4975
4835
|
runtime.reflectionMergePartial(this, message, value);
|
|
4976
4836
|
return message;
|
|
@@ -5025,11 +4885,11 @@ class AudioLevel$Type extends runtime.MessageType {
|
|
|
5025
4885
|
]);
|
|
5026
4886
|
}
|
|
5027
4887
|
create(value) {
|
|
5028
|
-
const message =
|
|
5029
|
-
|
|
5030
|
-
|
|
5031
|
-
|
|
5032
|
-
|
|
4888
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
4889
|
+
message.userId = '';
|
|
4890
|
+
message.sessionId = '';
|
|
4891
|
+
message.level = 0;
|
|
4892
|
+
message.isSpeaking = false;
|
|
5033
4893
|
if (value !== undefined)
|
|
5034
4894
|
runtime.reflectionMergePartial(this, message, value);
|
|
5035
4895
|
return message;
|
|
@@ -5099,11 +4959,8 @@ class AudioLevelChanged$Type extends runtime.MessageType {
|
|
|
5099
4959
|
]);
|
|
5100
4960
|
}
|
|
5101
4961
|
create(value) {
|
|
5102
|
-
const message =
|
|
5103
|
-
|
|
5104
|
-
enumerable: false,
|
|
5105
|
-
value: this,
|
|
5106
|
-
});
|
|
4962
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
4963
|
+
message.audioLevels = [];
|
|
5107
4964
|
if (value !== undefined)
|
|
5108
4965
|
runtime.reflectionMergePartial(this, message, value);
|
|
5109
4966
|
return message;
|
|
@@ -5154,11 +5011,8 @@ class AudioMediaRequest$Type extends runtime.MessageType {
|
|
|
5154
5011
|
]);
|
|
5155
5012
|
}
|
|
5156
5013
|
create(value) {
|
|
5157
|
-
const message =
|
|
5158
|
-
|
|
5159
|
-
enumerable: false,
|
|
5160
|
-
value: this,
|
|
5161
|
-
});
|
|
5014
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
5015
|
+
message.channelCount = 0;
|
|
5162
5016
|
if (value !== undefined)
|
|
5163
5017
|
runtime.reflectionMergePartial(this, message, value);
|
|
5164
5018
|
return message;
|
|
@@ -5210,11 +5064,7 @@ class AudioSender$Type extends runtime.MessageType {
|
|
|
5210
5064
|
]);
|
|
5211
5065
|
}
|
|
5212
5066
|
create(value) {
|
|
5213
|
-
const message =
|
|
5214
|
-
globalThis.Object.defineProperty(message, runtime.MESSAGE_TYPE, {
|
|
5215
|
-
enumerable: false,
|
|
5216
|
-
value: this,
|
|
5217
|
-
});
|
|
5067
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
5218
5068
|
if (value !== undefined)
|
|
5219
5069
|
runtime.reflectionMergePartial(this, message, value);
|
|
5220
5070
|
return message;
|
|
@@ -5278,11 +5128,10 @@ class VideoMediaRequest$Type extends runtime.MessageType {
|
|
|
5278
5128
|
]);
|
|
5279
5129
|
}
|
|
5280
5130
|
create(value) {
|
|
5281
|
-
const message =
|
|
5282
|
-
|
|
5283
|
-
|
|
5284
|
-
|
|
5285
|
-
});
|
|
5131
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
5132
|
+
message.idealHeight = 0;
|
|
5133
|
+
message.idealWidth = 0;
|
|
5134
|
+
message.idealFrameRate = 0;
|
|
5286
5135
|
if (value !== undefined)
|
|
5287
5136
|
runtime.reflectionMergePartial(this, message, value);
|
|
5288
5137
|
return message;
|
|
@@ -5365,18 +5214,13 @@ class VideoLayerSetting$Type extends runtime.MessageType {
|
|
|
5365
5214
|
]);
|
|
5366
5215
|
}
|
|
5367
5216
|
create(value) {
|
|
5368
|
-
const message =
|
|
5369
|
-
|
|
5370
|
-
|
|
5371
|
-
|
|
5372
|
-
|
|
5373
|
-
|
|
5374
|
-
|
|
5375
|
-
};
|
|
5376
|
-
globalThis.Object.defineProperty(message, runtime.MESSAGE_TYPE, {
|
|
5377
|
-
enumerable: false,
|
|
5378
|
-
value: this,
|
|
5379
|
-
});
|
|
5217
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
5218
|
+
message.name = '';
|
|
5219
|
+
message.active = false;
|
|
5220
|
+
message.maxBitrate = 0;
|
|
5221
|
+
message.scaleResolutionDownBy = 0;
|
|
5222
|
+
message.priority = 0;
|
|
5223
|
+
message.maxFramerate = 0;
|
|
5380
5224
|
if (value !== undefined)
|
|
5381
5225
|
runtime.reflectionMergePartial(this, message, value);
|
|
5382
5226
|
return message;
|
|
@@ -5471,11 +5315,8 @@ class VideoSender$Type extends runtime.MessageType {
|
|
|
5471
5315
|
]);
|
|
5472
5316
|
}
|
|
5473
5317
|
create(value) {
|
|
5474
|
-
const message =
|
|
5475
|
-
|
|
5476
|
-
enumerable: false,
|
|
5477
|
-
value: this,
|
|
5478
|
-
});
|
|
5318
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
5319
|
+
message.layers = [];
|
|
5479
5320
|
if (value !== undefined)
|
|
5480
5321
|
runtime.reflectionMergePartial(this, message, value);
|
|
5481
5322
|
return message;
|
|
@@ -5546,11 +5387,9 @@ class ChangePublishQuality$Type extends runtime.MessageType {
|
|
|
5546
5387
|
]);
|
|
5547
5388
|
}
|
|
5548
5389
|
create(value) {
|
|
5549
|
-
const message =
|
|
5550
|
-
|
|
5551
|
-
|
|
5552
|
-
value: this,
|
|
5553
|
-
});
|
|
5390
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
5391
|
+
message.audioSenders = [];
|
|
5392
|
+
message.videoSenders = [];
|
|
5554
5393
|
if (value !== undefined)
|
|
5555
5394
|
runtime.reflectionMergePartial(this, message, value);
|
|
5556
5395
|
return message;
|
|
@@ -5603,11 +5442,8 @@ class CallGrantsUpdated$Type extends runtime.MessageType {
|
|
|
5603
5442
|
]);
|
|
5604
5443
|
}
|
|
5605
5444
|
create(value) {
|
|
5606
|
-
const message =
|
|
5607
|
-
|
|
5608
|
-
enumerable: false,
|
|
5609
|
-
value: this,
|
|
5610
|
-
});
|
|
5445
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
5446
|
+
message.message = '';
|
|
5611
5447
|
if (value !== undefined)
|
|
5612
5448
|
runtime.reflectionMergePartial(this, message, value);
|
|
5613
5449
|
return message;
|
|
@@ -5668,11 +5504,8 @@ class GoAway$Type extends runtime.MessageType {
|
|
|
5668
5504
|
]);
|
|
5669
5505
|
}
|
|
5670
5506
|
create(value) {
|
|
5671
|
-
const message =
|
|
5672
|
-
|
|
5673
|
-
enumerable: false,
|
|
5674
|
-
value: this,
|
|
5675
|
-
});
|
|
5507
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
5508
|
+
message.reason = 0;
|
|
5676
5509
|
if (value !== undefined)
|
|
5677
5510
|
runtime.reflectionMergePartial(this, message, value);
|
|
5678
5511
|
return message;
|
|
@@ -5995,21 +5828,24 @@ const isSfuEvent = (eventName) => {
|
|
|
5995
5828
|
};
|
|
5996
5829
|
class Dispatcher {
|
|
5997
5830
|
constructor() {
|
|
5831
|
+
this.logger = getLogger(['Dispatcher']);
|
|
5998
5832
|
this.subscribers = {};
|
|
5999
|
-
this.logger = getLogger(['sfu-client']);
|
|
6000
5833
|
this.dispatch = (message) => {
|
|
6001
5834
|
const eventKind = message.eventPayload.oneofKind;
|
|
6002
|
-
if (eventKind)
|
|
6003
|
-
|
|
6004
|
-
|
|
6005
|
-
|
|
6006
|
-
|
|
6007
|
-
|
|
6008
|
-
|
|
6009
|
-
|
|
6010
|
-
|
|
6011
|
-
|
|
6012
|
-
}
|
|
5835
|
+
if (!eventKind)
|
|
5836
|
+
return;
|
|
5837
|
+
const payload = message.eventPayload[eventKind];
|
|
5838
|
+
this.logger('debug', `Dispatching ${eventKind}`, payload);
|
|
5839
|
+
const listeners = this.subscribers[eventKind];
|
|
5840
|
+
if (!listeners)
|
|
5841
|
+
return;
|
|
5842
|
+
for (const fn of listeners) {
|
|
5843
|
+
try {
|
|
5844
|
+
fn(payload);
|
|
5845
|
+
}
|
|
5846
|
+
catch (e) {
|
|
5847
|
+
this.logger('warn', 'Listener failed with error', e);
|
|
5848
|
+
}
|
|
6013
5849
|
}
|
|
6014
5850
|
};
|
|
6015
5851
|
this.on = (eventName, fn) => {
|
|
@@ -6041,6 +5877,7 @@ class IceTrickleBuffer {
|
|
|
6041
5877
|
constructor() {
|
|
6042
5878
|
this.subscriberCandidates = new rxjs.ReplaySubject();
|
|
6043
5879
|
this.publisherCandidates = new rxjs.ReplaySubject();
|
|
5880
|
+
this.logger = getLogger(['sfu-client']);
|
|
6044
5881
|
this.push = (iceTrickle) => {
|
|
6045
5882
|
if (iceTrickle.peerType === PeerType.SUBSCRIBER) {
|
|
6046
5883
|
this.subscriberCandidates.next(iceTrickle);
|
|
@@ -6049,10 +5886,9 @@ class IceTrickleBuffer {
|
|
|
6049
5886
|
this.publisherCandidates.next(iceTrickle);
|
|
6050
5887
|
}
|
|
6051
5888
|
else {
|
|
6052
|
-
this.logger
|
|
5889
|
+
this.logger('warn', `ICETrickle, Unknown peer type`, iceTrickle);
|
|
6053
5890
|
}
|
|
6054
5891
|
};
|
|
6055
|
-
this.logger = getLogger(['sfu-client']);
|
|
6056
5892
|
}
|
|
6057
5893
|
}
|
|
6058
5894
|
|
|
@@ -8142,10 +7978,7 @@ class Publisher {
|
|
|
8142
7978
|
this.isDtxEnabled = isDtxEnabled;
|
|
8143
7979
|
this.isRedEnabled = isRedEnabled;
|
|
8144
7980
|
this.iceRestartDelay = iceRestartDelay;
|
|
8145
|
-
this.unsubscribeOnIceRestart = dispatcher.on('iceRestart', async (
|
|
8146
|
-
if (message.eventPayload.oneofKind !== 'iceRestart')
|
|
8147
|
-
return;
|
|
8148
|
-
const { iceRestart } = message.eventPayload;
|
|
7981
|
+
this.unsubscribeOnIceRestart = dispatcher.on('iceRestart', async (iceRestart) => {
|
|
8149
7982
|
if (iceRestart.peerType !== PeerType.PUBLISHER_UNSPECIFIED)
|
|
8150
7983
|
return;
|
|
8151
7984
|
await this.restartIce();
|
|
@@ -8421,16 +8254,10 @@ class Subscriber {
|
|
|
8421
8254
|
this.state = state;
|
|
8422
8255
|
this.iceRestartDelay = iceRestartDelay;
|
|
8423
8256
|
this.pc = this.createPeerConnection(connectionConfig);
|
|
8424
|
-
this.unregisterOnSubscriberOffer = dispatcher.on('subscriberOffer', async (
|
|
8425
|
-
if (message.eventPayload.oneofKind !== 'subscriberOffer')
|
|
8426
|
-
return;
|
|
8427
|
-
const { subscriberOffer } = message.eventPayload;
|
|
8257
|
+
this.unregisterOnSubscriberOffer = dispatcher.on('subscriberOffer', async (subscriberOffer) => {
|
|
8428
8258
|
await this.negotiate(subscriberOffer);
|
|
8429
8259
|
});
|
|
8430
|
-
this.unregisterOnIceRestart = dispatcher.on('iceRestart', async (
|
|
8431
|
-
if (message.eventPayload.oneofKind !== 'iceRestart')
|
|
8432
|
-
return;
|
|
8433
|
-
const { iceRestart } = message.eventPayload;
|
|
8260
|
+
this.unregisterOnIceRestart = dispatcher.on('iceRestart', async (iceRestart) => {
|
|
8434
8261
|
if (iceRestart.peerType !== PeerType.SUBSCRIBER)
|
|
8435
8262
|
return;
|
|
8436
8263
|
await this.restartIce();
|
|
@@ -8753,10 +8580,7 @@ class StreamSfuClient {
|
|
|
8753
8580
|
// connection is established. In that case, those events (ICE candidates)
|
|
8754
8581
|
// need to be buffered and later added to the appropriate PeerConnection
|
|
8755
8582
|
// once the remoteDescription is known and set.
|
|
8756
|
-
this.unsubscribeIceTrickle = dispatcher.on('iceTrickle', (
|
|
8757
|
-
if (e.eventPayload.oneofKind !== 'iceTrickle')
|
|
8758
|
-
return;
|
|
8759
|
-
const { iceTrickle } = e.eventPayload;
|
|
8583
|
+
this.unsubscribeIceTrickle = dispatcher.on('iceTrickle', (iceTrickle) => {
|
|
8760
8584
|
this.iceTrickleBuffer.push(iceTrickle);
|
|
8761
8585
|
});
|
|
8762
8586
|
this.signalWs = createWebSocketSignalChannel({
|
|
@@ -8835,11 +8659,9 @@ const retryable = async (rpc, logger) => {
|
|
|
8835
8659
|
*/
|
|
8836
8660
|
const watchCallAccepted = (call) => {
|
|
8837
8661
|
return async function onCallAccepted(event) {
|
|
8838
|
-
|
|
8839
|
-
|
|
8840
|
-
event.user.id === call.currentUserId) {
|
|
8662
|
+
// We want to discard the event if it's from the current user
|
|
8663
|
+
if (event.user.id === call.currentUserId)
|
|
8841
8664
|
return;
|
|
8842
|
-
}
|
|
8843
8665
|
const { state } = call;
|
|
8844
8666
|
if (event.call.created_by.id === call.currentUserId &&
|
|
8845
8667
|
state.callingState === exports.CallingState.RINGING) {
|
|
@@ -8853,8 +8675,6 @@ const watchCallAccepted = (call) => {
|
|
|
8853
8675
|
*/
|
|
8854
8676
|
const watchCallRejected = (call) => {
|
|
8855
8677
|
return async function onCallRejected(event) {
|
|
8856
|
-
if (event.type !== 'call.rejected')
|
|
8857
|
-
return;
|
|
8858
8678
|
// We want to discard the event if it's from the current user
|
|
8859
8679
|
if (event.user.id === call.currentUserId)
|
|
8860
8680
|
return;
|
|
@@ -8891,9 +8711,7 @@ const watchCallRejected = (call) => {
|
|
|
8891
8711
|
* Event handler that watches the delivery of `call.ended` Websocket event.
|
|
8892
8712
|
*/
|
|
8893
8713
|
const watchCallEnded = (call) => {
|
|
8894
|
-
return async function
|
|
8895
|
-
if (event.type !== 'call.ended')
|
|
8896
|
-
return;
|
|
8714
|
+
return async function onCallEnded() {
|
|
8897
8715
|
const { callingState } = call.state;
|
|
8898
8716
|
if (callingState === exports.CallingState.RINGING ||
|
|
8899
8717
|
callingState === exports.CallingState.JOINED ||
|
|
@@ -8910,9 +8728,7 @@ const watchCallEnded = (call) => {
|
|
|
8910
8728
|
*/
|
|
8911
8729
|
const watchCallGrantsUpdated = (state) => {
|
|
8912
8730
|
return function onCallGrantsUpdated(event) {
|
|
8913
|
-
|
|
8914
|
-
return;
|
|
8915
|
-
const { currentGrants } = event.eventPayload.callGrantsUpdated;
|
|
8731
|
+
const { currentGrants } = event;
|
|
8916
8732
|
if (currentGrants) {
|
|
8917
8733
|
const { canPublishAudio, canPublishVideo, canScreenshare } = currentGrants;
|
|
8918
8734
|
const update = {
|
|
@@ -8937,9 +8753,7 @@ const logger$1 = getLogger(['events']);
|
|
|
8937
8753
|
*/
|
|
8938
8754
|
const watchChangePublishQuality = (dispatcher, call) => {
|
|
8939
8755
|
return dispatcher.on('changePublishQuality', (e) => {
|
|
8940
|
-
|
|
8941
|
-
return;
|
|
8942
|
-
const { videoSenders } = e.eventPayload.changePublishQuality;
|
|
8756
|
+
const { videoSenders } = e;
|
|
8943
8757
|
videoSenders.forEach((videoSender) => {
|
|
8944
8758
|
const { layers } = videoSender;
|
|
8945
8759
|
call.updatePublishQuality(layers.filter((l) => l.active));
|
|
@@ -8948,10 +8762,7 @@ const watchChangePublishQuality = (dispatcher, call) => {
|
|
|
8948
8762
|
};
|
|
8949
8763
|
const watchConnectionQualityChanged = (dispatcher, state) => {
|
|
8950
8764
|
return dispatcher.on('connectionQualityChanged', (e) => {
|
|
8951
|
-
|
|
8952
|
-
return;
|
|
8953
|
-
const { connectionQualityChanged } = e.eventPayload;
|
|
8954
|
-
const { connectionQualityUpdates } = connectionQualityChanged;
|
|
8765
|
+
const { connectionQualityUpdates } = e;
|
|
8955
8766
|
if (!connectionQualityUpdates)
|
|
8956
8767
|
return;
|
|
8957
8768
|
state.updateParticipants(connectionQualityUpdates.reduce((patches, update) => {
|
|
@@ -8969,9 +8780,7 @@ const watchConnectionQualityChanged = (dispatcher, state) => {
|
|
|
8969
8780
|
*/
|
|
8970
8781
|
const watchParticipantCountChanged = (dispatcher, state) => {
|
|
8971
8782
|
return dispatcher.on('healthCheckResponse', (e) => {
|
|
8972
|
-
|
|
8973
|
-
return;
|
|
8974
|
-
const { participantCount } = e.eventPayload.healthCheckResponse;
|
|
8783
|
+
const { participantCount } = e;
|
|
8975
8784
|
if (participantCount) {
|
|
8976
8785
|
state.setParticipantCount(participantCount.total);
|
|
8977
8786
|
state.setAnonymousParticipantCount(participantCount.anonymous);
|
|
@@ -8980,12 +8789,13 @@ const watchParticipantCountChanged = (dispatcher, state) => {
|
|
|
8980
8789
|
};
|
|
8981
8790
|
const watchLiveEnded = (dispatcher, call) => {
|
|
8982
8791
|
return dispatcher.on('error', (e) => {
|
|
8983
|
-
if (e.
|
|
8984
|
-
!e.eventPayload.error.error ||
|
|
8985
|
-
e.eventPayload.error.error.code !== ErrorCode.LIVE_ENDED)
|
|
8792
|
+
if (e.error && e.error.code !== ErrorCode.LIVE_ENDED)
|
|
8986
8793
|
return;
|
|
8987
|
-
if (!call.permissionsContext.hasPermission(OwnCapability.JOIN_BACKSTAGE))
|
|
8988
|
-
call.leave()
|
|
8794
|
+
if (!call.permissionsContext.hasPermission(OwnCapability.JOIN_BACKSTAGE)) {
|
|
8795
|
+
call.leave().catch((err) => {
|
|
8796
|
+
logger$1('error', 'Failed to leave call after live ended', err);
|
|
8797
|
+
});
|
|
8798
|
+
}
|
|
8989
8799
|
});
|
|
8990
8800
|
};
|
|
8991
8801
|
/**
|
|
@@ -8993,9 +8803,9 @@ const watchLiveEnded = (dispatcher, call) => {
|
|
|
8993
8803
|
*/
|
|
8994
8804
|
const watchSfuErrorReports = (dispatcher) => {
|
|
8995
8805
|
return dispatcher.on('error', (e) => {
|
|
8996
|
-
if (
|
|
8806
|
+
if (!e.error)
|
|
8997
8807
|
return;
|
|
8998
|
-
const error = e
|
|
8808
|
+
const { error } = e;
|
|
8999
8809
|
logger$1('error', 'SFU reported error', {
|
|
9000
8810
|
code: ErrorCode[error.code],
|
|
9001
8811
|
message: error.message,
|
|
@@ -9009,9 +8819,7 @@ const watchSfuErrorReports = (dispatcher) => {
|
|
|
9009
8819
|
*/
|
|
9010
8820
|
const watchPinsUpdated = (state) => {
|
|
9011
8821
|
return function onPinsUpdated(e) {
|
|
9012
|
-
|
|
9013
|
-
return;
|
|
9014
|
-
const { pins } = e.eventPayload.pinsUpdated;
|
|
8822
|
+
const { pins } = e;
|
|
9015
8823
|
state.setServerSidePins(pins);
|
|
9016
8824
|
};
|
|
9017
8825
|
};
|
|
@@ -9023,9 +8831,7 @@ const watchPinsUpdated = (state) => {
|
|
|
9023
8831
|
*/
|
|
9024
8832
|
const handleRemoteSoftMute = (call) => {
|
|
9025
8833
|
return call.on('trackUnpublished', async (event) => {
|
|
9026
|
-
|
|
9027
|
-
return;
|
|
9028
|
-
const { trackUnpublished: { cause, type, sessionId }, } = event.eventPayload;
|
|
8834
|
+
const { cause, type, sessionId } = event;
|
|
9029
8835
|
const { localParticipant } = call.state;
|
|
9030
8836
|
if (cause === TrackUnpublishReason.MODERATION &&
|
|
9031
8837
|
sessionId === localParticipant?.sessionId) {
|
|
@@ -9057,9 +8863,7 @@ const handleRemoteSoftMute = (call) => {
|
|
|
9057
8863
|
*/
|
|
9058
8864
|
const watchParticipantJoined = (state) => {
|
|
9059
8865
|
return function onParticipantJoined(e) {
|
|
9060
|
-
|
|
9061
|
-
return;
|
|
9062
|
-
const { participant } = e.eventPayload.participantJoined;
|
|
8866
|
+
const { participant } = e;
|
|
9063
8867
|
if (!participant)
|
|
9064
8868
|
return;
|
|
9065
8869
|
// `state.updateOrAddParticipant` acts as a safeguard against
|
|
@@ -9083,9 +8887,7 @@ const watchParticipantJoined = (state) => {
|
|
|
9083
8887
|
*/
|
|
9084
8888
|
const watchParticipantLeft = (state) => {
|
|
9085
8889
|
return function onParticipantLeft(e) {
|
|
9086
|
-
|
|
9087
|
-
return;
|
|
9088
|
-
const { participant } = e.eventPayload.participantLeft;
|
|
8890
|
+
const { participant } = e;
|
|
9089
8891
|
if (!participant)
|
|
9090
8892
|
return;
|
|
9091
8893
|
state.setParticipants((participants) => participants.filter((p) => p.sessionId !== participant.sessionId));
|
|
@@ -9097,9 +8899,7 @@ const watchParticipantLeft = (state) => {
|
|
|
9097
8899
|
*/
|
|
9098
8900
|
const watchTrackPublished = (state) => {
|
|
9099
8901
|
return function onTrackPublished(e) {
|
|
9100
|
-
|
|
9101
|
-
return;
|
|
9102
|
-
const { trackPublished: { type, sessionId, participant }, } = e.eventPayload;
|
|
8902
|
+
const { type, sessionId, participant } = e;
|
|
9103
8903
|
// An optimization for large calls.
|
|
9104
8904
|
// After a certain threshold, the SFU would stop emitting `participantJoined`
|
|
9105
8905
|
// events, and instead, it would only provide the participant's information
|
|
@@ -9120,9 +8920,7 @@ const watchTrackPublished = (state) => {
|
|
|
9120
8920
|
*/
|
|
9121
8921
|
const watchTrackUnpublished = (state) => {
|
|
9122
8922
|
return function onTrackUnpublished(e) {
|
|
9123
|
-
|
|
9124
|
-
return;
|
|
9125
|
-
const { trackUnpublished: { type, sessionId, participant }, } = e.eventPayload;
|
|
8923
|
+
const { type, sessionId, participant } = e;
|
|
9126
8924
|
// An optimization for large calls. See `watchTrackPublished`.
|
|
9127
8925
|
if (participant) {
|
|
9128
8926
|
state.updateOrAddParticipant(sessionId, participant);
|
|
@@ -9141,9 +8939,7 @@ const unique = (v, i, arr) => arr.indexOf(v) === i;
|
|
|
9141
8939
|
*/
|
|
9142
8940
|
const watchDominantSpeakerChanged = (dispatcher, state) => {
|
|
9143
8941
|
return dispatcher.on('dominantSpeakerChanged', (e) => {
|
|
9144
|
-
|
|
9145
|
-
return;
|
|
9146
|
-
const { dominantSpeakerChanged: { sessionId }, } = e.eventPayload;
|
|
8942
|
+
const { sessionId } = e;
|
|
9147
8943
|
if (sessionId === state.dominantSpeaker?.sessionId)
|
|
9148
8944
|
return;
|
|
9149
8945
|
state.setParticipants((participants) => participants.map((participant) => {
|
|
@@ -9170,9 +8966,7 @@ const watchDominantSpeakerChanged = (dispatcher, state) => {
|
|
|
9170
8966
|
*/
|
|
9171
8967
|
const watchAudioLevelChanged = (dispatcher, state) => {
|
|
9172
8968
|
return dispatcher.on('audioLevelChanged', (e) => {
|
|
9173
|
-
|
|
9174
|
-
return;
|
|
9175
|
-
const { audioLevels } = e.eventPayload.audioLevelChanged;
|
|
8969
|
+
const { audioLevels } = e;
|
|
9176
8970
|
state.updateParticipants(audioLevels.reduce((patches, current) => {
|
|
9177
8971
|
patches[current.sessionId] = {
|
|
9178
8972
|
audioLevel: current.level,
|
|
@@ -9893,8 +9687,11 @@ class DynascaleManager {
|
|
|
9893
9687
|
audioElement.setSinkId(deviceId);
|
|
9894
9688
|
}
|
|
9895
9689
|
});
|
|
9896
|
-
const volumeSubscription =
|
|
9897
|
-
|
|
9690
|
+
const volumeSubscription = rxjs.combineLatest([
|
|
9691
|
+
this.call.speaker.state.volume$,
|
|
9692
|
+
participant$.pipe(rxjs.distinctUntilKeyChanged('audioVolume')),
|
|
9693
|
+
]).subscribe(([volume, p]) => {
|
|
9694
|
+
audioElement.volume = p.audioVolume ?? volume;
|
|
9898
9695
|
});
|
|
9899
9696
|
audioElement.autoplay = true;
|
|
9900
9697
|
return () => {
|
|
@@ -10588,7 +10385,13 @@ class InputMediaDeviceManagerState {
|
|
|
10588
10385
|
return notifyGranted();
|
|
10589
10386
|
}
|
|
10590
10387
|
let permissionState;
|
|
10591
|
-
const notify = () => subscriber.next(
|
|
10388
|
+
const notify = () => subscriber.next(
|
|
10389
|
+
// In Safari, the `change` event doesn't reliably emit and hence,
|
|
10390
|
+
// permissionState stays in 'prompt' state forever.
|
|
10391
|
+
// Instead of checking if a permission is granted, we check if it isn't denied
|
|
10392
|
+
isSafari()
|
|
10393
|
+
? permissionState.state !== 'denied'
|
|
10394
|
+
: permissionState.state === 'granted');
|
|
10592
10395
|
navigator.permissions
|
|
10593
10396
|
.query({ name: this.permissionName })
|
|
10594
10397
|
.then((permissionStatus) => {
|
|
@@ -11252,12 +11055,13 @@ class SpeakerState {
|
|
|
11252
11055
|
}
|
|
11253
11056
|
|
|
11254
11057
|
class SpeakerManager {
|
|
11255
|
-
constructor() {
|
|
11058
|
+
constructor(call) {
|
|
11256
11059
|
this.state = new SpeakerState();
|
|
11257
11060
|
this.subscriptions = [];
|
|
11258
11061
|
this.removeSubscriptions = () => {
|
|
11259
11062
|
this.subscriptions.forEach((s) => s.unsubscribe());
|
|
11260
11063
|
};
|
|
11064
|
+
this.call = call;
|
|
11261
11065
|
if (deviceIds$ && !isReactNative()) {
|
|
11262
11066
|
this.subscriptions.push(rxjs.combineLatest([deviceIds$, this.state.selectedDevice$]).subscribe(([devices, deviceId]) => {
|
|
11263
11067
|
if (!deviceId) {
|
|
@@ -11281,7 +11085,7 @@ class SpeakerManager {
|
|
|
11281
11085
|
return getAudioOutputDevices();
|
|
11282
11086
|
}
|
|
11283
11087
|
/**
|
|
11284
|
-
* Select device
|
|
11088
|
+
* Select a device.
|
|
11285
11089
|
*
|
|
11286
11090
|
* Note: this method is not supported in React Native
|
|
11287
11091
|
*
|
|
@@ -11295,7 +11099,7 @@ class SpeakerManager {
|
|
|
11295
11099
|
}
|
|
11296
11100
|
/**
|
|
11297
11101
|
* Set the volume of the audio elements
|
|
11298
|
-
* @param volume a number between 0 and 1
|
|
11102
|
+
* @param volume a number between 0 and 1.
|
|
11299
11103
|
*
|
|
11300
11104
|
* Note: this method is not supported in React Native
|
|
11301
11105
|
*/
|
|
@@ -11308,6 +11112,23 @@ class SpeakerManager {
|
|
|
11308
11112
|
}
|
|
11309
11113
|
this.state.setVolume(volume);
|
|
11310
11114
|
}
|
|
11115
|
+
/**
|
|
11116
|
+
* Set the volume of a participant.
|
|
11117
|
+
*
|
|
11118
|
+
* Note: this method is not supported in React Native.
|
|
11119
|
+
*
|
|
11120
|
+
* @param sessionId the participant's session id.
|
|
11121
|
+
* @param volume a number between 0 and 1. Set it to `undefined` to use the default volume.
|
|
11122
|
+
*/
|
|
11123
|
+
setParticipantVolume(sessionId, volume) {
|
|
11124
|
+
if (isReactNative()) {
|
|
11125
|
+
throw new Error('This feature is not supported in React Native');
|
|
11126
|
+
}
|
|
11127
|
+
if (volume && (volume < 0 || volume > 1)) {
|
|
11128
|
+
throw new Error('Volume must be between 0 and 1, or undefined');
|
|
11129
|
+
}
|
|
11130
|
+
this.call.state.updateParticipant(sessionId, { audioVolume: volume });
|
|
11131
|
+
}
|
|
11311
11132
|
}
|
|
11312
11133
|
|
|
11313
11134
|
/**
|
|
@@ -11349,6 +11170,46 @@ class Call {
|
|
|
11349
11170
|
*/
|
|
11350
11171
|
this.leaveCallHooks = new Set();
|
|
11351
11172
|
this.streamClientEventHandlers = new Map();
|
|
11173
|
+
/**
|
|
11174
|
+
* You can subscribe to WebSocket events provided by the API. To remove a subscription, call the `off` method.
|
|
11175
|
+
* Please note that subscribing to WebSocket events is an advanced use-case.
|
|
11176
|
+
* For most use-cases, it should be enough to watch for state changes.
|
|
11177
|
+
*
|
|
11178
|
+
* @param eventName the event name.
|
|
11179
|
+
* @param fn the event handler.
|
|
11180
|
+
*/
|
|
11181
|
+
this.on = (eventName, fn) => {
|
|
11182
|
+
if (isSfuEvent(eventName)) {
|
|
11183
|
+
return this.dispatcher.on(eventName, fn);
|
|
11184
|
+
}
|
|
11185
|
+
const offHandler = this.streamClient.on(eventName, (e) => {
|
|
11186
|
+
const event = e;
|
|
11187
|
+
if (event.call_cid && event.call_cid === this.cid) {
|
|
11188
|
+
fn(event);
|
|
11189
|
+
}
|
|
11190
|
+
});
|
|
11191
|
+
// keep the 'off' reference returned by the stream client
|
|
11192
|
+
this.streamClientEventHandlers.set(fn, offHandler);
|
|
11193
|
+
return () => {
|
|
11194
|
+
this.off(eventName, fn);
|
|
11195
|
+
};
|
|
11196
|
+
};
|
|
11197
|
+
/**
|
|
11198
|
+
* Remove subscription for WebSocket events that were created by the `on` method.
|
|
11199
|
+
*
|
|
11200
|
+
* @param eventName the event name.
|
|
11201
|
+
* @param fn the event handler.
|
|
11202
|
+
*/
|
|
11203
|
+
this.off = (eventName, fn) => {
|
|
11204
|
+
if (isSfuEvent(eventName)) {
|
|
11205
|
+
return this.dispatcher.off(eventName, fn);
|
|
11206
|
+
}
|
|
11207
|
+
// unsubscribe from the stream client event by using the 'off' reference
|
|
11208
|
+
const registeredOffHandler = this.streamClientEventHandlers.get(fn);
|
|
11209
|
+
if (registeredOffHandler) {
|
|
11210
|
+
registeredOffHandler();
|
|
11211
|
+
}
|
|
11212
|
+
};
|
|
11352
11213
|
/**
|
|
11353
11214
|
* Leave the call and stop the media streams that were published by the call.
|
|
11354
11215
|
*/
|
|
@@ -11632,9 +11493,7 @@ class Call {
|
|
|
11632
11493
|
sfuClient.signalReady.then(() => {
|
|
11633
11494
|
// register a handler for the "goAway" event
|
|
11634
11495
|
const unregisterGoAway = this.dispatcher.on('goAway', (event) => {
|
|
11635
|
-
|
|
11636
|
-
return;
|
|
11637
|
-
const { reason } = event.eventPayload.goAway;
|
|
11496
|
+
const { reason } = event;
|
|
11638
11497
|
this.logger('info', `[Migration]: Going away from SFU... Reason: ${GoAwayReason[reason]}`);
|
|
11639
11498
|
reconnect('migrate').catch((err) => {
|
|
11640
11499
|
this.logger('warn', `[Migration]: Failed to migrate to another SFU.`, err);
|
|
@@ -11859,11 +11718,9 @@ class Call {
|
|
|
11859
11718
|
this.waitForJoinResponse = (timeout = 5000) => {
|
|
11860
11719
|
return new Promise((resolve, reject) => {
|
|
11861
11720
|
const unsubscribe = this.on('joinResponse', (event) => {
|
|
11862
|
-
if (event.eventPayload.oneofKind !== 'joinResponse')
|
|
11863
|
-
return;
|
|
11864
11721
|
clearTimeout(timeoutId);
|
|
11865
11722
|
unsubscribe();
|
|
11866
|
-
resolve(event
|
|
11723
|
+
resolve(event);
|
|
11867
11724
|
});
|
|
11868
11725
|
const timeoutId = setTimeout(() => {
|
|
11869
11726
|
unsubscribe();
|
|
@@ -12516,7 +12373,7 @@ class Call {
|
|
|
12516
12373
|
this.leaveCallHooks.add(createSubscription(this.trackSubscriptionsSubject.pipe(rxjs.debounce((v) => rxjs.timer(v.type)), rxjs.map((v) => v.data)), (subscriptions) => this.sfuClient?.updateSubscriptions(subscriptions)));
|
|
12517
12374
|
this.camera = new CameraManager(this);
|
|
12518
12375
|
this.microphone = new MicrophoneManager(this);
|
|
12519
|
-
this.speaker = new SpeakerManager();
|
|
12376
|
+
this.speaker = new SpeakerManager(this);
|
|
12520
12377
|
this.screenShare = new ScreenShareManager(this);
|
|
12521
12378
|
}
|
|
12522
12379
|
registerEffects() {
|
|
@@ -12602,31 +12459,6 @@ class Call {
|
|
|
12602
12459
|
this.leaveCallHooks.add(registerRingingCallEventHandlers(this));
|
|
12603
12460
|
}));
|
|
12604
12461
|
}
|
|
12605
|
-
on(eventName, fn) {
|
|
12606
|
-
if (isSfuEvent(eventName)) {
|
|
12607
|
-
return this.dispatcher.on(eventName, fn);
|
|
12608
|
-
}
|
|
12609
|
-
else {
|
|
12610
|
-
const eventHandler = (event) => {
|
|
12611
|
-
if (event.call_cid && event.call_cid === this.cid) {
|
|
12612
|
-
fn(event);
|
|
12613
|
-
}
|
|
12614
|
-
};
|
|
12615
|
-
this.streamClientEventHandlers.set(fn, eventHandler);
|
|
12616
|
-
return this.streamClient.on(eventName, eventHandler);
|
|
12617
|
-
}
|
|
12618
|
-
}
|
|
12619
|
-
off(eventName, fn) {
|
|
12620
|
-
if (isSfuEvent(eventName)) {
|
|
12621
|
-
return this.dispatcher.off(eventName, fn);
|
|
12622
|
-
}
|
|
12623
|
-
else {
|
|
12624
|
-
const registeredEventHandler = this.streamClientEventHandlers.get(fn);
|
|
12625
|
-
if (registeredEventHandler) {
|
|
12626
|
-
return this.streamClient.off(eventName, registeredEventHandler);
|
|
12627
|
-
}
|
|
12628
|
-
}
|
|
12629
|
-
}
|
|
12630
12462
|
/**
|
|
12631
12463
|
* A flag indicating whether the call is "ringing" type of call.
|
|
12632
12464
|
*/
|
|
@@ -12876,18 +12708,19 @@ class StableWSConnection {
|
|
|
12876
12708
|
if (this.wsID !== wsID)
|
|
12877
12709
|
return;
|
|
12878
12710
|
this._log('onmessage() - onmessage callback', { event, wsID });
|
|
12879
|
-
const data = typeof event.data === 'string'
|
|
12711
|
+
const data = typeof event.data === 'string'
|
|
12712
|
+
? JSON.parse(event.data)
|
|
12713
|
+
: null;
|
|
12880
12714
|
// we wait till the first message before we consider the connection open.
|
|
12881
12715
|
// the reason for this is that auth errors and similar errors trigger a ws.onopen and immediately
|
|
12882
12716
|
// after that a ws.onclose.
|
|
12883
|
-
if (!this.isResolved && data && data.type === 'connection.
|
|
12717
|
+
if (!this.isResolved && data && data.type === 'connection.error') {
|
|
12884
12718
|
this.isResolved = true;
|
|
12885
12719
|
if (data.error) {
|
|
12720
|
+
// @ts-expect-error - the types of _errorFromWSEvent are incorrect
|
|
12886
12721
|
this.rejectPromise?.(this._errorFromWSEvent(data, false));
|
|
12887
12722
|
return;
|
|
12888
12723
|
}
|
|
12889
|
-
this.resolvePromise?.(data);
|
|
12890
|
-
this._setHealth(true);
|
|
12891
12724
|
}
|
|
12892
12725
|
// trigger the event..
|
|
12893
12726
|
this.lastEvent = new Date();
|
|
@@ -12896,8 +12729,12 @@ class StableWSConnection {
|
|
|
12896
12729
|
// the initial health-check should come from the client
|
|
12897
12730
|
this.scheduleNextPing();
|
|
12898
12731
|
}
|
|
12899
|
-
if (data && data.
|
|
12900
|
-
|
|
12732
|
+
if (data && data.type === 'connection.ok') {
|
|
12733
|
+
this.resolvePromise?.(data);
|
|
12734
|
+
this._setHealth(true);
|
|
12735
|
+
}
|
|
12736
|
+
if (data && data.type === 'connection.error' && data.error) {
|
|
12737
|
+
const { code } = data.error;
|
|
12901
12738
|
this.isHealthy = false;
|
|
12902
12739
|
this.isConnecting = false;
|
|
12903
12740
|
this.consecutiveFailures += 1;
|
|
@@ -12908,7 +12745,9 @@ class StableWSConnection {
|
|
|
12908
12745
|
this._reconnect({ refreshToken: true });
|
|
12909
12746
|
}
|
|
12910
12747
|
}
|
|
12911
|
-
|
|
12748
|
+
if (data) {
|
|
12749
|
+
this.client.dispatchEvent(data);
|
|
12750
|
+
}
|
|
12912
12751
|
this.scheduleConnectionCheck();
|
|
12913
12752
|
};
|
|
12914
12753
|
this.onclose = (wsID, event) => {
|
|
@@ -13850,6 +13689,7 @@ class StreamClient {
|
|
|
13850
13689
|
* @param {httpsAgent} [options.httpsAgent] - custom httpsAgent, in node it's default to https.agent()
|
|
13851
13690
|
*/
|
|
13852
13691
|
constructor(key, options) {
|
|
13692
|
+
this.listeners = {};
|
|
13853
13693
|
this.nextRequestAbortController = null;
|
|
13854
13694
|
this.devToken = (userID) => {
|
|
13855
13695
|
return DevToken(userID);
|
|
@@ -14039,41 +13879,31 @@ class StreamClient {
|
|
|
14039
13879
|
* on - Listen to events on all channels and users your watching
|
|
14040
13880
|
*
|
|
14041
13881
|
* client.on('message.new', event => {console.log("my new message", event, channel.state.messages)})
|
|
14042
|
-
* or
|
|
14043
|
-
* client.on(event => {console.log(event.type)})
|
|
14044
13882
|
*
|
|
14045
|
-
* @param
|
|
14046
|
-
* @param
|
|
13883
|
+
* @param eventName The event type to listen for (optional)
|
|
13884
|
+
* @param callback The callback to call
|
|
14047
13885
|
*
|
|
14048
|
-
* @return
|
|
13886
|
+
* @return Returns a function which, when called, unsubscribes the event handler.
|
|
14049
13887
|
*/
|
|
14050
|
-
this.on = (
|
|
14051
|
-
|
|
14052
|
-
|
|
14053
|
-
? callbackOrNothing
|
|
14054
|
-
: callbackOrEventName;
|
|
14055
|
-
if (!(key in this.listeners)) {
|
|
14056
|
-
this.listeners[key] = [];
|
|
13888
|
+
this.on = (eventName, callback) => {
|
|
13889
|
+
if (!this.listeners[eventName]) {
|
|
13890
|
+
this.listeners[eventName] = [];
|
|
14057
13891
|
}
|
|
14058
|
-
this.
|
|
13892
|
+
this.logger('debug', `Adding listener for ${eventName} event`);
|
|
13893
|
+
this.listeners[eventName]?.push(callback);
|
|
14059
13894
|
return () => {
|
|
14060
|
-
this.off(
|
|
13895
|
+
this.off(eventName, callback);
|
|
14061
13896
|
};
|
|
14062
13897
|
};
|
|
14063
13898
|
/**
|
|
14064
13899
|
* off - Remove the event handler
|
|
14065
|
-
*
|
|
14066
13900
|
*/
|
|
14067
|
-
this.off = (
|
|
14068
|
-
|
|
14069
|
-
|
|
14070
|
-
? callbackOrNothing
|
|
14071
|
-
: callbackOrEventName;
|
|
14072
|
-
if (!(key in this.listeners)) {
|
|
14073
|
-
this.listeners[key] = [];
|
|
13901
|
+
this.off = (eventName, callback) => {
|
|
13902
|
+
if (!this.listeners[eventName]) {
|
|
13903
|
+
this.listeners[eventName] = [];
|
|
14074
13904
|
}
|
|
14075
|
-
this.logger('debug', `Removing listener for ${
|
|
14076
|
-
this.listeners[
|
|
13905
|
+
this.logger('debug', `Removing listener for ${eventName} event`);
|
|
13906
|
+
this.listeners[eventName] = this.listeners[eventName]?.filter((value) => value !== callback);
|
|
14077
13907
|
};
|
|
14078
13908
|
this._logApiRequest = (type, url, data, config) => {
|
|
14079
13909
|
this.logger('trace', `client: ${type} - Request - ${url}`, {
|
|
@@ -14195,26 +14025,14 @@ class StreamClient {
|
|
|
14195
14025
|
if (!event.received_at)
|
|
14196
14026
|
event.received_at = new Date();
|
|
14197
14027
|
this.logger('debug', `Dispatching event: ${event.type}`, event);
|
|
14198
|
-
this.
|
|
14199
|
-
|
|
14200
|
-
|
|
14201
|
-
|
|
14202
|
-
|
|
14203
|
-
|
|
14204
|
-
|
|
14205
|
-
|
|
14206
|
-
this._callClientListeners = (event) => {
|
|
14207
|
-
const client = this;
|
|
14208
|
-
// gather and call the listeners
|
|
14209
|
-
const listeners = [];
|
|
14210
|
-
if (client.listeners.all) {
|
|
14211
|
-
listeners.push(...client.listeners.all);
|
|
14212
|
-
}
|
|
14213
|
-
if (client.listeners[event.type]) {
|
|
14214
|
-
listeners.push(...client.listeners[event.type]);
|
|
14215
|
-
}
|
|
14216
|
-
// call the event and send it to the listeners
|
|
14217
|
-
for (const listener of listeners) {
|
|
14028
|
+
if (!this.listeners)
|
|
14029
|
+
return;
|
|
14030
|
+
// call generic listeners
|
|
14031
|
+
for (const listener of this.listeners.all || []) {
|
|
14032
|
+
listener(event);
|
|
14033
|
+
}
|
|
14034
|
+
// call type specific listeners
|
|
14035
|
+
for (const listener of this.listeners[event.type] || []) {
|
|
14218
14036
|
listener(event);
|
|
14219
14037
|
}
|
|
14220
14038
|
};
|
|
@@ -14296,7 +14114,7 @@ class StreamClient {
|
|
|
14296
14114
|
});
|
|
14297
14115
|
};
|
|
14298
14116
|
this.getUserAgent = () => {
|
|
14299
|
-
const version = "0.
|
|
14117
|
+
const version = "0.6.1" ;
|
|
14300
14118
|
return (this.userAgent ||
|
|
14301
14119
|
`stream-video-javascript-client-${this.node ? 'node' : 'browser'}-${version}`);
|
|
14302
14120
|
};
|
|
@@ -14396,7 +14214,6 @@ class StreamClient {
|
|
|
14396
14214
|
};
|
|
14397
14215
|
// set the key
|
|
14398
14216
|
this.key = key;
|
|
14399
|
-
this.listeners = {};
|
|
14400
14217
|
// set the secret
|
|
14401
14218
|
this.secret = options?.secret;
|
|
14402
14219
|
// set the options... and figure out defaults...
|
|
@@ -14498,11 +14315,11 @@ class StreamVideoClient {
|
|
|
14498
14315
|
/**
|
|
14499
14316
|
* Remove subscription for WebSocket events that were created by the `on` method.
|
|
14500
14317
|
*
|
|
14501
|
-
* @param
|
|
14318
|
+
* @param eventName the event name.
|
|
14502
14319
|
* @param callback the callback which was passed to the `on` method.
|
|
14503
14320
|
*/
|
|
14504
|
-
this.off = (
|
|
14505
|
-
return this.streamClient.off(
|
|
14321
|
+
this.off = (eventName, callback) => {
|
|
14322
|
+
return this.streamClient.off(eventName, callback);
|
|
14506
14323
|
};
|
|
14507
14324
|
/**
|
|
14508
14325
|
* Creates a new call.
|
|
@@ -14591,7 +14408,6 @@ class StreamVideoClient {
|
|
|
14591
14408
|
*
|
|
14592
14409
|
* @param {string} id The device id
|
|
14593
14410
|
* @param {string} [userID] The user id. Only specify this for serverside requests
|
|
14594
|
-
*
|
|
14595
14411
|
*/
|
|
14596
14412
|
this.removeDevice = async (id, userID) => {
|
|
14597
14413
|
return await this.streamClient.delete('/devices', {
|
|
@@ -14715,8 +14531,7 @@ class StreamVideoClient {
|
|
|
14715
14531
|
if (connectUserResponse?.me) {
|
|
14716
14532
|
this.writeableStateStore.setConnectedUser(connectUserResponse.me);
|
|
14717
14533
|
}
|
|
14718
|
-
this.eventHandlersToUnregister.push(this.on('connection.changed', (
|
|
14719
|
-
const event = e;
|
|
14534
|
+
this.eventHandlersToUnregister.push(this.on('connection.changed', (event) => {
|
|
14720
14535
|
if (event.online) {
|
|
14721
14536
|
const callsToReWatch = this.writeableStateStore.calls
|
|
14722
14537
|
.filter((call) => call.watching)
|
|
@@ -14736,8 +14551,6 @@ class StreamVideoClient {
|
|
|
14736
14551
|
}
|
|
14737
14552
|
}));
|
|
14738
14553
|
this.eventHandlersToUnregister.push(this.on('call.created', (event) => {
|
|
14739
|
-
if (event.type !== 'call.created')
|
|
14740
|
-
return;
|
|
14741
14554
|
const { call, members } = event;
|
|
14742
14555
|
if (user.id === call.created_by.id) {
|
|
14743
14556
|
this.logger('warn', 'Received `call.created` sent by the current user');
|
|
@@ -14755,8 +14568,6 @@ class StreamVideoClient {
|
|
|
14755
14568
|
this.writeableStateStore.registerCall(newCall);
|
|
14756
14569
|
}));
|
|
14757
14570
|
this.eventHandlersToUnregister.push(this.on('call.ring', async (event) => {
|
|
14758
|
-
if (event.type !== 'call.ring')
|
|
14759
|
-
return;
|
|
14760
14571
|
const { call, members } = event;
|
|
14761
14572
|
if (user.id === call.created_by.id) {
|
|
14762
14573
|
this.logger('debug', 'Received `call.ring` sent by the current user so ignoring the event');
|