livekit-client 0.14.3 → 0.15.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 (90) hide show
  1. package/.github/workflows/{lint.yaml → test.yaml} +7 -4
  2. package/README.md +27 -12
  3. package/dist/api/SignalClient.d.ts +4 -31
  4. package/dist/api/SignalClient.js +25 -7
  5. package/dist/api/SignalClient.js.map +1 -1
  6. package/dist/connect.d.ts +1 -1
  7. package/dist/connect.js +68 -73
  8. package/dist/connect.js.map +1 -1
  9. package/dist/index.d.ts +3 -4
  10. package/dist/index.js +4 -4
  11. package/dist/index.js.map +1 -1
  12. package/dist/logger.d.ts +10 -0
  13. package/dist/logger.js +14 -0
  14. package/dist/logger.js.map +1 -1
  15. package/dist/options.d.ts +67 -12
  16. package/dist/options.js +0 -10
  17. package/dist/options.js.map +1 -1
  18. package/dist/proto/livekit_models.d.ts +27 -1
  19. package/dist/proto/livekit_models.js +188 -3
  20. package/dist/proto/livekit_models.js.map +1 -1
  21. package/dist/proto/livekit_rtc.d.ts +49 -7
  22. package/dist/proto/livekit_rtc.js +303 -28
  23. package/dist/proto/livekit_rtc.js.map +1 -1
  24. package/dist/room/RTCEngine.d.ts +2 -2
  25. package/dist/room/RTCEngine.js +6 -4
  26. package/dist/room/RTCEngine.js.map +1 -1
  27. package/dist/room/Room.d.ts +9 -18
  28. package/dist/room/Room.js +61 -36
  29. package/dist/room/Room.js.map +1 -1
  30. package/dist/room/events.d.ts +93 -0
  31. package/dist/room/events.js +93 -0
  32. package/dist/room/events.js.map +1 -1
  33. package/dist/room/participant/LocalParticipant.d.ts +27 -11
  34. package/dist/room/participant/LocalParticipant.js +183 -155
  35. package/dist/room/participant/LocalParticipant.js.map +1 -1
  36. package/dist/room/participant/Participant.js +2 -1
  37. package/dist/room/participant/Participant.js.map +1 -1
  38. package/dist/room/participant/RemoteParticipant.js +3 -2
  39. package/dist/room/participant/RemoteParticipant.js.map +1 -1
  40. package/dist/room/participant/publishUtils.d.ts +11 -0
  41. package/dist/room/participant/publishUtils.js +148 -0
  42. package/dist/room/participant/publishUtils.js.map +1 -0
  43. package/dist/room/participant/publishUtils.test.d.ts +1 -0
  44. package/dist/room/participant/publishUtils.test.js +79 -0
  45. package/dist/room/participant/publishUtils.test.js.map +1 -0
  46. package/dist/room/track/LocalAudioTrack.d.ts +4 -3
  47. package/dist/room/track/LocalAudioTrack.js +5 -3
  48. package/dist/room/track/LocalAudioTrack.js.map +1 -1
  49. package/dist/room/track/LocalTrack.d.ts +1 -3
  50. package/dist/room/track/LocalTrack.js +2 -49
  51. package/dist/room/track/LocalTrack.js.map +1 -1
  52. package/dist/room/track/LocalVideoTrack.d.ts +6 -4
  53. package/dist/room/track/LocalVideoTrack.js +41 -12
  54. package/dist/room/track/LocalVideoTrack.js.map +1 -1
  55. package/dist/room/track/LocalVideoTrack.test.d.ts +1 -0
  56. package/dist/room/track/LocalVideoTrack.test.js +68 -0
  57. package/dist/room/track/LocalVideoTrack.test.js.map +1 -0
  58. package/dist/room/track/RemoteTrackPublication.d.ts +1 -2
  59. package/dist/room/track/RemoteTrackPublication.js +5 -4
  60. package/dist/room/track/RemoteTrackPublication.js.map +1 -1
  61. package/dist/room/track/RemoteVideoTrack.d.ts +0 -2
  62. package/dist/room/track/RemoteVideoTrack.js +11 -19
  63. package/dist/room/track/RemoteVideoTrack.js.map +1 -1
  64. package/dist/room/track/Track.d.ts +1 -2
  65. package/dist/room/track/Track.js +1 -2
  66. package/dist/room/track/Track.js.map +1 -1
  67. package/dist/room/track/options.d.ts +15 -65
  68. package/dist/room/track/options.js +14 -13
  69. package/dist/room/track/options.js.map +1 -1
  70. package/dist/room/track/utils.d.ts +3 -0
  71. package/dist/room/track/utils.js +68 -0
  72. package/dist/room/track/utils.js.map +1 -0
  73. package/dist/room/track/utils.test.d.ts +1 -0
  74. package/dist/room/track/utils.test.js +85 -0
  75. package/dist/room/track/utils.test.js.map +1 -0
  76. package/dist/version.d.ts +1 -1
  77. package/dist/version.js +1 -1
  78. package/example/index.html +183 -178
  79. package/example/sample.ts +410 -327
  80. package/example/styles.css +144 -0
  81. package/example/webpack.config.js +1 -1
  82. package/jest.config.js +6 -0
  83. package/package.json +8 -5
  84. package/tsconfig.eslint.json +8 -1
  85. package/dist/room/defaults.d.ts +0 -5
  86. package/dist/room/defaults.js +0 -32
  87. package/dist/room/defaults.js.map +0 -1
  88. package/dist/room/track/create.d.ts +0 -25
  89. package/dist/room/track/create.js +0 -172
  90. package/dist/room/track/create.js.map +0 -1
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ConnectionQualityUpdate = exports.ConnectionQualityInfo = exports.RoomUpdate = exports.SpeakersChanged = exports.ICEServer = exports.LeaveRequest = exports.UpdateTrackSettings = exports.UpdateSubscription = exports.ParticipantUpdate = exports.SessionDescription = exports.TrackPublishedResponse = exports.JoinResponse = exports.MuteTrackRequest = exports.TrickleRequest = exports.AddTrackRequest = exports.SignalResponse = exports.SignalRequest = exports.videoQualityToJSON = exports.videoQualityFromJSON = exports.VideoQuality = exports.signalTargetToJSON = exports.signalTargetFromJSON = exports.SignalTarget = exports.protobufPackage = void 0;
6
+ exports.StreamStateUpdate = exports.StreamStateInfo = exports.ConnectionQualityUpdate = exports.ConnectionQualityInfo = exports.RoomUpdate = exports.SpeakersChanged = exports.ICEServer = exports.UpdateVideoLayers = exports.LeaveRequest = exports.UpdateTrackSettings = exports.UpdateSubscription = exports.ParticipantUpdate = exports.SessionDescription = exports.TrackPublishedResponse = exports.JoinResponse = exports.MuteTrackRequest = exports.TrickleRequest = exports.AddTrackRequest = exports.SignalResponse = exports.SignalRequest = exports.streamStateToJSON = exports.streamStateFromJSON = exports.StreamState = exports.signalTargetToJSON = exports.signalTargetFromJSON = exports.SignalTarget = exports.protobufPackage = void 0;
7
7
  /* eslint-disable */
8
8
  const long_1 = __importDefault(require("long"));
9
9
  const minimal_1 = __importDefault(require("protobufjs/minimal"));
@@ -41,44 +41,38 @@ function signalTargetToJSON(object) {
41
41
  }
42
42
  }
43
43
  exports.signalTargetToJSON = signalTargetToJSON;
44
- var VideoQuality;
45
- (function (VideoQuality) {
46
- VideoQuality[VideoQuality["LOW"] = 0] = "LOW";
47
- VideoQuality[VideoQuality["MEDIUM"] = 1] = "MEDIUM";
48
- VideoQuality[VideoQuality["HIGH"] = 2] = "HIGH";
49
- VideoQuality[VideoQuality["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
50
- })(VideoQuality = exports.VideoQuality || (exports.VideoQuality = {}));
51
- function videoQualityFromJSON(object) {
44
+ var StreamState;
45
+ (function (StreamState) {
46
+ StreamState[StreamState["ACTIVE"] = 0] = "ACTIVE";
47
+ StreamState[StreamState["PAUSED"] = 1] = "PAUSED";
48
+ StreamState[StreamState["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
49
+ })(StreamState = exports.StreamState || (exports.StreamState = {}));
50
+ function streamStateFromJSON(object) {
52
51
  switch (object) {
53
52
  case 0:
54
- case "LOW":
55
- return VideoQuality.LOW;
53
+ case "ACTIVE":
54
+ return StreamState.ACTIVE;
56
55
  case 1:
57
- case "MEDIUM":
58
- return VideoQuality.MEDIUM;
59
- case 2:
60
- case "HIGH":
61
- return VideoQuality.HIGH;
56
+ case "PAUSED":
57
+ return StreamState.PAUSED;
62
58
  case -1:
63
59
  case "UNRECOGNIZED":
64
60
  default:
65
- return VideoQuality.UNRECOGNIZED;
61
+ return StreamState.UNRECOGNIZED;
66
62
  }
67
63
  }
68
- exports.videoQualityFromJSON = videoQualityFromJSON;
69
- function videoQualityToJSON(object) {
64
+ exports.streamStateFromJSON = streamStateFromJSON;
65
+ function streamStateToJSON(object) {
70
66
  switch (object) {
71
- case VideoQuality.LOW:
72
- return "LOW";
73
- case VideoQuality.MEDIUM:
74
- return "MEDIUM";
75
- case VideoQuality.HIGH:
76
- return "HIGH";
67
+ case StreamState.ACTIVE:
68
+ return "ACTIVE";
69
+ case StreamState.PAUSED:
70
+ return "PAUSED";
77
71
  default:
78
72
  return "UNKNOWN";
79
73
  }
80
74
  }
81
- exports.videoQualityToJSON = videoQualityToJSON;
75
+ exports.streamStateToJSON = streamStateToJSON;
82
76
  const baseSignalRequest = {};
83
77
  exports.SignalRequest = {
84
78
  encode(message, writer = minimal_1.default.Writer.create()) {
@@ -106,6 +100,9 @@ exports.SignalRequest = {
106
100
  if (message.leave !== undefined) {
107
101
  exports.LeaveRequest.encode(message.leave, writer.uint32(66).fork()).ldelim();
108
102
  }
103
+ if (message.updateLayers !== undefined) {
104
+ exports.UpdateVideoLayers.encode(message.updateLayers, writer.uint32(82).fork()).ldelim();
105
+ }
109
106
  return writer;
110
107
  },
111
108
  decode(input, length) {
@@ -139,6 +136,9 @@ exports.SignalRequest = {
139
136
  case 8:
140
137
  message.leave = exports.LeaveRequest.decode(reader, reader.uint32());
141
138
  break;
139
+ case 10:
140
+ message.updateLayers = exports.UpdateVideoLayers.decode(reader, reader.uint32());
141
+ break;
142
142
  default:
143
143
  reader.skipType(tag & 7);
144
144
  break;
@@ -196,6 +196,12 @@ exports.SignalRequest = {
196
196
  else {
197
197
  message.leave = undefined;
198
198
  }
199
+ if (object.updateLayers !== undefined && object.updateLayers !== null) {
200
+ message.updateLayers = exports.UpdateVideoLayers.fromJSON(object.updateLayers);
201
+ }
202
+ else {
203
+ message.updateLayers = undefined;
204
+ }
199
205
  return message;
200
206
  },
201
207
  toJSON(message) {
@@ -232,6 +238,10 @@ exports.SignalRequest = {
232
238
  (obj.leave = message.leave
233
239
  ? exports.LeaveRequest.toJSON(message.leave)
234
240
  : undefined);
241
+ message.updateLayers !== undefined &&
242
+ (obj.updateLayers = message.updateLayers
243
+ ? exports.UpdateVideoLayers.toJSON(message.updateLayers)
244
+ : undefined);
235
245
  return obj;
236
246
  },
237
247
  fromPartial(object) {
@@ -284,6 +294,12 @@ exports.SignalRequest = {
284
294
  else {
285
295
  message.leave = undefined;
286
296
  }
297
+ if (object.updateLayers !== undefined && object.updateLayers !== null) {
298
+ message.updateLayers = exports.UpdateVideoLayers.fromPartial(object.updateLayers);
299
+ }
300
+ else {
301
+ message.updateLayers = undefined;
302
+ }
287
303
  return message;
288
304
  },
289
305
  };
@@ -323,6 +339,9 @@ exports.SignalResponse = {
323
339
  if (message.connectionQuality !== undefined) {
324
340
  exports.ConnectionQualityUpdate.encode(message.connectionQuality, writer.uint32(98).fork()).ldelim();
325
341
  }
342
+ if (message.streamStateUpdate !== undefined) {
343
+ exports.StreamStateUpdate.encode(message.streamStateUpdate, writer.uint32(106).fork()).ldelim();
344
+ }
326
345
  return writer;
327
346
  },
328
347
  decode(input, length) {
@@ -365,6 +384,9 @@ exports.SignalResponse = {
365
384
  case 12:
366
385
  message.connectionQuality = exports.ConnectionQualityUpdate.decode(reader, reader.uint32());
367
386
  break;
387
+ case 13:
388
+ message.streamStateUpdate = exports.StreamStateUpdate.decode(reader, reader.uint32());
389
+ break;
368
390
  default:
369
391
  reader.skipType(tag & 7);
370
392
  break;
@@ -442,6 +464,13 @@ exports.SignalResponse = {
442
464
  else {
443
465
  message.connectionQuality = undefined;
444
466
  }
467
+ if (object.streamStateUpdate !== undefined &&
468
+ object.streamStateUpdate !== null) {
469
+ message.streamStateUpdate = exports.StreamStateUpdate.fromJSON(object.streamStateUpdate);
470
+ }
471
+ else {
472
+ message.streamStateUpdate = undefined;
473
+ }
445
474
  return message;
446
475
  },
447
476
  toJSON(message) {
@@ -488,6 +517,10 @@ exports.SignalResponse = {
488
517
  (obj.connectionQuality = message.connectionQuality
489
518
  ? exports.ConnectionQualityUpdate.toJSON(message.connectionQuality)
490
519
  : undefined);
520
+ message.streamStateUpdate !== undefined &&
521
+ (obj.streamStateUpdate = message.streamStateUpdate
522
+ ? exports.StreamStateUpdate.toJSON(message.streamStateUpdate)
523
+ : undefined);
491
524
  return obj;
492
525
  },
493
526
  fromPartial(object) {
@@ -560,6 +593,13 @@ exports.SignalResponse = {
560
593
  else {
561
594
  message.connectionQuality = undefined;
562
595
  }
596
+ if (object.streamStateUpdate !== undefined &&
597
+ object.streamStateUpdate !== null) {
598
+ message.streamStateUpdate = exports.StreamStateUpdate.fromPartial(object.streamStateUpdate);
599
+ }
600
+ else {
601
+ message.streamStateUpdate = undefined;
602
+ }
563
603
  return message;
564
604
  },
565
605
  };
@@ -599,12 +639,16 @@ exports.AddTrackRequest = {
599
639
  if (message.source !== 0) {
600
640
  writer.uint32(64).int32(message.source);
601
641
  }
642
+ for (const v of message.layers) {
643
+ livekit_models_1.VideoLayer.encode(v, writer.uint32(74).fork()).ldelim();
644
+ }
602
645
  return writer;
603
646
  },
604
647
  decode(input, length) {
605
648
  const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
606
649
  let end = length === undefined ? reader.len : reader.pos + length;
607
650
  const message = Object.assign({}, baseAddTrackRequest);
651
+ message.layers = [];
608
652
  while (reader.pos < end) {
609
653
  const tag = reader.uint32();
610
654
  switch (tag >>> 3) {
@@ -632,6 +676,9 @@ exports.AddTrackRequest = {
632
676
  case 8:
633
677
  message.source = reader.int32();
634
678
  break;
679
+ case 9:
680
+ message.layers.push(livekit_models_1.VideoLayer.decode(reader, reader.uint32()));
681
+ break;
635
682
  default:
636
683
  reader.skipType(tag & 7);
637
684
  break;
@@ -641,6 +688,7 @@ exports.AddTrackRequest = {
641
688
  },
642
689
  fromJSON(object) {
643
690
  const message = Object.assign({}, baseAddTrackRequest);
691
+ message.layers = [];
644
692
  if (object.cid !== undefined && object.cid !== null) {
645
693
  message.cid = String(object.cid);
646
694
  }
@@ -689,6 +737,11 @@ exports.AddTrackRequest = {
689
737
  else {
690
738
  message.source = 0;
691
739
  }
740
+ if (object.layers !== undefined && object.layers !== null) {
741
+ for (const e of object.layers) {
742
+ message.layers.push(livekit_models_1.VideoLayer.fromJSON(e));
743
+ }
744
+ }
692
745
  return message;
693
746
  },
694
747
  toJSON(message) {
@@ -702,6 +755,12 @@ exports.AddTrackRequest = {
702
755
  message.disableDtx !== undefined && (obj.disableDtx = message.disableDtx);
703
756
  message.source !== undefined &&
704
757
  (obj.source = livekit_models_1.trackSourceToJSON(message.source));
758
+ if (message.layers) {
759
+ obj.layers = message.layers.map((e) => e ? livekit_models_1.VideoLayer.toJSON(e) : undefined);
760
+ }
761
+ else {
762
+ obj.layers = [];
763
+ }
705
764
  return obj;
706
765
  },
707
766
  fromPartial(object) {
@@ -715,6 +774,12 @@ exports.AddTrackRequest = {
715
774
  message.muted = (_f = object.muted) !== null && _f !== void 0 ? _f : false;
716
775
  message.disableDtx = (_g = object.disableDtx) !== null && _g !== void 0 ? _g : false;
717
776
  message.source = (_h = object.source) !== null && _h !== void 0 ? _h : 0;
777
+ message.layers = [];
778
+ if (object.layers !== undefined && object.layers !== null) {
779
+ for (const e of object.layers) {
780
+ message.layers.push(livekit_models_1.VideoLayer.fromPartial(e));
781
+ }
782
+ }
718
783
  return message;
719
784
  },
720
785
  };
@@ -1347,7 +1412,7 @@ exports.UpdateTrackSettings = {
1347
1412
  message.disabled = false;
1348
1413
  }
1349
1414
  if (object.quality !== undefined && object.quality !== null) {
1350
- message.quality = videoQualityFromJSON(object.quality);
1415
+ message.quality = livekit_models_1.videoQualityFromJSON(object.quality);
1351
1416
  }
1352
1417
  else {
1353
1418
  message.quality = 0;
@@ -1376,7 +1441,7 @@ exports.UpdateTrackSettings = {
1376
1441
  }
1377
1442
  message.disabled !== undefined && (obj.disabled = message.disabled);
1378
1443
  message.quality !== undefined &&
1379
- (obj.quality = videoQualityToJSON(message.quality));
1444
+ (obj.quality = livekit_models_1.videoQualityToJSON(message.quality));
1380
1445
  message.width !== undefined && (obj.width = message.width);
1381
1446
  message.height !== undefined && (obj.height = message.height);
1382
1447
  return obj;
@@ -1445,6 +1510,78 @@ exports.LeaveRequest = {
1445
1510
  return message;
1446
1511
  },
1447
1512
  };
1513
+ const baseUpdateVideoLayers = { trackSid: "" };
1514
+ exports.UpdateVideoLayers = {
1515
+ encode(message, writer = minimal_1.default.Writer.create()) {
1516
+ if (message.trackSid !== "") {
1517
+ writer.uint32(10).string(message.trackSid);
1518
+ }
1519
+ for (const v of message.layers) {
1520
+ livekit_models_1.VideoLayer.encode(v, writer.uint32(18).fork()).ldelim();
1521
+ }
1522
+ return writer;
1523
+ },
1524
+ decode(input, length) {
1525
+ const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
1526
+ let end = length === undefined ? reader.len : reader.pos + length;
1527
+ const message = Object.assign({}, baseUpdateVideoLayers);
1528
+ message.layers = [];
1529
+ while (reader.pos < end) {
1530
+ const tag = reader.uint32();
1531
+ switch (tag >>> 3) {
1532
+ case 1:
1533
+ message.trackSid = reader.string();
1534
+ break;
1535
+ case 2:
1536
+ message.layers.push(livekit_models_1.VideoLayer.decode(reader, reader.uint32()));
1537
+ break;
1538
+ default:
1539
+ reader.skipType(tag & 7);
1540
+ break;
1541
+ }
1542
+ }
1543
+ return message;
1544
+ },
1545
+ fromJSON(object) {
1546
+ const message = Object.assign({}, baseUpdateVideoLayers);
1547
+ message.layers = [];
1548
+ if (object.trackSid !== undefined && object.trackSid !== null) {
1549
+ message.trackSid = String(object.trackSid);
1550
+ }
1551
+ else {
1552
+ message.trackSid = "";
1553
+ }
1554
+ if (object.layers !== undefined && object.layers !== null) {
1555
+ for (const e of object.layers) {
1556
+ message.layers.push(livekit_models_1.VideoLayer.fromJSON(e));
1557
+ }
1558
+ }
1559
+ return message;
1560
+ },
1561
+ toJSON(message) {
1562
+ const obj = {};
1563
+ message.trackSid !== undefined && (obj.trackSid = message.trackSid);
1564
+ if (message.layers) {
1565
+ obj.layers = message.layers.map((e) => e ? livekit_models_1.VideoLayer.toJSON(e) : undefined);
1566
+ }
1567
+ else {
1568
+ obj.layers = [];
1569
+ }
1570
+ return obj;
1571
+ },
1572
+ fromPartial(object) {
1573
+ var _a;
1574
+ const message = Object.assign({}, baseUpdateVideoLayers);
1575
+ message.trackSid = (_a = object.trackSid) !== null && _a !== void 0 ? _a : "";
1576
+ message.layers = [];
1577
+ if (object.layers !== undefined && object.layers !== null) {
1578
+ for (const e of object.layers) {
1579
+ message.layers.push(livekit_models_1.VideoLayer.fromPartial(e));
1580
+ }
1581
+ }
1582
+ return message;
1583
+ },
1584
+ };
1448
1585
  const baseICEServer = { urls: "", username: "", credential: "" };
1449
1586
  exports.ICEServer = {
1450
1587
  encode(message, writer = minimal_1.default.Writer.create()) {
@@ -1760,6 +1897,144 @@ exports.ConnectionQualityUpdate = {
1760
1897
  return message;
1761
1898
  },
1762
1899
  };
1900
+ const baseStreamStateInfo = {
1901
+ participantSid: "",
1902
+ trackSid: "",
1903
+ state: 0,
1904
+ };
1905
+ exports.StreamStateInfo = {
1906
+ encode(message, writer = minimal_1.default.Writer.create()) {
1907
+ if (message.participantSid !== "") {
1908
+ writer.uint32(10).string(message.participantSid);
1909
+ }
1910
+ if (message.trackSid !== "") {
1911
+ writer.uint32(18).string(message.trackSid);
1912
+ }
1913
+ if (message.state !== 0) {
1914
+ writer.uint32(24).int32(message.state);
1915
+ }
1916
+ return writer;
1917
+ },
1918
+ decode(input, length) {
1919
+ const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
1920
+ let end = length === undefined ? reader.len : reader.pos + length;
1921
+ const message = Object.assign({}, baseStreamStateInfo);
1922
+ while (reader.pos < end) {
1923
+ const tag = reader.uint32();
1924
+ switch (tag >>> 3) {
1925
+ case 1:
1926
+ message.participantSid = reader.string();
1927
+ break;
1928
+ case 2:
1929
+ message.trackSid = reader.string();
1930
+ break;
1931
+ case 3:
1932
+ message.state = reader.int32();
1933
+ break;
1934
+ default:
1935
+ reader.skipType(tag & 7);
1936
+ break;
1937
+ }
1938
+ }
1939
+ return message;
1940
+ },
1941
+ fromJSON(object) {
1942
+ const message = Object.assign({}, baseStreamStateInfo);
1943
+ if (object.participantSid !== undefined && object.participantSid !== null) {
1944
+ message.participantSid = String(object.participantSid);
1945
+ }
1946
+ else {
1947
+ message.participantSid = "";
1948
+ }
1949
+ if (object.trackSid !== undefined && object.trackSid !== null) {
1950
+ message.trackSid = String(object.trackSid);
1951
+ }
1952
+ else {
1953
+ message.trackSid = "";
1954
+ }
1955
+ if (object.state !== undefined && object.state !== null) {
1956
+ message.state = streamStateFromJSON(object.state);
1957
+ }
1958
+ else {
1959
+ message.state = 0;
1960
+ }
1961
+ return message;
1962
+ },
1963
+ toJSON(message) {
1964
+ const obj = {};
1965
+ message.participantSid !== undefined &&
1966
+ (obj.participantSid = message.participantSid);
1967
+ message.trackSid !== undefined && (obj.trackSid = message.trackSid);
1968
+ message.state !== undefined &&
1969
+ (obj.state = streamStateToJSON(message.state));
1970
+ return obj;
1971
+ },
1972
+ fromPartial(object) {
1973
+ var _a, _b, _c;
1974
+ const message = Object.assign({}, baseStreamStateInfo);
1975
+ message.participantSid = (_a = object.participantSid) !== null && _a !== void 0 ? _a : "";
1976
+ message.trackSid = (_b = object.trackSid) !== null && _b !== void 0 ? _b : "";
1977
+ message.state = (_c = object.state) !== null && _c !== void 0 ? _c : 0;
1978
+ return message;
1979
+ },
1980
+ };
1981
+ const baseStreamStateUpdate = {};
1982
+ exports.StreamStateUpdate = {
1983
+ encode(message, writer = minimal_1.default.Writer.create()) {
1984
+ for (const v of message.streamStates) {
1985
+ exports.StreamStateInfo.encode(v, writer.uint32(10).fork()).ldelim();
1986
+ }
1987
+ return writer;
1988
+ },
1989
+ decode(input, length) {
1990
+ const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
1991
+ let end = length === undefined ? reader.len : reader.pos + length;
1992
+ const message = Object.assign({}, baseStreamStateUpdate);
1993
+ message.streamStates = [];
1994
+ while (reader.pos < end) {
1995
+ const tag = reader.uint32();
1996
+ switch (tag >>> 3) {
1997
+ case 1:
1998
+ message.streamStates.push(exports.StreamStateInfo.decode(reader, reader.uint32()));
1999
+ break;
2000
+ default:
2001
+ reader.skipType(tag & 7);
2002
+ break;
2003
+ }
2004
+ }
2005
+ return message;
2006
+ },
2007
+ fromJSON(object) {
2008
+ const message = Object.assign({}, baseStreamStateUpdate);
2009
+ message.streamStates = [];
2010
+ if (object.streamStates !== undefined && object.streamStates !== null) {
2011
+ for (const e of object.streamStates) {
2012
+ message.streamStates.push(exports.StreamStateInfo.fromJSON(e));
2013
+ }
2014
+ }
2015
+ return message;
2016
+ },
2017
+ toJSON(message) {
2018
+ const obj = {};
2019
+ if (message.streamStates) {
2020
+ obj.streamStates = message.streamStates.map((e) => e ? exports.StreamStateInfo.toJSON(e) : undefined);
2021
+ }
2022
+ else {
2023
+ obj.streamStates = [];
2024
+ }
2025
+ return obj;
2026
+ },
2027
+ fromPartial(object) {
2028
+ const message = Object.assign({}, baseStreamStateUpdate);
2029
+ message.streamStates = [];
2030
+ if (object.streamStates !== undefined && object.streamStates !== null) {
2031
+ for (const e of object.streamStates) {
2032
+ message.streamStates.push(exports.StreamStateInfo.fromPartial(e));
2033
+ }
2034
+ }
2035
+ return message;
2036
+ },
2037
+ };
1763
2038
  if (minimal_1.default.util.Long !== long_1.default) {
1764
2039
  minimal_1.default.util.Long = long_1.default;
1765
2040
  minimal_1.default.configure();