livekit-client 0.17.1 → 0.17.4

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 (57) hide show
  1. package/dist/api/SignalClient.d.ts +2 -2
  2. package/dist/api/SignalClient.js +27 -1
  3. package/dist/api/SignalClient.js.map +1 -1
  4. package/dist/proto/google/protobuf/timestamp.d.ts +122 -0
  5. package/dist/proto/google/protobuf/timestamp.js +93 -0
  6. package/dist/proto/google/protobuf/timestamp.js.map +1 -0
  7. package/dist/proto/livekit_models.d.ts +78 -2
  8. package/dist/proto/livekit_models.js +830 -34
  9. package/dist/proto/livekit_models.js.map +1 -1
  10. package/dist/proto/livekit_rtc.d.ts +12 -0
  11. package/dist/proto/livekit_rtc.js +72 -1
  12. package/dist/proto/livekit_rtc.js.map +1 -1
  13. package/dist/room/RTCEngine.d.ts +1 -1
  14. package/dist/room/RTCEngine.js +22 -5
  15. package/dist/room/RTCEngine.js.map +1 -1
  16. package/dist/room/Room.d.ts +2 -1
  17. package/dist/room/Room.js +16 -5
  18. package/dist/room/Room.js.map +1 -1
  19. package/dist/room/events.d.ts +12 -2
  20. package/dist/room/events.js +10 -0
  21. package/dist/room/events.js.map +1 -1
  22. package/dist/room/participant/LocalParticipant.d.ts +4 -1
  23. package/dist/room/participant/LocalParticipant.js +25 -0
  24. package/dist/room/participant/LocalParticipant.js.map +1 -1
  25. package/dist/room/participant/Participant.d.ts +5 -1
  26. package/dist/room/participant/Participant.js +15 -1
  27. package/dist/room/participant/Participant.js.map +1 -1
  28. package/dist/room/track/LocalTrack.js +1 -0
  29. package/dist/room/track/LocalTrack.js.map +1 -1
  30. package/dist/room/track/RemoteTrack.js +1 -0
  31. package/dist/room/track/RemoteTrack.js.map +1 -1
  32. package/dist/room/track/Track.d.ts +1 -0
  33. package/dist/room/track/Track.js +10 -3
  34. package/dist/room/track/Track.js.map +1 -1
  35. package/dist/room/track/create.js +1 -0
  36. package/dist/room/track/create.js.map +1 -1
  37. package/dist/room/utils.d.ts +1 -0
  38. package/dist/room/utils.js +5 -1
  39. package/dist/room/utils.js.map +1 -1
  40. package/dist/version.d.ts +2 -2
  41. package/dist/version.js +2 -2
  42. package/package.json +2 -2
  43. package/src/api/SignalClient.ts +12 -2
  44. package/src/proto/google/protobuf/timestamp.ts +222 -0
  45. package/src/proto/livekit_models.ts +937 -30
  46. package/src/proto/livekit_rtc.ts +107 -0
  47. package/src/room/RTCEngine.ts +23 -7
  48. package/src/room/Room.ts +32 -15
  49. package/src/room/events.ts +12 -0
  50. package/src/room/participant/LocalParticipant.ts +33 -2
  51. package/src/room/participant/Participant.ts +22 -2
  52. package/src/room/track/LocalTrack.ts +1 -0
  53. package/src/room/track/RemoteTrack.ts +1 -0
  54. package/src/room/track/Track.ts +12 -4
  55. package/src/room/track/create.ts +1 -0
  56. package/src/room/utils.ts +4 -0
  57. package/src/version.ts +2 -2
@@ -3,10 +3,11 @@ 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.VideoConfiguration = exports.ClientConfiguration = exports.ClientInfo = exports.ParticipantTracks = exports.UserPacket = exports.SpeakerInfo = exports.ActiveSpeakerUpdate = exports.DataPacket = exports.VideoLayer = exports.TrackInfo = exports.ParticipantInfo = exports.Codec = exports.Room = exports.clientInfo_SDKToJSON = exports.clientInfo_SDKFromJSON = exports.ClientInfo_SDK = exports.dataPacket_KindToJSON = exports.dataPacket_KindFromJSON = exports.DataPacket_Kind = exports.participantInfo_StateToJSON = exports.participantInfo_StateFromJSON = exports.ParticipantInfo_State = exports.clientConfigSettingToJSON = exports.clientConfigSettingFromJSON = exports.ClientConfigSetting = exports.connectionQualityToJSON = exports.connectionQualityFromJSON = exports.ConnectionQuality = exports.videoQualityToJSON = exports.videoQualityFromJSON = exports.VideoQuality = exports.trackSourceToJSON = exports.trackSourceFromJSON = exports.TrackSource = exports.trackTypeToJSON = exports.trackTypeFromJSON = exports.TrackType = exports.protobufPackage = void 0;
6
+ exports.RTPStats_GapHistogramEntry = exports.RTPStats = exports.VideoConfiguration = exports.ClientConfiguration = exports.ClientInfo = exports.ParticipantTracks = exports.UserPacket = exports.SpeakerInfo = exports.ActiveSpeakerUpdate = exports.DataPacket = exports.VideoLayer = exports.TrackInfo = exports.ParticipantInfo = exports.ParticipantPermission = exports.Codec = exports.Room = exports.clientInfo_SDKToJSON = exports.clientInfo_SDKFromJSON = exports.ClientInfo_SDK = exports.dataPacket_KindToJSON = exports.dataPacket_KindFromJSON = exports.DataPacket_Kind = exports.participantInfo_StateToJSON = exports.participantInfo_StateFromJSON = exports.ParticipantInfo_State = exports.clientConfigSettingToJSON = exports.clientConfigSettingFromJSON = exports.ClientConfigSetting = exports.connectionQualityToJSON = exports.connectionQualityFromJSON = exports.ConnectionQuality = exports.videoQualityToJSON = exports.videoQualityFromJSON = exports.VideoQuality = exports.trackSourceToJSON = exports.trackSourceFromJSON = exports.TrackSource = exports.trackTypeToJSON = exports.trackTypeFromJSON = exports.TrackType = 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"));
10
+ const timestamp_1 = require("./google/protobuf/timestamp");
10
11
  exports.protobufPackage = "livekit";
11
12
  var TrackType;
12
13
  (function (TrackType) {
@@ -622,14 +623,123 @@ exports.Codec = {
622
623
  return message;
623
624
  },
624
625
  };
626
+ const baseParticipantPermission = {
627
+ canSubscribe: false,
628
+ canPublish: false,
629
+ canPublishData: false,
630
+ hidden: false,
631
+ recorder: false,
632
+ };
633
+ exports.ParticipantPermission = {
634
+ encode(message, writer = minimal_1.default.Writer.create()) {
635
+ if (message.canSubscribe === true) {
636
+ writer.uint32(8).bool(message.canSubscribe);
637
+ }
638
+ if (message.canPublish === true) {
639
+ writer.uint32(16).bool(message.canPublish);
640
+ }
641
+ if (message.canPublishData === true) {
642
+ writer.uint32(24).bool(message.canPublishData);
643
+ }
644
+ if (message.hidden === true) {
645
+ writer.uint32(56).bool(message.hidden);
646
+ }
647
+ if (message.recorder === true) {
648
+ writer.uint32(64).bool(message.recorder);
649
+ }
650
+ return writer;
651
+ },
652
+ decode(input, length) {
653
+ const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
654
+ let end = length === undefined ? reader.len : reader.pos + length;
655
+ const message = Object.assign({}, baseParticipantPermission);
656
+ while (reader.pos < end) {
657
+ const tag = reader.uint32();
658
+ switch (tag >>> 3) {
659
+ case 1:
660
+ message.canSubscribe = reader.bool();
661
+ break;
662
+ case 2:
663
+ message.canPublish = reader.bool();
664
+ break;
665
+ case 3:
666
+ message.canPublishData = reader.bool();
667
+ break;
668
+ case 7:
669
+ message.hidden = reader.bool();
670
+ break;
671
+ case 8:
672
+ message.recorder = reader.bool();
673
+ break;
674
+ default:
675
+ reader.skipType(tag & 7);
676
+ break;
677
+ }
678
+ }
679
+ return message;
680
+ },
681
+ fromJSON(object) {
682
+ const message = Object.assign({}, baseParticipantPermission);
683
+ if (object.canSubscribe !== undefined && object.canSubscribe !== null) {
684
+ message.canSubscribe = Boolean(object.canSubscribe);
685
+ }
686
+ else {
687
+ message.canSubscribe = false;
688
+ }
689
+ if (object.canPublish !== undefined && object.canPublish !== null) {
690
+ message.canPublish = Boolean(object.canPublish);
691
+ }
692
+ else {
693
+ message.canPublish = false;
694
+ }
695
+ if (object.canPublishData !== undefined && object.canPublishData !== null) {
696
+ message.canPublishData = Boolean(object.canPublishData);
697
+ }
698
+ else {
699
+ message.canPublishData = false;
700
+ }
701
+ if (object.hidden !== undefined && object.hidden !== null) {
702
+ message.hidden = Boolean(object.hidden);
703
+ }
704
+ else {
705
+ message.hidden = false;
706
+ }
707
+ if (object.recorder !== undefined && object.recorder !== null) {
708
+ message.recorder = Boolean(object.recorder);
709
+ }
710
+ else {
711
+ message.recorder = false;
712
+ }
713
+ return message;
714
+ },
715
+ toJSON(message) {
716
+ const obj = {};
717
+ message.canSubscribe !== undefined &&
718
+ (obj.canSubscribe = message.canSubscribe);
719
+ message.canPublish !== undefined && (obj.canPublish = message.canPublish);
720
+ message.canPublishData !== undefined &&
721
+ (obj.canPublishData = message.canPublishData);
722
+ message.hidden !== undefined && (obj.hidden = message.hidden);
723
+ message.recorder !== undefined && (obj.recorder = message.recorder);
724
+ return obj;
725
+ },
726
+ fromPartial(object) {
727
+ var _a, _b, _c, _d, _e;
728
+ const message = Object.assign({}, baseParticipantPermission);
729
+ message.canSubscribe = (_a = object.canSubscribe) !== null && _a !== void 0 ? _a : false;
730
+ message.canPublish = (_b = object.canPublish) !== null && _b !== void 0 ? _b : false;
731
+ message.canPublishData = (_c = object.canPublishData) !== null && _c !== void 0 ? _c : false;
732
+ message.hidden = (_d = object.hidden) !== null && _d !== void 0 ? _d : false;
733
+ message.recorder = (_e = object.recorder) !== null && _e !== void 0 ? _e : false;
734
+ return message;
735
+ },
736
+ };
625
737
  const baseParticipantInfo = {
626
738
  sid: "",
627
739
  identity: "",
628
740
  state: 0,
629
741
  metadata: "",
630
742
  joinedAt: 0,
631
- hidden: false,
632
- recorder: false,
633
743
  name: "",
634
744
  version: 0,
635
745
  };
@@ -653,18 +763,15 @@ exports.ParticipantInfo = {
653
763
  if (message.joinedAt !== 0) {
654
764
  writer.uint32(48).int64(message.joinedAt);
655
765
  }
656
- if (message.hidden === true) {
657
- writer.uint32(56).bool(message.hidden);
658
- }
659
- if (message.recorder === true) {
660
- writer.uint32(64).bool(message.recorder);
661
- }
662
766
  if (message.name !== "") {
663
767
  writer.uint32(74).string(message.name);
664
768
  }
665
769
  if (message.version !== 0) {
666
770
  writer.uint32(80).uint32(message.version);
667
771
  }
772
+ if (message.permission !== undefined) {
773
+ exports.ParticipantPermission.encode(message.permission, writer.uint32(90).fork()).ldelim();
774
+ }
668
775
  return writer;
669
776
  },
670
777
  decode(input, length) {
@@ -693,18 +800,15 @@ exports.ParticipantInfo = {
693
800
  case 6:
694
801
  message.joinedAt = longToNumber(reader.int64());
695
802
  break;
696
- case 7:
697
- message.hidden = reader.bool();
698
- break;
699
- case 8:
700
- message.recorder = reader.bool();
701
- break;
702
803
  case 9:
703
804
  message.name = reader.string();
704
805
  break;
705
806
  case 10:
706
807
  message.version = reader.uint32();
707
808
  break;
809
+ case 11:
810
+ message.permission = exports.ParticipantPermission.decode(reader, reader.uint32());
811
+ break;
708
812
  default:
709
813
  reader.skipType(tag & 7);
710
814
  break;
@@ -750,18 +854,6 @@ exports.ParticipantInfo = {
750
854
  else {
751
855
  message.joinedAt = 0;
752
856
  }
753
- if (object.hidden !== undefined && object.hidden !== null) {
754
- message.hidden = Boolean(object.hidden);
755
- }
756
- else {
757
- message.hidden = false;
758
- }
759
- if (object.recorder !== undefined && object.recorder !== null) {
760
- message.recorder = Boolean(object.recorder);
761
- }
762
- else {
763
- message.recorder = false;
764
- }
765
857
  if (object.name !== undefined && object.name !== null) {
766
858
  message.name = String(object.name);
767
859
  }
@@ -774,6 +866,12 @@ exports.ParticipantInfo = {
774
866
  else {
775
867
  message.version = 0;
776
868
  }
869
+ if (object.permission !== undefined && object.permission !== null) {
870
+ message.permission = exports.ParticipantPermission.fromJSON(object.permission);
871
+ }
872
+ else {
873
+ message.permission = undefined;
874
+ }
777
875
  return message;
778
876
  },
779
877
  toJSON(message) {
@@ -790,14 +888,16 @@ exports.ParticipantInfo = {
790
888
  }
791
889
  message.metadata !== undefined && (obj.metadata = message.metadata);
792
890
  message.joinedAt !== undefined && (obj.joinedAt = message.joinedAt);
793
- message.hidden !== undefined && (obj.hidden = message.hidden);
794
- message.recorder !== undefined && (obj.recorder = message.recorder);
795
891
  message.name !== undefined && (obj.name = message.name);
796
892
  message.version !== undefined && (obj.version = message.version);
893
+ message.permission !== undefined &&
894
+ (obj.permission = message.permission
895
+ ? exports.ParticipantPermission.toJSON(message.permission)
896
+ : undefined);
797
897
  return obj;
798
898
  },
799
899
  fromPartial(object) {
800
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
900
+ var _a, _b, _c, _d, _e, _f, _g;
801
901
  const message = Object.assign({}, baseParticipantInfo);
802
902
  message.sid = (_a = object.sid) !== null && _a !== void 0 ? _a : "";
803
903
  message.identity = (_b = object.identity) !== null && _b !== void 0 ? _b : "";
@@ -810,10 +910,14 @@ exports.ParticipantInfo = {
810
910
  }
811
911
  message.metadata = (_d = object.metadata) !== null && _d !== void 0 ? _d : "";
812
912
  message.joinedAt = (_e = object.joinedAt) !== null && _e !== void 0 ? _e : 0;
813
- message.hidden = (_f = object.hidden) !== null && _f !== void 0 ? _f : false;
814
- message.recorder = (_g = object.recorder) !== null && _g !== void 0 ? _g : false;
815
- message.name = (_h = object.name) !== null && _h !== void 0 ? _h : "";
816
- message.version = (_j = object.version) !== null && _j !== void 0 ? _j : 0;
913
+ message.name = (_f = object.name) !== null && _f !== void 0 ? _f : "";
914
+ message.version = (_g = object.version) !== null && _g !== void 0 ? _g : 0;
915
+ if (object.permission !== undefined && object.permission !== null) {
916
+ message.permission = exports.ParticipantPermission.fromPartial(object.permission);
917
+ }
918
+ else {
919
+ message.permission = undefined;
920
+ }
817
921
  return message;
818
922
  },
819
923
  };
@@ -1849,6 +1953,677 @@ exports.VideoConfiguration = {
1849
1953
  return message;
1850
1954
  },
1851
1955
  };
1956
+ const baseRTPStats = {
1957
+ duration: 0,
1958
+ packets: 0,
1959
+ packetRate: 0,
1960
+ bytes: 0,
1961
+ bitrate: 0,
1962
+ packetsLost: 0,
1963
+ packetLossRate: 0,
1964
+ packetLossPercentage: 0,
1965
+ packetsDuplicate: 0,
1966
+ packetDuplicateRate: 0,
1967
+ bytesDuplicate: 0,
1968
+ bitrateDuplicate: 0,
1969
+ packetsPadding: 0,
1970
+ packetPaddingRate: 0,
1971
+ bytesPadding: 0,
1972
+ bitratePadding: 0,
1973
+ packetsOutOfOrder: 0,
1974
+ frames: 0,
1975
+ frameRate: 0,
1976
+ jitterCurrent: 0,
1977
+ jitterMax: 0,
1978
+ nacks: 0,
1979
+ nackMisses: 0,
1980
+ plis: 0,
1981
+ firs: 0,
1982
+ rttCurrent: 0,
1983
+ rttMax: 0,
1984
+ keyFrames: 0,
1985
+ layerLockPlis: 0,
1986
+ };
1987
+ exports.RTPStats = {
1988
+ encode(message, writer = minimal_1.default.Writer.create()) {
1989
+ if (message.startTime !== undefined) {
1990
+ timestamp_1.Timestamp.encode(toTimestamp(message.startTime), writer.uint32(10).fork()).ldelim();
1991
+ }
1992
+ if (message.endTime !== undefined) {
1993
+ timestamp_1.Timestamp.encode(toTimestamp(message.endTime), writer.uint32(18).fork()).ldelim();
1994
+ }
1995
+ if (message.duration !== 0) {
1996
+ writer.uint32(25).double(message.duration);
1997
+ }
1998
+ if (message.packets !== 0) {
1999
+ writer.uint32(32).uint32(message.packets);
2000
+ }
2001
+ if (message.packetRate !== 0) {
2002
+ writer.uint32(41).double(message.packetRate);
2003
+ }
2004
+ if (message.bytes !== 0) {
2005
+ writer.uint32(48).uint64(message.bytes);
2006
+ }
2007
+ if (message.bitrate !== 0) {
2008
+ writer.uint32(57).double(message.bitrate);
2009
+ }
2010
+ if (message.packetsLost !== 0) {
2011
+ writer.uint32(64).uint32(message.packetsLost);
2012
+ }
2013
+ if (message.packetLossRate !== 0) {
2014
+ writer.uint32(73).double(message.packetLossRate);
2015
+ }
2016
+ if (message.packetLossPercentage !== 0) {
2017
+ writer.uint32(85).float(message.packetLossPercentage);
2018
+ }
2019
+ if (message.packetsDuplicate !== 0) {
2020
+ writer.uint32(88).uint32(message.packetsDuplicate);
2021
+ }
2022
+ if (message.packetDuplicateRate !== 0) {
2023
+ writer.uint32(97).double(message.packetDuplicateRate);
2024
+ }
2025
+ if (message.bytesDuplicate !== 0) {
2026
+ writer.uint32(104).uint64(message.bytesDuplicate);
2027
+ }
2028
+ if (message.bitrateDuplicate !== 0) {
2029
+ writer.uint32(113).double(message.bitrateDuplicate);
2030
+ }
2031
+ if (message.packetsPadding !== 0) {
2032
+ writer.uint32(120).uint32(message.packetsPadding);
2033
+ }
2034
+ if (message.packetPaddingRate !== 0) {
2035
+ writer.uint32(129).double(message.packetPaddingRate);
2036
+ }
2037
+ if (message.bytesPadding !== 0) {
2038
+ writer.uint32(136).uint64(message.bytesPadding);
2039
+ }
2040
+ if (message.bitratePadding !== 0) {
2041
+ writer.uint32(145).double(message.bitratePadding);
2042
+ }
2043
+ if (message.packetsOutOfOrder !== 0) {
2044
+ writer.uint32(152).uint32(message.packetsOutOfOrder);
2045
+ }
2046
+ if (message.frames !== 0) {
2047
+ writer.uint32(160).uint32(message.frames);
2048
+ }
2049
+ if (message.frameRate !== 0) {
2050
+ writer.uint32(169).double(message.frameRate);
2051
+ }
2052
+ if (message.jitterCurrent !== 0) {
2053
+ writer.uint32(177).double(message.jitterCurrent);
2054
+ }
2055
+ if (message.jitterMax !== 0) {
2056
+ writer.uint32(185).double(message.jitterMax);
2057
+ }
2058
+ Object.entries(message.gapHistogram).forEach(([key, value]) => {
2059
+ exports.RTPStats_GapHistogramEntry.encode({ key: key, value }, writer.uint32(194).fork()).ldelim();
2060
+ });
2061
+ if (message.nacks !== 0) {
2062
+ writer.uint32(200).uint32(message.nacks);
2063
+ }
2064
+ if (message.nackMisses !== 0) {
2065
+ writer.uint32(208).uint32(message.nackMisses);
2066
+ }
2067
+ if (message.plis !== 0) {
2068
+ writer.uint32(216).uint32(message.plis);
2069
+ }
2070
+ if (message.lastPli !== undefined) {
2071
+ timestamp_1.Timestamp.encode(toTimestamp(message.lastPli), writer.uint32(226).fork()).ldelim();
2072
+ }
2073
+ if (message.firs !== 0) {
2074
+ writer.uint32(232).uint32(message.firs);
2075
+ }
2076
+ if (message.lastFir !== undefined) {
2077
+ timestamp_1.Timestamp.encode(toTimestamp(message.lastFir), writer.uint32(242).fork()).ldelim();
2078
+ }
2079
+ if (message.rttCurrent !== 0) {
2080
+ writer.uint32(248).uint32(message.rttCurrent);
2081
+ }
2082
+ if (message.rttMax !== 0) {
2083
+ writer.uint32(256).uint32(message.rttMax);
2084
+ }
2085
+ if (message.keyFrames !== 0) {
2086
+ writer.uint32(264).uint32(message.keyFrames);
2087
+ }
2088
+ if (message.lastKeyFrame !== undefined) {
2089
+ timestamp_1.Timestamp.encode(toTimestamp(message.lastKeyFrame), writer.uint32(274).fork()).ldelim();
2090
+ }
2091
+ if (message.layerLockPlis !== 0) {
2092
+ writer.uint32(280).uint32(message.layerLockPlis);
2093
+ }
2094
+ if (message.lastLayerLockPli !== undefined) {
2095
+ timestamp_1.Timestamp.encode(toTimestamp(message.lastLayerLockPli), writer.uint32(290).fork()).ldelim();
2096
+ }
2097
+ return writer;
2098
+ },
2099
+ decode(input, length) {
2100
+ const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
2101
+ let end = length === undefined ? reader.len : reader.pos + length;
2102
+ const message = Object.assign({}, baseRTPStats);
2103
+ message.gapHistogram = {};
2104
+ while (reader.pos < end) {
2105
+ const tag = reader.uint32();
2106
+ switch (tag >>> 3) {
2107
+ case 1:
2108
+ message.startTime = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
2109
+ break;
2110
+ case 2:
2111
+ message.endTime = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
2112
+ break;
2113
+ case 3:
2114
+ message.duration = reader.double();
2115
+ break;
2116
+ case 4:
2117
+ message.packets = reader.uint32();
2118
+ break;
2119
+ case 5:
2120
+ message.packetRate = reader.double();
2121
+ break;
2122
+ case 6:
2123
+ message.bytes = longToNumber(reader.uint64());
2124
+ break;
2125
+ case 7:
2126
+ message.bitrate = reader.double();
2127
+ break;
2128
+ case 8:
2129
+ message.packetsLost = reader.uint32();
2130
+ break;
2131
+ case 9:
2132
+ message.packetLossRate = reader.double();
2133
+ break;
2134
+ case 10:
2135
+ message.packetLossPercentage = reader.float();
2136
+ break;
2137
+ case 11:
2138
+ message.packetsDuplicate = reader.uint32();
2139
+ break;
2140
+ case 12:
2141
+ message.packetDuplicateRate = reader.double();
2142
+ break;
2143
+ case 13:
2144
+ message.bytesDuplicate = longToNumber(reader.uint64());
2145
+ break;
2146
+ case 14:
2147
+ message.bitrateDuplicate = reader.double();
2148
+ break;
2149
+ case 15:
2150
+ message.packetsPadding = reader.uint32();
2151
+ break;
2152
+ case 16:
2153
+ message.packetPaddingRate = reader.double();
2154
+ break;
2155
+ case 17:
2156
+ message.bytesPadding = longToNumber(reader.uint64());
2157
+ break;
2158
+ case 18:
2159
+ message.bitratePadding = reader.double();
2160
+ break;
2161
+ case 19:
2162
+ message.packetsOutOfOrder = reader.uint32();
2163
+ break;
2164
+ case 20:
2165
+ message.frames = reader.uint32();
2166
+ break;
2167
+ case 21:
2168
+ message.frameRate = reader.double();
2169
+ break;
2170
+ case 22:
2171
+ message.jitterCurrent = reader.double();
2172
+ break;
2173
+ case 23:
2174
+ message.jitterMax = reader.double();
2175
+ break;
2176
+ case 24:
2177
+ const entry24 = exports.RTPStats_GapHistogramEntry.decode(reader, reader.uint32());
2178
+ if (entry24.value !== undefined) {
2179
+ message.gapHistogram[entry24.key] = entry24.value;
2180
+ }
2181
+ break;
2182
+ case 25:
2183
+ message.nacks = reader.uint32();
2184
+ break;
2185
+ case 26:
2186
+ message.nackMisses = reader.uint32();
2187
+ break;
2188
+ case 27:
2189
+ message.plis = reader.uint32();
2190
+ break;
2191
+ case 28:
2192
+ message.lastPli = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
2193
+ break;
2194
+ case 29:
2195
+ message.firs = reader.uint32();
2196
+ break;
2197
+ case 30:
2198
+ message.lastFir = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
2199
+ break;
2200
+ case 31:
2201
+ message.rttCurrent = reader.uint32();
2202
+ break;
2203
+ case 32:
2204
+ message.rttMax = reader.uint32();
2205
+ break;
2206
+ case 33:
2207
+ message.keyFrames = reader.uint32();
2208
+ break;
2209
+ case 34:
2210
+ message.lastKeyFrame = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
2211
+ break;
2212
+ case 35:
2213
+ message.layerLockPlis = reader.uint32();
2214
+ break;
2215
+ case 36:
2216
+ message.lastLayerLockPli = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
2217
+ break;
2218
+ default:
2219
+ reader.skipType(tag & 7);
2220
+ break;
2221
+ }
2222
+ }
2223
+ return message;
2224
+ },
2225
+ fromJSON(object) {
2226
+ const message = Object.assign({}, baseRTPStats);
2227
+ message.gapHistogram = {};
2228
+ if (object.startTime !== undefined && object.startTime !== null) {
2229
+ message.startTime = fromJsonTimestamp(object.startTime);
2230
+ }
2231
+ else {
2232
+ message.startTime = undefined;
2233
+ }
2234
+ if (object.endTime !== undefined && object.endTime !== null) {
2235
+ message.endTime = fromJsonTimestamp(object.endTime);
2236
+ }
2237
+ else {
2238
+ message.endTime = undefined;
2239
+ }
2240
+ if (object.duration !== undefined && object.duration !== null) {
2241
+ message.duration = Number(object.duration);
2242
+ }
2243
+ else {
2244
+ message.duration = 0;
2245
+ }
2246
+ if (object.packets !== undefined && object.packets !== null) {
2247
+ message.packets = Number(object.packets);
2248
+ }
2249
+ else {
2250
+ message.packets = 0;
2251
+ }
2252
+ if (object.packetRate !== undefined && object.packetRate !== null) {
2253
+ message.packetRate = Number(object.packetRate);
2254
+ }
2255
+ else {
2256
+ message.packetRate = 0;
2257
+ }
2258
+ if (object.bytes !== undefined && object.bytes !== null) {
2259
+ message.bytes = Number(object.bytes);
2260
+ }
2261
+ else {
2262
+ message.bytes = 0;
2263
+ }
2264
+ if (object.bitrate !== undefined && object.bitrate !== null) {
2265
+ message.bitrate = Number(object.bitrate);
2266
+ }
2267
+ else {
2268
+ message.bitrate = 0;
2269
+ }
2270
+ if (object.packetsLost !== undefined && object.packetsLost !== null) {
2271
+ message.packetsLost = Number(object.packetsLost);
2272
+ }
2273
+ else {
2274
+ message.packetsLost = 0;
2275
+ }
2276
+ if (object.packetLossRate !== undefined && object.packetLossRate !== null) {
2277
+ message.packetLossRate = Number(object.packetLossRate);
2278
+ }
2279
+ else {
2280
+ message.packetLossRate = 0;
2281
+ }
2282
+ if (object.packetLossPercentage !== undefined &&
2283
+ object.packetLossPercentage !== null) {
2284
+ message.packetLossPercentage = Number(object.packetLossPercentage);
2285
+ }
2286
+ else {
2287
+ message.packetLossPercentage = 0;
2288
+ }
2289
+ if (object.packetsDuplicate !== undefined &&
2290
+ object.packetsDuplicate !== null) {
2291
+ message.packetsDuplicate = Number(object.packetsDuplicate);
2292
+ }
2293
+ else {
2294
+ message.packetsDuplicate = 0;
2295
+ }
2296
+ if (object.packetDuplicateRate !== undefined &&
2297
+ object.packetDuplicateRate !== null) {
2298
+ message.packetDuplicateRate = Number(object.packetDuplicateRate);
2299
+ }
2300
+ else {
2301
+ message.packetDuplicateRate = 0;
2302
+ }
2303
+ if (object.bytesDuplicate !== undefined && object.bytesDuplicate !== null) {
2304
+ message.bytesDuplicate = Number(object.bytesDuplicate);
2305
+ }
2306
+ else {
2307
+ message.bytesDuplicate = 0;
2308
+ }
2309
+ if (object.bitrateDuplicate !== undefined &&
2310
+ object.bitrateDuplicate !== null) {
2311
+ message.bitrateDuplicate = Number(object.bitrateDuplicate);
2312
+ }
2313
+ else {
2314
+ message.bitrateDuplicate = 0;
2315
+ }
2316
+ if (object.packetsPadding !== undefined && object.packetsPadding !== null) {
2317
+ message.packetsPadding = Number(object.packetsPadding);
2318
+ }
2319
+ else {
2320
+ message.packetsPadding = 0;
2321
+ }
2322
+ if (object.packetPaddingRate !== undefined &&
2323
+ object.packetPaddingRate !== null) {
2324
+ message.packetPaddingRate = Number(object.packetPaddingRate);
2325
+ }
2326
+ else {
2327
+ message.packetPaddingRate = 0;
2328
+ }
2329
+ if (object.bytesPadding !== undefined && object.bytesPadding !== null) {
2330
+ message.bytesPadding = Number(object.bytesPadding);
2331
+ }
2332
+ else {
2333
+ message.bytesPadding = 0;
2334
+ }
2335
+ if (object.bitratePadding !== undefined && object.bitratePadding !== null) {
2336
+ message.bitratePadding = Number(object.bitratePadding);
2337
+ }
2338
+ else {
2339
+ message.bitratePadding = 0;
2340
+ }
2341
+ if (object.packetsOutOfOrder !== undefined &&
2342
+ object.packetsOutOfOrder !== null) {
2343
+ message.packetsOutOfOrder = Number(object.packetsOutOfOrder);
2344
+ }
2345
+ else {
2346
+ message.packetsOutOfOrder = 0;
2347
+ }
2348
+ if (object.frames !== undefined && object.frames !== null) {
2349
+ message.frames = Number(object.frames);
2350
+ }
2351
+ else {
2352
+ message.frames = 0;
2353
+ }
2354
+ if (object.frameRate !== undefined && object.frameRate !== null) {
2355
+ message.frameRate = Number(object.frameRate);
2356
+ }
2357
+ else {
2358
+ message.frameRate = 0;
2359
+ }
2360
+ if (object.jitterCurrent !== undefined && object.jitterCurrent !== null) {
2361
+ message.jitterCurrent = Number(object.jitterCurrent);
2362
+ }
2363
+ else {
2364
+ message.jitterCurrent = 0;
2365
+ }
2366
+ if (object.jitterMax !== undefined && object.jitterMax !== null) {
2367
+ message.jitterMax = Number(object.jitterMax);
2368
+ }
2369
+ else {
2370
+ message.jitterMax = 0;
2371
+ }
2372
+ if (object.gapHistogram !== undefined && object.gapHistogram !== null) {
2373
+ Object.entries(object.gapHistogram).forEach(([key, value]) => {
2374
+ message.gapHistogram[Number(key)] = Number(value);
2375
+ });
2376
+ }
2377
+ if (object.nacks !== undefined && object.nacks !== null) {
2378
+ message.nacks = Number(object.nacks);
2379
+ }
2380
+ else {
2381
+ message.nacks = 0;
2382
+ }
2383
+ if (object.nackMisses !== undefined && object.nackMisses !== null) {
2384
+ message.nackMisses = Number(object.nackMisses);
2385
+ }
2386
+ else {
2387
+ message.nackMisses = 0;
2388
+ }
2389
+ if (object.plis !== undefined && object.plis !== null) {
2390
+ message.plis = Number(object.plis);
2391
+ }
2392
+ else {
2393
+ message.plis = 0;
2394
+ }
2395
+ if (object.lastPli !== undefined && object.lastPli !== null) {
2396
+ message.lastPli = fromJsonTimestamp(object.lastPli);
2397
+ }
2398
+ else {
2399
+ message.lastPli = undefined;
2400
+ }
2401
+ if (object.firs !== undefined && object.firs !== null) {
2402
+ message.firs = Number(object.firs);
2403
+ }
2404
+ else {
2405
+ message.firs = 0;
2406
+ }
2407
+ if (object.lastFir !== undefined && object.lastFir !== null) {
2408
+ message.lastFir = fromJsonTimestamp(object.lastFir);
2409
+ }
2410
+ else {
2411
+ message.lastFir = undefined;
2412
+ }
2413
+ if (object.rttCurrent !== undefined && object.rttCurrent !== null) {
2414
+ message.rttCurrent = Number(object.rttCurrent);
2415
+ }
2416
+ else {
2417
+ message.rttCurrent = 0;
2418
+ }
2419
+ if (object.rttMax !== undefined && object.rttMax !== null) {
2420
+ message.rttMax = Number(object.rttMax);
2421
+ }
2422
+ else {
2423
+ message.rttMax = 0;
2424
+ }
2425
+ if (object.keyFrames !== undefined && object.keyFrames !== null) {
2426
+ message.keyFrames = Number(object.keyFrames);
2427
+ }
2428
+ else {
2429
+ message.keyFrames = 0;
2430
+ }
2431
+ if (object.lastKeyFrame !== undefined && object.lastKeyFrame !== null) {
2432
+ message.lastKeyFrame = fromJsonTimestamp(object.lastKeyFrame);
2433
+ }
2434
+ else {
2435
+ message.lastKeyFrame = undefined;
2436
+ }
2437
+ if (object.layerLockPlis !== undefined && object.layerLockPlis !== null) {
2438
+ message.layerLockPlis = Number(object.layerLockPlis);
2439
+ }
2440
+ else {
2441
+ message.layerLockPlis = 0;
2442
+ }
2443
+ if (object.lastLayerLockPli !== undefined &&
2444
+ object.lastLayerLockPli !== null) {
2445
+ message.lastLayerLockPli = fromJsonTimestamp(object.lastLayerLockPli);
2446
+ }
2447
+ else {
2448
+ message.lastLayerLockPli = undefined;
2449
+ }
2450
+ return message;
2451
+ },
2452
+ toJSON(message) {
2453
+ const obj = {};
2454
+ message.startTime !== undefined &&
2455
+ (obj.startTime = message.startTime.toISOString());
2456
+ message.endTime !== undefined &&
2457
+ (obj.endTime = message.endTime.toISOString());
2458
+ message.duration !== undefined && (obj.duration = message.duration);
2459
+ message.packets !== undefined && (obj.packets = message.packets);
2460
+ message.packetRate !== undefined && (obj.packetRate = message.packetRate);
2461
+ message.bytes !== undefined && (obj.bytes = message.bytes);
2462
+ message.bitrate !== undefined && (obj.bitrate = message.bitrate);
2463
+ message.packetsLost !== undefined &&
2464
+ (obj.packetsLost = message.packetsLost);
2465
+ message.packetLossRate !== undefined &&
2466
+ (obj.packetLossRate = message.packetLossRate);
2467
+ message.packetLossPercentage !== undefined &&
2468
+ (obj.packetLossPercentage = message.packetLossPercentage);
2469
+ message.packetsDuplicate !== undefined &&
2470
+ (obj.packetsDuplicate = message.packetsDuplicate);
2471
+ message.packetDuplicateRate !== undefined &&
2472
+ (obj.packetDuplicateRate = message.packetDuplicateRate);
2473
+ message.bytesDuplicate !== undefined &&
2474
+ (obj.bytesDuplicate = message.bytesDuplicate);
2475
+ message.bitrateDuplicate !== undefined &&
2476
+ (obj.bitrateDuplicate = message.bitrateDuplicate);
2477
+ message.packetsPadding !== undefined &&
2478
+ (obj.packetsPadding = message.packetsPadding);
2479
+ message.packetPaddingRate !== undefined &&
2480
+ (obj.packetPaddingRate = message.packetPaddingRate);
2481
+ message.bytesPadding !== undefined &&
2482
+ (obj.bytesPadding = message.bytesPadding);
2483
+ message.bitratePadding !== undefined &&
2484
+ (obj.bitratePadding = message.bitratePadding);
2485
+ message.packetsOutOfOrder !== undefined &&
2486
+ (obj.packetsOutOfOrder = message.packetsOutOfOrder);
2487
+ message.frames !== undefined && (obj.frames = message.frames);
2488
+ message.frameRate !== undefined && (obj.frameRate = message.frameRate);
2489
+ message.jitterCurrent !== undefined &&
2490
+ (obj.jitterCurrent = message.jitterCurrent);
2491
+ message.jitterMax !== undefined && (obj.jitterMax = message.jitterMax);
2492
+ obj.gapHistogram = {};
2493
+ if (message.gapHistogram) {
2494
+ Object.entries(message.gapHistogram).forEach(([k, v]) => {
2495
+ obj.gapHistogram[k] = v;
2496
+ });
2497
+ }
2498
+ message.nacks !== undefined && (obj.nacks = message.nacks);
2499
+ message.nackMisses !== undefined && (obj.nackMisses = message.nackMisses);
2500
+ message.plis !== undefined && (obj.plis = message.plis);
2501
+ message.lastPli !== undefined &&
2502
+ (obj.lastPli = message.lastPli.toISOString());
2503
+ message.firs !== undefined && (obj.firs = message.firs);
2504
+ message.lastFir !== undefined &&
2505
+ (obj.lastFir = message.lastFir.toISOString());
2506
+ message.rttCurrent !== undefined && (obj.rttCurrent = message.rttCurrent);
2507
+ message.rttMax !== undefined && (obj.rttMax = message.rttMax);
2508
+ message.keyFrames !== undefined && (obj.keyFrames = message.keyFrames);
2509
+ message.lastKeyFrame !== undefined &&
2510
+ (obj.lastKeyFrame = message.lastKeyFrame.toISOString());
2511
+ message.layerLockPlis !== undefined &&
2512
+ (obj.layerLockPlis = message.layerLockPlis);
2513
+ message.lastLayerLockPli !== undefined &&
2514
+ (obj.lastLayerLockPli = message.lastLayerLockPli.toISOString());
2515
+ return obj;
2516
+ },
2517
+ fromPartial(object) {
2518
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10;
2519
+ const message = Object.assign({}, baseRTPStats);
2520
+ message.startTime = (_a = object.startTime) !== null && _a !== void 0 ? _a : undefined;
2521
+ message.endTime = (_b = object.endTime) !== null && _b !== void 0 ? _b : undefined;
2522
+ message.duration = (_c = object.duration) !== null && _c !== void 0 ? _c : 0;
2523
+ message.packets = (_d = object.packets) !== null && _d !== void 0 ? _d : 0;
2524
+ message.packetRate = (_e = object.packetRate) !== null && _e !== void 0 ? _e : 0;
2525
+ message.bytes = (_f = object.bytes) !== null && _f !== void 0 ? _f : 0;
2526
+ message.bitrate = (_g = object.bitrate) !== null && _g !== void 0 ? _g : 0;
2527
+ message.packetsLost = (_h = object.packetsLost) !== null && _h !== void 0 ? _h : 0;
2528
+ message.packetLossRate = (_j = object.packetLossRate) !== null && _j !== void 0 ? _j : 0;
2529
+ message.packetLossPercentage = (_k = object.packetLossPercentage) !== null && _k !== void 0 ? _k : 0;
2530
+ message.packetsDuplicate = (_l = object.packetsDuplicate) !== null && _l !== void 0 ? _l : 0;
2531
+ message.packetDuplicateRate = (_m = object.packetDuplicateRate) !== null && _m !== void 0 ? _m : 0;
2532
+ message.bytesDuplicate = (_o = object.bytesDuplicate) !== null && _o !== void 0 ? _o : 0;
2533
+ message.bitrateDuplicate = (_p = object.bitrateDuplicate) !== null && _p !== void 0 ? _p : 0;
2534
+ message.packetsPadding = (_q = object.packetsPadding) !== null && _q !== void 0 ? _q : 0;
2535
+ message.packetPaddingRate = (_r = object.packetPaddingRate) !== null && _r !== void 0 ? _r : 0;
2536
+ message.bytesPadding = (_s = object.bytesPadding) !== null && _s !== void 0 ? _s : 0;
2537
+ message.bitratePadding = (_t = object.bitratePadding) !== null && _t !== void 0 ? _t : 0;
2538
+ message.packetsOutOfOrder = (_u = object.packetsOutOfOrder) !== null && _u !== void 0 ? _u : 0;
2539
+ message.frames = (_v = object.frames) !== null && _v !== void 0 ? _v : 0;
2540
+ message.frameRate = (_w = object.frameRate) !== null && _w !== void 0 ? _w : 0;
2541
+ message.jitterCurrent = (_x = object.jitterCurrent) !== null && _x !== void 0 ? _x : 0;
2542
+ message.jitterMax = (_y = object.jitterMax) !== null && _y !== void 0 ? _y : 0;
2543
+ message.gapHistogram = {};
2544
+ if (object.gapHistogram !== undefined && object.gapHistogram !== null) {
2545
+ Object.entries(object.gapHistogram).forEach(([key, value]) => {
2546
+ if (value !== undefined) {
2547
+ message.gapHistogram[Number(key)] = Number(value);
2548
+ }
2549
+ });
2550
+ }
2551
+ message.nacks = (_z = object.nacks) !== null && _z !== void 0 ? _z : 0;
2552
+ message.nackMisses = (_0 = object.nackMisses) !== null && _0 !== void 0 ? _0 : 0;
2553
+ message.plis = (_1 = object.plis) !== null && _1 !== void 0 ? _1 : 0;
2554
+ message.lastPli = (_2 = object.lastPli) !== null && _2 !== void 0 ? _2 : undefined;
2555
+ message.firs = (_3 = object.firs) !== null && _3 !== void 0 ? _3 : 0;
2556
+ message.lastFir = (_4 = object.lastFir) !== null && _4 !== void 0 ? _4 : undefined;
2557
+ message.rttCurrent = (_5 = object.rttCurrent) !== null && _5 !== void 0 ? _5 : 0;
2558
+ message.rttMax = (_6 = object.rttMax) !== null && _6 !== void 0 ? _6 : 0;
2559
+ message.keyFrames = (_7 = object.keyFrames) !== null && _7 !== void 0 ? _7 : 0;
2560
+ message.lastKeyFrame = (_8 = object.lastKeyFrame) !== null && _8 !== void 0 ? _8 : undefined;
2561
+ message.layerLockPlis = (_9 = object.layerLockPlis) !== null && _9 !== void 0 ? _9 : 0;
2562
+ message.lastLayerLockPli = (_10 = object.lastLayerLockPli) !== null && _10 !== void 0 ? _10 : undefined;
2563
+ return message;
2564
+ },
2565
+ };
2566
+ const baseRTPStats_GapHistogramEntry = { key: 0, value: 0 };
2567
+ exports.RTPStats_GapHistogramEntry = {
2568
+ encode(message, writer = minimal_1.default.Writer.create()) {
2569
+ if (message.key !== 0) {
2570
+ writer.uint32(8).int32(message.key);
2571
+ }
2572
+ if (message.value !== 0) {
2573
+ writer.uint32(16).uint32(message.value);
2574
+ }
2575
+ return writer;
2576
+ },
2577
+ decode(input, length) {
2578
+ const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
2579
+ let end = length === undefined ? reader.len : reader.pos + length;
2580
+ const message = Object.assign({}, baseRTPStats_GapHistogramEntry);
2581
+ while (reader.pos < end) {
2582
+ const tag = reader.uint32();
2583
+ switch (tag >>> 3) {
2584
+ case 1:
2585
+ message.key = reader.int32();
2586
+ break;
2587
+ case 2:
2588
+ message.value = reader.uint32();
2589
+ break;
2590
+ default:
2591
+ reader.skipType(tag & 7);
2592
+ break;
2593
+ }
2594
+ }
2595
+ return message;
2596
+ },
2597
+ fromJSON(object) {
2598
+ const message = Object.assign({}, baseRTPStats_GapHistogramEntry);
2599
+ if (object.key !== undefined && object.key !== null) {
2600
+ message.key = Number(object.key);
2601
+ }
2602
+ else {
2603
+ message.key = 0;
2604
+ }
2605
+ if (object.value !== undefined && object.value !== null) {
2606
+ message.value = Number(object.value);
2607
+ }
2608
+ else {
2609
+ message.value = 0;
2610
+ }
2611
+ return message;
2612
+ },
2613
+ toJSON(message) {
2614
+ const obj = {};
2615
+ message.key !== undefined && (obj.key = message.key);
2616
+ message.value !== undefined && (obj.value = message.value);
2617
+ return obj;
2618
+ },
2619
+ fromPartial(object) {
2620
+ var _a, _b;
2621
+ const message = Object.assign({}, baseRTPStats_GapHistogramEntry);
2622
+ message.key = (_a = object.key) !== null && _a !== void 0 ? _a : 0;
2623
+ message.value = (_b = object.value) !== null && _b !== void 0 ? _b : 0;
2624
+ return message;
2625
+ },
2626
+ };
1852
2627
  var globalThis = (() => {
1853
2628
  if (typeof globalThis !== "undefined")
1854
2629
  return globalThis;
@@ -1879,6 +2654,27 @@ function base64FromBytes(arr) {
1879
2654
  }
1880
2655
  return btoa(bin.join(""));
1881
2656
  }
2657
+ function toTimestamp(date) {
2658
+ const seconds = date.getTime() / 1000;
2659
+ const nanos = (date.getTime() % 1000) * 1000000;
2660
+ return { seconds, nanos };
2661
+ }
2662
+ function fromTimestamp(t) {
2663
+ let millis = t.seconds * 1000;
2664
+ millis += t.nanos / 1000000;
2665
+ return new Date(millis);
2666
+ }
2667
+ function fromJsonTimestamp(o) {
2668
+ if (o instanceof Date) {
2669
+ return o;
2670
+ }
2671
+ else if (typeof o === "string") {
2672
+ return new Date(o);
2673
+ }
2674
+ else {
2675
+ return fromTimestamp(timestamp_1.Timestamp.fromJSON(o));
2676
+ }
2677
+ }
1882
2678
  function longToNumber(long) {
1883
2679
  if (long.gt(Number.MAX_SAFE_INTEGER)) {
1884
2680
  throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER");