livekit-client 1.9.7 → 1.10.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (65) hide show
  1. package/dist/livekit-client.esm.mjs +2550 -2140
  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/ts4.2/src/api/SignalClient.d.ts +2 -1
  35. package/dist/ts4.2/src/index.d.ts +1 -0
  36. package/dist/ts4.2/src/proto/livekit_models.d.ts +126 -12
  37. package/dist/ts4.2/src/proto/livekit_rtc.d.ts +617 -254
  38. package/dist/ts4.2/src/room/Room.d.ts +3 -2
  39. package/dist/ts4.2/src/room/events.d.ts +5 -1
  40. package/dist/ts4.2/src/room/participant/Participant.d.ts +2 -2
  41. package/dist/ts4.2/src/room/participant/publishUtils.d.ts +8 -0
  42. package/dist/ts4.2/src/room/track/LocalTrack.d.ts +32 -0
  43. package/dist/ts4.2/src/room/track/RemoteTrackPublication.d.ts +4 -1
  44. package/dist/ts4.2/src/room/track/TrackPublication.d.ts +2 -1
  45. package/dist/ts4.2/src/room/track/options.d.ts +1 -1
  46. package/dist/ts4.2/src/room/track/processor/types.d.ts +19 -0
  47. package/package.json +13 -13
  48. package/src/api/SignalClient.ts +8 -1
  49. package/src/index.ts +1 -0
  50. package/src/proto/google/protobuf/timestamp.ts +3 -3
  51. package/src/proto/livekit_models.ts +254 -161
  52. package/src/proto/livekit_rtc.ts +334 -180
  53. package/src/room/Room.ts +26 -1
  54. package/src/room/events.ts +4 -0
  55. package/src/room/participant/LocalParticipant.ts +23 -3
  56. package/src/room/participant/Participant.ts +2 -1
  57. package/src/room/participant/RemoteParticipant.ts +4 -1
  58. package/src/room/participant/publishUtils.ts +40 -11
  59. package/src/room/track/LocalTrack.ts +120 -16
  60. package/src/room/track/LocalVideoTrack.ts +96 -33
  61. package/src/room/track/RemoteTrackPublication.ts +8 -1
  62. package/src/room/track/Track.ts +3 -3
  63. package/src/room/track/TrackPublication.ts +2 -1
  64. package/src/room/track/options.ts +1 -1
  65. package/src/room/track/processor/types.ts +20 -0
@@ -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