livekit-client 1.9.6 → 1.10.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.
Files changed (67) hide show
  1. package/dist/livekit-client.esm.mjs +1318 -885
  2. package/dist/livekit-client.esm.mjs.map +1 -1
  3. package/dist/livekit-client.umd.js +1 -1
  4. package/dist/livekit-client.umd.js.map +1 -1
  5. package/dist/src/api/SignalClient.d.ts +2 -1
  6. package/dist/src/api/SignalClient.d.ts.map +1 -1
  7. package/dist/src/index.d.ts +1 -0
  8. package/dist/src/index.d.ts.map +1 -1
  9. package/dist/src/proto/livekit_models.d.ts +108 -10
  10. package/dist/src/proto/livekit_models.d.ts.map +1 -1
  11. package/dist/src/proto/livekit_rtc.d.ts +513 -194
  12. package/dist/src/proto/livekit_rtc.d.ts.map +1 -1
  13. package/dist/src/room/Room.d.ts +3 -2
  14. package/dist/src/room/Room.d.ts.map +1 -1
  15. package/dist/src/room/events.d.ts +5 -1
  16. package/dist/src/room/events.d.ts.map +1 -1
  17. package/dist/src/room/participant/LocalParticipant.d.ts.map +1 -1
  18. package/dist/src/room/participant/Participant.d.ts +2 -2
  19. package/dist/src/room/participant/Participant.d.ts.map +1 -1
  20. package/dist/src/room/participant/RemoteParticipant.d.ts.map +1 -1
  21. package/dist/src/room/participant/publishUtils.d.ts +8 -0
  22. package/dist/src/room/participant/publishUtils.d.ts.map +1 -1
  23. package/dist/src/room/track/LocalTrack.d.ts +32 -0
  24. package/dist/src/room/track/LocalTrack.d.ts.map +1 -1
  25. package/dist/src/room/track/LocalVideoTrack.d.ts.map +1 -1
  26. package/dist/src/room/track/RemoteTrackPublication.d.ts +4 -1
  27. package/dist/src/room/track/RemoteTrackPublication.d.ts.map +1 -1
  28. package/dist/src/room/track/TrackPublication.d.ts +2 -1
  29. package/dist/src/room/track/TrackPublication.d.ts.map +1 -1
  30. package/dist/src/room/track/options.d.ts +1 -1
  31. package/dist/src/room/track/options.d.ts.map +1 -1
  32. package/dist/src/room/track/processor/types.d.ts +19 -0
  33. package/dist/src/room/track/processor/types.d.ts.map +1 -0
  34. package/dist/src/utils/browserParser.d.ts.map +1 -1
  35. package/dist/ts4.2/src/api/SignalClient.d.ts +2 -1
  36. package/dist/ts4.2/src/index.d.ts +1 -0
  37. package/dist/ts4.2/src/proto/livekit_models.d.ts +126 -12
  38. package/dist/ts4.2/src/proto/livekit_rtc.d.ts +617 -254
  39. package/dist/ts4.2/src/room/Room.d.ts +3 -2
  40. package/dist/ts4.2/src/room/events.d.ts +5 -1
  41. package/dist/ts4.2/src/room/participant/Participant.d.ts +2 -2
  42. package/dist/ts4.2/src/room/participant/publishUtils.d.ts +8 -0
  43. package/dist/ts4.2/src/room/track/LocalTrack.d.ts +32 -0
  44. package/dist/ts4.2/src/room/track/RemoteTrackPublication.d.ts +4 -1
  45. package/dist/ts4.2/src/room/track/TrackPublication.d.ts +2 -1
  46. package/dist/ts4.2/src/room/track/options.d.ts +1 -1
  47. package/dist/ts4.2/src/room/track/processor/types.d.ts +19 -0
  48. package/package.json +14 -13
  49. package/src/api/SignalClient.ts +8 -1
  50. package/src/index.ts +1 -0
  51. package/src/proto/google/protobuf/timestamp.ts +3 -3
  52. package/src/proto/livekit_models.ts +254 -161
  53. package/src/proto/livekit_rtc.ts +334 -180
  54. package/src/room/Room.ts +26 -1
  55. package/src/room/events.ts +4 -0
  56. package/src/room/participant/LocalParticipant.ts +23 -3
  57. package/src/room/participant/Participant.ts +2 -1
  58. package/src/room/participant/RemoteParticipant.ts +4 -1
  59. package/src/room/participant/publishUtils.ts +68 -12
  60. package/src/room/track/LocalTrack.ts +120 -16
  61. package/src/room/track/LocalVideoTrack.ts +96 -33
  62. package/src/room/track/RemoteTrackPublication.ts +8 -1
  63. package/src/room/track/Track.ts +3 -3
  64. package/src/room/track/TrackPublication.ts +2 -1
  65. package/src/room/track/options.ts +1 -1
  66. package/src/room/track/processor/types.ts +20 -0
  67. package/src/utils/browserParser.ts +1 -4
@@ -17,6 +17,9 @@ import {
17
17
  Room,
18
18
  ServerInfo,
19
19
  SpeakerInfo,
20
+ SubscriptionError,
21
+ subscriptionErrorFromJSON,
22
+ subscriptionErrorToJSON,
20
23
  TrackInfo,
21
24
  TrackSource,
22
25
  trackSourceFromJSON,
@@ -176,7 +179,8 @@ export interface SignalResponse {
176
179
  | { $case: "trackUnpublished"; trackUnpublished: TrackUnpublishedResponse }
177
180
  | { $case: "pong"; pong: number }
178
181
  | { $case: "reconnect"; reconnect: ReconnectResponse }
179
- | { $case: "pongResp"; pongResp: Pong };
182
+ | { $case: "pongResp"; pongResp: Pong }
183
+ | { $case: "subscriptionResponse"; subscriptionResponse: SubscriptionResponse };
180
184
  }
181
185
 
182
186
  export interface SimulcastCodec {
@@ -238,6 +242,8 @@ export interface JoinResponse {
238
242
  pingTimeout: number;
239
243
  pingInterval: number;
240
244
  serverInfo?: ServerInfo;
245
+ /** Server-Injected-Frame byte trailer, used to identify unencrypted frames when e2ee is enabled */
246
+ sifTrailer: Uint8Array;
241
247
  }
242
248
 
243
249
  export interface ReconnectResponse {
@@ -430,6 +436,11 @@ export interface RegionInfo {
430
436
  distance: number;
431
437
  }
432
438
 
439
+ export interface SubscriptionResponse {
440
+ trackSid: string;
441
+ err: SubscriptionError;
442
+ }
443
+
433
444
  function createBaseSignalRequest(): SignalRequest {
434
445
  return { message: undefined };
435
446
  }
@@ -494,49 +505,49 @@ export const SignalRequest = {
494
505
  const tag = reader.uint32();
495
506
  switch (tag >>> 3) {
496
507
  case 1:
497
- if (tag != 10) {
508
+ if (tag !== 10) {
498
509
  break;
499
510
  }
500
511
 
501
512
  message.message = { $case: "offer", offer: SessionDescription.decode(reader, reader.uint32()) };
502
513
  continue;
503
514
  case 2:
504
- if (tag != 18) {
515
+ if (tag !== 18) {
505
516
  break;
506
517
  }
507
518
 
508
519
  message.message = { $case: "answer", answer: SessionDescription.decode(reader, reader.uint32()) };
509
520
  continue;
510
521
  case 3:
511
- if (tag != 26) {
522
+ if (tag !== 26) {
512
523
  break;
513
524
  }
514
525
 
515
526
  message.message = { $case: "trickle", trickle: TrickleRequest.decode(reader, reader.uint32()) };
516
527
  continue;
517
528
  case 4:
518
- if (tag != 34) {
529
+ if (tag !== 34) {
519
530
  break;
520
531
  }
521
532
 
522
533
  message.message = { $case: "addTrack", addTrack: AddTrackRequest.decode(reader, reader.uint32()) };
523
534
  continue;
524
535
  case 5:
525
- if (tag != 42) {
536
+ if (tag !== 42) {
526
537
  break;
527
538
  }
528
539
 
529
540
  message.message = { $case: "mute", mute: MuteTrackRequest.decode(reader, reader.uint32()) };
530
541
  continue;
531
542
  case 6:
532
- if (tag != 50) {
543
+ if (tag !== 50) {
533
544
  break;
534
545
  }
535
546
 
536
547
  message.message = { $case: "subscription", subscription: UpdateSubscription.decode(reader, reader.uint32()) };
537
548
  continue;
538
549
  case 7:
539
- if (tag != 58) {
550
+ if (tag !== 58) {
540
551
  break;
541
552
  }
542
553
 
@@ -546,21 +557,21 @@ export const SignalRequest = {
546
557
  };
547
558
  continue;
548
559
  case 8:
549
- if (tag != 66) {
560
+ if (tag !== 66) {
550
561
  break;
551
562
  }
552
563
 
553
564
  message.message = { $case: "leave", leave: LeaveRequest.decode(reader, reader.uint32()) };
554
565
  continue;
555
566
  case 10:
556
- if (tag != 82) {
567
+ if (tag !== 82) {
557
568
  break;
558
569
  }
559
570
 
560
571
  message.message = { $case: "updateLayers", updateLayers: UpdateVideoLayers.decode(reader, reader.uint32()) };
561
572
  continue;
562
573
  case 11:
563
- if (tag != 90) {
574
+ if (tag !== 90) {
564
575
  break;
565
576
  }
566
577
 
@@ -570,28 +581,28 @@ export const SignalRequest = {
570
581
  };
571
582
  continue;
572
583
  case 12:
573
- if (tag != 98) {
584
+ if (tag !== 98) {
574
585
  break;
575
586
  }
576
587
 
577
588
  message.message = { $case: "syncState", syncState: SyncState.decode(reader, reader.uint32()) };
578
589
  continue;
579
590
  case 13:
580
- if (tag != 106) {
591
+ if (tag !== 106) {
581
592
  break;
582
593
  }
583
594
 
584
595
  message.message = { $case: "simulate", simulate: SimulateScenario.decode(reader, reader.uint32()) };
585
596
  continue;
586
597
  case 14:
587
- if (tag != 112) {
598
+ if (tag !== 112) {
588
599
  break;
589
600
  }
590
601
 
591
602
  message.message = { $case: "ping", ping: longToNumber(reader.int64() as Long) };
592
603
  continue;
593
604
  case 15:
594
- if (tag != 122) {
605
+ if (tag !== 122) {
595
606
  break;
596
607
  }
597
608
 
@@ -601,14 +612,14 @@ export const SignalRequest = {
601
612
  };
602
613
  continue;
603
614
  case 16:
604
- if (tag != 130) {
615
+ if (tag !== 130) {
605
616
  break;
606
617
  }
607
618
 
608
619
  message.message = { $case: "pingReq", pingReq: Ping.decode(reader, reader.uint32()) };
609
620
  continue;
610
621
  }
611
- if ((tag & 7) == 4 || tag == 0) {
622
+ if ((tag & 7) === 4 || tag === 0) {
612
623
  break;
613
624
  }
614
625
  reader.skipType(tag & 7);
@@ -866,6 +877,9 @@ export const SignalResponse = {
866
877
  case "pongResp":
867
878
  Pong.encode(message.message.pongResp, writer.uint32(162).fork()).ldelim();
868
879
  break;
880
+ case "subscriptionResponse":
881
+ SubscriptionResponse.encode(message.message.subscriptionResponse, writer.uint32(170).fork()).ldelim();
882
+ break;
869
883
  }
870
884
  return writer;
871
885
  },
@@ -878,42 +892,42 @@ export const SignalResponse = {
878
892
  const tag = reader.uint32();
879
893
  switch (tag >>> 3) {
880
894
  case 1:
881
- if (tag != 10) {
895
+ if (tag !== 10) {
882
896
  break;
883
897
  }
884
898
 
885
899
  message.message = { $case: "join", join: JoinResponse.decode(reader, reader.uint32()) };
886
900
  continue;
887
901
  case 2:
888
- if (tag != 18) {
902
+ if (tag !== 18) {
889
903
  break;
890
904
  }
891
905
 
892
906
  message.message = { $case: "answer", answer: SessionDescription.decode(reader, reader.uint32()) };
893
907
  continue;
894
908
  case 3:
895
- if (tag != 26) {
909
+ if (tag !== 26) {
896
910
  break;
897
911
  }
898
912
 
899
913
  message.message = { $case: "offer", offer: SessionDescription.decode(reader, reader.uint32()) };
900
914
  continue;
901
915
  case 4:
902
- if (tag != 34) {
916
+ if (tag !== 34) {
903
917
  break;
904
918
  }
905
919
 
906
920
  message.message = { $case: "trickle", trickle: TrickleRequest.decode(reader, reader.uint32()) };
907
921
  continue;
908
922
  case 5:
909
- if (tag != 42) {
923
+ if (tag !== 42) {
910
924
  break;
911
925
  }
912
926
 
913
927
  message.message = { $case: "update", update: ParticipantUpdate.decode(reader, reader.uint32()) };
914
928
  continue;
915
929
  case 6:
916
- if (tag != 50) {
930
+ if (tag !== 50) {
917
931
  break;
918
932
  }
919
933
 
@@ -923,21 +937,21 @@ export const SignalResponse = {
923
937
  };
924
938
  continue;
925
939
  case 8:
926
- if (tag != 66) {
940
+ if (tag !== 66) {
927
941
  break;
928
942
  }
929
943
 
930
944
  message.message = { $case: "leave", leave: LeaveRequest.decode(reader, reader.uint32()) };
931
945
  continue;
932
946
  case 9:
933
- if (tag != 74) {
947
+ if (tag !== 74) {
934
948
  break;
935
949
  }
936
950
 
937
951
  message.message = { $case: "mute", mute: MuteTrackRequest.decode(reader, reader.uint32()) };
938
952
  continue;
939
953
  case 10:
940
- if (tag != 82) {
954
+ if (tag !== 82) {
941
955
  break;
942
956
  }
943
957
 
@@ -947,14 +961,14 @@ export const SignalResponse = {
947
961
  };
948
962
  continue;
949
963
  case 11:
950
- if (tag != 90) {
964
+ if (tag !== 90) {
951
965
  break;
952
966
  }
953
967
 
954
968
  message.message = { $case: "roomUpdate", roomUpdate: RoomUpdate.decode(reader, reader.uint32()) };
955
969
  continue;
956
970
  case 12:
957
- if (tag != 98) {
971
+ if (tag !== 98) {
958
972
  break;
959
973
  }
960
974
 
@@ -964,7 +978,7 @@ export const SignalResponse = {
964
978
  };
965
979
  continue;
966
980
  case 13:
967
- if (tag != 106) {
981
+ if (tag !== 106) {
968
982
  break;
969
983
  }
970
984
 
@@ -974,7 +988,7 @@ export const SignalResponse = {
974
988
  };
975
989
  continue;
976
990
  case 14:
977
- if (tag != 114) {
991
+ if (tag !== 114) {
978
992
  break;
979
993
  }
980
994
 
@@ -984,7 +998,7 @@ export const SignalResponse = {
984
998
  };
985
999
  continue;
986
1000
  case 15:
987
- if (tag != 122) {
1001
+ if (tag !== 122) {
988
1002
  break;
989
1003
  }
990
1004
 
@@ -994,14 +1008,14 @@ export const SignalResponse = {
994
1008
  };
995
1009
  continue;
996
1010
  case 16:
997
- if (tag != 130) {
1011
+ if (tag !== 130) {
998
1012
  break;
999
1013
  }
1000
1014
 
1001
1015
  message.message = { $case: "refreshToken", refreshToken: reader.string() };
1002
1016
  continue;
1003
1017
  case 17:
1004
- if (tag != 138) {
1018
+ if (tag !== 138) {
1005
1019
  break;
1006
1020
  }
1007
1021
 
@@ -1011,28 +1025,38 @@ export const SignalResponse = {
1011
1025
  };
1012
1026
  continue;
1013
1027
  case 18:
1014
- if (tag != 144) {
1028
+ if (tag !== 144) {
1015
1029
  break;
1016
1030
  }
1017
1031
 
1018
1032
  message.message = { $case: "pong", pong: longToNumber(reader.int64() as Long) };
1019
1033
  continue;
1020
1034
  case 19:
1021
- if (tag != 154) {
1035
+ if (tag !== 154) {
1022
1036
  break;
1023
1037
  }
1024
1038
 
1025
1039
  message.message = { $case: "reconnect", reconnect: ReconnectResponse.decode(reader, reader.uint32()) };
1026
1040
  continue;
1027
1041
  case 20:
1028
- if (tag != 162) {
1042
+ if (tag !== 162) {
1029
1043
  break;
1030
1044
  }
1031
1045
 
1032
1046
  message.message = { $case: "pongResp", pongResp: Pong.decode(reader, reader.uint32()) };
1033
1047
  continue;
1048
+ case 21:
1049
+ if (tag !== 170) {
1050
+ break;
1051
+ }
1052
+
1053
+ message.message = {
1054
+ $case: "subscriptionResponse",
1055
+ subscriptionResponse: SubscriptionResponse.decode(reader, reader.uint32()),
1056
+ };
1057
+ continue;
1034
1058
  }
1035
- if ((tag & 7) == 4 || tag == 0) {
1059
+ if ((tag & 7) === 4 || tag === 0) {
1036
1060
  break;
1037
1061
  }
1038
1062
  reader.skipType(tag & 7);
@@ -1086,6 +1110,11 @@ export const SignalResponse = {
1086
1110
  ? { $case: "reconnect", reconnect: ReconnectResponse.fromJSON(object.reconnect) }
1087
1111
  : isSet(object.pongResp)
1088
1112
  ? { $case: "pongResp", pongResp: Pong.fromJSON(object.pongResp) }
1113
+ : isSet(object.subscriptionResponse)
1114
+ ? {
1115
+ $case: "subscriptionResponse",
1116
+ subscriptionResponse: SubscriptionResponse.fromJSON(object.subscriptionResponse),
1117
+ }
1089
1118
  : undefined,
1090
1119
  };
1091
1120
  },
@@ -1137,6 +1166,10 @@ export const SignalResponse = {
1137
1166
  (obj.reconnect = message.message?.reconnect ? ReconnectResponse.toJSON(message.message?.reconnect) : undefined);
1138
1167
  message.message?.$case === "pongResp" &&
1139
1168
  (obj.pongResp = message.message?.pongResp ? Pong.toJSON(message.message?.pongResp) : undefined);
1169
+ message.message?.$case === "subscriptionResponse" &&
1170
+ (obj.subscriptionResponse = message.message?.subscriptionResponse
1171
+ ? SubscriptionResponse.toJSON(message.message?.subscriptionResponse)
1172
+ : undefined);
1140
1173
  return obj;
1141
1174
  },
1142
1175
 
@@ -1272,6 +1305,16 @@ export const SignalResponse = {
1272
1305
  ) {
1273
1306
  message.message = { $case: "pongResp", pongResp: Pong.fromPartial(object.message.pongResp) };
1274
1307
  }
1308
+ if (
1309
+ object.message?.$case === "subscriptionResponse" &&
1310
+ object.message?.subscriptionResponse !== undefined &&
1311
+ object.message?.subscriptionResponse !== null
1312
+ ) {
1313
+ message.message = {
1314
+ $case: "subscriptionResponse",
1315
+ subscriptionResponse: SubscriptionResponse.fromPartial(object.message.subscriptionResponse),
1316
+ };
1317
+ }
1275
1318
  return message;
1276
1319
  },
1277
1320
  };
@@ -1302,28 +1345,28 @@ export const SimulcastCodec = {
1302
1345
  const tag = reader.uint32();
1303
1346
  switch (tag >>> 3) {
1304
1347
  case 1:
1305
- if (tag != 10) {
1348
+ if (tag !== 10) {
1306
1349
  break;
1307
1350
  }
1308
1351
 
1309
1352
  message.codec = reader.string();
1310
1353
  continue;
1311
1354
  case 2:
1312
- if (tag != 18) {
1355
+ if (tag !== 18) {
1313
1356
  break;
1314
1357
  }
1315
1358
 
1316
1359
  message.cid = reader.string();
1317
1360
  continue;
1318
1361
  case 3:
1319
- if (tag != 24) {
1362
+ if (tag !== 24) {
1320
1363
  break;
1321
1364
  }
1322
1365
 
1323
1366
  message.enableSimulcastLayers = reader.bool();
1324
1367
  continue;
1325
1368
  }
1326
- if ((tag & 7) == 4 || tag == 0) {
1369
+ if ((tag & 7) === 4 || tag === 0) {
1327
1370
  break;
1328
1371
  }
1329
1372
  reader.skipType(tag & 7);
@@ -1434,105 +1477,105 @@ export const AddTrackRequest = {
1434
1477
  const tag = reader.uint32();
1435
1478
  switch (tag >>> 3) {
1436
1479
  case 1:
1437
- if (tag != 10) {
1480
+ if (tag !== 10) {
1438
1481
  break;
1439
1482
  }
1440
1483
 
1441
1484
  message.cid = reader.string();
1442
1485
  continue;
1443
1486
  case 2:
1444
- if (tag != 18) {
1487
+ if (tag !== 18) {
1445
1488
  break;
1446
1489
  }
1447
1490
 
1448
1491
  message.name = reader.string();
1449
1492
  continue;
1450
1493
  case 3:
1451
- if (tag != 24) {
1494
+ if (tag !== 24) {
1452
1495
  break;
1453
1496
  }
1454
1497
 
1455
1498
  message.type = reader.int32() as any;
1456
1499
  continue;
1457
1500
  case 4:
1458
- if (tag != 32) {
1501
+ if (tag !== 32) {
1459
1502
  break;
1460
1503
  }
1461
1504
 
1462
1505
  message.width = reader.uint32();
1463
1506
  continue;
1464
1507
  case 5:
1465
- if (tag != 40) {
1508
+ if (tag !== 40) {
1466
1509
  break;
1467
1510
  }
1468
1511
 
1469
1512
  message.height = reader.uint32();
1470
1513
  continue;
1471
1514
  case 6:
1472
- if (tag != 48) {
1515
+ if (tag !== 48) {
1473
1516
  break;
1474
1517
  }
1475
1518
 
1476
1519
  message.muted = reader.bool();
1477
1520
  continue;
1478
1521
  case 7:
1479
- if (tag != 56) {
1522
+ if (tag !== 56) {
1480
1523
  break;
1481
1524
  }
1482
1525
 
1483
1526
  message.disableDtx = reader.bool();
1484
1527
  continue;
1485
1528
  case 8:
1486
- if (tag != 64) {
1529
+ if (tag !== 64) {
1487
1530
  break;
1488
1531
  }
1489
1532
 
1490
1533
  message.source = reader.int32() as any;
1491
1534
  continue;
1492
1535
  case 9:
1493
- if (tag != 74) {
1536
+ if (tag !== 74) {
1494
1537
  break;
1495
1538
  }
1496
1539
 
1497
1540
  message.layers.push(VideoLayer.decode(reader, reader.uint32()));
1498
1541
  continue;
1499
1542
  case 10:
1500
- if (tag != 82) {
1543
+ if (tag !== 82) {
1501
1544
  break;
1502
1545
  }
1503
1546
 
1504
1547
  message.simulcastCodecs.push(SimulcastCodec.decode(reader, reader.uint32()));
1505
1548
  continue;
1506
1549
  case 11:
1507
- if (tag != 90) {
1550
+ if (tag !== 90) {
1508
1551
  break;
1509
1552
  }
1510
1553
 
1511
1554
  message.sid = reader.string();
1512
1555
  continue;
1513
1556
  case 12:
1514
- if (tag != 96) {
1557
+ if (tag !== 96) {
1515
1558
  break;
1516
1559
  }
1517
1560
 
1518
1561
  message.stereo = reader.bool();
1519
1562
  continue;
1520
1563
  case 13:
1521
- if (tag != 104) {
1564
+ if (tag !== 104) {
1522
1565
  break;
1523
1566
  }
1524
1567
 
1525
1568
  message.disableRed = reader.bool();
1526
1569
  continue;
1527
1570
  case 14:
1528
- if (tag != 112) {
1571
+ if (tag !== 112) {
1529
1572
  break;
1530
1573
  }
1531
1574
 
1532
1575
  message.encryption = reader.int32() as any;
1533
1576
  continue;
1534
1577
  }
1535
- if ((tag & 7) == 4 || tag == 0) {
1578
+ if ((tag & 7) === 4 || tag === 0) {
1536
1579
  break;
1537
1580
  }
1538
1581
  reader.skipType(tag & 7);
@@ -1635,21 +1678,21 @@ export const TrickleRequest = {
1635
1678
  const tag = reader.uint32();
1636
1679
  switch (tag >>> 3) {
1637
1680
  case 1:
1638
- if (tag != 10) {
1681
+ if (tag !== 10) {
1639
1682
  break;
1640
1683
  }
1641
1684
 
1642
1685
  message.candidateInit = reader.string();
1643
1686
  continue;
1644
1687
  case 2:
1645
- if (tag != 16) {
1688
+ if (tag !== 16) {
1646
1689
  break;
1647
1690
  }
1648
1691
 
1649
1692
  message.target = reader.int32() as any;
1650
1693
  continue;
1651
1694
  }
1652
- if ((tag & 7) == 4 || tag == 0) {
1695
+ if ((tag & 7) === 4 || tag === 0) {
1653
1696
  break;
1654
1697
  }
1655
1698
  reader.skipType(tag & 7);
@@ -1706,21 +1749,21 @@ export const MuteTrackRequest = {
1706
1749
  const tag = reader.uint32();
1707
1750
  switch (tag >>> 3) {
1708
1751
  case 1:
1709
- if (tag != 10) {
1752
+ if (tag !== 10) {
1710
1753
  break;
1711
1754
  }
1712
1755
 
1713
1756
  message.sid = reader.string();
1714
1757
  continue;
1715
1758
  case 2:
1716
- if (tag != 16) {
1759
+ if (tag !== 16) {
1717
1760
  break;
1718
1761
  }
1719
1762
 
1720
1763
  message.muted = reader.bool();
1721
1764
  continue;
1722
1765
  }
1723
- if ((tag & 7) == 4 || tag == 0) {
1766
+ if ((tag & 7) === 4 || tag === 0) {
1724
1767
  break;
1725
1768
  }
1726
1769
  reader.skipType(tag & 7);
@@ -1768,6 +1811,7 @@ function createBaseJoinResponse(): JoinResponse {
1768
1811
  pingTimeout: 0,
1769
1812
  pingInterval: 0,
1770
1813
  serverInfo: undefined,
1814
+ sifTrailer: new Uint8Array(),
1771
1815
  };
1772
1816
  }
1773
1817
 
@@ -1809,6 +1853,9 @@ export const JoinResponse = {
1809
1853
  if (message.serverInfo !== undefined) {
1810
1854
  ServerInfo.encode(message.serverInfo, writer.uint32(98).fork()).ldelim();
1811
1855
  }
1856
+ if (message.sifTrailer.length !== 0) {
1857
+ writer.uint32(106).bytes(message.sifTrailer);
1858
+ }
1812
1859
  return writer;
1813
1860
  },
1814
1861
 
@@ -1820,91 +1867,98 @@ export const JoinResponse = {
1820
1867
  const tag = reader.uint32();
1821
1868
  switch (tag >>> 3) {
1822
1869
  case 1:
1823
- if (tag != 10) {
1870
+ if (tag !== 10) {
1824
1871
  break;
1825
1872
  }
1826
1873
 
1827
1874
  message.room = Room.decode(reader, reader.uint32());
1828
1875
  continue;
1829
1876
  case 2:
1830
- if (tag != 18) {
1877
+ if (tag !== 18) {
1831
1878
  break;
1832
1879
  }
1833
1880
 
1834
1881
  message.participant = ParticipantInfo.decode(reader, reader.uint32());
1835
1882
  continue;
1836
1883
  case 3:
1837
- if (tag != 26) {
1884
+ if (tag !== 26) {
1838
1885
  break;
1839
1886
  }
1840
1887
 
1841
1888
  message.otherParticipants.push(ParticipantInfo.decode(reader, reader.uint32()));
1842
1889
  continue;
1843
1890
  case 4:
1844
- if (tag != 34) {
1891
+ if (tag !== 34) {
1845
1892
  break;
1846
1893
  }
1847
1894
 
1848
1895
  message.serverVersion = reader.string();
1849
1896
  continue;
1850
1897
  case 5:
1851
- if (tag != 42) {
1898
+ if (tag !== 42) {
1852
1899
  break;
1853
1900
  }
1854
1901
 
1855
1902
  message.iceServers.push(ICEServer.decode(reader, reader.uint32()));
1856
1903
  continue;
1857
1904
  case 6:
1858
- if (tag != 48) {
1905
+ if (tag !== 48) {
1859
1906
  break;
1860
1907
  }
1861
1908
 
1862
1909
  message.subscriberPrimary = reader.bool();
1863
1910
  continue;
1864
1911
  case 7:
1865
- if (tag != 58) {
1912
+ if (tag !== 58) {
1866
1913
  break;
1867
1914
  }
1868
1915
 
1869
1916
  message.alternativeUrl = reader.string();
1870
1917
  continue;
1871
1918
  case 8:
1872
- if (tag != 66) {
1919
+ if (tag !== 66) {
1873
1920
  break;
1874
1921
  }
1875
1922
 
1876
1923
  message.clientConfiguration = ClientConfiguration.decode(reader, reader.uint32());
1877
1924
  continue;
1878
1925
  case 9:
1879
- if (tag != 74) {
1926
+ if (tag !== 74) {
1880
1927
  break;
1881
1928
  }
1882
1929
 
1883
1930
  message.serverRegion = reader.string();
1884
1931
  continue;
1885
1932
  case 10:
1886
- if (tag != 80) {
1933
+ if (tag !== 80) {
1887
1934
  break;
1888
1935
  }
1889
1936
 
1890
1937
  message.pingTimeout = reader.int32();
1891
1938
  continue;
1892
1939
  case 11:
1893
- if (tag != 88) {
1940
+ if (tag !== 88) {
1894
1941
  break;
1895
1942
  }
1896
1943
 
1897
1944
  message.pingInterval = reader.int32();
1898
1945
  continue;
1899
1946
  case 12:
1900
- if (tag != 98) {
1947
+ if (tag !== 98) {
1901
1948
  break;
1902
1949
  }
1903
1950
 
1904
1951
  message.serverInfo = ServerInfo.decode(reader, reader.uint32());
1905
1952
  continue;
1953
+ case 13:
1954
+ if (tag !== 106) {
1955
+ break;
1956
+ }
1957
+
1958
+ message.sifTrailer = reader.bytes();
1959
+ continue;
1906
1960
  }
1907
- if ((tag & 7) == 4 || tag == 0) {
1961
+ if ((tag & 7) === 4 || tag === 0) {
1908
1962
  break;
1909
1963
  }
1910
1964
  reader.skipType(tag & 7);
@@ -1930,6 +1984,7 @@ export const JoinResponse = {
1930
1984
  pingTimeout: isSet(object.pingTimeout) ? Number(object.pingTimeout) : 0,
1931
1985
  pingInterval: isSet(object.pingInterval) ? Number(object.pingInterval) : 0,
1932
1986
  serverInfo: isSet(object.serverInfo) ? ServerInfo.fromJSON(object.serverInfo) : undefined,
1987
+ sifTrailer: isSet(object.sifTrailer) ? bytesFromBase64(object.sifTrailer) : new Uint8Array(),
1933
1988
  };
1934
1989
  },
1935
1990
 
@@ -1959,6 +2014,8 @@ export const JoinResponse = {
1959
2014
  message.pingInterval !== undefined && (obj.pingInterval = Math.round(message.pingInterval));
1960
2015
  message.serverInfo !== undefined &&
1961
2016
  (obj.serverInfo = message.serverInfo ? ServerInfo.toJSON(message.serverInfo) : undefined);
2017
+ message.sifTrailer !== undefined &&
2018
+ (obj.sifTrailer = base64FromBytes(message.sifTrailer !== undefined ? message.sifTrailer : new Uint8Array()));
1962
2019
  return obj;
1963
2020
  },
1964
2021
 
@@ -1986,6 +2043,7 @@ export const JoinResponse = {
1986
2043
  message.serverInfo = (object.serverInfo !== undefined && object.serverInfo !== null)
1987
2044
  ? ServerInfo.fromPartial(object.serverInfo)
1988
2045
  : undefined;
2046
+ message.sifTrailer = object.sifTrailer ?? new Uint8Array();
1989
2047
  return message;
1990
2048
  },
1991
2049
  };
@@ -2013,21 +2071,21 @@ export const ReconnectResponse = {
2013
2071
  const tag = reader.uint32();
2014
2072
  switch (tag >>> 3) {
2015
2073
  case 1:
2016
- if (tag != 10) {
2074
+ if (tag !== 10) {
2017
2075
  break;
2018
2076
  }
2019
2077
 
2020
2078
  message.iceServers.push(ICEServer.decode(reader, reader.uint32()));
2021
2079
  continue;
2022
2080
  case 2:
2023
- if (tag != 18) {
2081
+ if (tag !== 18) {
2024
2082
  break;
2025
2083
  }
2026
2084
 
2027
2085
  message.clientConfiguration = ClientConfiguration.decode(reader, reader.uint32());
2028
2086
  continue;
2029
2087
  }
2030
- if ((tag & 7) == 4 || tag == 0) {
2088
+ if ((tag & 7) === 4 || tag === 0) {
2031
2089
  break;
2032
2090
  }
2033
2091
  reader.skipType(tag & 7);
@@ -2094,21 +2152,21 @@ export const TrackPublishedResponse = {
2094
2152
  const tag = reader.uint32();
2095
2153
  switch (tag >>> 3) {
2096
2154
  case 1:
2097
- if (tag != 10) {
2155
+ if (tag !== 10) {
2098
2156
  break;
2099
2157
  }
2100
2158
 
2101
2159
  message.cid = reader.string();
2102
2160
  continue;
2103
2161
  case 2:
2104
- if (tag != 18) {
2162
+ if (tag !== 18) {
2105
2163
  break;
2106
2164
  }
2107
2165
 
2108
2166
  message.track = TrackInfo.decode(reader, reader.uint32());
2109
2167
  continue;
2110
2168
  }
2111
- if ((tag & 7) == 4 || tag == 0) {
2169
+ if ((tag & 7) === 4 || tag === 0) {
2112
2170
  break;
2113
2171
  }
2114
2172
  reader.skipType(tag & 7);
@@ -2164,14 +2222,14 @@ export const TrackUnpublishedResponse = {
2164
2222
  const tag = reader.uint32();
2165
2223
  switch (tag >>> 3) {
2166
2224
  case 1:
2167
- if (tag != 10) {
2225
+ if (tag !== 10) {
2168
2226
  break;
2169
2227
  }
2170
2228
 
2171
2229
  message.trackSid = reader.string();
2172
2230
  continue;
2173
2231
  }
2174
- if ((tag & 7) == 4 || tag == 0) {
2232
+ if ((tag & 7) === 4 || tag === 0) {
2175
2233
  break;
2176
2234
  }
2177
2235
  reader.skipType(tag & 7);
@@ -2223,21 +2281,21 @@ export const SessionDescription = {
2223
2281
  const tag = reader.uint32();
2224
2282
  switch (tag >>> 3) {
2225
2283
  case 1:
2226
- if (tag != 10) {
2284
+ if (tag !== 10) {
2227
2285
  break;
2228
2286
  }
2229
2287
 
2230
2288
  message.type = reader.string();
2231
2289
  continue;
2232
2290
  case 2:
2233
- if (tag != 18) {
2291
+ if (tag !== 18) {
2234
2292
  break;
2235
2293
  }
2236
2294
 
2237
2295
  message.sdp = reader.string();
2238
2296
  continue;
2239
2297
  }
2240
- if ((tag & 7) == 4 || tag == 0) {
2298
+ if ((tag & 7) === 4 || tag === 0) {
2241
2299
  break;
2242
2300
  }
2243
2301
  reader.skipType(tag & 7);
@@ -2288,14 +2346,14 @@ export const ParticipantUpdate = {
2288
2346
  const tag = reader.uint32();
2289
2347
  switch (tag >>> 3) {
2290
2348
  case 1:
2291
- if (tag != 10) {
2349
+ if (tag !== 10) {
2292
2350
  break;
2293
2351
  }
2294
2352
 
2295
2353
  message.participants.push(ParticipantInfo.decode(reader, reader.uint32()));
2296
2354
  continue;
2297
2355
  }
2298
- if ((tag & 7) == 4 || tag == 0) {
2356
+ if ((tag & 7) === 4 || tag === 0) {
2299
2357
  break;
2300
2358
  }
2301
2359
  reader.skipType(tag & 7);
@@ -2358,28 +2416,28 @@ export const UpdateSubscription = {
2358
2416
  const tag = reader.uint32();
2359
2417
  switch (tag >>> 3) {
2360
2418
  case 1:
2361
- if (tag != 10) {
2419
+ if (tag !== 10) {
2362
2420
  break;
2363
2421
  }
2364
2422
 
2365
2423
  message.trackSids.push(reader.string());
2366
2424
  continue;
2367
2425
  case 2:
2368
- if (tag != 16) {
2426
+ if (tag !== 16) {
2369
2427
  break;
2370
2428
  }
2371
2429
 
2372
2430
  message.subscribe = reader.bool();
2373
2431
  continue;
2374
2432
  case 3:
2375
- if (tag != 26) {
2433
+ if (tag !== 26) {
2376
2434
  break;
2377
2435
  }
2378
2436
 
2379
2437
  message.participantTracks.push(ParticipantTracks.decode(reader, reader.uint32()));
2380
2438
  continue;
2381
2439
  }
2382
- if ((tag & 7) == 4 || tag == 0) {
2440
+ if ((tag & 7) === 4 || tag === 0) {
2383
2441
  break;
2384
2442
  }
2385
2443
  reader.skipType(tag & 7);
@@ -2464,56 +2522,56 @@ export const UpdateTrackSettings = {
2464
2522
  const tag = reader.uint32();
2465
2523
  switch (tag >>> 3) {
2466
2524
  case 1:
2467
- if (tag != 10) {
2525
+ if (tag !== 10) {
2468
2526
  break;
2469
2527
  }
2470
2528
 
2471
2529
  message.trackSids.push(reader.string());
2472
2530
  continue;
2473
2531
  case 3:
2474
- if (tag != 24) {
2532
+ if (tag !== 24) {
2475
2533
  break;
2476
2534
  }
2477
2535
 
2478
2536
  message.disabled = reader.bool();
2479
2537
  continue;
2480
2538
  case 4:
2481
- if (tag != 32) {
2539
+ if (tag !== 32) {
2482
2540
  break;
2483
2541
  }
2484
2542
 
2485
2543
  message.quality = reader.int32() as any;
2486
2544
  continue;
2487
2545
  case 5:
2488
- if (tag != 40) {
2546
+ if (tag !== 40) {
2489
2547
  break;
2490
2548
  }
2491
2549
 
2492
2550
  message.width = reader.uint32();
2493
2551
  continue;
2494
2552
  case 6:
2495
- if (tag != 48) {
2553
+ if (tag !== 48) {
2496
2554
  break;
2497
2555
  }
2498
2556
 
2499
2557
  message.height = reader.uint32();
2500
2558
  continue;
2501
2559
  case 7:
2502
- if (tag != 56) {
2560
+ if (tag !== 56) {
2503
2561
  break;
2504
2562
  }
2505
2563
 
2506
2564
  message.fps = reader.uint32();
2507
2565
  continue;
2508
2566
  case 8:
2509
- if (tag != 64) {
2567
+ if (tag !== 64) {
2510
2568
  break;
2511
2569
  }
2512
2570
 
2513
2571
  message.priority = reader.uint32();
2514
2572
  continue;
2515
2573
  }
2516
- if ((tag & 7) == 4 || tag == 0) {
2574
+ if ((tag & 7) === 4 || tag === 0) {
2517
2575
  break;
2518
2576
  }
2519
2577
  reader.skipType(tag & 7);
@@ -2589,21 +2647,21 @@ export const LeaveRequest = {
2589
2647
  const tag = reader.uint32();
2590
2648
  switch (tag >>> 3) {
2591
2649
  case 1:
2592
- if (tag != 8) {
2650
+ if (tag !== 8) {
2593
2651
  break;
2594
2652
  }
2595
2653
 
2596
2654
  message.canReconnect = reader.bool();
2597
2655
  continue;
2598
2656
  case 2:
2599
- if (tag != 16) {
2657
+ if (tag !== 16) {
2600
2658
  break;
2601
2659
  }
2602
2660
 
2603
2661
  message.reason = reader.int32() as any;
2604
2662
  continue;
2605
2663
  }
2606
- if ((tag & 7) == 4 || tag == 0) {
2664
+ if ((tag & 7) === 4 || tag === 0) {
2607
2665
  break;
2608
2666
  }
2609
2667
  reader.skipType(tag & 7);
@@ -2660,21 +2718,21 @@ export const UpdateVideoLayers = {
2660
2718
  const tag = reader.uint32();
2661
2719
  switch (tag >>> 3) {
2662
2720
  case 1:
2663
- if (tag != 10) {
2721
+ if (tag !== 10) {
2664
2722
  break;
2665
2723
  }
2666
2724
 
2667
2725
  message.trackSid = reader.string();
2668
2726
  continue;
2669
2727
  case 2:
2670
- if (tag != 18) {
2728
+ if (tag !== 18) {
2671
2729
  break;
2672
2730
  }
2673
2731
 
2674
2732
  message.layers.push(VideoLayer.decode(reader, reader.uint32()));
2675
2733
  continue;
2676
2734
  }
2677
- if ((tag & 7) == 4 || tag == 0) {
2735
+ if ((tag & 7) === 4 || tag === 0) {
2678
2736
  break;
2679
2737
  }
2680
2738
  reader.skipType(tag & 7);
@@ -2735,21 +2793,21 @@ export const UpdateParticipantMetadata = {
2735
2793
  const tag = reader.uint32();
2736
2794
  switch (tag >>> 3) {
2737
2795
  case 1:
2738
- if (tag != 10) {
2796
+ if (tag !== 10) {
2739
2797
  break;
2740
2798
  }
2741
2799
 
2742
2800
  message.metadata = reader.string();
2743
2801
  continue;
2744
2802
  case 2:
2745
- if (tag != 18) {
2803
+ if (tag !== 18) {
2746
2804
  break;
2747
2805
  }
2748
2806
 
2749
2807
  message.name = reader.string();
2750
2808
  continue;
2751
2809
  }
2752
- if ((tag & 7) == 4 || tag == 0) {
2810
+ if ((tag & 7) === 4 || tag === 0) {
2753
2811
  break;
2754
2812
  }
2755
2813
  reader.skipType(tag & 7);
@@ -2809,28 +2867,28 @@ export const ICEServer = {
2809
2867
  const tag = reader.uint32();
2810
2868
  switch (tag >>> 3) {
2811
2869
  case 1:
2812
- if (tag != 10) {
2870
+ if (tag !== 10) {
2813
2871
  break;
2814
2872
  }
2815
2873
 
2816
2874
  message.urls.push(reader.string());
2817
2875
  continue;
2818
2876
  case 2:
2819
- if (tag != 18) {
2877
+ if (tag !== 18) {
2820
2878
  break;
2821
2879
  }
2822
2880
 
2823
2881
  message.username = reader.string();
2824
2882
  continue;
2825
2883
  case 3:
2826
- if (tag != 26) {
2884
+ if (tag !== 26) {
2827
2885
  break;
2828
2886
  }
2829
2887
 
2830
2888
  message.credential = reader.string();
2831
2889
  continue;
2832
2890
  }
2833
- if ((tag & 7) == 4 || tag == 0) {
2891
+ if ((tag & 7) === 4 || tag === 0) {
2834
2892
  break;
2835
2893
  }
2836
2894
  reader.skipType(tag & 7);
@@ -2891,14 +2949,14 @@ export const SpeakersChanged = {
2891
2949
  const tag = reader.uint32();
2892
2950
  switch (tag >>> 3) {
2893
2951
  case 1:
2894
- if (tag != 10) {
2952
+ if (tag !== 10) {
2895
2953
  break;
2896
2954
  }
2897
2955
 
2898
2956
  message.speakers.push(SpeakerInfo.decode(reader, reader.uint32()));
2899
2957
  continue;
2900
2958
  }
2901
- if ((tag & 7) == 4 || tag == 0) {
2959
+ if ((tag & 7) === 4 || tag === 0) {
2902
2960
  break;
2903
2961
  }
2904
2962
  reader.skipType(tag & 7);
@@ -2953,14 +3011,14 @@ export const RoomUpdate = {
2953
3011
  const tag = reader.uint32();
2954
3012
  switch (tag >>> 3) {
2955
3013
  case 1:
2956
- if (tag != 10) {
3014
+ if (tag !== 10) {
2957
3015
  break;
2958
3016
  }
2959
3017
 
2960
3018
  message.room = Room.decode(reader, reader.uint32());
2961
3019
  continue;
2962
3020
  }
2963
- if ((tag & 7) == 4 || tag == 0) {
3021
+ if ((tag & 7) === 4 || tag === 0) {
2964
3022
  break;
2965
3023
  }
2966
3024
  reader.skipType(tag & 7);
@@ -3015,28 +3073,28 @@ export const ConnectionQualityInfo = {
3015
3073
  const tag = reader.uint32();
3016
3074
  switch (tag >>> 3) {
3017
3075
  case 1:
3018
- if (tag != 10) {
3076
+ if (tag !== 10) {
3019
3077
  break;
3020
3078
  }
3021
3079
 
3022
3080
  message.participantSid = reader.string();
3023
3081
  continue;
3024
3082
  case 2:
3025
- if (tag != 16) {
3083
+ if (tag !== 16) {
3026
3084
  break;
3027
3085
  }
3028
3086
 
3029
3087
  message.quality = reader.int32() as any;
3030
3088
  continue;
3031
3089
  case 3:
3032
- if (tag != 29) {
3090
+ if (tag !== 29) {
3033
3091
  break;
3034
3092
  }
3035
3093
 
3036
3094
  message.score = reader.float();
3037
3095
  continue;
3038
3096
  }
3039
- if ((tag & 7) == 4 || tag == 0) {
3097
+ if ((tag & 7) === 4 || tag === 0) {
3040
3098
  break;
3041
3099
  }
3042
3100
  reader.skipType(tag & 7);
@@ -3093,14 +3151,14 @@ export const ConnectionQualityUpdate = {
3093
3151
  const tag = reader.uint32();
3094
3152
  switch (tag >>> 3) {
3095
3153
  case 1:
3096
- if (tag != 10) {
3154
+ if (tag !== 10) {
3097
3155
  break;
3098
3156
  }
3099
3157
 
3100
3158
  message.updates.push(ConnectionQualityInfo.decode(reader, reader.uint32()));
3101
3159
  continue;
3102
3160
  }
3103
- if ((tag & 7) == 4 || tag == 0) {
3161
+ if ((tag & 7) === 4 || tag === 0) {
3104
3162
  break;
3105
3163
  }
3106
3164
  reader.skipType(tag & 7);
@@ -3161,28 +3219,28 @@ export const StreamStateInfo = {
3161
3219
  const tag = reader.uint32();
3162
3220
  switch (tag >>> 3) {
3163
3221
  case 1:
3164
- if (tag != 10) {
3222
+ if (tag !== 10) {
3165
3223
  break;
3166
3224
  }
3167
3225
 
3168
3226
  message.participantSid = reader.string();
3169
3227
  continue;
3170
3228
  case 2:
3171
- if (tag != 18) {
3229
+ if (tag !== 18) {
3172
3230
  break;
3173
3231
  }
3174
3232
 
3175
3233
  message.trackSid = reader.string();
3176
3234
  continue;
3177
3235
  case 3:
3178
- if (tag != 24) {
3236
+ if (tag !== 24) {
3179
3237
  break;
3180
3238
  }
3181
3239
 
3182
3240
  message.state = reader.int32() as any;
3183
3241
  continue;
3184
3242
  }
3185
- if ((tag & 7) == 4 || tag == 0) {
3243
+ if ((tag & 7) === 4 || tag === 0) {
3186
3244
  break;
3187
3245
  }
3188
3246
  reader.skipType(tag & 7);
@@ -3239,14 +3297,14 @@ export const StreamStateUpdate = {
3239
3297
  const tag = reader.uint32();
3240
3298
  switch (tag >>> 3) {
3241
3299
  case 1:
3242
- if (tag != 10) {
3300
+ if (tag !== 10) {
3243
3301
  break;
3244
3302
  }
3245
3303
 
3246
3304
  message.streamStates.push(StreamStateInfo.decode(reader, reader.uint32()));
3247
3305
  continue;
3248
3306
  }
3249
- if ((tag & 7) == 4 || tag == 0) {
3307
+ if ((tag & 7) === 4 || tag === 0) {
3250
3308
  break;
3251
3309
  }
3252
3310
  reader.skipType(tag & 7);
@@ -3306,21 +3364,21 @@ export const SubscribedQuality = {
3306
3364
  const tag = reader.uint32();
3307
3365
  switch (tag >>> 3) {
3308
3366
  case 1:
3309
- if (tag != 8) {
3367
+ if (tag !== 8) {
3310
3368
  break;
3311
3369
  }
3312
3370
 
3313
3371
  message.quality = reader.int32() as any;
3314
3372
  continue;
3315
3373
  case 2:
3316
- if (tag != 16) {
3374
+ if (tag !== 16) {
3317
3375
  break;
3318
3376
  }
3319
3377
 
3320
3378
  message.enabled = reader.bool();
3321
3379
  continue;
3322
3380
  }
3323
- if ((tag & 7) == 4 || tag == 0) {
3381
+ if ((tag & 7) === 4 || tag === 0) {
3324
3382
  break;
3325
3383
  }
3326
3384
  reader.skipType(tag & 7);
@@ -3377,21 +3435,21 @@ export const SubscribedCodec = {
3377
3435
  const tag = reader.uint32();
3378
3436
  switch (tag >>> 3) {
3379
3437
  case 1:
3380
- if (tag != 10) {
3438
+ if (tag !== 10) {
3381
3439
  break;
3382
3440
  }
3383
3441
 
3384
3442
  message.codec = reader.string();
3385
3443
  continue;
3386
3444
  case 2:
3387
- if (tag != 18) {
3445
+ if (tag !== 18) {
3388
3446
  break;
3389
3447
  }
3390
3448
 
3391
3449
  message.qualities.push(SubscribedQuality.decode(reader, reader.uint32()));
3392
3450
  continue;
3393
3451
  }
3394
- if ((tag & 7) == 4 || tag == 0) {
3452
+ if ((tag & 7) === 4 || tag === 0) {
3395
3453
  break;
3396
3454
  }
3397
3455
  reader.skipType(tag & 7);
@@ -3457,28 +3515,28 @@ export const SubscribedQualityUpdate = {
3457
3515
  const tag = reader.uint32();
3458
3516
  switch (tag >>> 3) {
3459
3517
  case 1:
3460
- if (tag != 10) {
3518
+ if (tag !== 10) {
3461
3519
  break;
3462
3520
  }
3463
3521
 
3464
3522
  message.trackSid = reader.string();
3465
3523
  continue;
3466
3524
  case 2:
3467
- if (tag != 18) {
3525
+ if (tag !== 18) {
3468
3526
  break;
3469
3527
  }
3470
3528
 
3471
3529
  message.subscribedQualities.push(SubscribedQuality.decode(reader, reader.uint32()));
3472
3530
  continue;
3473
3531
  case 3:
3474
- if (tag != 26) {
3532
+ if (tag !== 26) {
3475
3533
  break;
3476
3534
  }
3477
3535
 
3478
3536
  message.subscribedCodecs.push(SubscribedCodec.decode(reader, reader.uint32()));
3479
3537
  continue;
3480
3538
  }
3481
- if ((tag & 7) == 4 || tag == 0) {
3539
+ if ((tag & 7) === 4 || tag === 0) {
3482
3540
  break;
3483
3541
  }
3484
3542
  reader.skipType(tag & 7);
@@ -3556,35 +3614,35 @@ export const TrackPermission = {
3556
3614
  const tag = reader.uint32();
3557
3615
  switch (tag >>> 3) {
3558
3616
  case 1:
3559
- if (tag != 10) {
3617
+ if (tag !== 10) {
3560
3618
  break;
3561
3619
  }
3562
3620
 
3563
3621
  message.participantSid = reader.string();
3564
3622
  continue;
3565
3623
  case 2:
3566
- if (tag != 16) {
3624
+ if (tag !== 16) {
3567
3625
  break;
3568
3626
  }
3569
3627
 
3570
3628
  message.allTracks = reader.bool();
3571
3629
  continue;
3572
3630
  case 3:
3573
- if (tag != 26) {
3631
+ if (tag !== 26) {
3574
3632
  break;
3575
3633
  }
3576
3634
 
3577
3635
  message.trackSids.push(reader.string());
3578
3636
  continue;
3579
3637
  case 4:
3580
- if (tag != 34) {
3638
+ if (tag !== 34) {
3581
3639
  break;
3582
3640
  }
3583
3641
 
3584
3642
  message.participantIdentity = reader.string();
3585
3643
  continue;
3586
3644
  }
3587
- if ((tag & 7) == 4 || tag == 0) {
3645
+ if ((tag & 7) === 4 || tag === 0) {
3588
3646
  break;
3589
3647
  }
3590
3648
  reader.skipType(tag & 7);
@@ -3651,21 +3709,21 @@ export const SubscriptionPermission = {
3651
3709
  const tag = reader.uint32();
3652
3710
  switch (tag >>> 3) {
3653
3711
  case 1:
3654
- if (tag != 8) {
3712
+ if (tag !== 8) {
3655
3713
  break;
3656
3714
  }
3657
3715
 
3658
3716
  message.allParticipants = reader.bool();
3659
3717
  continue;
3660
3718
  case 2:
3661
- if (tag != 18) {
3719
+ if (tag !== 18) {
3662
3720
  break;
3663
3721
  }
3664
3722
 
3665
3723
  message.trackPermissions.push(TrackPermission.decode(reader, reader.uint32()));
3666
3724
  continue;
3667
3725
  }
3668
- if ((tag & 7) == 4 || tag == 0) {
3726
+ if ((tag & 7) === 4 || tag === 0) {
3669
3727
  break;
3670
3728
  }
3671
3729
  reader.skipType(tag & 7);
@@ -3731,28 +3789,28 @@ export const SubscriptionPermissionUpdate = {
3731
3789
  const tag = reader.uint32();
3732
3790
  switch (tag >>> 3) {
3733
3791
  case 1:
3734
- if (tag != 10) {
3792
+ if (tag !== 10) {
3735
3793
  break;
3736
3794
  }
3737
3795
 
3738
3796
  message.participantSid = reader.string();
3739
3797
  continue;
3740
3798
  case 2:
3741
- if (tag != 18) {
3799
+ if (tag !== 18) {
3742
3800
  break;
3743
3801
  }
3744
3802
 
3745
3803
  message.trackSid = reader.string();
3746
3804
  continue;
3747
3805
  case 3:
3748
- if (tag != 24) {
3806
+ if (tag !== 24) {
3749
3807
  break;
3750
3808
  }
3751
3809
 
3752
3810
  message.allowed = reader.bool();
3753
3811
  continue;
3754
3812
  }
3755
- if ((tag & 7) == 4 || tag == 0) {
3813
+ if ((tag & 7) === 4 || tag === 0) {
3756
3814
  break;
3757
3815
  }
3758
3816
  reader.skipType(tag & 7);
@@ -3821,42 +3879,42 @@ export const SyncState = {
3821
3879
  const tag = reader.uint32();
3822
3880
  switch (tag >>> 3) {
3823
3881
  case 1:
3824
- if (tag != 10) {
3882
+ if (tag !== 10) {
3825
3883
  break;
3826
3884
  }
3827
3885
 
3828
3886
  message.answer = SessionDescription.decode(reader, reader.uint32());
3829
3887
  continue;
3830
3888
  case 2:
3831
- if (tag != 18) {
3889
+ if (tag !== 18) {
3832
3890
  break;
3833
3891
  }
3834
3892
 
3835
3893
  message.subscription = UpdateSubscription.decode(reader, reader.uint32());
3836
3894
  continue;
3837
3895
  case 3:
3838
- if (tag != 26) {
3896
+ if (tag !== 26) {
3839
3897
  break;
3840
3898
  }
3841
3899
 
3842
3900
  message.publishTracks.push(TrackPublishedResponse.decode(reader, reader.uint32()));
3843
3901
  continue;
3844
3902
  case 4:
3845
- if (tag != 34) {
3903
+ if (tag !== 34) {
3846
3904
  break;
3847
3905
  }
3848
3906
 
3849
3907
  message.dataChannels.push(DataChannelInfo.decode(reader, reader.uint32()));
3850
3908
  continue;
3851
3909
  case 5:
3852
- if (tag != 42) {
3910
+ if (tag !== 42) {
3853
3911
  break;
3854
3912
  }
3855
3913
 
3856
3914
  message.offer = SessionDescription.decode(reader, reader.uint32());
3857
3915
  continue;
3858
3916
  }
3859
- if ((tag & 7) == 4 || tag == 0) {
3917
+ if ((tag & 7) === 4 || tag === 0) {
3860
3918
  break;
3861
3919
  }
3862
3920
  reader.skipType(tag & 7);
@@ -3945,28 +4003,28 @@ export const DataChannelInfo = {
3945
4003
  const tag = reader.uint32();
3946
4004
  switch (tag >>> 3) {
3947
4005
  case 1:
3948
- if (tag != 10) {
4006
+ if (tag !== 10) {
3949
4007
  break;
3950
4008
  }
3951
4009
 
3952
4010
  message.label = reader.string();
3953
4011
  continue;
3954
4012
  case 2:
3955
- if (tag != 16) {
4013
+ if (tag !== 16) {
3956
4014
  break;
3957
4015
  }
3958
4016
 
3959
4017
  message.id = reader.uint32();
3960
4018
  continue;
3961
4019
  case 3:
3962
- if (tag != 24) {
4020
+ if (tag !== 24) {
3963
4021
  break;
3964
4022
  }
3965
4023
 
3966
4024
  message.target = reader.int32() as any;
3967
4025
  continue;
3968
4026
  }
3969
- if ((tag & 7) == 4 || tag == 0) {
4027
+ if ((tag & 7) === 4 || tag === 0) {
3970
4028
  break;
3971
4029
  }
3972
4030
  reader.skipType(tag & 7);
@@ -4040,42 +4098,42 @@ export const SimulateScenario = {
4040
4098
  const tag = reader.uint32();
4041
4099
  switch (tag >>> 3) {
4042
4100
  case 1:
4043
- if (tag != 8) {
4101
+ if (tag !== 8) {
4044
4102
  break;
4045
4103
  }
4046
4104
 
4047
4105
  message.scenario = { $case: "speakerUpdate", speakerUpdate: reader.int32() };
4048
4106
  continue;
4049
4107
  case 2:
4050
- if (tag != 16) {
4108
+ if (tag !== 16) {
4051
4109
  break;
4052
4110
  }
4053
4111
 
4054
4112
  message.scenario = { $case: "nodeFailure", nodeFailure: reader.bool() };
4055
4113
  continue;
4056
4114
  case 3:
4057
- if (tag != 24) {
4115
+ if (tag !== 24) {
4058
4116
  break;
4059
4117
  }
4060
4118
 
4061
4119
  message.scenario = { $case: "migration", migration: reader.bool() };
4062
4120
  continue;
4063
4121
  case 4:
4064
- if (tag != 32) {
4122
+ if (tag !== 32) {
4065
4123
  break;
4066
4124
  }
4067
4125
 
4068
4126
  message.scenario = { $case: "serverLeave", serverLeave: reader.bool() };
4069
4127
  continue;
4070
4128
  case 5:
4071
- if (tag != 40) {
4129
+ if (tag !== 40) {
4072
4130
  break;
4073
4131
  }
4074
4132
 
4075
4133
  message.scenario = { $case: "switchCandidateProtocol", switchCandidateProtocol: reader.int32() as any };
4076
4134
  continue;
4077
4135
  case 6:
4078
- if (tag != 48) {
4136
+ if (tag !== 48) {
4079
4137
  break;
4080
4138
  }
4081
4139
 
@@ -4085,7 +4143,7 @@ export const SimulateScenario = {
4085
4143
  };
4086
4144
  continue;
4087
4145
  }
4088
- if ((tag & 7) == 4 || tag == 0) {
4146
+ if ((tag & 7) === 4 || tag === 0) {
4089
4147
  break;
4090
4148
  }
4091
4149
  reader.skipType(tag & 7);
@@ -4207,21 +4265,21 @@ export const Ping = {
4207
4265
  const tag = reader.uint32();
4208
4266
  switch (tag >>> 3) {
4209
4267
  case 1:
4210
- if (tag != 8) {
4268
+ if (tag !== 8) {
4211
4269
  break;
4212
4270
  }
4213
4271
 
4214
4272
  message.timestamp = longToNumber(reader.int64() as Long);
4215
4273
  continue;
4216
4274
  case 2:
4217
- if (tag != 16) {
4275
+ if (tag !== 16) {
4218
4276
  break;
4219
4277
  }
4220
4278
 
4221
4279
  message.rtt = longToNumber(reader.int64() as Long);
4222
4280
  continue;
4223
4281
  }
4224
- if ((tag & 7) == 4 || tag == 0) {
4282
+ if ((tag & 7) === 4 || tag === 0) {
4225
4283
  break;
4226
4284
  }
4227
4285
  reader.skipType(tag & 7);
@@ -4278,21 +4336,21 @@ export const Pong = {
4278
4336
  const tag = reader.uint32();
4279
4337
  switch (tag >>> 3) {
4280
4338
  case 1:
4281
- if (tag != 8) {
4339
+ if (tag !== 8) {
4282
4340
  break;
4283
4341
  }
4284
4342
 
4285
4343
  message.lastPingTimestamp = longToNumber(reader.int64() as Long);
4286
4344
  continue;
4287
4345
  case 2:
4288
- if (tag != 16) {
4346
+ if (tag !== 16) {
4289
4347
  break;
4290
4348
  }
4291
4349
 
4292
4350
  message.timestamp = longToNumber(reader.int64() as Long);
4293
4351
  continue;
4294
4352
  }
4295
- if ((tag & 7) == 4 || tag == 0) {
4353
+ if ((tag & 7) === 4 || tag === 0) {
4296
4354
  break;
4297
4355
  }
4298
4356
  reader.skipType(tag & 7);
@@ -4346,14 +4404,14 @@ export const RegionSettings = {
4346
4404
  const tag = reader.uint32();
4347
4405
  switch (tag >>> 3) {
4348
4406
  case 1:
4349
- if (tag != 10) {
4407
+ if (tag !== 10) {
4350
4408
  break;
4351
4409
  }
4352
4410
 
4353
4411
  message.regions.push(RegionInfo.decode(reader, reader.uint32()));
4354
4412
  continue;
4355
4413
  }
4356
- if ((tag & 7) == 4 || tag == 0) {
4414
+ if ((tag & 7) === 4 || tag === 0) {
4357
4415
  break;
4358
4416
  }
4359
4417
  reader.skipType(tag & 7);
@@ -4412,28 +4470,28 @@ export const RegionInfo = {
4412
4470
  const tag = reader.uint32();
4413
4471
  switch (tag >>> 3) {
4414
4472
  case 1:
4415
- if (tag != 10) {
4473
+ if (tag !== 10) {
4416
4474
  break;
4417
4475
  }
4418
4476
 
4419
4477
  message.region = reader.string();
4420
4478
  continue;
4421
4479
  case 2:
4422
- if (tag != 18) {
4480
+ if (tag !== 18) {
4423
4481
  break;
4424
4482
  }
4425
4483
 
4426
4484
  message.url = reader.string();
4427
4485
  continue;
4428
4486
  case 3:
4429
- if (tag != 24) {
4487
+ if (tag !== 24) {
4430
4488
  break;
4431
4489
  }
4432
4490
 
4433
4491
  message.distance = longToNumber(reader.int64() as Long);
4434
4492
  continue;
4435
4493
  }
4436
- if ((tag & 7) == 4 || tag == 0) {
4494
+ if ((tag & 7) === 4 || tag === 0) {
4437
4495
  break;
4438
4496
  }
4439
4497
  reader.skipType(tag & 7);
@@ -4470,6 +4528,77 @@ export const RegionInfo = {
4470
4528
  },
4471
4529
  };
4472
4530
 
4531
+ function createBaseSubscriptionResponse(): SubscriptionResponse {
4532
+ return { trackSid: "", err: 0 };
4533
+ }
4534
+
4535
+ export const SubscriptionResponse = {
4536
+ encode(message: SubscriptionResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
4537
+ if (message.trackSid !== "") {
4538
+ writer.uint32(10).string(message.trackSid);
4539
+ }
4540
+ if (message.err !== 0) {
4541
+ writer.uint32(16).int32(message.err);
4542
+ }
4543
+ return writer;
4544
+ },
4545
+
4546
+ decode(input: _m0.Reader | Uint8Array, length?: number): SubscriptionResponse {
4547
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
4548
+ let end = length === undefined ? reader.len : reader.pos + length;
4549
+ const message = createBaseSubscriptionResponse();
4550
+ while (reader.pos < end) {
4551
+ const tag = reader.uint32();
4552
+ switch (tag >>> 3) {
4553
+ case 1:
4554
+ if (tag !== 10) {
4555
+ break;
4556
+ }
4557
+
4558
+ message.trackSid = reader.string();
4559
+ continue;
4560
+ case 2:
4561
+ if (tag !== 16) {
4562
+ break;
4563
+ }
4564
+
4565
+ message.err = reader.int32() as any;
4566
+ continue;
4567
+ }
4568
+ if ((tag & 7) === 4 || tag === 0) {
4569
+ break;
4570
+ }
4571
+ reader.skipType(tag & 7);
4572
+ }
4573
+ return message;
4574
+ },
4575
+
4576
+ fromJSON(object: any): SubscriptionResponse {
4577
+ return {
4578
+ trackSid: isSet(object.trackSid) ? String(object.trackSid) : "",
4579
+ err: isSet(object.err) ? subscriptionErrorFromJSON(object.err) : 0,
4580
+ };
4581
+ },
4582
+
4583
+ toJSON(message: SubscriptionResponse): unknown {
4584
+ const obj: any = {};
4585
+ message.trackSid !== undefined && (obj.trackSid = message.trackSid);
4586
+ message.err !== undefined && (obj.err = subscriptionErrorToJSON(message.err));
4587
+ return obj;
4588
+ },
4589
+
4590
+ create<I extends Exact<DeepPartial<SubscriptionResponse>, I>>(base?: I): SubscriptionResponse {
4591
+ return SubscriptionResponse.fromPartial(base ?? {});
4592
+ },
4593
+
4594
+ fromPartial<I extends Exact<DeepPartial<SubscriptionResponse>, I>>(object: I): SubscriptionResponse {
4595
+ const message = createBaseSubscriptionResponse();
4596
+ message.trackSid = object.trackSid ?? "";
4597
+ message.err = object.err ?? 0;
4598
+ return message;
4599
+ },
4600
+ };
4601
+
4473
4602
  declare var self: any | undefined;
4474
4603
  declare var window: any | undefined;
4475
4604
  declare var global: any | undefined;
@@ -4489,6 +4618,31 @@ var tsProtoGlobalThis: any = (() => {
4489
4618
  throw "Unable to locate global object";
4490
4619
  })();
4491
4620
 
4621
+ function bytesFromBase64(b64: string): Uint8Array {
4622
+ if (tsProtoGlobalThis.Buffer) {
4623
+ return Uint8Array.from(tsProtoGlobalThis.Buffer.from(b64, "base64"));
4624
+ } else {
4625
+ const bin = tsProtoGlobalThis.atob(b64);
4626
+ const arr = new Uint8Array(bin.length);
4627
+ for (let i = 0; i < bin.length; ++i) {
4628
+ arr[i] = bin.charCodeAt(i);
4629
+ }
4630
+ return arr;
4631
+ }
4632
+ }
4633
+
4634
+ function base64FromBytes(arr: Uint8Array): string {
4635
+ if (tsProtoGlobalThis.Buffer) {
4636
+ return tsProtoGlobalThis.Buffer.from(arr).toString("base64");
4637
+ } else {
4638
+ const bin: string[] = [];
4639
+ arr.forEach((byte) => {
4640
+ bin.push(String.fromCharCode(byte));
4641
+ });
4642
+ return tsProtoGlobalThis.btoa(bin.join(""));
4643
+ }
4644
+ }
4645
+
4492
4646
  type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
4493
4647
 
4494
4648
  export type DeepPartial<T> = T extends Builtin ? T