livekit-client 0.17.4 → 0.17.5

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.
@@ -1,6 +1,6 @@
1
1
  /* eslint-disable */
2
2
  import Long from "long";
3
- import _m0 from "protobufjs/minimal";
3
+ import * as _m0 from "protobufjs/minimal";
4
4
  import { Timestamp } from "./google/protobuf/timestamp";
5
5
 
6
6
  export const protobufPackage = "livekit";
@@ -540,17 +540,20 @@ export interface RTPStats_GapHistogramEntry {
540
540
  value: number;
541
541
  }
542
542
 
543
- const baseRoom: object = {
544
- sid: "",
545
- name: "",
546
- emptyTimeout: 0,
547
- maxParticipants: 0,
548
- creationTime: 0,
549
- turnPassword: "",
550
- metadata: "",
551
- numParticipants: 0,
552
- activeRecording: false,
553
- };
543
+ function createBaseRoom(): Room {
544
+ return {
545
+ sid: "",
546
+ name: "",
547
+ emptyTimeout: 0,
548
+ maxParticipants: 0,
549
+ creationTime: 0,
550
+ turnPassword: "",
551
+ enabledCodecs: [],
552
+ metadata: "",
553
+ numParticipants: 0,
554
+ activeRecording: false,
555
+ };
556
+ }
554
557
 
555
558
  export const Room = {
556
559
  encode(message: Room, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
@@ -590,8 +593,7 @@ export const Room = {
590
593
  decode(input: _m0.Reader | Uint8Array, length?: number): Room {
591
594
  const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
592
595
  let end = length === undefined ? reader.len : reader.pos + length;
593
- const message = { ...baseRoom } as Room;
594
- message.enabledCodecs = [];
596
+ const message = createBaseRoom();
595
597
  while (reader.pos < end) {
596
598
  const tag = reader.uint32();
597
599
  switch (tag >>> 3) {
@@ -634,68 +636,32 @@ export const Room = {
634
636
  },
635
637
 
636
638
  fromJSON(object: any): Room {
637
- const message = { ...baseRoom } as Room;
638
- message.enabledCodecs = [];
639
- if (object.sid !== undefined && object.sid !== null) {
640
- message.sid = String(object.sid);
641
- } else {
642
- message.sid = "";
643
- }
644
- if (object.name !== undefined && object.name !== null) {
645
- message.name = String(object.name);
646
- } else {
647
- message.name = "";
648
- }
649
- if (object.emptyTimeout !== undefined && object.emptyTimeout !== null) {
650
- message.emptyTimeout = Number(object.emptyTimeout);
651
- } else {
652
- message.emptyTimeout = 0;
653
- }
654
- if (
655
- object.maxParticipants !== undefined &&
656
- object.maxParticipants !== null
657
- ) {
658
- message.maxParticipants = Number(object.maxParticipants);
659
- } else {
660
- message.maxParticipants = 0;
661
- }
662
- if (object.creationTime !== undefined && object.creationTime !== null) {
663
- message.creationTime = Number(object.creationTime);
664
- } else {
665
- message.creationTime = 0;
666
- }
667
- if (object.turnPassword !== undefined && object.turnPassword !== null) {
668
- message.turnPassword = String(object.turnPassword);
669
- } else {
670
- message.turnPassword = "";
671
- }
672
- if (object.enabledCodecs !== undefined && object.enabledCodecs !== null) {
673
- for (const e of object.enabledCodecs) {
674
- message.enabledCodecs.push(Codec.fromJSON(e));
675
- }
676
- }
677
- if (object.metadata !== undefined && object.metadata !== null) {
678
- message.metadata = String(object.metadata);
679
- } else {
680
- message.metadata = "";
681
- }
682
- if (
683
- object.numParticipants !== undefined &&
684
- object.numParticipants !== null
685
- ) {
686
- message.numParticipants = Number(object.numParticipants);
687
- } else {
688
- message.numParticipants = 0;
689
- }
690
- if (
691
- object.activeRecording !== undefined &&
692
- object.activeRecording !== null
693
- ) {
694
- message.activeRecording = Boolean(object.activeRecording);
695
- } else {
696
- message.activeRecording = false;
697
- }
698
- return message;
639
+ return {
640
+ sid: isSet(object.sid) ? String(object.sid) : "",
641
+ name: isSet(object.name) ? String(object.name) : "",
642
+ emptyTimeout: isSet(object.emptyTimeout)
643
+ ? Number(object.emptyTimeout)
644
+ : 0,
645
+ maxParticipants: isSet(object.maxParticipants)
646
+ ? Number(object.maxParticipants)
647
+ : 0,
648
+ creationTime: isSet(object.creationTime)
649
+ ? Number(object.creationTime)
650
+ : 0,
651
+ turnPassword: isSet(object.turnPassword)
652
+ ? String(object.turnPassword)
653
+ : "",
654
+ enabledCodecs: Array.isArray(object?.enabledCodecs)
655
+ ? object.enabledCodecs.map((e: any) => Codec.fromJSON(e))
656
+ : [],
657
+ metadata: isSet(object.metadata) ? String(object.metadata) : "",
658
+ numParticipants: isSet(object.numParticipants)
659
+ ? Number(object.numParticipants)
660
+ : 0,
661
+ activeRecording: isSet(object.activeRecording)
662
+ ? Boolean(object.activeRecording)
663
+ : false,
664
+ };
699
665
  },
700
666
 
701
667
  toJSON(message: Room): unknown {
@@ -703,11 +669,11 @@ export const Room = {
703
669
  message.sid !== undefined && (obj.sid = message.sid);
704
670
  message.name !== undefined && (obj.name = message.name);
705
671
  message.emptyTimeout !== undefined &&
706
- (obj.emptyTimeout = message.emptyTimeout);
672
+ (obj.emptyTimeout = Math.round(message.emptyTimeout));
707
673
  message.maxParticipants !== undefined &&
708
- (obj.maxParticipants = message.maxParticipants);
674
+ (obj.maxParticipants = Math.round(message.maxParticipants));
709
675
  message.creationTime !== undefined &&
710
- (obj.creationTime = message.creationTime);
676
+ (obj.creationTime = Math.round(message.creationTime));
711
677
  message.turnPassword !== undefined &&
712
678
  (obj.turnPassword = message.turnPassword);
713
679
  if (message.enabledCodecs) {
@@ -719,26 +685,22 @@ export const Room = {
719
685
  }
720
686
  message.metadata !== undefined && (obj.metadata = message.metadata);
721
687
  message.numParticipants !== undefined &&
722
- (obj.numParticipants = message.numParticipants);
688
+ (obj.numParticipants = Math.round(message.numParticipants));
723
689
  message.activeRecording !== undefined &&
724
690
  (obj.activeRecording = message.activeRecording);
725
691
  return obj;
726
692
  },
727
693
 
728
- fromPartial(object: DeepPartial<Room>): Room {
729
- const message = { ...baseRoom } as Room;
694
+ fromPartial<I extends Exact<DeepPartial<Room>, I>>(object: I): Room {
695
+ const message = createBaseRoom();
730
696
  message.sid = object.sid ?? "";
731
697
  message.name = object.name ?? "";
732
698
  message.emptyTimeout = object.emptyTimeout ?? 0;
733
699
  message.maxParticipants = object.maxParticipants ?? 0;
734
700
  message.creationTime = object.creationTime ?? 0;
735
701
  message.turnPassword = object.turnPassword ?? "";
736
- message.enabledCodecs = [];
737
- if (object.enabledCodecs !== undefined && object.enabledCodecs !== null) {
738
- for (const e of object.enabledCodecs) {
739
- message.enabledCodecs.push(Codec.fromPartial(e));
740
- }
741
- }
702
+ message.enabledCodecs =
703
+ object.enabledCodecs?.map((e) => Codec.fromPartial(e)) || [];
742
704
  message.metadata = object.metadata ?? "";
743
705
  message.numParticipants = object.numParticipants ?? 0;
744
706
  message.activeRecording = object.activeRecording ?? false;
@@ -746,7 +708,9 @@ export const Room = {
746
708
  },
747
709
  };
748
710
 
749
- const baseCodec: object = { mime: "", fmtpLine: "" };
711
+ function createBaseCodec(): Codec {
712
+ return { mime: "", fmtpLine: "" };
713
+ }
750
714
 
751
715
  export const Codec = {
752
716
  encode(message: Codec, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
@@ -762,7 +726,7 @@ export const Codec = {
762
726
  decode(input: _m0.Reader | Uint8Array, length?: number): Codec {
763
727
  const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
764
728
  let end = length === undefined ? reader.len : reader.pos + length;
765
- const message = { ...baseCodec } as Codec;
729
+ const message = createBaseCodec();
766
730
  while (reader.pos < end) {
767
731
  const tag = reader.uint32();
768
732
  switch (tag >>> 3) {
@@ -781,18 +745,10 @@ export const Codec = {
781
745
  },
782
746
 
783
747
  fromJSON(object: any): Codec {
784
- const message = { ...baseCodec } as Codec;
785
- if (object.mime !== undefined && object.mime !== null) {
786
- message.mime = String(object.mime);
787
- } else {
788
- message.mime = "";
789
- }
790
- if (object.fmtpLine !== undefined && object.fmtpLine !== null) {
791
- message.fmtpLine = String(object.fmtpLine);
792
- } else {
793
- message.fmtpLine = "";
794
- }
795
- return message;
748
+ return {
749
+ mime: isSet(object.mime) ? String(object.mime) : "",
750
+ fmtpLine: isSet(object.fmtpLine) ? String(object.fmtpLine) : "",
751
+ };
796
752
  },
797
753
 
798
754
  toJSON(message: Codec): unknown {
@@ -802,21 +758,23 @@ export const Codec = {
802
758
  return obj;
803
759
  },
804
760
 
805
- fromPartial(object: DeepPartial<Codec>): Codec {
806
- const message = { ...baseCodec } as Codec;
761
+ fromPartial<I extends Exact<DeepPartial<Codec>, I>>(object: I): Codec {
762
+ const message = createBaseCodec();
807
763
  message.mime = object.mime ?? "";
808
764
  message.fmtpLine = object.fmtpLine ?? "";
809
765
  return message;
810
766
  },
811
767
  };
812
768
 
813
- const baseParticipantPermission: object = {
814
- canSubscribe: false,
815
- canPublish: false,
816
- canPublishData: false,
817
- hidden: false,
818
- recorder: false,
819
- };
769
+ function createBaseParticipantPermission(): ParticipantPermission {
770
+ return {
771
+ canSubscribe: false,
772
+ canPublish: false,
773
+ canPublishData: false,
774
+ hidden: false,
775
+ recorder: false,
776
+ };
777
+ }
820
778
 
821
779
  export const ParticipantPermission = {
822
780
  encode(
@@ -847,7 +805,7 @@ export const ParticipantPermission = {
847
805
  ): ParticipantPermission {
848
806
  const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
849
807
  let end = length === undefined ? reader.len : reader.pos + length;
850
- const message = { ...baseParticipantPermission } as ParticipantPermission;
808
+ const message = createBaseParticipantPermission();
851
809
  while (reader.pos < end) {
852
810
  const tag = reader.uint32();
853
811
  switch (tag >>> 3) {
@@ -875,33 +833,17 @@ export const ParticipantPermission = {
875
833
  },
876
834
 
877
835
  fromJSON(object: any): ParticipantPermission {
878
- const message = { ...baseParticipantPermission } as ParticipantPermission;
879
- if (object.canSubscribe !== undefined && object.canSubscribe !== null) {
880
- message.canSubscribe = Boolean(object.canSubscribe);
881
- } else {
882
- message.canSubscribe = false;
883
- }
884
- if (object.canPublish !== undefined && object.canPublish !== null) {
885
- message.canPublish = Boolean(object.canPublish);
886
- } else {
887
- message.canPublish = false;
888
- }
889
- if (object.canPublishData !== undefined && object.canPublishData !== null) {
890
- message.canPublishData = Boolean(object.canPublishData);
891
- } else {
892
- message.canPublishData = false;
893
- }
894
- if (object.hidden !== undefined && object.hidden !== null) {
895
- message.hidden = Boolean(object.hidden);
896
- } else {
897
- message.hidden = false;
898
- }
899
- if (object.recorder !== undefined && object.recorder !== null) {
900
- message.recorder = Boolean(object.recorder);
901
- } else {
902
- message.recorder = false;
903
- }
904
- return message;
836
+ return {
837
+ canSubscribe: isSet(object.canSubscribe)
838
+ ? Boolean(object.canSubscribe)
839
+ : false,
840
+ canPublish: isSet(object.canPublish) ? Boolean(object.canPublish) : false,
841
+ canPublishData: isSet(object.canPublishData)
842
+ ? Boolean(object.canPublishData)
843
+ : false,
844
+ hidden: isSet(object.hidden) ? Boolean(object.hidden) : false,
845
+ recorder: isSet(object.recorder) ? Boolean(object.recorder) : false,
846
+ };
905
847
  },
906
848
 
907
849
  toJSON(message: ParticipantPermission): unknown {
@@ -916,10 +858,10 @@ export const ParticipantPermission = {
916
858
  return obj;
917
859
  },
918
860
 
919
- fromPartial(
920
- object: DeepPartial<ParticipantPermission>
861
+ fromPartial<I extends Exact<DeepPartial<ParticipantPermission>, I>>(
862
+ object: I
921
863
  ): ParticipantPermission {
922
- const message = { ...baseParticipantPermission } as ParticipantPermission;
864
+ const message = createBaseParticipantPermission();
923
865
  message.canSubscribe = object.canSubscribe ?? false;
924
866
  message.canPublish = object.canPublish ?? false;
925
867
  message.canPublishData = object.canPublishData ?? false;
@@ -929,15 +871,19 @@ export const ParticipantPermission = {
929
871
  },
930
872
  };
931
873
 
932
- const baseParticipantInfo: object = {
933
- sid: "",
934
- identity: "",
935
- state: 0,
936
- metadata: "",
937
- joinedAt: 0,
938
- name: "",
939
- version: 0,
940
- };
874
+ function createBaseParticipantInfo(): ParticipantInfo {
875
+ return {
876
+ sid: "",
877
+ identity: "",
878
+ state: 0,
879
+ tracks: [],
880
+ metadata: "",
881
+ joinedAt: 0,
882
+ name: "",
883
+ version: 0,
884
+ permission: undefined,
885
+ };
886
+ }
941
887
 
942
888
  export const ParticipantInfo = {
943
889
  encode(
@@ -980,8 +926,7 @@ export const ParticipantInfo = {
980
926
  decode(input: _m0.Reader | Uint8Array, length?: number): ParticipantInfo {
981
927
  const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
982
928
  let end = length === undefined ? reader.len : reader.pos + length;
983
- const message = { ...baseParticipantInfo } as ParticipantInfo;
984
- message.tracks = [];
929
+ const message = createBaseParticipantInfo();
985
930
  while (reader.pos < end) {
986
931
  const tag = reader.uint32();
987
932
  switch (tag >>> 3) {
@@ -1024,54 +969,23 @@ export const ParticipantInfo = {
1024
969
  },
1025
970
 
1026
971
  fromJSON(object: any): ParticipantInfo {
1027
- const message = { ...baseParticipantInfo } as ParticipantInfo;
1028
- message.tracks = [];
1029
- if (object.sid !== undefined && object.sid !== null) {
1030
- message.sid = String(object.sid);
1031
- } else {
1032
- message.sid = "";
1033
- }
1034
- if (object.identity !== undefined && object.identity !== null) {
1035
- message.identity = String(object.identity);
1036
- } else {
1037
- message.identity = "";
1038
- }
1039
- if (object.state !== undefined && object.state !== null) {
1040
- message.state = participantInfo_StateFromJSON(object.state);
1041
- } else {
1042
- message.state = 0;
1043
- }
1044
- if (object.tracks !== undefined && object.tracks !== null) {
1045
- for (const e of object.tracks) {
1046
- message.tracks.push(TrackInfo.fromJSON(e));
1047
- }
1048
- }
1049
- if (object.metadata !== undefined && object.metadata !== null) {
1050
- message.metadata = String(object.metadata);
1051
- } else {
1052
- message.metadata = "";
1053
- }
1054
- if (object.joinedAt !== undefined && object.joinedAt !== null) {
1055
- message.joinedAt = Number(object.joinedAt);
1056
- } else {
1057
- message.joinedAt = 0;
1058
- }
1059
- if (object.name !== undefined && object.name !== null) {
1060
- message.name = String(object.name);
1061
- } else {
1062
- message.name = "";
1063
- }
1064
- if (object.version !== undefined && object.version !== null) {
1065
- message.version = Number(object.version);
1066
- } else {
1067
- message.version = 0;
1068
- }
1069
- if (object.permission !== undefined && object.permission !== null) {
1070
- message.permission = ParticipantPermission.fromJSON(object.permission);
1071
- } else {
1072
- message.permission = undefined;
1073
- }
1074
- return message;
972
+ return {
973
+ sid: isSet(object.sid) ? String(object.sid) : "",
974
+ identity: isSet(object.identity) ? String(object.identity) : "",
975
+ state: isSet(object.state)
976
+ ? participantInfo_StateFromJSON(object.state)
977
+ : 0,
978
+ tracks: Array.isArray(object?.tracks)
979
+ ? object.tracks.map((e: any) => TrackInfo.fromJSON(e))
980
+ : [],
981
+ metadata: isSet(object.metadata) ? String(object.metadata) : "",
982
+ joinedAt: isSet(object.joinedAt) ? Number(object.joinedAt) : 0,
983
+ name: isSet(object.name) ? String(object.name) : "",
984
+ version: isSet(object.version) ? Number(object.version) : 0,
985
+ permission: isSet(object.permission)
986
+ ? ParticipantPermission.fromJSON(object.permission)
987
+ : undefined,
988
+ };
1075
989
  },
1076
990
 
1077
991
  toJSON(message: ParticipantInfo): unknown {
@@ -1088,9 +1002,11 @@ export const ParticipantInfo = {
1088
1002
  obj.tracks = [];
1089
1003
  }
1090
1004
  message.metadata !== undefined && (obj.metadata = message.metadata);
1091
- message.joinedAt !== undefined && (obj.joinedAt = message.joinedAt);
1005
+ message.joinedAt !== undefined &&
1006
+ (obj.joinedAt = Math.round(message.joinedAt));
1092
1007
  message.name !== undefined && (obj.name = message.name);
1093
- message.version !== undefined && (obj.version = message.version);
1008
+ message.version !== undefined &&
1009
+ (obj.version = Math.round(message.version));
1094
1010
  message.permission !== undefined &&
1095
1011
  (obj.permission = message.permission
1096
1012
  ? ParticipantPermission.toJSON(message.permission)
@@ -1098,43 +1014,42 @@ export const ParticipantInfo = {
1098
1014
  return obj;
1099
1015
  },
1100
1016
 
1101
- fromPartial(object: DeepPartial<ParticipantInfo>): ParticipantInfo {
1102
- const message = { ...baseParticipantInfo } as ParticipantInfo;
1017
+ fromPartial<I extends Exact<DeepPartial<ParticipantInfo>, I>>(
1018
+ object: I
1019
+ ): ParticipantInfo {
1020
+ const message = createBaseParticipantInfo();
1103
1021
  message.sid = object.sid ?? "";
1104
1022
  message.identity = object.identity ?? "";
1105
1023
  message.state = object.state ?? 0;
1106
- message.tracks = [];
1107
- if (object.tracks !== undefined && object.tracks !== null) {
1108
- for (const e of object.tracks) {
1109
- message.tracks.push(TrackInfo.fromPartial(e));
1110
- }
1111
- }
1024
+ message.tracks = object.tracks?.map((e) => TrackInfo.fromPartial(e)) || [];
1112
1025
  message.metadata = object.metadata ?? "";
1113
1026
  message.joinedAt = object.joinedAt ?? 0;
1114
1027
  message.name = object.name ?? "";
1115
1028
  message.version = object.version ?? 0;
1116
- if (object.permission !== undefined && object.permission !== null) {
1117
- message.permission = ParticipantPermission.fromPartial(object.permission);
1118
- } else {
1119
- message.permission = undefined;
1120
- }
1029
+ message.permission =
1030
+ object.permission !== undefined && object.permission !== null
1031
+ ? ParticipantPermission.fromPartial(object.permission)
1032
+ : undefined;
1121
1033
  return message;
1122
1034
  },
1123
1035
  };
1124
1036
 
1125
- const baseTrackInfo: object = {
1126
- sid: "",
1127
- type: 0,
1128
- name: "",
1129
- muted: false,
1130
- width: 0,
1131
- height: 0,
1132
- simulcast: false,
1133
- disableDtx: false,
1134
- source: 0,
1135
- mimeType: "",
1136
- mid: "",
1137
- };
1037
+ function createBaseTrackInfo(): TrackInfo {
1038
+ return {
1039
+ sid: "",
1040
+ type: 0,
1041
+ name: "",
1042
+ muted: false,
1043
+ width: 0,
1044
+ height: 0,
1045
+ simulcast: false,
1046
+ disableDtx: false,
1047
+ source: 0,
1048
+ layers: [],
1049
+ mimeType: "",
1050
+ mid: "",
1051
+ };
1052
+ }
1138
1053
 
1139
1054
  export const TrackInfo = {
1140
1055
  encode(
@@ -1183,8 +1098,7 @@ export const TrackInfo = {
1183
1098
  decode(input: _m0.Reader | Uint8Array, length?: number): TrackInfo {
1184
1099
  const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1185
1100
  let end = length === undefined ? reader.len : reader.pos + length;
1186
- const message = { ...baseTrackInfo } as TrackInfo;
1187
- message.layers = [];
1101
+ const message = createBaseTrackInfo();
1188
1102
  while (reader.pos < end) {
1189
1103
  const tag = reader.uint32();
1190
1104
  switch (tag >>> 3) {
@@ -1233,69 +1147,22 @@ export const TrackInfo = {
1233
1147
  },
1234
1148
 
1235
1149
  fromJSON(object: any): TrackInfo {
1236
- const message = { ...baseTrackInfo } as TrackInfo;
1237
- message.layers = [];
1238
- if (object.sid !== undefined && object.sid !== null) {
1239
- message.sid = String(object.sid);
1240
- } else {
1241
- message.sid = "";
1242
- }
1243
- if (object.type !== undefined && object.type !== null) {
1244
- message.type = trackTypeFromJSON(object.type);
1245
- } else {
1246
- message.type = 0;
1247
- }
1248
- if (object.name !== undefined && object.name !== null) {
1249
- message.name = String(object.name);
1250
- } else {
1251
- message.name = "";
1252
- }
1253
- if (object.muted !== undefined && object.muted !== null) {
1254
- message.muted = Boolean(object.muted);
1255
- } else {
1256
- message.muted = false;
1257
- }
1258
- if (object.width !== undefined && object.width !== null) {
1259
- message.width = Number(object.width);
1260
- } else {
1261
- message.width = 0;
1262
- }
1263
- if (object.height !== undefined && object.height !== null) {
1264
- message.height = Number(object.height);
1265
- } else {
1266
- message.height = 0;
1267
- }
1268
- if (object.simulcast !== undefined && object.simulcast !== null) {
1269
- message.simulcast = Boolean(object.simulcast);
1270
- } else {
1271
- message.simulcast = false;
1272
- }
1273
- if (object.disableDtx !== undefined && object.disableDtx !== null) {
1274
- message.disableDtx = Boolean(object.disableDtx);
1275
- } else {
1276
- message.disableDtx = false;
1277
- }
1278
- if (object.source !== undefined && object.source !== null) {
1279
- message.source = trackSourceFromJSON(object.source);
1280
- } else {
1281
- message.source = 0;
1282
- }
1283
- if (object.layers !== undefined && object.layers !== null) {
1284
- for (const e of object.layers) {
1285
- message.layers.push(VideoLayer.fromJSON(e));
1286
- }
1287
- }
1288
- if (object.mimeType !== undefined && object.mimeType !== null) {
1289
- message.mimeType = String(object.mimeType);
1290
- } else {
1291
- message.mimeType = "";
1292
- }
1293
- if (object.mid !== undefined && object.mid !== null) {
1294
- message.mid = String(object.mid);
1295
- } else {
1296
- message.mid = "";
1297
- }
1298
- return message;
1150
+ return {
1151
+ sid: isSet(object.sid) ? String(object.sid) : "",
1152
+ type: isSet(object.type) ? trackTypeFromJSON(object.type) : 0,
1153
+ name: isSet(object.name) ? String(object.name) : "",
1154
+ muted: isSet(object.muted) ? Boolean(object.muted) : false,
1155
+ width: isSet(object.width) ? Number(object.width) : 0,
1156
+ height: isSet(object.height) ? Number(object.height) : 0,
1157
+ simulcast: isSet(object.simulcast) ? Boolean(object.simulcast) : false,
1158
+ disableDtx: isSet(object.disableDtx) ? Boolean(object.disableDtx) : false,
1159
+ source: isSet(object.source) ? trackSourceFromJSON(object.source) : 0,
1160
+ layers: Array.isArray(object?.layers)
1161
+ ? object.layers.map((e: any) => VideoLayer.fromJSON(e))
1162
+ : [],
1163
+ mimeType: isSet(object.mimeType) ? String(object.mimeType) : "",
1164
+ mid: isSet(object.mid) ? String(object.mid) : "",
1165
+ };
1299
1166
  },
1300
1167
 
1301
1168
  toJSON(message: TrackInfo): unknown {
@@ -1304,8 +1171,8 @@ export const TrackInfo = {
1304
1171
  message.type !== undefined && (obj.type = trackTypeToJSON(message.type));
1305
1172
  message.name !== undefined && (obj.name = message.name);
1306
1173
  message.muted !== undefined && (obj.muted = message.muted);
1307
- message.width !== undefined && (obj.width = message.width);
1308
- message.height !== undefined && (obj.height = message.height);
1174
+ message.width !== undefined && (obj.width = Math.round(message.width));
1175
+ message.height !== undefined && (obj.height = Math.round(message.height));
1309
1176
  message.simulcast !== undefined && (obj.simulcast = message.simulcast);
1310
1177
  message.disableDtx !== undefined && (obj.disableDtx = message.disableDtx);
1311
1178
  message.source !== undefined &&
@@ -1322,8 +1189,10 @@ export const TrackInfo = {
1322
1189
  return obj;
1323
1190
  },
1324
1191
 
1325
- fromPartial(object: DeepPartial<TrackInfo>): TrackInfo {
1326
- const message = { ...baseTrackInfo } as TrackInfo;
1192
+ fromPartial<I extends Exact<DeepPartial<TrackInfo>, I>>(
1193
+ object: I
1194
+ ): TrackInfo {
1195
+ const message = createBaseTrackInfo();
1327
1196
  message.sid = object.sid ?? "";
1328
1197
  message.type = object.type ?? 0;
1329
1198
  message.name = object.name ?? "";
@@ -1333,25 +1202,16 @@ export const TrackInfo = {
1333
1202
  message.simulcast = object.simulcast ?? false;
1334
1203
  message.disableDtx = object.disableDtx ?? false;
1335
1204
  message.source = object.source ?? 0;
1336
- message.layers = [];
1337
- if (object.layers !== undefined && object.layers !== null) {
1338
- for (const e of object.layers) {
1339
- message.layers.push(VideoLayer.fromPartial(e));
1340
- }
1341
- }
1205
+ message.layers = object.layers?.map((e) => VideoLayer.fromPartial(e)) || [];
1342
1206
  message.mimeType = object.mimeType ?? "";
1343
1207
  message.mid = object.mid ?? "";
1344
1208
  return message;
1345
1209
  },
1346
1210
  };
1347
1211
 
1348
- const baseVideoLayer: object = {
1349
- quality: 0,
1350
- width: 0,
1351
- height: 0,
1352
- bitrate: 0,
1353
- ssrc: 0,
1354
- };
1212
+ function createBaseVideoLayer(): VideoLayer {
1213
+ return { quality: 0, width: 0, height: 0, bitrate: 0, ssrc: 0 };
1214
+ }
1355
1215
 
1356
1216
  export const VideoLayer = {
1357
1217
  encode(
@@ -1379,7 +1239,7 @@ export const VideoLayer = {
1379
1239
  decode(input: _m0.Reader | Uint8Array, length?: number): VideoLayer {
1380
1240
  const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1381
1241
  let end = length === undefined ? reader.len : reader.pos + length;
1382
- const message = { ...baseVideoLayer } as VideoLayer;
1242
+ const message = createBaseVideoLayer();
1383
1243
  while (reader.pos < end) {
1384
1244
  const tag = reader.uint32();
1385
1245
  switch (tag >>> 3) {
@@ -1407,48 +1267,31 @@ export const VideoLayer = {
1407
1267
  },
1408
1268
 
1409
1269
  fromJSON(object: any): VideoLayer {
1410
- const message = { ...baseVideoLayer } as VideoLayer;
1411
- if (object.quality !== undefined && object.quality !== null) {
1412
- message.quality = videoQualityFromJSON(object.quality);
1413
- } else {
1414
- message.quality = 0;
1415
- }
1416
- if (object.width !== undefined && object.width !== null) {
1417
- message.width = Number(object.width);
1418
- } else {
1419
- message.width = 0;
1420
- }
1421
- if (object.height !== undefined && object.height !== null) {
1422
- message.height = Number(object.height);
1423
- } else {
1424
- message.height = 0;
1425
- }
1426
- if (object.bitrate !== undefined && object.bitrate !== null) {
1427
- message.bitrate = Number(object.bitrate);
1428
- } else {
1429
- message.bitrate = 0;
1430
- }
1431
- if (object.ssrc !== undefined && object.ssrc !== null) {
1432
- message.ssrc = Number(object.ssrc);
1433
- } else {
1434
- message.ssrc = 0;
1435
- }
1436
- return message;
1270
+ return {
1271
+ quality: isSet(object.quality) ? videoQualityFromJSON(object.quality) : 0,
1272
+ width: isSet(object.width) ? Number(object.width) : 0,
1273
+ height: isSet(object.height) ? Number(object.height) : 0,
1274
+ bitrate: isSet(object.bitrate) ? Number(object.bitrate) : 0,
1275
+ ssrc: isSet(object.ssrc) ? Number(object.ssrc) : 0,
1276
+ };
1437
1277
  },
1438
1278
 
1439
1279
  toJSON(message: VideoLayer): unknown {
1440
1280
  const obj: any = {};
1441
1281
  message.quality !== undefined &&
1442
1282
  (obj.quality = videoQualityToJSON(message.quality));
1443
- message.width !== undefined && (obj.width = message.width);
1444
- message.height !== undefined && (obj.height = message.height);
1445
- message.bitrate !== undefined && (obj.bitrate = message.bitrate);
1446
- message.ssrc !== undefined && (obj.ssrc = message.ssrc);
1283
+ message.width !== undefined && (obj.width = Math.round(message.width));
1284
+ message.height !== undefined && (obj.height = Math.round(message.height));
1285
+ message.bitrate !== undefined &&
1286
+ (obj.bitrate = Math.round(message.bitrate));
1287
+ message.ssrc !== undefined && (obj.ssrc = Math.round(message.ssrc));
1447
1288
  return obj;
1448
1289
  },
1449
1290
 
1450
- fromPartial(object: DeepPartial<VideoLayer>): VideoLayer {
1451
- const message = { ...baseVideoLayer } as VideoLayer;
1291
+ fromPartial<I extends Exact<DeepPartial<VideoLayer>, I>>(
1292
+ object: I
1293
+ ): VideoLayer {
1294
+ const message = createBaseVideoLayer();
1452
1295
  message.quality = object.quality ?? 0;
1453
1296
  message.width = object.width ?? 0;
1454
1297
  message.height = object.height ?? 0;
@@ -1458,7 +1301,9 @@ export const VideoLayer = {
1458
1301
  },
1459
1302
  };
1460
1303
 
1461
- const baseDataPacket: object = { kind: 0 };
1304
+ function createBaseDataPacket(): DataPacket {
1305
+ return { kind: 0, user: undefined, speaker: undefined };
1306
+ }
1462
1307
 
1463
1308
  export const DataPacket = {
1464
1309
  encode(
@@ -1483,7 +1328,7 @@ export const DataPacket = {
1483
1328
  decode(input: _m0.Reader | Uint8Array, length?: number): DataPacket {
1484
1329
  const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1485
1330
  let end = length === undefined ? reader.len : reader.pos + length;
1486
- const message = { ...baseDataPacket } as DataPacket;
1331
+ const message = createBaseDataPacket();
1487
1332
  while (reader.pos < end) {
1488
1333
  const tag = reader.uint32();
1489
1334
  switch (tag >>> 3) {
@@ -1505,23 +1350,13 @@ export const DataPacket = {
1505
1350
  },
1506
1351
 
1507
1352
  fromJSON(object: any): DataPacket {
1508
- const message = { ...baseDataPacket } as DataPacket;
1509
- if (object.kind !== undefined && object.kind !== null) {
1510
- message.kind = dataPacket_KindFromJSON(object.kind);
1511
- } else {
1512
- message.kind = 0;
1513
- }
1514
- if (object.user !== undefined && object.user !== null) {
1515
- message.user = UserPacket.fromJSON(object.user);
1516
- } else {
1517
- message.user = undefined;
1518
- }
1519
- if (object.speaker !== undefined && object.speaker !== null) {
1520
- message.speaker = ActiveSpeakerUpdate.fromJSON(object.speaker);
1521
- } else {
1522
- message.speaker = undefined;
1523
- }
1524
- return message;
1353
+ return {
1354
+ kind: isSet(object.kind) ? dataPacket_KindFromJSON(object.kind) : 0,
1355
+ user: isSet(object.user) ? UserPacket.fromJSON(object.user) : undefined,
1356
+ speaker: isSet(object.speaker)
1357
+ ? ActiveSpeakerUpdate.fromJSON(object.speaker)
1358
+ : undefined,
1359
+ };
1525
1360
  },
1526
1361
 
1527
1362
  toJSON(message: DataPacket): unknown {
@@ -1537,24 +1372,26 @@ export const DataPacket = {
1537
1372
  return obj;
1538
1373
  },
1539
1374
 
1540
- fromPartial(object: DeepPartial<DataPacket>): DataPacket {
1541
- const message = { ...baseDataPacket } as DataPacket;
1375
+ fromPartial<I extends Exact<DeepPartial<DataPacket>, I>>(
1376
+ object: I
1377
+ ): DataPacket {
1378
+ const message = createBaseDataPacket();
1542
1379
  message.kind = object.kind ?? 0;
1543
- if (object.user !== undefined && object.user !== null) {
1544
- message.user = UserPacket.fromPartial(object.user);
1545
- } else {
1546
- message.user = undefined;
1547
- }
1548
- if (object.speaker !== undefined && object.speaker !== null) {
1549
- message.speaker = ActiveSpeakerUpdate.fromPartial(object.speaker);
1550
- } else {
1551
- message.speaker = undefined;
1552
- }
1380
+ message.user =
1381
+ object.user !== undefined && object.user !== null
1382
+ ? UserPacket.fromPartial(object.user)
1383
+ : undefined;
1384
+ message.speaker =
1385
+ object.speaker !== undefined && object.speaker !== null
1386
+ ? ActiveSpeakerUpdate.fromPartial(object.speaker)
1387
+ : undefined;
1553
1388
  return message;
1554
1389
  },
1555
1390
  };
1556
1391
 
1557
- const baseActiveSpeakerUpdate: object = {};
1392
+ function createBaseActiveSpeakerUpdate(): ActiveSpeakerUpdate {
1393
+ return { speakers: [] };
1394
+ }
1558
1395
 
1559
1396
  export const ActiveSpeakerUpdate = {
1560
1397
  encode(
@@ -1570,8 +1407,7 @@ export const ActiveSpeakerUpdate = {
1570
1407
  decode(input: _m0.Reader | Uint8Array, length?: number): ActiveSpeakerUpdate {
1571
1408
  const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1572
1409
  let end = length === undefined ? reader.len : reader.pos + length;
1573
- const message = { ...baseActiveSpeakerUpdate } as ActiveSpeakerUpdate;
1574
- message.speakers = [];
1410
+ const message = createBaseActiveSpeakerUpdate();
1575
1411
  while (reader.pos < end) {
1576
1412
  const tag = reader.uint32();
1577
1413
  switch (tag >>> 3) {
@@ -1587,14 +1423,11 @@ export const ActiveSpeakerUpdate = {
1587
1423
  },
1588
1424
 
1589
1425
  fromJSON(object: any): ActiveSpeakerUpdate {
1590
- const message = { ...baseActiveSpeakerUpdate } as ActiveSpeakerUpdate;
1591
- message.speakers = [];
1592
- if (object.speakers !== undefined && object.speakers !== null) {
1593
- for (const e of object.speakers) {
1594
- message.speakers.push(SpeakerInfo.fromJSON(e));
1595
- }
1596
- }
1597
- return message;
1426
+ return {
1427
+ speakers: Array.isArray(object?.speakers)
1428
+ ? object.speakers.map((e: any) => SpeakerInfo.fromJSON(e))
1429
+ : [],
1430
+ };
1598
1431
  },
1599
1432
 
1600
1433
  toJSON(message: ActiveSpeakerUpdate): unknown {
@@ -1609,19 +1442,19 @@ export const ActiveSpeakerUpdate = {
1609
1442
  return obj;
1610
1443
  },
1611
1444
 
1612
- fromPartial(object: DeepPartial<ActiveSpeakerUpdate>): ActiveSpeakerUpdate {
1613
- const message = { ...baseActiveSpeakerUpdate } as ActiveSpeakerUpdate;
1614
- message.speakers = [];
1615
- if (object.speakers !== undefined && object.speakers !== null) {
1616
- for (const e of object.speakers) {
1617
- message.speakers.push(SpeakerInfo.fromPartial(e));
1618
- }
1619
- }
1445
+ fromPartial<I extends Exact<DeepPartial<ActiveSpeakerUpdate>, I>>(
1446
+ object: I
1447
+ ): ActiveSpeakerUpdate {
1448
+ const message = createBaseActiveSpeakerUpdate();
1449
+ message.speakers =
1450
+ object.speakers?.map((e) => SpeakerInfo.fromPartial(e)) || [];
1620
1451
  return message;
1621
1452
  },
1622
1453
  };
1623
1454
 
1624
- const baseSpeakerInfo: object = { sid: "", level: 0, active: false };
1455
+ function createBaseSpeakerInfo(): SpeakerInfo {
1456
+ return { sid: "", level: 0, active: false };
1457
+ }
1625
1458
 
1626
1459
  export const SpeakerInfo = {
1627
1460
  encode(
@@ -1643,7 +1476,7 @@ export const SpeakerInfo = {
1643
1476
  decode(input: _m0.Reader | Uint8Array, length?: number): SpeakerInfo {
1644
1477
  const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1645
1478
  let end = length === undefined ? reader.len : reader.pos + length;
1646
- const message = { ...baseSpeakerInfo } as SpeakerInfo;
1479
+ const message = createBaseSpeakerInfo();
1647
1480
  while (reader.pos < end) {
1648
1481
  const tag = reader.uint32();
1649
1482
  switch (tag >>> 3) {
@@ -1665,23 +1498,11 @@ export const SpeakerInfo = {
1665
1498
  },
1666
1499
 
1667
1500
  fromJSON(object: any): SpeakerInfo {
1668
- const message = { ...baseSpeakerInfo } as SpeakerInfo;
1669
- if (object.sid !== undefined && object.sid !== null) {
1670
- message.sid = String(object.sid);
1671
- } else {
1672
- message.sid = "";
1673
- }
1674
- if (object.level !== undefined && object.level !== null) {
1675
- message.level = Number(object.level);
1676
- } else {
1677
- message.level = 0;
1678
- }
1679
- if (object.active !== undefined && object.active !== null) {
1680
- message.active = Boolean(object.active);
1681
- } else {
1682
- message.active = false;
1683
- }
1684
- return message;
1501
+ return {
1502
+ sid: isSet(object.sid) ? String(object.sid) : "",
1503
+ level: isSet(object.level) ? Number(object.level) : 0,
1504
+ active: isSet(object.active) ? Boolean(object.active) : false,
1505
+ };
1685
1506
  },
1686
1507
 
1687
1508
  toJSON(message: SpeakerInfo): unknown {
@@ -1692,8 +1513,10 @@ export const SpeakerInfo = {
1692
1513
  return obj;
1693
1514
  },
1694
1515
 
1695
- fromPartial(object: DeepPartial<SpeakerInfo>): SpeakerInfo {
1696
- const message = { ...baseSpeakerInfo } as SpeakerInfo;
1516
+ fromPartial<I extends Exact<DeepPartial<SpeakerInfo>, I>>(
1517
+ object: I
1518
+ ): SpeakerInfo {
1519
+ const message = createBaseSpeakerInfo();
1697
1520
  message.sid = object.sid ?? "";
1698
1521
  message.level = object.level ?? 0;
1699
1522
  message.active = object.active ?? false;
@@ -1701,7 +1524,9 @@ export const SpeakerInfo = {
1701
1524
  },
1702
1525
  };
1703
1526
 
1704
- const baseUserPacket: object = { participantSid: "", destinationSids: "" };
1527
+ function createBaseUserPacket(): UserPacket {
1528
+ return { participantSid: "", payload: new Uint8Array(), destinationSids: [] };
1529
+ }
1705
1530
 
1706
1531
  export const UserPacket = {
1707
1532
  encode(
@@ -1723,9 +1548,7 @@ export const UserPacket = {
1723
1548
  decode(input: _m0.Reader | Uint8Array, length?: number): UserPacket {
1724
1549
  const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1725
1550
  let end = length === undefined ? reader.len : reader.pos + length;
1726
- const message = { ...baseUserPacket } as UserPacket;
1727
- message.destinationSids = [];
1728
- message.payload = new Uint8Array();
1551
+ const message = createBaseUserPacket();
1729
1552
  while (reader.pos < end) {
1730
1553
  const tag = reader.uint32();
1731
1554
  switch (tag >>> 3) {
@@ -1747,26 +1570,17 @@ export const UserPacket = {
1747
1570
  },
1748
1571
 
1749
1572
  fromJSON(object: any): UserPacket {
1750
- const message = { ...baseUserPacket } as UserPacket;
1751
- message.destinationSids = [];
1752
- message.payload = new Uint8Array();
1753
- if (object.participantSid !== undefined && object.participantSid !== null) {
1754
- message.participantSid = String(object.participantSid);
1755
- } else {
1756
- message.participantSid = "";
1757
- }
1758
- if (object.payload !== undefined && object.payload !== null) {
1759
- message.payload = bytesFromBase64(object.payload);
1760
- }
1761
- if (
1762
- object.destinationSids !== undefined &&
1763
- object.destinationSids !== null
1764
- ) {
1765
- for (const e of object.destinationSids) {
1766
- message.destinationSids.push(String(e));
1767
- }
1768
- }
1769
- return message;
1573
+ return {
1574
+ participantSid: isSet(object.participantSid)
1575
+ ? String(object.participantSid)
1576
+ : "",
1577
+ payload: isSet(object.payload)
1578
+ ? bytesFromBase64(object.payload)
1579
+ : new Uint8Array(),
1580
+ destinationSids: Array.isArray(object?.destinationSids)
1581
+ ? object.destinationSids.map((e: any) => String(e))
1582
+ : [],
1583
+ };
1770
1584
  },
1771
1585
 
1772
1586
  toJSON(message: UserPacket): unknown {
@@ -1785,24 +1599,20 @@ export const UserPacket = {
1785
1599
  return obj;
1786
1600
  },
1787
1601
 
1788
- fromPartial(object: DeepPartial<UserPacket>): UserPacket {
1789
- const message = { ...baseUserPacket } as UserPacket;
1602
+ fromPartial<I extends Exact<DeepPartial<UserPacket>, I>>(
1603
+ object: I
1604
+ ): UserPacket {
1605
+ const message = createBaseUserPacket();
1790
1606
  message.participantSid = object.participantSid ?? "";
1791
1607
  message.payload = object.payload ?? new Uint8Array();
1792
- message.destinationSids = [];
1793
- if (
1794
- object.destinationSids !== undefined &&
1795
- object.destinationSids !== null
1796
- ) {
1797
- for (const e of object.destinationSids) {
1798
- message.destinationSids.push(e);
1799
- }
1800
- }
1608
+ message.destinationSids = object.destinationSids?.map((e) => e) || [];
1801
1609
  return message;
1802
1610
  },
1803
1611
  };
1804
1612
 
1805
- const baseParticipantTracks: object = { participantSid: "", trackSids: "" };
1613
+ function createBaseParticipantTracks(): ParticipantTracks {
1614
+ return { participantSid: "", trackSids: [] };
1615
+ }
1806
1616
 
1807
1617
  export const ParticipantTracks = {
1808
1618
  encode(
@@ -1821,8 +1631,7 @@ export const ParticipantTracks = {
1821
1631
  decode(input: _m0.Reader | Uint8Array, length?: number): ParticipantTracks {
1822
1632
  const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1823
1633
  let end = length === undefined ? reader.len : reader.pos + length;
1824
- const message = { ...baseParticipantTracks } as ParticipantTracks;
1825
- message.trackSids = [];
1634
+ const message = createBaseParticipantTracks();
1826
1635
  while (reader.pos < end) {
1827
1636
  const tag = reader.uint32();
1828
1637
  switch (tag >>> 3) {
@@ -1841,19 +1650,14 @@ export const ParticipantTracks = {
1841
1650
  },
1842
1651
 
1843
1652
  fromJSON(object: any): ParticipantTracks {
1844
- const message = { ...baseParticipantTracks } as ParticipantTracks;
1845
- message.trackSids = [];
1846
- if (object.participantSid !== undefined && object.participantSid !== null) {
1847
- message.participantSid = String(object.participantSid);
1848
- } else {
1849
- message.participantSid = "";
1850
- }
1851
- if (object.trackSids !== undefined && object.trackSids !== null) {
1852
- for (const e of object.trackSids) {
1853
- message.trackSids.push(String(e));
1854
- }
1855
- }
1856
- return message;
1653
+ return {
1654
+ participantSid: isSet(object.participantSid)
1655
+ ? String(object.participantSid)
1656
+ : "",
1657
+ trackSids: Array.isArray(object?.trackSids)
1658
+ ? object.trackSids.map((e: any) => String(e))
1659
+ : [],
1660
+ };
1857
1661
  },
1858
1662
 
1859
1663
  toJSON(message: ParticipantTracks): unknown {
@@ -1868,30 +1672,29 @@ export const ParticipantTracks = {
1868
1672
  return obj;
1869
1673
  },
1870
1674
 
1871
- fromPartial(object: DeepPartial<ParticipantTracks>): ParticipantTracks {
1872
- const message = { ...baseParticipantTracks } as ParticipantTracks;
1675
+ fromPartial<I extends Exact<DeepPartial<ParticipantTracks>, I>>(
1676
+ object: I
1677
+ ): ParticipantTracks {
1678
+ const message = createBaseParticipantTracks();
1873
1679
  message.participantSid = object.participantSid ?? "";
1874
- message.trackSids = [];
1875
- if (object.trackSids !== undefined && object.trackSids !== null) {
1876
- for (const e of object.trackSids) {
1877
- message.trackSids.push(e);
1878
- }
1879
- }
1680
+ message.trackSids = object.trackSids?.map((e) => e) || [];
1880
1681
  return message;
1881
1682
  },
1882
1683
  };
1883
1684
 
1884
- const baseClientInfo: object = {
1885
- sdk: 0,
1886
- version: "",
1887
- protocol: 0,
1888
- os: "",
1889
- osVersion: "",
1890
- deviceModel: "",
1891
- browser: "",
1892
- browserVersion: "",
1893
- address: "",
1894
- };
1685
+ function createBaseClientInfo(): ClientInfo {
1686
+ return {
1687
+ sdk: 0,
1688
+ version: "",
1689
+ protocol: 0,
1690
+ os: "",
1691
+ osVersion: "",
1692
+ deviceModel: "",
1693
+ browser: "",
1694
+ browserVersion: "",
1695
+ address: "",
1696
+ };
1697
+ }
1895
1698
 
1896
1699
  export const ClientInfo = {
1897
1700
  encode(
@@ -1931,7 +1734,7 @@ export const ClientInfo = {
1931
1734
  decode(input: _m0.Reader | Uint8Array, length?: number): ClientInfo {
1932
1735
  const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1933
1736
  let end = length === undefined ? reader.len : reader.pos + length;
1934
- const message = { ...baseClientInfo } as ClientInfo;
1737
+ const message = createBaseClientInfo();
1935
1738
  while (reader.pos < end) {
1936
1739
  const tag = reader.uint32();
1937
1740
  switch (tag >>> 3) {
@@ -1971,60 +1774,27 @@ export const ClientInfo = {
1971
1774
  },
1972
1775
 
1973
1776
  fromJSON(object: any): ClientInfo {
1974
- const message = { ...baseClientInfo } as ClientInfo;
1975
- if (object.sdk !== undefined && object.sdk !== null) {
1976
- message.sdk = clientInfo_SDKFromJSON(object.sdk);
1977
- } else {
1978
- message.sdk = 0;
1979
- }
1980
- if (object.version !== undefined && object.version !== null) {
1981
- message.version = String(object.version);
1982
- } else {
1983
- message.version = "";
1984
- }
1985
- if (object.protocol !== undefined && object.protocol !== null) {
1986
- message.protocol = Number(object.protocol);
1987
- } else {
1988
- message.protocol = 0;
1989
- }
1990
- if (object.os !== undefined && object.os !== null) {
1991
- message.os = String(object.os);
1992
- } else {
1993
- message.os = "";
1994
- }
1995
- if (object.osVersion !== undefined && object.osVersion !== null) {
1996
- message.osVersion = String(object.osVersion);
1997
- } else {
1998
- message.osVersion = "";
1999
- }
2000
- if (object.deviceModel !== undefined && object.deviceModel !== null) {
2001
- message.deviceModel = String(object.deviceModel);
2002
- } else {
2003
- message.deviceModel = "";
2004
- }
2005
- if (object.browser !== undefined && object.browser !== null) {
2006
- message.browser = String(object.browser);
2007
- } else {
2008
- message.browser = "";
2009
- }
2010
- if (object.browserVersion !== undefined && object.browserVersion !== null) {
2011
- message.browserVersion = String(object.browserVersion);
2012
- } else {
2013
- message.browserVersion = "";
2014
- }
2015
- if (object.address !== undefined && object.address !== null) {
2016
- message.address = String(object.address);
2017
- } else {
2018
- message.address = "";
2019
- }
2020
- return message;
1777
+ return {
1778
+ sdk: isSet(object.sdk) ? clientInfo_SDKFromJSON(object.sdk) : 0,
1779
+ version: isSet(object.version) ? String(object.version) : "",
1780
+ protocol: isSet(object.protocol) ? Number(object.protocol) : 0,
1781
+ os: isSet(object.os) ? String(object.os) : "",
1782
+ osVersion: isSet(object.osVersion) ? String(object.osVersion) : "",
1783
+ deviceModel: isSet(object.deviceModel) ? String(object.deviceModel) : "",
1784
+ browser: isSet(object.browser) ? String(object.browser) : "",
1785
+ browserVersion: isSet(object.browserVersion)
1786
+ ? String(object.browserVersion)
1787
+ : "",
1788
+ address: isSet(object.address) ? String(object.address) : "",
1789
+ };
2021
1790
  },
2022
1791
 
2023
1792
  toJSON(message: ClientInfo): unknown {
2024
1793
  const obj: any = {};
2025
1794
  message.sdk !== undefined && (obj.sdk = clientInfo_SDKToJSON(message.sdk));
2026
1795
  message.version !== undefined && (obj.version = message.version);
2027
- message.protocol !== undefined && (obj.protocol = message.protocol);
1796
+ message.protocol !== undefined &&
1797
+ (obj.protocol = Math.round(message.protocol));
2028
1798
  message.os !== undefined && (obj.os = message.os);
2029
1799
  message.osVersion !== undefined && (obj.osVersion = message.osVersion);
2030
1800
  message.deviceModel !== undefined &&
@@ -2036,8 +1806,10 @@ export const ClientInfo = {
2036
1806
  return obj;
2037
1807
  },
2038
1808
 
2039
- fromPartial(object: DeepPartial<ClientInfo>): ClientInfo {
2040
- const message = { ...baseClientInfo } as ClientInfo;
1809
+ fromPartial<I extends Exact<DeepPartial<ClientInfo>, I>>(
1810
+ object: I
1811
+ ): ClientInfo {
1812
+ const message = createBaseClientInfo();
2041
1813
  message.sdk = object.sdk ?? 0;
2042
1814
  message.version = object.version ?? "";
2043
1815
  message.protocol = object.protocol ?? 0;
@@ -2051,7 +1823,9 @@ export const ClientInfo = {
2051
1823
  },
2052
1824
  };
2053
1825
 
2054
- const baseClientConfiguration: object = { resumeConnection: 0 };
1826
+ function createBaseClientConfiguration(): ClientConfiguration {
1827
+ return { video: undefined, screen: undefined, resumeConnection: 0 };
1828
+ }
2055
1829
 
2056
1830
  export const ClientConfiguration = {
2057
1831
  encode(
@@ -2079,7 +1853,7 @@ export const ClientConfiguration = {
2079
1853
  decode(input: _m0.Reader | Uint8Array, length?: number): ClientConfiguration {
2080
1854
  const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
2081
1855
  let end = length === undefined ? reader.len : reader.pos + length;
2082
- const message = { ...baseClientConfiguration } as ClientConfiguration;
1856
+ const message = createBaseClientConfiguration();
2083
1857
  while (reader.pos < end) {
2084
1858
  const tag = reader.uint32();
2085
1859
  switch (tag >>> 3) {
@@ -2101,28 +1875,17 @@ export const ClientConfiguration = {
2101
1875
  },
2102
1876
 
2103
1877
  fromJSON(object: any): ClientConfiguration {
2104
- const message = { ...baseClientConfiguration } as ClientConfiguration;
2105
- if (object.video !== undefined && object.video !== null) {
2106
- message.video = VideoConfiguration.fromJSON(object.video);
2107
- } else {
2108
- message.video = undefined;
2109
- }
2110
- if (object.screen !== undefined && object.screen !== null) {
2111
- message.screen = VideoConfiguration.fromJSON(object.screen);
2112
- } else {
2113
- message.screen = undefined;
2114
- }
2115
- if (
2116
- object.resumeConnection !== undefined &&
2117
- object.resumeConnection !== null
2118
- ) {
2119
- message.resumeConnection = clientConfigSettingFromJSON(
2120
- object.resumeConnection
2121
- );
2122
- } else {
2123
- message.resumeConnection = 0;
2124
- }
2125
- return message;
1878
+ return {
1879
+ video: isSet(object.video)
1880
+ ? VideoConfiguration.fromJSON(object.video)
1881
+ : undefined,
1882
+ screen: isSet(object.screen)
1883
+ ? VideoConfiguration.fromJSON(object.screen)
1884
+ : undefined,
1885
+ resumeConnection: isSet(object.resumeConnection)
1886
+ ? clientConfigSettingFromJSON(object.resumeConnection)
1887
+ : 0,
1888
+ };
2126
1889
  },
2127
1890
 
2128
1891
  toJSON(message: ClientConfiguration): unknown {
@@ -2142,24 +1905,26 @@ export const ClientConfiguration = {
2142
1905
  return obj;
2143
1906
  },
2144
1907
 
2145
- fromPartial(object: DeepPartial<ClientConfiguration>): ClientConfiguration {
2146
- const message = { ...baseClientConfiguration } as ClientConfiguration;
2147
- if (object.video !== undefined && object.video !== null) {
2148
- message.video = VideoConfiguration.fromPartial(object.video);
2149
- } else {
2150
- message.video = undefined;
2151
- }
2152
- if (object.screen !== undefined && object.screen !== null) {
2153
- message.screen = VideoConfiguration.fromPartial(object.screen);
2154
- } else {
2155
- message.screen = undefined;
2156
- }
1908
+ fromPartial<I extends Exact<DeepPartial<ClientConfiguration>, I>>(
1909
+ object: I
1910
+ ): ClientConfiguration {
1911
+ const message = createBaseClientConfiguration();
1912
+ message.video =
1913
+ object.video !== undefined && object.video !== null
1914
+ ? VideoConfiguration.fromPartial(object.video)
1915
+ : undefined;
1916
+ message.screen =
1917
+ object.screen !== undefined && object.screen !== null
1918
+ ? VideoConfiguration.fromPartial(object.screen)
1919
+ : undefined;
2157
1920
  message.resumeConnection = object.resumeConnection ?? 0;
2158
1921
  return message;
2159
1922
  },
2160
1923
  };
2161
1924
 
2162
- const baseVideoConfiguration: object = { hardwareEncoder: 0 };
1925
+ function createBaseVideoConfiguration(): VideoConfiguration {
1926
+ return { hardwareEncoder: 0 };
1927
+ }
2163
1928
 
2164
1929
  export const VideoConfiguration = {
2165
1930
  encode(
@@ -2175,7 +1940,7 @@ export const VideoConfiguration = {
2175
1940
  decode(input: _m0.Reader | Uint8Array, length?: number): VideoConfiguration {
2176
1941
  const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
2177
1942
  let end = length === undefined ? reader.len : reader.pos + length;
2178
- const message = { ...baseVideoConfiguration } as VideoConfiguration;
1943
+ const message = createBaseVideoConfiguration();
2179
1944
  while (reader.pos < end) {
2180
1945
  const tag = reader.uint32();
2181
1946
  switch (tag >>> 3) {
@@ -2191,18 +1956,11 @@ export const VideoConfiguration = {
2191
1956
  },
2192
1957
 
2193
1958
  fromJSON(object: any): VideoConfiguration {
2194
- const message = { ...baseVideoConfiguration } as VideoConfiguration;
2195
- if (
2196
- object.hardwareEncoder !== undefined &&
2197
- object.hardwareEncoder !== null
2198
- ) {
2199
- message.hardwareEncoder = clientConfigSettingFromJSON(
2200
- object.hardwareEncoder
2201
- );
2202
- } else {
2203
- message.hardwareEncoder = 0;
2204
- }
2205
- return message;
1959
+ return {
1960
+ hardwareEncoder: isSet(object.hardwareEncoder)
1961
+ ? clientConfigSettingFromJSON(object.hardwareEncoder)
1962
+ : 0,
1963
+ };
2206
1964
  },
2207
1965
 
2208
1966
  toJSON(message: VideoConfiguration): unknown {
@@ -2214,44 +1972,55 @@ export const VideoConfiguration = {
2214
1972
  return obj;
2215
1973
  },
2216
1974
 
2217
- fromPartial(object: DeepPartial<VideoConfiguration>): VideoConfiguration {
2218
- const message = { ...baseVideoConfiguration } as VideoConfiguration;
1975
+ fromPartial<I extends Exact<DeepPartial<VideoConfiguration>, I>>(
1976
+ object: I
1977
+ ): VideoConfiguration {
1978
+ const message = createBaseVideoConfiguration();
2219
1979
  message.hardwareEncoder = object.hardwareEncoder ?? 0;
2220
1980
  return message;
2221
1981
  },
2222
1982
  };
2223
1983
 
2224
- const baseRTPStats: object = {
2225
- duration: 0,
2226
- packets: 0,
2227
- packetRate: 0,
2228
- bytes: 0,
2229
- bitrate: 0,
2230
- packetsLost: 0,
2231
- packetLossRate: 0,
2232
- packetLossPercentage: 0,
2233
- packetsDuplicate: 0,
2234
- packetDuplicateRate: 0,
2235
- bytesDuplicate: 0,
2236
- bitrateDuplicate: 0,
2237
- packetsPadding: 0,
2238
- packetPaddingRate: 0,
2239
- bytesPadding: 0,
2240
- bitratePadding: 0,
2241
- packetsOutOfOrder: 0,
2242
- frames: 0,
2243
- frameRate: 0,
2244
- jitterCurrent: 0,
2245
- jitterMax: 0,
2246
- nacks: 0,
2247
- nackMisses: 0,
2248
- plis: 0,
2249
- firs: 0,
2250
- rttCurrent: 0,
2251
- rttMax: 0,
2252
- keyFrames: 0,
2253
- layerLockPlis: 0,
2254
- };
1984
+ function createBaseRTPStats(): RTPStats {
1985
+ return {
1986
+ startTime: undefined,
1987
+ endTime: undefined,
1988
+ duration: 0,
1989
+ packets: 0,
1990
+ packetRate: 0,
1991
+ bytes: 0,
1992
+ bitrate: 0,
1993
+ packetsLost: 0,
1994
+ packetLossRate: 0,
1995
+ packetLossPercentage: 0,
1996
+ packetsDuplicate: 0,
1997
+ packetDuplicateRate: 0,
1998
+ bytesDuplicate: 0,
1999
+ bitrateDuplicate: 0,
2000
+ packetsPadding: 0,
2001
+ packetPaddingRate: 0,
2002
+ bytesPadding: 0,
2003
+ bitratePadding: 0,
2004
+ packetsOutOfOrder: 0,
2005
+ frames: 0,
2006
+ frameRate: 0,
2007
+ jitterCurrent: 0,
2008
+ jitterMax: 0,
2009
+ gapHistogram: {},
2010
+ nacks: 0,
2011
+ nackMisses: 0,
2012
+ plis: 0,
2013
+ lastPli: undefined,
2014
+ firs: 0,
2015
+ lastFir: undefined,
2016
+ rttCurrent: 0,
2017
+ rttMax: 0,
2018
+ keyFrames: 0,
2019
+ lastKeyFrame: undefined,
2020
+ layerLockPlis: 0,
2021
+ lastLayerLockPli: undefined,
2022
+ };
2023
+ }
2255
2024
 
2256
2025
  export const RTPStats = {
2257
2026
  encode(
@@ -2393,8 +2162,7 @@ export const RTPStats = {
2393
2162
  decode(input: _m0.Reader | Uint8Array, length?: number): RTPStats {
2394
2163
  const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
2395
2164
  let end = length === undefined ? reader.len : reader.pos + length;
2396
- const message = { ...baseRTPStats } as RTPStats;
2397
- message.gapHistogram = {};
2165
+ const message = createBaseRTPStats();
2398
2166
  while (reader.pos < end) {
2399
2167
  const tag = reader.uint32();
2400
2168
  switch (tag >>> 3) {
@@ -2533,210 +2301,90 @@ export const RTPStats = {
2533
2301
  },
2534
2302
 
2535
2303
  fromJSON(object: any): RTPStats {
2536
- const message = { ...baseRTPStats } as RTPStats;
2537
- message.gapHistogram = {};
2538
- if (object.startTime !== undefined && object.startTime !== null) {
2539
- message.startTime = fromJsonTimestamp(object.startTime);
2540
- } else {
2541
- message.startTime = undefined;
2542
- }
2543
- if (object.endTime !== undefined && object.endTime !== null) {
2544
- message.endTime = fromJsonTimestamp(object.endTime);
2545
- } else {
2546
- message.endTime = undefined;
2547
- }
2548
- if (object.duration !== undefined && object.duration !== null) {
2549
- message.duration = Number(object.duration);
2550
- } else {
2551
- message.duration = 0;
2552
- }
2553
- if (object.packets !== undefined && object.packets !== null) {
2554
- message.packets = Number(object.packets);
2555
- } else {
2556
- message.packets = 0;
2557
- }
2558
- if (object.packetRate !== undefined && object.packetRate !== null) {
2559
- message.packetRate = Number(object.packetRate);
2560
- } else {
2561
- message.packetRate = 0;
2562
- }
2563
- if (object.bytes !== undefined && object.bytes !== null) {
2564
- message.bytes = Number(object.bytes);
2565
- } else {
2566
- message.bytes = 0;
2567
- }
2568
- if (object.bitrate !== undefined && object.bitrate !== null) {
2569
- message.bitrate = Number(object.bitrate);
2570
- } else {
2571
- message.bitrate = 0;
2572
- }
2573
- if (object.packetsLost !== undefined && object.packetsLost !== null) {
2574
- message.packetsLost = Number(object.packetsLost);
2575
- } else {
2576
- message.packetsLost = 0;
2577
- }
2578
- if (object.packetLossRate !== undefined && object.packetLossRate !== null) {
2579
- message.packetLossRate = Number(object.packetLossRate);
2580
- } else {
2581
- message.packetLossRate = 0;
2582
- }
2583
- if (
2584
- object.packetLossPercentage !== undefined &&
2585
- object.packetLossPercentage !== null
2586
- ) {
2587
- message.packetLossPercentage = Number(object.packetLossPercentage);
2588
- } else {
2589
- message.packetLossPercentage = 0;
2590
- }
2591
- if (
2592
- object.packetsDuplicate !== undefined &&
2593
- object.packetsDuplicate !== null
2594
- ) {
2595
- message.packetsDuplicate = Number(object.packetsDuplicate);
2596
- } else {
2597
- message.packetsDuplicate = 0;
2598
- }
2599
- if (
2600
- object.packetDuplicateRate !== undefined &&
2601
- object.packetDuplicateRate !== null
2602
- ) {
2603
- message.packetDuplicateRate = Number(object.packetDuplicateRate);
2604
- } else {
2605
- message.packetDuplicateRate = 0;
2606
- }
2607
- if (object.bytesDuplicate !== undefined && object.bytesDuplicate !== null) {
2608
- message.bytesDuplicate = Number(object.bytesDuplicate);
2609
- } else {
2610
- message.bytesDuplicate = 0;
2611
- }
2612
- if (
2613
- object.bitrateDuplicate !== undefined &&
2614
- object.bitrateDuplicate !== null
2615
- ) {
2616
- message.bitrateDuplicate = Number(object.bitrateDuplicate);
2617
- } else {
2618
- message.bitrateDuplicate = 0;
2619
- }
2620
- if (object.packetsPadding !== undefined && object.packetsPadding !== null) {
2621
- message.packetsPadding = Number(object.packetsPadding);
2622
- } else {
2623
- message.packetsPadding = 0;
2624
- }
2625
- if (
2626
- object.packetPaddingRate !== undefined &&
2627
- object.packetPaddingRate !== null
2628
- ) {
2629
- message.packetPaddingRate = Number(object.packetPaddingRate);
2630
- } else {
2631
- message.packetPaddingRate = 0;
2632
- }
2633
- if (object.bytesPadding !== undefined && object.bytesPadding !== null) {
2634
- message.bytesPadding = Number(object.bytesPadding);
2635
- } else {
2636
- message.bytesPadding = 0;
2637
- }
2638
- if (object.bitratePadding !== undefined && object.bitratePadding !== null) {
2639
- message.bitratePadding = Number(object.bitratePadding);
2640
- } else {
2641
- message.bitratePadding = 0;
2642
- }
2643
- if (
2644
- object.packetsOutOfOrder !== undefined &&
2645
- object.packetsOutOfOrder !== null
2646
- ) {
2647
- message.packetsOutOfOrder = Number(object.packetsOutOfOrder);
2648
- } else {
2649
- message.packetsOutOfOrder = 0;
2650
- }
2651
- if (object.frames !== undefined && object.frames !== null) {
2652
- message.frames = Number(object.frames);
2653
- } else {
2654
- message.frames = 0;
2655
- }
2656
- if (object.frameRate !== undefined && object.frameRate !== null) {
2657
- message.frameRate = Number(object.frameRate);
2658
- } else {
2659
- message.frameRate = 0;
2660
- }
2661
- if (object.jitterCurrent !== undefined && object.jitterCurrent !== null) {
2662
- message.jitterCurrent = Number(object.jitterCurrent);
2663
- } else {
2664
- message.jitterCurrent = 0;
2665
- }
2666
- if (object.jitterMax !== undefined && object.jitterMax !== null) {
2667
- message.jitterMax = Number(object.jitterMax);
2668
- } else {
2669
- message.jitterMax = 0;
2670
- }
2671
- if (object.gapHistogram !== undefined && object.gapHistogram !== null) {
2672
- Object.entries(object.gapHistogram).forEach(([key, value]) => {
2673
- message.gapHistogram[Number(key)] = Number(value);
2674
- });
2675
- }
2676
- if (object.nacks !== undefined && object.nacks !== null) {
2677
- message.nacks = Number(object.nacks);
2678
- } else {
2679
- message.nacks = 0;
2680
- }
2681
- if (object.nackMisses !== undefined && object.nackMisses !== null) {
2682
- message.nackMisses = Number(object.nackMisses);
2683
- } else {
2684
- message.nackMisses = 0;
2685
- }
2686
- if (object.plis !== undefined && object.plis !== null) {
2687
- message.plis = Number(object.plis);
2688
- } else {
2689
- message.plis = 0;
2690
- }
2691
- if (object.lastPli !== undefined && object.lastPli !== null) {
2692
- message.lastPli = fromJsonTimestamp(object.lastPli);
2693
- } else {
2694
- message.lastPli = undefined;
2695
- }
2696
- if (object.firs !== undefined && object.firs !== null) {
2697
- message.firs = Number(object.firs);
2698
- } else {
2699
- message.firs = 0;
2700
- }
2701
- if (object.lastFir !== undefined && object.lastFir !== null) {
2702
- message.lastFir = fromJsonTimestamp(object.lastFir);
2703
- } else {
2704
- message.lastFir = undefined;
2705
- }
2706
- if (object.rttCurrent !== undefined && object.rttCurrent !== null) {
2707
- message.rttCurrent = Number(object.rttCurrent);
2708
- } else {
2709
- message.rttCurrent = 0;
2710
- }
2711
- if (object.rttMax !== undefined && object.rttMax !== null) {
2712
- message.rttMax = Number(object.rttMax);
2713
- } else {
2714
- message.rttMax = 0;
2715
- }
2716
- if (object.keyFrames !== undefined && object.keyFrames !== null) {
2717
- message.keyFrames = Number(object.keyFrames);
2718
- } else {
2719
- message.keyFrames = 0;
2720
- }
2721
- if (object.lastKeyFrame !== undefined && object.lastKeyFrame !== null) {
2722
- message.lastKeyFrame = fromJsonTimestamp(object.lastKeyFrame);
2723
- } else {
2724
- message.lastKeyFrame = undefined;
2725
- }
2726
- if (object.layerLockPlis !== undefined && object.layerLockPlis !== null) {
2727
- message.layerLockPlis = Number(object.layerLockPlis);
2728
- } else {
2729
- message.layerLockPlis = 0;
2730
- }
2731
- if (
2732
- object.lastLayerLockPli !== undefined &&
2733
- object.lastLayerLockPli !== null
2734
- ) {
2735
- message.lastLayerLockPli = fromJsonTimestamp(object.lastLayerLockPli);
2736
- } else {
2737
- message.lastLayerLockPli = undefined;
2738
- }
2739
- return message;
2304
+ return {
2305
+ startTime: isSet(object.startTime)
2306
+ ? fromJsonTimestamp(object.startTime)
2307
+ : undefined,
2308
+ endTime: isSet(object.endTime)
2309
+ ? fromJsonTimestamp(object.endTime)
2310
+ : undefined,
2311
+ duration: isSet(object.duration) ? Number(object.duration) : 0,
2312
+ packets: isSet(object.packets) ? Number(object.packets) : 0,
2313
+ packetRate: isSet(object.packetRate) ? Number(object.packetRate) : 0,
2314
+ bytes: isSet(object.bytes) ? Number(object.bytes) : 0,
2315
+ bitrate: isSet(object.bitrate) ? Number(object.bitrate) : 0,
2316
+ packetsLost: isSet(object.packetsLost) ? Number(object.packetsLost) : 0,
2317
+ packetLossRate: isSet(object.packetLossRate)
2318
+ ? Number(object.packetLossRate)
2319
+ : 0,
2320
+ packetLossPercentage: isSet(object.packetLossPercentage)
2321
+ ? Number(object.packetLossPercentage)
2322
+ : 0,
2323
+ packetsDuplicate: isSet(object.packetsDuplicate)
2324
+ ? Number(object.packetsDuplicate)
2325
+ : 0,
2326
+ packetDuplicateRate: isSet(object.packetDuplicateRate)
2327
+ ? Number(object.packetDuplicateRate)
2328
+ : 0,
2329
+ bytesDuplicate: isSet(object.bytesDuplicate)
2330
+ ? Number(object.bytesDuplicate)
2331
+ : 0,
2332
+ bitrateDuplicate: isSet(object.bitrateDuplicate)
2333
+ ? Number(object.bitrateDuplicate)
2334
+ : 0,
2335
+ packetsPadding: isSet(object.packetsPadding)
2336
+ ? Number(object.packetsPadding)
2337
+ : 0,
2338
+ packetPaddingRate: isSet(object.packetPaddingRate)
2339
+ ? Number(object.packetPaddingRate)
2340
+ : 0,
2341
+ bytesPadding: isSet(object.bytesPadding)
2342
+ ? Number(object.bytesPadding)
2343
+ : 0,
2344
+ bitratePadding: isSet(object.bitratePadding)
2345
+ ? Number(object.bitratePadding)
2346
+ : 0,
2347
+ packetsOutOfOrder: isSet(object.packetsOutOfOrder)
2348
+ ? Number(object.packetsOutOfOrder)
2349
+ : 0,
2350
+ frames: isSet(object.frames) ? Number(object.frames) : 0,
2351
+ frameRate: isSet(object.frameRate) ? Number(object.frameRate) : 0,
2352
+ jitterCurrent: isSet(object.jitterCurrent)
2353
+ ? Number(object.jitterCurrent)
2354
+ : 0,
2355
+ jitterMax: isSet(object.jitterMax) ? Number(object.jitterMax) : 0,
2356
+ gapHistogram: isObject(object.gapHistogram)
2357
+ ? Object.entries(object.gapHistogram).reduce<{ [key: number]: number }>(
2358
+ (acc, [key, value]) => {
2359
+ acc[Number(key)] = Number(value);
2360
+ return acc;
2361
+ },
2362
+ {}
2363
+ )
2364
+ : {},
2365
+ nacks: isSet(object.nacks) ? Number(object.nacks) : 0,
2366
+ nackMisses: isSet(object.nackMisses) ? Number(object.nackMisses) : 0,
2367
+ plis: isSet(object.plis) ? Number(object.plis) : 0,
2368
+ lastPli: isSet(object.lastPli)
2369
+ ? fromJsonTimestamp(object.lastPli)
2370
+ : undefined,
2371
+ firs: isSet(object.firs) ? Number(object.firs) : 0,
2372
+ lastFir: isSet(object.lastFir)
2373
+ ? fromJsonTimestamp(object.lastFir)
2374
+ : undefined,
2375
+ rttCurrent: isSet(object.rttCurrent) ? Number(object.rttCurrent) : 0,
2376
+ rttMax: isSet(object.rttMax) ? Number(object.rttMax) : 0,
2377
+ keyFrames: isSet(object.keyFrames) ? Number(object.keyFrames) : 0,
2378
+ lastKeyFrame: isSet(object.lastKeyFrame)
2379
+ ? fromJsonTimestamp(object.lastKeyFrame)
2380
+ : undefined,
2381
+ layerLockPlis: isSet(object.layerLockPlis)
2382
+ ? Number(object.layerLockPlis)
2383
+ : 0,
2384
+ lastLayerLockPli: isSet(object.lastLayerLockPli)
2385
+ ? fromJsonTimestamp(object.lastLayerLockPli)
2386
+ : undefined,
2387
+ };
2740
2388
  },
2741
2389
 
2742
2390
  toJSON(message: RTPStats): unknown {
@@ -2746,35 +2394,36 @@ export const RTPStats = {
2746
2394
  message.endTime !== undefined &&
2747
2395
  (obj.endTime = message.endTime.toISOString());
2748
2396
  message.duration !== undefined && (obj.duration = message.duration);
2749
- message.packets !== undefined && (obj.packets = message.packets);
2397
+ message.packets !== undefined &&
2398
+ (obj.packets = Math.round(message.packets));
2750
2399
  message.packetRate !== undefined && (obj.packetRate = message.packetRate);
2751
- message.bytes !== undefined && (obj.bytes = message.bytes);
2400
+ message.bytes !== undefined && (obj.bytes = Math.round(message.bytes));
2752
2401
  message.bitrate !== undefined && (obj.bitrate = message.bitrate);
2753
2402
  message.packetsLost !== undefined &&
2754
- (obj.packetsLost = message.packetsLost);
2403
+ (obj.packetsLost = Math.round(message.packetsLost));
2755
2404
  message.packetLossRate !== undefined &&
2756
2405
  (obj.packetLossRate = message.packetLossRate);
2757
2406
  message.packetLossPercentage !== undefined &&
2758
2407
  (obj.packetLossPercentage = message.packetLossPercentage);
2759
2408
  message.packetsDuplicate !== undefined &&
2760
- (obj.packetsDuplicate = message.packetsDuplicate);
2409
+ (obj.packetsDuplicate = Math.round(message.packetsDuplicate));
2761
2410
  message.packetDuplicateRate !== undefined &&
2762
2411
  (obj.packetDuplicateRate = message.packetDuplicateRate);
2763
2412
  message.bytesDuplicate !== undefined &&
2764
- (obj.bytesDuplicate = message.bytesDuplicate);
2413
+ (obj.bytesDuplicate = Math.round(message.bytesDuplicate));
2765
2414
  message.bitrateDuplicate !== undefined &&
2766
2415
  (obj.bitrateDuplicate = message.bitrateDuplicate);
2767
2416
  message.packetsPadding !== undefined &&
2768
- (obj.packetsPadding = message.packetsPadding);
2417
+ (obj.packetsPadding = Math.round(message.packetsPadding));
2769
2418
  message.packetPaddingRate !== undefined &&
2770
2419
  (obj.packetPaddingRate = message.packetPaddingRate);
2771
2420
  message.bytesPadding !== undefined &&
2772
- (obj.bytesPadding = message.bytesPadding);
2421
+ (obj.bytesPadding = Math.round(message.bytesPadding));
2773
2422
  message.bitratePadding !== undefined &&
2774
2423
  (obj.bitratePadding = message.bitratePadding);
2775
2424
  message.packetsOutOfOrder !== undefined &&
2776
- (obj.packetsOutOfOrder = message.packetsOutOfOrder);
2777
- message.frames !== undefined && (obj.frames = message.frames);
2425
+ (obj.packetsOutOfOrder = Math.round(message.packetsOutOfOrder));
2426
+ message.frames !== undefined && (obj.frames = Math.round(message.frames));
2778
2427
  message.frameRate !== undefined && (obj.frameRate = message.frameRate);
2779
2428
  message.jitterCurrent !== undefined &&
2780
2429
  (obj.jitterCurrent = message.jitterCurrent);
@@ -2782,31 +2431,34 @@ export const RTPStats = {
2782
2431
  obj.gapHistogram = {};
2783
2432
  if (message.gapHistogram) {
2784
2433
  Object.entries(message.gapHistogram).forEach(([k, v]) => {
2785
- obj.gapHistogram[k] = v;
2434
+ obj.gapHistogram[k] = Math.round(v);
2786
2435
  });
2787
2436
  }
2788
- message.nacks !== undefined && (obj.nacks = message.nacks);
2789
- message.nackMisses !== undefined && (obj.nackMisses = message.nackMisses);
2790
- message.plis !== undefined && (obj.plis = message.plis);
2437
+ message.nacks !== undefined && (obj.nacks = Math.round(message.nacks));
2438
+ message.nackMisses !== undefined &&
2439
+ (obj.nackMisses = Math.round(message.nackMisses));
2440
+ message.plis !== undefined && (obj.plis = Math.round(message.plis));
2791
2441
  message.lastPli !== undefined &&
2792
2442
  (obj.lastPli = message.lastPli.toISOString());
2793
- message.firs !== undefined && (obj.firs = message.firs);
2443
+ message.firs !== undefined && (obj.firs = Math.round(message.firs));
2794
2444
  message.lastFir !== undefined &&
2795
2445
  (obj.lastFir = message.lastFir.toISOString());
2796
- message.rttCurrent !== undefined && (obj.rttCurrent = message.rttCurrent);
2797
- message.rttMax !== undefined && (obj.rttMax = message.rttMax);
2798
- message.keyFrames !== undefined && (obj.keyFrames = message.keyFrames);
2446
+ message.rttCurrent !== undefined &&
2447
+ (obj.rttCurrent = Math.round(message.rttCurrent));
2448
+ message.rttMax !== undefined && (obj.rttMax = Math.round(message.rttMax));
2449
+ message.keyFrames !== undefined &&
2450
+ (obj.keyFrames = Math.round(message.keyFrames));
2799
2451
  message.lastKeyFrame !== undefined &&
2800
2452
  (obj.lastKeyFrame = message.lastKeyFrame.toISOString());
2801
2453
  message.layerLockPlis !== undefined &&
2802
- (obj.layerLockPlis = message.layerLockPlis);
2454
+ (obj.layerLockPlis = Math.round(message.layerLockPlis));
2803
2455
  message.lastLayerLockPli !== undefined &&
2804
2456
  (obj.lastLayerLockPli = message.lastLayerLockPli.toISOString());
2805
2457
  return obj;
2806
2458
  },
2807
2459
 
2808
- fromPartial(object: DeepPartial<RTPStats>): RTPStats {
2809
- const message = { ...baseRTPStats } as RTPStats;
2460
+ fromPartial<I extends Exact<DeepPartial<RTPStats>, I>>(object: I): RTPStats {
2461
+ const message = createBaseRTPStats();
2810
2462
  message.startTime = object.startTime ?? undefined;
2811
2463
  message.endTime = object.endTime ?? undefined;
2812
2464
  message.duration = object.duration ?? 0;
@@ -2830,14 +2482,14 @@ export const RTPStats = {
2830
2482
  message.frameRate = object.frameRate ?? 0;
2831
2483
  message.jitterCurrent = object.jitterCurrent ?? 0;
2832
2484
  message.jitterMax = object.jitterMax ?? 0;
2833
- message.gapHistogram = {};
2834
- if (object.gapHistogram !== undefined && object.gapHistogram !== null) {
2835
- Object.entries(object.gapHistogram).forEach(([key, value]) => {
2836
- if (value !== undefined) {
2837
- message.gapHistogram[Number(key)] = Number(value);
2838
- }
2839
- });
2840
- }
2485
+ message.gapHistogram = Object.entries(object.gapHistogram ?? {}).reduce<{
2486
+ [key: number]: number;
2487
+ }>((acc, [key, value]) => {
2488
+ if (value !== undefined) {
2489
+ acc[Number(key)] = Number(value);
2490
+ }
2491
+ return acc;
2492
+ }, {});
2841
2493
  message.nacks = object.nacks ?? 0;
2842
2494
  message.nackMisses = object.nackMisses ?? 0;
2843
2495
  message.plis = object.plis ?? 0;
@@ -2854,7 +2506,9 @@ export const RTPStats = {
2854
2506
  },
2855
2507
  };
2856
2508
 
2857
- const baseRTPStats_GapHistogramEntry: object = { key: 0, value: 0 };
2509
+ function createBaseRTPStats_GapHistogramEntry(): RTPStats_GapHistogramEntry {
2510
+ return { key: 0, value: 0 };
2511
+ }
2858
2512
 
2859
2513
  export const RTPStats_GapHistogramEntry = {
2860
2514
  encode(
@@ -2876,9 +2530,7 @@ export const RTPStats_GapHistogramEntry = {
2876
2530
  ): RTPStats_GapHistogramEntry {
2877
2531
  const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
2878
2532
  let end = length === undefined ? reader.len : reader.pos + length;
2879
- const message = {
2880
- ...baseRTPStats_GapHistogramEntry,
2881
- } as RTPStats_GapHistogramEntry;
2533
+ const message = createBaseRTPStats_GapHistogramEntry();
2882
2534
  while (reader.pos < end) {
2883
2535
  const tag = reader.uint32();
2884
2536
  switch (tag >>> 3) {
@@ -2897,35 +2549,23 @@ export const RTPStats_GapHistogramEntry = {
2897
2549
  },
2898
2550
 
2899
2551
  fromJSON(object: any): RTPStats_GapHistogramEntry {
2900
- const message = {
2901
- ...baseRTPStats_GapHistogramEntry,
2902
- } as RTPStats_GapHistogramEntry;
2903
- if (object.key !== undefined && object.key !== null) {
2904
- message.key = Number(object.key);
2905
- } else {
2906
- message.key = 0;
2907
- }
2908
- if (object.value !== undefined && object.value !== null) {
2909
- message.value = Number(object.value);
2910
- } else {
2911
- message.value = 0;
2912
- }
2913
- return message;
2552
+ return {
2553
+ key: isSet(object.key) ? Number(object.key) : 0,
2554
+ value: isSet(object.value) ? Number(object.value) : 0,
2555
+ };
2914
2556
  },
2915
2557
 
2916
2558
  toJSON(message: RTPStats_GapHistogramEntry): unknown {
2917
2559
  const obj: any = {};
2918
- message.key !== undefined && (obj.key = message.key);
2919
- message.value !== undefined && (obj.value = message.value);
2560
+ message.key !== undefined && (obj.key = Math.round(message.key));
2561
+ message.value !== undefined && (obj.value = Math.round(message.value));
2920
2562
  return obj;
2921
2563
  },
2922
2564
 
2923
- fromPartial(
2924
- object: DeepPartial<RTPStats_GapHistogramEntry>
2565
+ fromPartial<I extends Exact<DeepPartial<RTPStats_GapHistogramEntry>, I>>(
2566
+ object: I
2925
2567
  ): RTPStats_GapHistogramEntry {
2926
- const message = {
2927
- ...baseRTPStats_GapHistogramEntry,
2928
- } as RTPStats_GapHistogramEntry;
2568
+ const message = createBaseRTPStats_GapHistogramEntry();
2929
2569
  message.key = object.key ?? 0;
2930
2570
  message.value = object.value ?? 0;
2931
2571
  return message;
@@ -2974,6 +2614,7 @@ type Builtin =
2974
2614
  | number
2975
2615
  | boolean
2976
2616
  | undefined;
2617
+
2977
2618
  export type DeepPartial<T> = T extends Builtin
2978
2619
  ? T
2979
2620
  : T extends Array<infer U>
@@ -2984,6 +2625,14 @@ export type DeepPartial<T> = T extends Builtin
2984
2625
  ? { [K in keyof T]?: DeepPartial<T[K]> }
2985
2626
  : Partial<T>;
2986
2627
 
2628
+ type KeysOfUnion<T> = T extends T ? keyof T : never;
2629
+ export type Exact<P, I extends P> = P extends Builtin
2630
+ ? P
2631
+ : P & { [K in keyof P]: Exact<P[K], I[K]> } & Record<
2632
+ Exclude<keyof I, KeysOfUnion<P>>,
2633
+ never
2634
+ >;
2635
+
2987
2636
  function toTimestamp(date: Date): Timestamp {
2988
2637
  const seconds = date.getTime() / 1_000;
2989
2638
  const nanos = (date.getTime() % 1_000) * 1_000_000;
@@ -3017,3 +2666,11 @@ if (_m0.util.Long !== Long) {
3017
2666
  _m0.util.Long = Long as any;
3018
2667
  _m0.configure();
3019
2668
  }
2669
+
2670
+ function isObject(value: any): boolean {
2671
+ return typeof value === "object" && value !== null;
2672
+ }
2673
+
2674
+ function isSet(value: any): boolean {
2675
+ return value !== null && value !== undefined;
2676
+ }