@stinkycomputing/sesame-api-client 1.5.7 → 1.5.8

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.
package/dist/index.mjs CHANGED
@@ -471,6 +471,14 @@ var sesame = $root.sesame = (() => {
471
471
  AudioMixerChannel.prototype.level = 0;
472
472
  AudioMixerChannel.prototype.pan = 0;
473
473
  AudioMixerChannel.prototype.plugins = $util.emptyArray;
474
+ AudioMixerChannel.prototype.mute = false;
475
+ AudioMixerChannel.prototype.automationLevel = null;
476
+ AudioMixerChannel.prototype.automationMute = false;
477
+ let $oneOfFields;
478
+ Object.defineProperty(AudioMixerChannel.prototype, "_automationLevel", {
479
+ get: $util.oneOfGetter($oneOfFields = ["automationLevel"]),
480
+ set: $util.oneOfSetter($oneOfFields)
481
+ });
474
482
  AudioMixerChannel.create = function create(properties) {
475
483
  return new AudioMixerChannel(properties);
476
484
  };
@@ -517,6 +525,21 @@ var sesame = $root.sesame = (() => {
517
525
  /* id 7, wireType 2 =*/
518
526
  58
519
527
  ).fork()).ldelim();
528
+ if (message.mute != null && Object.hasOwnProperty.call(message, "mute"))
529
+ writer.uint32(
530
+ /* id 8, wireType 0 =*/
531
+ 64
532
+ ).bool(message.mute);
533
+ if (message.automationLevel != null && Object.hasOwnProperty.call(message, "automationLevel"))
534
+ writer.uint32(
535
+ /* id 9, wireType 5 =*/
536
+ 77
537
+ ).float(message.automationLevel);
538
+ if (message.automationMute != null && Object.hasOwnProperty.call(message, "automationMute"))
539
+ writer.uint32(
540
+ /* id 10, wireType 0 =*/
541
+ 80
542
+ ).bool(message.automationMute);
520
543
  return writer;
521
544
  };
522
545
  AudioMixerChannel.encodeDelimited = function encodeDelimited(message, writer) {
@@ -568,6 +591,18 @@ var sesame = $root.sesame = (() => {
568
591
  message.plugins.push($root.sesame.v1.audio.AudioPlugin.decode(reader, reader.uint32()));
569
592
  break;
570
593
  }
594
+ case 8: {
595
+ message.mute = reader.bool();
596
+ break;
597
+ }
598
+ case 9: {
599
+ message.automationLevel = reader.float();
600
+ break;
601
+ }
602
+ case 10: {
603
+ message.automationMute = reader.bool();
604
+ break;
605
+ }
571
606
  default:
572
607
  reader.skipType(tag & 7);
573
608
  break;
@@ -583,6 +618,7 @@ var sesame = $root.sesame = (() => {
583
618
  AudioMixerChannel.verify = function verify(message) {
584
619
  if (typeof message !== "object" || message === null)
585
620
  return "object expected";
621
+ let properties = {};
586
622
  if (message.id != null && message.hasOwnProperty("id")) {
587
623
  if (!$util.isString(message.id))
588
624
  return "id: string expected";
@@ -624,6 +660,19 @@ var sesame = $root.sesame = (() => {
624
660
  return "plugins." + error;
625
661
  }
626
662
  }
663
+ if (message.mute != null && message.hasOwnProperty("mute")) {
664
+ if (typeof message.mute !== "boolean")
665
+ return "mute: boolean expected";
666
+ }
667
+ if (message.automationLevel != null && message.hasOwnProperty("automationLevel")) {
668
+ properties._automationLevel = 1;
669
+ if (typeof message.automationLevel !== "number")
670
+ return "automationLevel: number expected";
671
+ }
672
+ if (message.automationMute != null && message.hasOwnProperty("automationMute")) {
673
+ if (typeof message.automationMute !== "boolean")
674
+ return "automationMute: boolean expected";
675
+ }
627
676
  return null;
628
677
  };
629
678
  AudioMixerChannel.fromObject = function fromObject(object) {
@@ -675,6 +724,12 @@ var sesame = $root.sesame = (() => {
675
724
  message.plugins[i] = $root.sesame.v1.audio.AudioPlugin.fromObject(object.plugins[i]);
676
725
  }
677
726
  }
727
+ if (object.mute != null)
728
+ message.mute = Boolean(object.mute);
729
+ if (object.automationLevel != null)
730
+ message.automationLevel = Number(object.automationLevel);
731
+ if (object.automationMute != null)
732
+ message.automationMute = Boolean(object.automationMute);
678
733
  return message;
679
734
  };
680
735
  AudioMixerChannel.toObject = function toObject(message, options) {
@@ -691,6 +746,8 @@ var sesame = $root.sesame = (() => {
691
746
  object.channelType = options.enums === String ? "AUDIO_MIXER_CHANNEL_TYPE_UNSPECIFIED" : 0;
692
747
  object.level = 0;
693
748
  object.pan = 0;
749
+ object.mute = false;
750
+ object.automationMute = false;
694
751
  }
695
752
  if (message.id != null && message.hasOwnProperty("id"))
696
753
  object.id = message.id;
@@ -712,6 +769,15 @@ var sesame = $root.sesame = (() => {
712
769
  for (let j = 0; j < message.plugins.length; ++j)
713
770
  object.plugins[j] = $root.sesame.v1.audio.AudioPlugin.toObject(message.plugins[j], options);
714
771
  }
772
+ if (message.mute != null && message.hasOwnProperty("mute"))
773
+ object.mute = message.mute;
774
+ if (message.automationLevel != null && message.hasOwnProperty("automationLevel")) {
775
+ object.automationLevel = options.json && !isFinite(message.automationLevel) ? String(message.automationLevel) : message.automationLevel;
776
+ if (options.oneofs)
777
+ object._automationLevel = "automationLevel";
778
+ }
779
+ if (message.automationMute != null && message.hasOwnProperty("automationMute"))
780
+ object.automationMute = message.automationMute;
715
781
  return object;
716
782
  };
717
783
  AudioMixerChannel.prototype.toJSON = function toJSON() {
@@ -725,9 +791,162 @@ var sesame = $root.sesame = (() => {
725
791
  };
726
792
  return AudioMixerChannel;
727
793
  }();
794
+ audio.AudioMixerOutput = function() {
795
+ function AudioMixerOutput(properties) {
796
+ this.excludedChannelIds = [];
797
+ if (properties) {
798
+ for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)
799
+ if (properties[keys[i]] != null)
800
+ this[keys[i]] = properties[keys[i]];
801
+ }
802
+ }
803
+ AudioMixerOutput.prototype.id = "";
804
+ AudioMixerOutput.prototype.excludedChannelIds = $util.emptyArray;
805
+ AudioMixerOutput.prototype.includeMasterPlugins = null;
806
+ let $oneOfFields;
807
+ Object.defineProperty(AudioMixerOutput.prototype, "_includeMasterPlugins", {
808
+ get: $util.oneOfGetter($oneOfFields = ["includeMasterPlugins"]),
809
+ set: $util.oneOfSetter($oneOfFields)
810
+ });
811
+ AudioMixerOutput.create = function create(properties) {
812
+ return new AudioMixerOutput(properties);
813
+ };
814
+ AudioMixerOutput.encode = function encode(message, writer) {
815
+ if (!writer)
816
+ writer = $Writer.create();
817
+ if (message.id != null && Object.hasOwnProperty.call(message, "id"))
818
+ writer.uint32(
819
+ /* id 1, wireType 2 =*/
820
+ 10
821
+ ).string(message.id);
822
+ if (message.excludedChannelIds != null && message.excludedChannelIds.length)
823
+ for (let i = 0; i < message.excludedChannelIds.length; ++i)
824
+ writer.uint32(
825
+ /* id 2, wireType 2 =*/
826
+ 18
827
+ ).string(message.excludedChannelIds[i]);
828
+ if (message.includeMasterPlugins != null && Object.hasOwnProperty.call(message, "includeMasterPlugins"))
829
+ writer.uint32(
830
+ /* id 3, wireType 0 =*/
831
+ 24
832
+ ).bool(message.includeMasterPlugins);
833
+ return writer;
834
+ };
835
+ AudioMixerOutput.encodeDelimited = function encodeDelimited(message, writer) {
836
+ return this.encode(message, writer).ldelim();
837
+ };
838
+ AudioMixerOutput.decode = function decode(reader, length, error) {
839
+ if (!(reader instanceof $Reader))
840
+ reader = $Reader.create(reader);
841
+ let end = length === void 0 ? reader.len : reader.pos + length, message = new $root.sesame.v1.audio.AudioMixerOutput();
842
+ while (reader.pos < end) {
843
+ let tag = reader.uint32();
844
+ if (tag === error)
845
+ break;
846
+ switch (tag >>> 3) {
847
+ case 1: {
848
+ message.id = reader.string();
849
+ break;
850
+ }
851
+ case 2: {
852
+ if (!(message.excludedChannelIds && message.excludedChannelIds.length))
853
+ message.excludedChannelIds = [];
854
+ message.excludedChannelIds.push(reader.string());
855
+ break;
856
+ }
857
+ case 3: {
858
+ message.includeMasterPlugins = reader.bool();
859
+ break;
860
+ }
861
+ default:
862
+ reader.skipType(tag & 7);
863
+ break;
864
+ }
865
+ }
866
+ return message;
867
+ };
868
+ AudioMixerOutput.decodeDelimited = function decodeDelimited(reader) {
869
+ if (!(reader instanceof $Reader))
870
+ reader = new $Reader(reader);
871
+ return this.decode(reader, reader.uint32());
872
+ };
873
+ AudioMixerOutput.verify = function verify(message) {
874
+ if (typeof message !== "object" || message === null)
875
+ return "object expected";
876
+ let properties = {};
877
+ if (message.id != null && message.hasOwnProperty("id")) {
878
+ if (!$util.isString(message.id))
879
+ return "id: string expected";
880
+ }
881
+ if (message.excludedChannelIds != null && message.hasOwnProperty("excludedChannelIds")) {
882
+ if (!Array.isArray(message.excludedChannelIds))
883
+ return "excludedChannelIds: array expected";
884
+ for (let i = 0; i < message.excludedChannelIds.length; ++i)
885
+ if (!$util.isString(message.excludedChannelIds[i]))
886
+ return "excludedChannelIds: string[] expected";
887
+ }
888
+ if (message.includeMasterPlugins != null && message.hasOwnProperty("includeMasterPlugins")) {
889
+ properties._includeMasterPlugins = 1;
890
+ if (typeof message.includeMasterPlugins !== "boolean")
891
+ return "includeMasterPlugins: boolean expected";
892
+ }
893
+ return null;
894
+ };
895
+ AudioMixerOutput.fromObject = function fromObject(object) {
896
+ if (object instanceof $root.sesame.v1.audio.AudioMixerOutput)
897
+ return object;
898
+ let message = new $root.sesame.v1.audio.AudioMixerOutput();
899
+ if (object.id != null)
900
+ message.id = String(object.id);
901
+ if (object.excludedChannelIds) {
902
+ if (!Array.isArray(object.excludedChannelIds))
903
+ throw TypeError(".sesame.v1.audio.AudioMixerOutput.excludedChannelIds: array expected");
904
+ message.excludedChannelIds = [];
905
+ for (let i = 0; i < object.excludedChannelIds.length; ++i)
906
+ message.excludedChannelIds[i] = String(object.excludedChannelIds[i]);
907
+ }
908
+ if (object.includeMasterPlugins != null)
909
+ message.includeMasterPlugins = Boolean(object.includeMasterPlugins);
910
+ return message;
911
+ };
912
+ AudioMixerOutput.toObject = function toObject(message, options) {
913
+ if (!options)
914
+ options = {};
915
+ let object = {};
916
+ if (options.arrays || options.defaults)
917
+ object.excludedChannelIds = [];
918
+ if (options.defaults)
919
+ object.id = "";
920
+ if (message.id != null && message.hasOwnProperty("id"))
921
+ object.id = message.id;
922
+ if (message.excludedChannelIds && message.excludedChannelIds.length) {
923
+ object.excludedChannelIds = [];
924
+ for (let j = 0; j < message.excludedChannelIds.length; ++j)
925
+ object.excludedChannelIds[j] = message.excludedChannelIds[j];
926
+ }
927
+ if (message.includeMasterPlugins != null && message.hasOwnProperty("includeMasterPlugins")) {
928
+ object.includeMasterPlugins = message.includeMasterPlugins;
929
+ if (options.oneofs)
930
+ object._includeMasterPlugins = "includeMasterPlugins";
931
+ }
932
+ return object;
933
+ };
934
+ AudioMixerOutput.prototype.toJSON = function toJSON() {
935
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
936
+ };
937
+ AudioMixerOutput.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
938
+ if (typeUrlPrefix === void 0) {
939
+ typeUrlPrefix = "type.googleapis.com";
940
+ }
941
+ return typeUrlPrefix + "/sesame.v1.audio.AudioMixerOutput";
942
+ };
943
+ return AudioMixerOutput;
944
+ }();
728
945
  audio.AudioMixerConfig = function() {
729
946
  function AudioMixerConfig(properties) {
730
947
  this.channels = [];
948
+ this.outputs = [];
949
+ this.masterPlugins = [];
731
950
  if (properties) {
732
951
  for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)
733
952
  if (properties[keys[i]] != null)
@@ -737,6 +956,19 @@ var sesame = $root.sesame = (() => {
737
956
  AudioMixerConfig.prototype.channels = $util.emptyArray;
738
957
  AudioMixerConfig.prototype.outputType = 0;
739
958
  AudioMixerConfig.prototype.order = 0;
959
+ AudioMixerConfig.prototype.outputs = $util.emptyArray;
960
+ AudioMixerConfig.prototype.masterLevel = null;
961
+ AudioMixerConfig.prototype.masterAutomationLevel = null;
962
+ AudioMixerConfig.prototype.masterPlugins = $util.emptyArray;
963
+ let $oneOfFields;
964
+ Object.defineProperty(AudioMixerConfig.prototype, "_masterLevel", {
965
+ get: $util.oneOfGetter($oneOfFields = ["masterLevel"]),
966
+ set: $util.oneOfSetter($oneOfFields)
967
+ });
968
+ Object.defineProperty(AudioMixerConfig.prototype, "_masterAutomationLevel", {
969
+ get: $util.oneOfGetter($oneOfFields = ["masterAutomationLevel"]),
970
+ set: $util.oneOfSetter($oneOfFields)
971
+ });
740
972
  AudioMixerConfig.create = function create(properties) {
741
973
  return new AudioMixerConfig(properties);
742
974
  };
@@ -759,6 +991,28 @@ var sesame = $root.sesame = (() => {
759
991
  /* id 3, wireType 0 =*/
760
992
  24
761
993
  ).uint32(message.order);
994
+ if (message.outputs != null && message.outputs.length)
995
+ for (let i = 0; i < message.outputs.length; ++i)
996
+ $root.sesame.v1.audio.AudioMixerOutput.encode(message.outputs[i], writer.uint32(
997
+ /* id 4, wireType 2 =*/
998
+ 34
999
+ ).fork()).ldelim();
1000
+ if (message.masterLevel != null && Object.hasOwnProperty.call(message, "masterLevel"))
1001
+ writer.uint32(
1002
+ /* id 5, wireType 5 =*/
1003
+ 45
1004
+ ).float(message.masterLevel);
1005
+ if (message.masterAutomationLevel != null && Object.hasOwnProperty.call(message, "masterAutomationLevel"))
1006
+ writer.uint32(
1007
+ /* id 6, wireType 5 =*/
1008
+ 53
1009
+ ).float(message.masterAutomationLevel);
1010
+ if (message.masterPlugins != null && message.masterPlugins.length)
1011
+ for (let i = 0; i < message.masterPlugins.length; ++i)
1012
+ $root.sesame.v1.audio.AudioPlugin.encode(message.masterPlugins[i], writer.uint32(
1013
+ /* id 7, wireType 2 =*/
1014
+ 58
1015
+ ).fork()).ldelim();
762
1016
  return writer;
763
1017
  };
764
1018
  AudioMixerConfig.encodeDelimited = function encodeDelimited(message, writer) {
@@ -787,6 +1041,26 @@ var sesame = $root.sesame = (() => {
787
1041
  message.order = reader.uint32();
788
1042
  break;
789
1043
  }
1044
+ case 4: {
1045
+ if (!(message.outputs && message.outputs.length))
1046
+ message.outputs = [];
1047
+ message.outputs.push($root.sesame.v1.audio.AudioMixerOutput.decode(reader, reader.uint32()));
1048
+ break;
1049
+ }
1050
+ case 5: {
1051
+ message.masterLevel = reader.float();
1052
+ break;
1053
+ }
1054
+ case 6: {
1055
+ message.masterAutomationLevel = reader.float();
1056
+ break;
1057
+ }
1058
+ case 7: {
1059
+ if (!(message.masterPlugins && message.masterPlugins.length))
1060
+ message.masterPlugins = [];
1061
+ message.masterPlugins.push($root.sesame.v1.audio.AudioPlugin.decode(reader, reader.uint32()));
1062
+ break;
1063
+ }
790
1064
  default:
791
1065
  reader.skipType(tag & 7);
792
1066
  break;
@@ -802,6 +1076,7 @@ var sesame = $root.sesame = (() => {
802
1076
  AudioMixerConfig.verify = function verify(message) {
803
1077
  if (typeof message !== "object" || message === null)
804
1078
  return "object expected";
1079
+ let properties = {};
805
1080
  if (message.channels != null && message.hasOwnProperty("channels")) {
806
1081
  if (!Array.isArray(message.channels))
807
1082
  return "channels: array expected";
@@ -824,6 +1099,34 @@ var sesame = $root.sesame = (() => {
824
1099
  if (!$util.isInteger(message.order))
825
1100
  return "order: integer expected";
826
1101
  }
1102
+ if (message.outputs != null && message.hasOwnProperty("outputs")) {
1103
+ if (!Array.isArray(message.outputs))
1104
+ return "outputs: array expected";
1105
+ for (let i = 0; i < message.outputs.length; ++i) {
1106
+ let error = $root.sesame.v1.audio.AudioMixerOutput.verify(message.outputs[i]);
1107
+ if (error)
1108
+ return "outputs." + error;
1109
+ }
1110
+ }
1111
+ if (message.masterLevel != null && message.hasOwnProperty("masterLevel")) {
1112
+ properties._masterLevel = 1;
1113
+ if (typeof message.masterLevel !== "number")
1114
+ return "masterLevel: number expected";
1115
+ }
1116
+ if (message.masterAutomationLevel != null && message.hasOwnProperty("masterAutomationLevel")) {
1117
+ properties._masterAutomationLevel = 1;
1118
+ if (typeof message.masterAutomationLevel !== "number")
1119
+ return "masterAutomationLevel: number expected";
1120
+ }
1121
+ if (message.masterPlugins != null && message.hasOwnProperty("masterPlugins")) {
1122
+ if (!Array.isArray(message.masterPlugins))
1123
+ return "masterPlugins: array expected";
1124
+ for (let i = 0; i < message.masterPlugins.length; ++i) {
1125
+ let error = $root.sesame.v1.audio.AudioPlugin.verify(message.masterPlugins[i]);
1126
+ if (error)
1127
+ return "masterPlugins." + error;
1128
+ }
1129
+ }
827
1130
  return null;
828
1131
  };
829
1132
  AudioMixerConfig.fromObject = function fromObject(object) {
@@ -862,14 +1165,41 @@ var sesame = $root.sesame = (() => {
862
1165
  }
863
1166
  if (object.order != null)
864
1167
  message.order = object.order >>> 0;
1168
+ if (object.outputs) {
1169
+ if (!Array.isArray(object.outputs))
1170
+ throw TypeError(".sesame.v1.audio.AudioMixerConfig.outputs: array expected");
1171
+ message.outputs = [];
1172
+ for (let i = 0; i < object.outputs.length; ++i) {
1173
+ if (typeof object.outputs[i] !== "object")
1174
+ throw TypeError(".sesame.v1.audio.AudioMixerConfig.outputs: object expected");
1175
+ message.outputs[i] = $root.sesame.v1.audio.AudioMixerOutput.fromObject(object.outputs[i]);
1176
+ }
1177
+ }
1178
+ if (object.masterLevel != null)
1179
+ message.masterLevel = Number(object.masterLevel);
1180
+ if (object.masterAutomationLevel != null)
1181
+ message.masterAutomationLevel = Number(object.masterAutomationLevel);
1182
+ if (object.masterPlugins) {
1183
+ if (!Array.isArray(object.masterPlugins))
1184
+ throw TypeError(".sesame.v1.audio.AudioMixerConfig.masterPlugins: array expected");
1185
+ message.masterPlugins = [];
1186
+ for (let i = 0; i < object.masterPlugins.length; ++i) {
1187
+ if (typeof object.masterPlugins[i] !== "object")
1188
+ throw TypeError(".sesame.v1.audio.AudioMixerConfig.masterPlugins: object expected");
1189
+ message.masterPlugins[i] = $root.sesame.v1.audio.AudioPlugin.fromObject(object.masterPlugins[i]);
1190
+ }
1191
+ }
865
1192
  return message;
866
1193
  };
867
1194
  AudioMixerConfig.toObject = function toObject(message, options) {
868
1195
  if (!options)
869
1196
  options = {};
870
1197
  let object = {};
871
- if (options.arrays || options.defaults)
1198
+ if (options.arrays || options.defaults) {
872
1199
  object.channels = [];
1200
+ object.outputs = [];
1201
+ object.masterPlugins = [];
1202
+ }
873
1203
  if (options.defaults) {
874
1204
  object.outputType = options.enums === String ? "AUDIO_MIXER_CHANNEL_TYPE_UNSPECIFIED" : 0;
875
1205
  object.order = 0;
@@ -883,6 +1213,26 @@ var sesame = $root.sesame = (() => {
883
1213
  object.outputType = options.enums === String ? $root.sesame.v1.audio.AudioMixerChannelType[message.outputType] === void 0 ? message.outputType : $root.sesame.v1.audio.AudioMixerChannelType[message.outputType] : message.outputType;
884
1214
  if (message.order != null && message.hasOwnProperty("order"))
885
1215
  object.order = message.order;
1216
+ if (message.outputs && message.outputs.length) {
1217
+ object.outputs = [];
1218
+ for (let j = 0; j < message.outputs.length; ++j)
1219
+ object.outputs[j] = $root.sesame.v1.audio.AudioMixerOutput.toObject(message.outputs[j], options);
1220
+ }
1221
+ if (message.masterLevel != null && message.hasOwnProperty("masterLevel")) {
1222
+ object.masterLevel = options.json && !isFinite(message.masterLevel) ? String(message.masterLevel) : message.masterLevel;
1223
+ if (options.oneofs)
1224
+ object._masterLevel = "masterLevel";
1225
+ }
1226
+ if (message.masterAutomationLevel != null && message.hasOwnProperty("masterAutomationLevel")) {
1227
+ object.masterAutomationLevel = options.json && !isFinite(message.masterAutomationLevel) ? String(message.masterAutomationLevel) : message.masterAutomationLevel;
1228
+ if (options.oneofs)
1229
+ object._masterAutomationLevel = "masterAutomationLevel";
1230
+ }
1231
+ if (message.masterPlugins && message.masterPlugins.length) {
1232
+ object.masterPlugins = [];
1233
+ for (let j = 0; j < message.masterPlugins.length; ++j)
1234
+ object.masterPlugins[j] = $root.sesame.v1.audio.AudioPlugin.toObject(message.masterPlugins[j], options);
1235
+ }
886
1236
  return object;
887
1237
  };
888
1238
  AudioMixerConfig.prototype.toJSON = function toJSON() {
@@ -1594,6 +1944,11 @@ var sesame = $root.sesame = (() => {
1594
1944
  AudioChannelStatus.prototype.hasData = false;
1595
1945
  AudioChannelStatus.prototype.readErrors = 0;
1596
1946
  AudioChannelStatus.prototype.plugins = $util.emptyArray;
1947
+ AudioChannelStatus.prototype.mute = false;
1948
+ AudioChannelStatus.prototype.automationLevel = 0;
1949
+ AudioChannelStatus.prototype.automationMute = false;
1950
+ AudioChannelStatus.prototype.effectiveLevel = 0;
1951
+ AudioChannelStatus.prototype.effectiveMute = false;
1597
1952
  AudioChannelStatus.create = function create(properties) {
1598
1953
  return new AudioChannelStatus(properties);
1599
1954
  };
@@ -1645,6 +2000,31 @@ var sesame = $root.sesame = (() => {
1645
2000
  /* id 8, wireType 2 =*/
1646
2001
  66
1647
2002
  ).fork()).ldelim();
2003
+ if (message.mute != null && Object.hasOwnProperty.call(message, "mute"))
2004
+ writer.uint32(
2005
+ /* id 9, wireType 0 =*/
2006
+ 72
2007
+ ).bool(message.mute);
2008
+ if (message.automationLevel != null && Object.hasOwnProperty.call(message, "automationLevel"))
2009
+ writer.uint32(
2010
+ /* id 10, wireType 5 =*/
2011
+ 85
2012
+ ).float(message.automationLevel);
2013
+ if (message.automationMute != null && Object.hasOwnProperty.call(message, "automationMute"))
2014
+ writer.uint32(
2015
+ /* id 11, wireType 0 =*/
2016
+ 88
2017
+ ).bool(message.automationMute);
2018
+ if (message.effectiveLevel != null && Object.hasOwnProperty.call(message, "effectiveLevel"))
2019
+ writer.uint32(
2020
+ /* id 12, wireType 5 =*/
2021
+ 101
2022
+ ).float(message.effectiveLevel);
2023
+ if (message.effectiveMute != null && Object.hasOwnProperty.call(message, "effectiveMute"))
2024
+ writer.uint32(
2025
+ /* id 13, wireType 0 =*/
2026
+ 104
2027
+ ).bool(message.effectiveMute);
1648
2028
  return writer;
1649
2029
  };
1650
2030
  AudioChannelStatus.encodeDelimited = function encodeDelimited(message, writer) {
@@ -1700,6 +2080,26 @@ var sesame = $root.sesame = (() => {
1700
2080
  message.plugins.push($root.sesame.v1.audio.AudioChannelPluginStatus.decode(reader, reader.uint32()));
1701
2081
  break;
1702
2082
  }
2083
+ case 9: {
2084
+ message.mute = reader.bool();
2085
+ break;
2086
+ }
2087
+ case 10: {
2088
+ message.automationLevel = reader.float();
2089
+ break;
2090
+ }
2091
+ case 11: {
2092
+ message.automationMute = reader.bool();
2093
+ break;
2094
+ }
2095
+ case 12: {
2096
+ message.effectiveLevel = reader.float();
2097
+ break;
2098
+ }
2099
+ case 13: {
2100
+ message.effectiveMute = reader.bool();
2101
+ break;
2102
+ }
1703
2103
  default:
1704
2104
  reader.skipType(tag & 7);
1705
2105
  break;
@@ -1760,6 +2160,26 @@ var sesame = $root.sesame = (() => {
1760
2160
  return "plugins." + error;
1761
2161
  }
1762
2162
  }
2163
+ if (message.mute != null && message.hasOwnProperty("mute")) {
2164
+ if (typeof message.mute !== "boolean")
2165
+ return "mute: boolean expected";
2166
+ }
2167
+ if (message.automationLevel != null && message.hasOwnProperty("automationLevel")) {
2168
+ if (typeof message.automationLevel !== "number")
2169
+ return "automationLevel: number expected";
2170
+ }
2171
+ if (message.automationMute != null && message.hasOwnProperty("automationMute")) {
2172
+ if (typeof message.automationMute !== "boolean")
2173
+ return "automationMute: boolean expected";
2174
+ }
2175
+ if (message.effectiveLevel != null && message.hasOwnProperty("effectiveLevel")) {
2176
+ if (typeof message.effectiveLevel !== "number")
2177
+ return "effectiveLevel: number expected";
2178
+ }
2179
+ if (message.effectiveMute != null && message.hasOwnProperty("effectiveMute")) {
2180
+ if (typeof message.effectiveMute !== "boolean")
2181
+ return "effectiveMute: boolean expected";
2182
+ }
1763
2183
  return null;
1764
2184
  };
1765
2185
  AudioChannelStatus.fromObject = function fromObject(object) {
@@ -1813,6 +2233,16 @@ var sesame = $root.sesame = (() => {
1813
2233
  message.plugins[i] = $root.sesame.v1.audio.AudioChannelPluginStatus.fromObject(object.plugins[i]);
1814
2234
  }
1815
2235
  }
2236
+ if (object.mute != null)
2237
+ message.mute = Boolean(object.mute);
2238
+ if (object.automationLevel != null)
2239
+ message.automationLevel = Number(object.automationLevel);
2240
+ if (object.automationMute != null)
2241
+ message.automationMute = Boolean(object.automationMute);
2242
+ if (object.effectiveLevel != null)
2243
+ message.effectiveLevel = Number(object.effectiveLevel);
2244
+ if (object.effectiveMute != null)
2245
+ message.effectiveMute = Boolean(object.effectiveMute);
1816
2246
  return message;
1817
2247
  };
1818
2248
  AudioChannelStatus.toObject = function toObject(message, options) {
@@ -1830,6 +2260,11 @@ var sesame = $root.sesame = (() => {
1830
2260
  object.pan = 0;
1831
2261
  object.hasData = false;
1832
2262
  object.readErrors = 0;
2263
+ object.mute = false;
2264
+ object.automationLevel = 0;
2265
+ object.automationMute = false;
2266
+ object.effectiveLevel = 0;
2267
+ object.effectiveMute = false;
1833
2268
  }
1834
2269
  if (message.id != null && message.hasOwnProperty("id"))
1835
2270
  object.id = message.id;
@@ -1853,6 +2288,16 @@ var sesame = $root.sesame = (() => {
1853
2288
  for (let j = 0; j < message.plugins.length; ++j)
1854
2289
  object.plugins[j] = $root.sesame.v1.audio.AudioChannelPluginStatus.toObject(message.plugins[j], options);
1855
2290
  }
2291
+ if (message.mute != null && message.hasOwnProperty("mute"))
2292
+ object.mute = message.mute;
2293
+ if (message.automationLevel != null && message.hasOwnProperty("automationLevel"))
2294
+ object.automationLevel = options.json && !isFinite(message.automationLevel) ? String(message.automationLevel) : message.automationLevel;
2295
+ if (message.automationMute != null && message.hasOwnProperty("automationMute"))
2296
+ object.automationMute = message.automationMute;
2297
+ if (message.effectiveLevel != null && message.hasOwnProperty("effectiveLevel"))
2298
+ object.effectiveLevel = options.json && !isFinite(message.effectiveLevel) ? String(message.effectiveLevel) : message.effectiveLevel;
2299
+ if (message.effectiveMute != null && message.hasOwnProperty("effectiveMute"))
2300
+ object.effectiveMute = message.effectiveMute;
1856
2301
  return object;
1857
2302
  };
1858
2303
  AudioChannelStatus.prototype.toJSON = function toJSON() {
@@ -1866,24 +2311,25 @@ var sesame = $root.sesame = (() => {
1866
2311
  };
1867
2312
  return AudioChannelStatus;
1868
2313
  }();
1869
- audio.AudioMixerStatus = function() {
1870
- function AudioMixerStatus(properties) {
2314
+ audio.AudioMixerOutputStatus = function() {
2315
+ function AudioMixerOutputStatus(properties) {
1871
2316
  this.vu = [];
1872
- this.channels = [];
2317
+ this.excludedChannelIds = [];
1873
2318
  if (properties) {
1874
2319
  for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)
1875
2320
  if (properties[keys[i]] != null)
1876
2321
  this[keys[i]] = properties[keys[i]];
1877
2322
  }
1878
2323
  }
1879
- AudioMixerStatus.prototype.id = "";
1880
- AudioMixerStatus.prototype.outputType = 0;
1881
- AudioMixerStatus.prototype.vu = $util.emptyArray;
1882
- AudioMixerStatus.prototype.channels = $util.emptyArray;
1883
- AudioMixerStatus.create = function create(properties) {
1884
- return new AudioMixerStatus(properties);
1885
- };
1886
- AudioMixerStatus.encode = function encode(message, writer) {
2324
+ AudioMixerOutputStatus.prototype.id = "";
2325
+ AudioMixerOutputStatus.prototype.outputType = 0;
2326
+ AudioMixerOutputStatus.prototype.vu = $util.emptyArray;
2327
+ AudioMixerOutputStatus.prototype.excludedChannelIds = $util.emptyArray;
2328
+ AudioMixerOutputStatus.prototype.includeMasterPlugins = false;
2329
+ AudioMixerOutputStatus.create = function create(properties) {
2330
+ return new AudioMixerOutputStatus(properties);
2331
+ };
2332
+ AudioMixerOutputStatus.encode = function encode(message, writer) {
1887
2333
  if (!writer)
1888
2334
  writer = $Writer.create();
1889
2335
  if (message.id != null && Object.hasOwnProperty.call(message, "id"))
@@ -1905,21 +2351,26 @@ var sesame = $root.sesame = (() => {
1905
2351
  writer.float(message.vu[i]);
1906
2352
  writer.ldelim();
1907
2353
  }
1908
- if (message.channels != null && message.channels.length)
1909
- for (let i = 0; i < message.channels.length; ++i)
1910
- $root.sesame.v1.audio.AudioChannelStatus.encode(message.channels[i], writer.uint32(
2354
+ if (message.excludedChannelIds != null && message.excludedChannelIds.length)
2355
+ for (let i = 0; i < message.excludedChannelIds.length; ++i)
2356
+ writer.uint32(
1911
2357
  /* id 4, wireType 2 =*/
1912
2358
  34
1913
- ).fork()).ldelim();
2359
+ ).string(message.excludedChannelIds[i]);
2360
+ if (message.includeMasterPlugins != null && Object.hasOwnProperty.call(message, "includeMasterPlugins"))
2361
+ writer.uint32(
2362
+ /* id 5, wireType 0 =*/
2363
+ 40
2364
+ ).bool(message.includeMasterPlugins);
1914
2365
  return writer;
1915
2366
  };
1916
- AudioMixerStatus.encodeDelimited = function encodeDelimited(message, writer) {
2367
+ AudioMixerOutputStatus.encodeDelimited = function encodeDelimited(message, writer) {
1917
2368
  return this.encode(message, writer).ldelim();
1918
2369
  };
1919
- AudioMixerStatus.decode = function decode(reader, length, error) {
2370
+ AudioMixerOutputStatus.decode = function decode(reader, length, error) {
1920
2371
  if (!(reader instanceof $Reader))
1921
2372
  reader = $Reader.create(reader);
1922
- let end = length === void 0 ? reader.len : reader.pos + length, message = new $root.sesame.v1.audio.AudioMixerStatus();
2373
+ let end = length === void 0 ? reader.len : reader.pos + length, message = new $root.sesame.v1.audio.AudioMixerOutputStatus();
1923
2374
  while (reader.pos < end) {
1924
2375
  let tag = reader.uint32();
1925
2376
  if (tag === error)
@@ -1945,9 +2396,13 @@ var sesame = $root.sesame = (() => {
1945
2396
  break;
1946
2397
  }
1947
2398
  case 4: {
1948
- if (!(message.channels && message.channels.length))
1949
- message.channels = [];
1950
- message.channels.push($root.sesame.v1.audio.AudioChannelStatus.decode(reader, reader.uint32()));
2399
+ if (!(message.excludedChannelIds && message.excludedChannelIds.length))
2400
+ message.excludedChannelIds = [];
2401
+ message.excludedChannelIds.push(reader.string());
2402
+ break;
2403
+ }
2404
+ case 5: {
2405
+ message.includeMasterPlugins = reader.bool();
1951
2406
  break;
1952
2407
  }
1953
2408
  default:
@@ -1957,12 +2412,12 @@ var sesame = $root.sesame = (() => {
1957
2412
  }
1958
2413
  return message;
1959
2414
  };
1960
- AudioMixerStatus.decodeDelimited = function decodeDelimited(reader) {
2415
+ AudioMixerOutputStatus.decodeDelimited = function decodeDelimited(reader) {
1961
2416
  if (!(reader instanceof $Reader))
1962
2417
  reader = new $Reader(reader);
1963
2418
  return this.decode(reader, reader.uint32());
1964
2419
  };
1965
- AudioMixerStatus.verify = function verify(message) {
2420
+ AudioMixerOutputStatus.verify = function verify(message) {
1966
2421
  if (typeof message !== "object" || message === null)
1967
2422
  return "object expected";
1968
2423
  if (message.id != null && message.hasOwnProperty("id")) {
@@ -1985,15 +2440,321 @@ var sesame = $root.sesame = (() => {
1985
2440
  if (typeof message.vu[i] !== "number")
1986
2441
  return "vu: number[] expected";
1987
2442
  }
1988
- if (message.channels != null && message.hasOwnProperty("channels")) {
1989
- if (!Array.isArray(message.channels))
1990
- return "channels: array expected";
1991
- for (let i = 0; i < message.channels.length; ++i) {
1992
- let error = $root.sesame.v1.audio.AudioChannelStatus.verify(message.channels[i]);
2443
+ if (message.excludedChannelIds != null && message.hasOwnProperty("excludedChannelIds")) {
2444
+ if (!Array.isArray(message.excludedChannelIds))
2445
+ return "excludedChannelIds: array expected";
2446
+ for (let i = 0; i < message.excludedChannelIds.length; ++i)
2447
+ if (!$util.isString(message.excludedChannelIds[i]))
2448
+ return "excludedChannelIds: string[] expected";
2449
+ }
2450
+ if (message.includeMasterPlugins != null && message.hasOwnProperty("includeMasterPlugins")) {
2451
+ if (typeof message.includeMasterPlugins !== "boolean")
2452
+ return "includeMasterPlugins: boolean expected";
2453
+ }
2454
+ return null;
2455
+ };
2456
+ AudioMixerOutputStatus.fromObject = function fromObject(object) {
2457
+ if (object instanceof $root.sesame.v1.audio.AudioMixerOutputStatus)
2458
+ return object;
2459
+ let message = new $root.sesame.v1.audio.AudioMixerOutputStatus();
2460
+ if (object.id != null)
2461
+ message.id = String(object.id);
2462
+ switch (object.outputType) {
2463
+ default:
2464
+ if (typeof object.outputType === "number") {
2465
+ message.outputType = object.outputType;
2466
+ break;
2467
+ }
2468
+ break;
2469
+ case "AUDIO_MIXER_CHANNEL_TYPE_UNSPECIFIED":
2470
+ case 0:
2471
+ message.outputType = 0;
2472
+ break;
2473
+ case "AUDIO_MIXER_CHANNEL_TYPE_MONO":
2474
+ case 1:
2475
+ message.outputType = 1;
2476
+ break;
2477
+ case "AUDIO_MIXER_CHANNEL_TYPE_STEREO":
2478
+ case 2:
2479
+ message.outputType = 2;
2480
+ break;
2481
+ }
2482
+ if (object.vu) {
2483
+ if (!Array.isArray(object.vu))
2484
+ throw TypeError(".sesame.v1.audio.AudioMixerOutputStatus.vu: array expected");
2485
+ message.vu = [];
2486
+ for (let i = 0; i < object.vu.length; ++i)
2487
+ message.vu[i] = Number(object.vu[i]);
2488
+ }
2489
+ if (object.excludedChannelIds) {
2490
+ if (!Array.isArray(object.excludedChannelIds))
2491
+ throw TypeError(".sesame.v1.audio.AudioMixerOutputStatus.excludedChannelIds: array expected");
2492
+ message.excludedChannelIds = [];
2493
+ for (let i = 0; i < object.excludedChannelIds.length; ++i)
2494
+ message.excludedChannelIds[i] = String(object.excludedChannelIds[i]);
2495
+ }
2496
+ if (object.includeMasterPlugins != null)
2497
+ message.includeMasterPlugins = Boolean(object.includeMasterPlugins);
2498
+ return message;
2499
+ };
2500
+ AudioMixerOutputStatus.toObject = function toObject(message, options) {
2501
+ if (!options)
2502
+ options = {};
2503
+ let object = {};
2504
+ if (options.arrays || options.defaults) {
2505
+ object.vu = [];
2506
+ object.excludedChannelIds = [];
2507
+ }
2508
+ if (options.defaults) {
2509
+ object.id = "";
2510
+ object.outputType = options.enums === String ? "AUDIO_MIXER_CHANNEL_TYPE_UNSPECIFIED" : 0;
2511
+ object.includeMasterPlugins = false;
2512
+ }
2513
+ if (message.id != null && message.hasOwnProperty("id"))
2514
+ object.id = message.id;
2515
+ if (message.outputType != null && message.hasOwnProperty("outputType"))
2516
+ object.outputType = options.enums === String ? $root.sesame.v1.audio.AudioMixerChannelType[message.outputType] === void 0 ? message.outputType : $root.sesame.v1.audio.AudioMixerChannelType[message.outputType] : message.outputType;
2517
+ if (message.vu && message.vu.length) {
2518
+ object.vu = [];
2519
+ for (let j = 0; j < message.vu.length; ++j)
2520
+ object.vu[j] = options.json && !isFinite(message.vu[j]) ? String(message.vu[j]) : message.vu[j];
2521
+ }
2522
+ if (message.excludedChannelIds && message.excludedChannelIds.length) {
2523
+ object.excludedChannelIds = [];
2524
+ for (let j = 0; j < message.excludedChannelIds.length; ++j)
2525
+ object.excludedChannelIds[j] = message.excludedChannelIds[j];
2526
+ }
2527
+ if (message.includeMasterPlugins != null && message.hasOwnProperty("includeMasterPlugins"))
2528
+ object.includeMasterPlugins = message.includeMasterPlugins;
2529
+ return object;
2530
+ };
2531
+ AudioMixerOutputStatus.prototype.toJSON = function toJSON() {
2532
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
2533
+ };
2534
+ AudioMixerOutputStatus.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
2535
+ if (typeUrlPrefix === void 0) {
2536
+ typeUrlPrefix = "type.googleapis.com";
2537
+ }
2538
+ return typeUrlPrefix + "/sesame.v1.audio.AudioMixerOutputStatus";
2539
+ };
2540
+ return AudioMixerOutputStatus;
2541
+ }();
2542
+ audio.AudioMixerStatus = function() {
2543
+ function AudioMixerStatus(properties) {
2544
+ this.vu = [];
2545
+ this.channels = [];
2546
+ this.masterPlugins = [];
2547
+ this.outputs = [];
2548
+ if (properties) {
2549
+ for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)
2550
+ if (properties[keys[i]] != null)
2551
+ this[keys[i]] = properties[keys[i]];
2552
+ }
2553
+ }
2554
+ AudioMixerStatus.prototype.id = "";
2555
+ AudioMixerStatus.prototype.outputType = 0;
2556
+ AudioMixerStatus.prototype.vu = $util.emptyArray;
2557
+ AudioMixerStatus.prototype.channels = $util.emptyArray;
2558
+ AudioMixerStatus.prototype.masterLevel = 0;
2559
+ AudioMixerStatus.prototype.masterAutomationLevel = 0;
2560
+ AudioMixerStatus.prototype.masterEffectiveLevel = 0;
2561
+ AudioMixerStatus.prototype.masterPlugins = $util.emptyArray;
2562
+ AudioMixerStatus.prototype.outputs = $util.emptyArray;
2563
+ AudioMixerStatus.create = function create(properties) {
2564
+ return new AudioMixerStatus(properties);
2565
+ };
2566
+ AudioMixerStatus.encode = function encode(message, writer) {
2567
+ if (!writer)
2568
+ writer = $Writer.create();
2569
+ if (message.id != null && Object.hasOwnProperty.call(message, "id"))
2570
+ writer.uint32(
2571
+ /* id 1, wireType 2 =*/
2572
+ 10
2573
+ ).string(message.id);
2574
+ if (message.outputType != null && Object.hasOwnProperty.call(message, "outputType"))
2575
+ writer.uint32(
2576
+ /* id 2, wireType 0 =*/
2577
+ 16
2578
+ ).int32(message.outputType);
2579
+ if (message.vu != null && message.vu.length) {
2580
+ writer.uint32(
2581
+ /* id 3, wireType 2 =*/
2582
+ 26
2583
+ ).fork();
2584
+ for (let i = 0; i < message.vu.length; ++i)
2585
+ writer.float(message.vu[i]);
2586
+ writer.ldelim();
2587
+ }
2588
+ if (message.channels != null && message.channels.length)
2589
+ for (let i = 0; i < message.channels.length; ++i)
2590
+ $root.sesame.v1.audio.AudioChannelStatus.encode(message.channels[i], writer.uint32(
2591
+ /* id 4, wireType 2 =*/
2592
+ 34
2593
+ ).fork()).ldelim();
2594
+ if (message.masterLevel != null && Object.hasOwnProperty.call(message, "masterLevel"))
2595
+ writer.uint32(
2596
+ /* id 5, wireType 5 =*/
2597
+ 45
2598
+ ).float(message.masterLevel);
2599
+ if (message.masterAutomationLevel != null && Object.hasOwnProperty.call(message, "masterAutomationLevel"))
2600
+ writer.uint32(
2601
+ /* id 6, wireType 5 =*/
2602
+ 53
2603
+ ).float(message.masterAutomationLevel);
2604
+ if (message.masterEffectiveLevel != null && Object.hasOwnProperty.call(message, "masterEffectiveLevel"))
2605
+ writer.uint32(
2606
+ /* id 7, wireType 5 =*/
2607
+ 61
2608
+ ).float(message.masterEffectiveLevel);
2609
+ if (message.masterPlugins != null && message.masterPlugins.length)
2610
+ for (let i = 0; i < message.masterPlugins.length; ++i)
2611
+ $root.sesame.v1.audio.AudioChannelPluginStatus.encode(message.masterPlugins[i], writer.uint32(
2612
+ /* id 8, wireType 2 =*/
2613
+ 66
2614
+ ).fork()).ldelim();
2615
+ if (message.outputs != null && message.outputs.length)
2616
+ for (let i = 0; i < message.outputs.length; ++i)
2617
+ $root.sesame.v1.audio.AudioMixerOutputStatus.encode(message.outputs[i], writer.uint32(
2618
+ /* id 9, wireType 2 =*/
2619
+ 74
2620
+ ).fork()).ldelim();
2621
+ return writer;
2622
+ };
2623
+ AudioMixerStatus.encodeDelimited = function encodeDelimited(message, writer) {
2624
+ return this.encode(message, writer).ldelim();
2625
+ };
2626
+ AudioMixerStatus.decode = function decode(reader, length, error) {
2627
+ if (!(reader instanceof $Reader))
2628
+ reader = $Reader.create(reader);
2629
+ let end = length === void 0 ? reader.len : reader.pos + length, message = new $root.sesame.v1.audio.AudioMixerStatus();
2630
+ while (reader.pos < end) {
2631
+ let tag = reader.uint32();
2632
+ if (tag === error)
2633
+ break;
2634
+ switch (tag >>> 3) {
2635
+ case 1: {
2636
+ message.id = reader.string();
2637
+ break;
2638
+ }
2639
+ case 2: {
2640
+ message.outputType = reader.int32();
2641
+ break;
2642
+ }
2643
+ case 3: {
2644
+ if (!(message.vu && message.vu.length))
2645
+ message.vu = [];
2646
+ if ((tag & 7) === 2) {
2647
+ let end2 = reader.uint32() + reader.pos;
2648
+ while (reader.pos < end2)
2649
+ message.vu.push(reader.float());
2650
+ } else
2651
+ message.vu.push(reader.float());
2652
+ break;
2653
+ }
2654
+ case 4: {
2655
+ if (!(message.channels && message.channels.length))
2656
+ message.channels = [];
2657
+ message.channels.push($root.sesame.v1.audio.AudioChannelStatus.decode(reader, reader.uint32()));
2658
+ break;
2659
+ }
2660
+ case 5: {
2661
+ message.masterLevel = reader.float();
2662
+ break;
2663
+ }
2664
+ case 6: {
2665
+ message.masterAutomationLevel = reader.float();
2666
+ break;
2667
+ }
2668
+ case 7: {
2669
+ message.masterEffectiveLevel = reader.float();
2670
+ break;
2671
+ }
2672
+ case 8: {
2673
+ if (!(message.masterPlugins && message.masterPlugins.length))
2674
+ message.masterPlugins = [];
2675
+ message.masterPlugins.push($root.sesame.v1.audio.AudioChannelPluginStatus.decode(reader, reader.uint32()));
2676
+ break;
2677
+ }
2678
+ case 9: {
2679
+ if (!(message.outputs && message.outputs.length))
2680
+ message.outputs = [];
2681
+ message.outputs.push($root.sesame.v1.audio.AudioMixerOutputStatus.decode(reader, reader.uint32()));
2682
+ break;
2683
+ }
2684
+ default:
2685
+ reader.skipType(tag & 7);
2686
+ break;
2687
+ }
2688
+ }
2689
+ return message;
2690
+ };
2691
+ AudioMixerStatus.decodeDelimited = function decodeDelimited(reader) {
2692
+ if (!(reader instanceof $Reader))
2693
+ reader = new $Reader(reader);
2694
+ return this.decode(reader, reader.uint32());
2695
+ };
2696
+ AudioMixerStatus.verify = function verify(message) {
2697
+ if (typeof message !== "object" || message === null)
2698
+ return "object expected";
2699
+ if (message.id != null && message.hasOwnProperty("id")) {
2700
+ if (!$util.isString(message.id))
2701
+ return "id: string expected";
2702
+ }
2703
+ if (message.outputType != null && message.hasOwnProperty("outputType"))
2704
+ switch (message.outputType) {
2705
+ default:
2706
+ return "outputType: enum value expected";
2707
+ case 0:
2708
+ case 1:
2709
+ case 2:
2710
+ break;
2711
+ }
2712
+ if (message.vu != null && message.hasOwnProperty("vu")) {
2713
+ if (!Array.isArray(message.vu))
2714
+ return "vu: array expected";
2715
+ for (let i = 0; i < message.vu.length; ++i)
2716
+ if (typeof message.vu[i] !== "number")
2717
+ return "vu: number[] expected";
2718
+ }
2719
+ if (message.channels != null && message.hasOwnProperty("channels")) {
2720
+ if (!Array.isArray(message.channels))
2721
+ return "channels: array expected";
2722
+ for (let i = 0; i < message.channels.length; ++i) {
2723
+ let error = $root.sesame.v1.audio.AudioChannelStatus.verify(message.channels[i]);
1993
2724
  if (error)
1994
2725
  return "channels." + error;
1995
2726
  }
1996
2727
  }
2728
+ if (message.masterLevel != null && message.hasOwnProperty("masterLevel")) {
2729
+ if (typeof message.masterLevel !== "number")
2730
+ return "masterLevel: number expected";
2731
+ }
2732
+ if (message.masterAutomationLevel != null && message.hasOwnProperty("masterAutomationLevel")) {
2733
+ if (typeof message.masterAutomationLevel !== "number")
2734
+ return "masterAutomationLevel: number expected";
2735
+ }
2736
+ if (message.masterEffectiveLevel != null && message.hasOwnProperty("masterEffectiveLevel")) {
2737
+ if (typeof message.masterEffectiveLevel !== "number")
2738
+ return "masterEffectiveLevel: number expected";
2739
+ }
2740
+ if (message.masterPlugins != null && message.hasOwnProperty("masterPlugins")) {
2741
+ if (!Array.isArray(message.masterPlugins))
2742
+ return "masterPlugins: array expected";
2743
+ for (let i = 0; i < message.masterPlugins.length; ++i) {
2744
+ let error = $root.sesame.v1.audio.AudioChannelPluginStatus.verify(message.masterPlugins[i]);
2745
+ if (error)
2746
+ return "masterPlugins." + error;
2747
+ }
2748
+ }
2749
+ if (message.outputs != null && message.hasOwnProperty("outputs")) {
2750
+ if (!Array.isArray(message.outputs))
2751
+ return "outputs: array expected";
2752
+ for (let i = 0; i < message.outputs.length; ++i) {
2753
+ let error = $root.sesame.v1.audio.AudioMixerOutputStatus.verify(message.outputs[i]);
2754
+ if (error)
2755
+ return "outputs." + error;
2756
+ }
2757
+ }
1997
2758
  return null;
1998
2759
  };
1999
2760
  AudioMixerStatus.fromObject = function fromObject(object) {
@@ -2039,6 +2800,32 @@ var sesame = $root.sesame = (() => {
2039
2800
  message.channels[i] = $root.sesame.v1.audio.AudioChannelStatus.fromObject(object.channels[i]);
2040
2801
  }
2041
2802
  }
2803
+ if (object.masterLevel != null)
2804
+ message.masterLevel = Number(object.masterLevel);
2805
+ if (object.masterAutomationLevel != null)
2806
+ message.masterAutomationLevel = Number(object.masterAutomationLevel);
2807
+ if (object.masterEffectiveLevel != null)
2808
+ message.masterEffectiveLevel = Number(object.masterEffectiveLevel);
2809
+ if (object.masterPlugins) {
2810
+ if (!Array.isArray(object.masterPlugins))
2811
+ throw TypeError(".sesame.v1.audio.AudioMixerStatus.masterPlugins: array expected");
2812
+ message.masterPlugins = [];
2813
+ for (let i = 0; i < object.masterPlugins.length; ++i) {
2814
+ if (typeof object.masterPlugins[i] !== "object")
2815
+ throw TypeError(".sesame.v1.audio.AudioMixerStatus.masterPlugins: object expected");
2816
+ message.masterPlugins[i] = $root.sesame.v1.audio.AudioChannelPluginStatus.fromObject(object.masterPlugins[i]);
2817
+ }
2818
+ }
2819
+ if (object.outputs) {
2820
+ if (!Array.isArray(object.outputs))
2821
+ throw TypeError(".sesame.v1.audio.AudioMixerStatus.outputs: array expected");
2822
+ message.outputs = [];
2823
+ for (let i = 0; i < object.outputs.length; ++i) {
2824
+ if (typeof object.outputs[i] !== "object")
2825
+ throw TypeError(".sesame.v1.audio.AudioMixerStatus.outputs: object expected");
2826
+ message.outputs[i] = $root.sesame.v1.audio.AudioMixerOutputStatus.fromObject(object.outputs[i]);
2827
+ }
2828
+ }
2042
2829
  return message;
2043
2830
  };
2044
2831
  AudioMixerStatus.toObject = function toObject(message, options) {
@@ -2048,10 +2835,15 @@ var sesame = $root.sesame = (() => {
2048
2835
  if (options.arrays || options.defaults) {
2049
2836
  object.vu = [];
2050
2837
  object.channels = [];
2838
+ object.masterPlugins = [];
2839
+ object.outputs = [];
2051
2840
  }
2052
2841
  if (options.defaults) {
2053
2842
  object.id = "";
2054
2843
  object.outputType = options.enums === String ? "AUDIO_MIXER_CHANNEL_TYPE_UNSPECIFIED" : 0;
2844
+ object.masterLevel = 0;
2845
+ object.masterAutomationLevel = 0;
2846
+ object.masterEffectiveLevel = 0;
2055
2847
  }
2056
2848
  if (message.id != null && message.hasOwnProperty("id"))
2057
2849
  object.id = message.id;
@@ -2067,6 +2859,22 @@ var sesame = $root.sesame = (() => {
2067
2859
  for (let j = 0; j < message.channels.length; ++j)
2068
2860
  object.channels[j] = $root.sesame.v1.audio.AudioChannelStatus.toObject(message.channels[j], options);
2069
2861
  }
2862
+ if (message.masterLevel != null && message.hasOwnProperty("masterLevel"))
2863
+ object.masterLevel = options.json && !isFinite(message.masterLevel) ? String(message.masterLevel) : message.masterLevel;
2864
+ if (message.masterAutomationLevel != null && message.hasOwnProperty("masterAutomationLevel"))
2865
+ object.masterAutomationLevel = options.json && !isFinite(message.masterAutomationLevel) ? String(message.masterAutomationLevel) : message.masterAutomationLevel;
2866
+ if (message.masterEffectiveLevel != null && message.hasOwnProperty("masterEffectiveLevel"))
2867
+ object.masterEffectiveLevel = options.json && !isFinite(message.masterEffectiveLevel) ? String(message.masterEffectiveLevel) : message.masterEffectiveLevel;
2868
+ if (message.masterPlugins && message.masterPlugins.length) {
2869
+ object.masterPlugins = [];
2870
+ for (let j = 0; j < message.masterPlugins.length; ++j)
2871
+ object.masterPlugins[j] = $root.sesame.v1.audio.AudioChannelPluginStatus.toObject(message.masterPlugins[j], options);
2872
+ }
2873
+ if (message.outputs && message.outputs.length) {
2874
+ object.outputs = [];
2875
+ for (let j = 0; j < message.outputs.length; ++j)
2876
+ object.outputs[j] = $root.sesame.v1.audio.AudioMixerOutputStatus.toObject(message.outputs[j], options);
2877
+ }
2070
2878
  return object;
2071
2879
  };
2072
2880
  AudioMixerStatus.prototype.toJSON = function toJSON() {
@@ -2221,6 +3029,9 @@ var sesame = $root.sesame = (() => {
2221
3029
  AudioChannelControlRequest.prototype.level = null;
2222
3030
  AudioChannelControlRequest.prototype.pan = null;
2223
3031
  AudioChannelControlRequest.prototype.plugins = $util.emptyArray;
3032
+ AudioChannelControlRequest.prototype.mute = null;
3033
+ AudioChannelControlRequest.prototype.automationLevel = null;
3034
+ AudioChannelControlRequest.prototype.automationMute = null;
2224
3035
  let $oneOfFields;
2225
3036
  Object.defineProperty(AudioChannelControlRequest.prototype, "_level", {
2226
3037
  get: $util.oneOfGetter($oneOfFields = ["level"]),
@@ -2230,11 +3041,23 @@ var sesame = $root.sesame = (() => {
2230
3041
  get: $util.oneOfGetter($oneOfFields = ["pan"]),
2231
3042
  set: $util.oneOfSetter($oneOfFields)
2232
3043
  });
2233
- AudioChannelControlRequest.create = function create(properties) {
2234
- return new AudioChannelControlRequest(properties);
2235
- };
2236
- AudioChannelControlRequest.encode = function encode(message, writer) {
2237
- if (!writer)
3044
+ Object.defineProperty(AudioChannelControlRequest.prototype, "_mute", {
3045
+ get: $util.oneOfGetter($oneOfFields = ["mute"]),
3046
+ set: $util.oneOfSetter($oneOfFields)
3047
+ });
3048
+ Object.defineProperty(AudioChannelControlRequest.prototype, "_automationLevel", {
3049
+ get: $util.oneOfGetter($oneOfFields = ["automationLevel"]),
3050
+ set: $util.oneOfSetter($oneOfFields)
3051
+ });
3052
+ Object.defineProperty(AudioChannelControlRequest.prototype, "_automationMute", {
3053
+ get: $util.oneOfGetter($oneOfFields = ["automationMute"]),
3054
+ set: $util.oneOfSetter($oneOfFields)
3055
+ });
3056
+ AudioChannelControlRequest.create = function create(properties) {
3057
+ return new AudioChannelControlRequest(properties);
3058
+ };
3059
+ AudioChannelControlRequest.encode = function encode(message, writer) {
3060
+ if (!writer)
2238
3061
  writer = $Writer.create();
2239
3062
  if (message.channelId != null && Object.hasOwnProperty.call(message, "channelId"))
2240
3063
  writer.uint32(
@@ -2257,6 +3080,21 @@ var sesame = $root.sesame = (() => {
2257
3080
  /* id 4, wireType 2 =*/
2258
3081
  34
2259
3082
  ).fork()).ldelim();
3083
+ if (message.mute != null && Object.hasOwnProperty.call(message, "mute"))
3084
+ writer.uint32(
3085
+ /* id 5, wireType 0 =*/
3086
+ 40
3087
+ ).bool(message.mute);
3088
+ if (message.automationLevel != null && Object.hasOwnProperty.call(message, "automationLevel"))
3089
+ writer.uint32(
3090
+ /* id 6, wireType 5 =*/
3091
+ 53
3092
+ ).float(message.automationLevel);
3093
+ if (message.automationMute != null && Object.hasOwnProperty.call(message, "automationMute"))
3094
+ writer.uint32(
3095
+ /* id 7, wireType 0 =*/
3096
+ 56
3097
+ ).bool(message.automationMute);
2260
3098
  return writer;
2261
3099
  };
2262
3100
  AudioChannelControlRequest.encodeDelimited = function encodeDelimited(message, writer) {
@@ -2289,6 +3127,18 @@ var sesame = $root.sesame = (() => {
2289
3127
  message.plugins.push($root.sesame.v1.audio.AudioPluginControlRequest.decode(reader, reader.uint32()));
2290
3128
  break;
2291
3129
  }
3130
+ case 5: {
3131
+ message.mute = reader.bool();
3132
+ break;
3133
+ }
3134
+ case 6: {
3135
+ message.automationLevel = reader.float();
3136
+ break;
3137
+ }
3138
+ case 7: {
3139
+ message.automationMute = reader.bool();
3140
+ break;
3141
+ }
2292
3142
  default:
2293
3143
  reader.skipType(tag & 7);
2294
3144
  break;
@@ -2328,6 +3178,21 @@ var sesame = $root.sesame = (() => {
2328
3178
  return "plugins." + error;
2329
3179
  }
2330
3180
  }
3181
+ if (message.mute != null && message.hasOwnProperty("mute")) {
3182
+ properties._mute = 1;
3183
+ if (typeof message.mute !== "boolean")
3184
+ return "mute: boolean expected";
3185
+ }
3186
+ if (message.automationLevel != null && message.hasOwnProperty("automationLevel")) {
3187
+ properties._automationLevel = 1;
3188
+ if (typeof message.automationLevel !== "number")
3189
+ return "automationLevel: number expected";
3190
+ }
3191
+ if (message.automationMute != null && message.hasOwnProperty("automationMute")) {
3192
+ properties._automationMute = 1;
3193
+ if (typeof message.automationMute !== "boolean")
3194
+ return "automationMute: boolean expected";
3195
+ }
2331
3196
  return null;
2332
3197
  };
2333
3198
  AudioChannelControlRequest.fromObject = function fromObject(object) {
@@ -2350,6 +3215,12 @@ var sesame = $root.sesame = (() => {
2350
3215
  message.plugins[i] = $root.sesame.v1.audio.AudioPluginControlRequest.fromObject(object.plugins[i]);
2351
3216
  }
2352
3217
  }
3218
+ if (object.mute != null)
3219
+ message.mute = Boolean(object.mute);
3220
+ if (object.automationLevel != null)
3221
+ message.automationLevel = Number(object.automationLevel);
3222
+ if (object.automationMute != null)
3223
+ message.automationMute = Boolean(object.automationMute);
2353
3224
  return message;
2354
3225
  };
2355
3226
  AudioChannelControlRequest.toObject = function toObject(message, options) {
@@ -2377,6 +3248,21 @@ var sesame = $root.sesame = (() => {
2377
3248
  for (let j = 0; j < message.plugins.length; ++j)
2378
3249
  object.plugins[j] = $root.sesame.v1.audio.AudioPluginControlRequest.toObject(message.plugins[j], options);
2379
3250
  }
3251
+ if (message.mute != null && message.hasOwnProperty("mute")) {
3252
+ object.mute = message.mute;
3253
+ if (options.oneofs)
3254
+ object._mute = "mute";
3255
+ }
3256
+ if (message.automationLevel != null && message.hasOwnProperty("automationLevel")) {
3257
+ object.automationLevel = options.json && !isFinite(message.automationLevel) ? String(message.automationLevel) : message.automationLevel;
3258
+ if (options.oneofs)
3259
+ object._automationLevel = "automationLevel";
3260
+ }
3261
+ if (message.automationMute != null && message.hasOwnProperty("automationMute")) {
3262
+ object.automationMute = message.automationMute;
3263
+ if (options.oneofs)
3264
+ object._automationMute = "automationMute";
3265
+ }
2380
3266
  return object;
2381
3267
  };
2382
3268
  AudioChannelControlRequest.prototype.toJSON = function toJSON() {
@@ -2393,6 +3279,7 @@ var sesame = $root.sesame = (() => {
2393
3279
  audio.AudioControlRequest = function() {
2394
3280
  function AudioControlRequest(properties) {
2395
3281
  this.channels = [];
3282
+ this.masterPlugins = [];
2396
3283
  if (properties) {
2397
3284
  for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)
2398
3285
  if (properties[keys[i]] != null)
@@ -2400,6 +3287,18 @@ var sesame = $root.sesame = (() => {
2400
3287
  }
2401
3288
  }
2402
3289
  AudioControlRequest.prototype.channels = $util.emptyArray;
3290
+ AudioControlRequest.prototype.masterLevel = null;
3291
+ AudioControlRequest.prototype.masterAutomationLevel = null;
3292
+ AudioControlRequest.prototype.masterPlugins = $util.emptyArray;
3293
+ let $oneOfFields;
3294
+ Object.defineProperty(AudioControlRequest.prototype, "_masterLevel", {
3295
+ get: $util.oneOfGetter($oneOfFields = ["masterLevel"]),
3296
+ set: $util.oneOfSetter($oneOfFields)
3297
+ });
3298
+ Object.defineProperty(AudioControlRequest.prototype, "_masterAutomationLevel", {
3299
+ get: $util.oneOfGetter($oneOfFields = ["masterAutomationLevel"]),
3300
+ set: $util.oneOfSetter($oneOfFields)
3301
+ });
2403
3302
  AudioControlRequest.create = function create(properties) {
2404
3303
  return new AudioControlRequest(properties);
2405
3304
  };
@@ -2412,6 +3311,22 @@ var sesame = $root.sesame = (() => {
2412
3311
  /* id 1, wireType 2 =*/
2413
3312
  10
2414
3313
  ).fork()).ldelim();
3314
+ if (message.masterLevel != null && Object.hasOwnProperty.call(message, "masterLevel"))
3315
+ writer.uint32(
3316
+ /* id 2, wireType 5 =*/
3317
+ 21
3318
+ ).float(message.masterLevel);
3319
+ if (message.masterAutomationLevel != null && Object.hasOwnProperty.call(message, "masterAutomationLevel"))
3320
+ writer.uint32(
3321
+ /* id 3, wireType 5 =*/
3322
+ 29
3323
+ ).float(message.masterAutomationLevel);
3324
+ if (message.masterPlugins != null && message.masterPlugins.length)
3325
+ for (let i = 0; i < message.masterPlugins.length; ++i)
3326
+ $root.sesame.v1.audio.AudioPluginControlRequest.encode(message.masterPlugins[i], writer.uint32(
3327
+ /* id 4, wireType 2 =*/
3328
+ 34
3329
+ ).fork()).ldelim();
2415
3330
  return writer;
2416
3331
  };
2417
3332
  AudioControlRequest.encodeDelimited = function encodeDelimited(message, writer) {
@@ -2432,6 +3347,20 @@ var sesame = $root.sesame = (() => {
2432
3347
  message.channels.push($root.sesame.v1.audio.AudioChannelControlRequest.decode(reader, reader.uint32()));
2433
3348
  break;
2434
3349
  }
3350
+ case 2: {
3351
+ message.masterLevel = reader.float();
3352
+ break;
3353
+ }
3354
+ case 3: {
3355
+ message.masterAutomationLevel = reader.float();
3356
+ break;
3357
+ }
3358
+ case 4: {
3359
+ if (!(message.masterPlugins && message.masterPlugins.length))
3360
+ message.masterPlugins = [];
3361
+ message.masterPlugins.push($root.sesame.v1.audio.AudioPluginControlRequest.decode(reader, reader.uint32()));
3362
+ break;
3363
+ }
2435
3364
  default:
2436
3365
  reader.skipType(tag & 7);
2437
3366
  break;
@@ -2447,6 +3376,7 @@ var sesame = $root.sesame = (() => {
2447
3376
  AudioControlRequest.verify = function verify(message) {
2448
3377
  if (typeof message !== "object" || message === null)
2449
3378
  return "object expected";
3379
+ let properties = {};
2450
3380
  if (message.channels != null && message.hasOwnProperty("channels")) {
2451
3381
  if (!Array.isArray(message.channels))
2452
3382
  return "channels: array expected";
@@ -2456,6 +3386,25 @@ var sesame = $root.sesame = (() => {
2456
3386
  return "channels." + error;
2457
3387
  }
2458
3388
  }
3389
+ if (message.masterLevel != null && message.hasOwnProperty("masterLevel")) {
3390
+ properties._masterLevel = 1;
3391
+ if (typeof message.masterLevel !== "number")
3392
+ return "masterLevel: number expected";
3393
+ }
3394
+ if (message.masterAutomationLevel != null && message.hasOwnProperty("masterAutomationLevel")) {
3395
+ properties._masterAutomationLevel = 1;
3396
+ if (typeof message.masterAutomationLevel !== "number")
3397
+ return "masterAutomationLevel: number expected";
3398
+ }
3399
+ if (message.masterPlugins != null && message.hasOwnProperty("masterPlugins")) {
3400
+ if (!Array.isArray(message.masterPlugins))
3401
+ return "masterPlugins: array expected";
3402
+ for (let i = 0; i < message.masterPlugins.length; ++i) {
3403
+ let error = $root.sesame.v1.audio.AudioPluginControlRequest.verify(message.masterPlugins[i]);
3404
+ if (error)
3405
+ return "masterPlugins." + error;
3406
+ }
3407
+ }
2459
3408
  return null;
2460
3409
  };
2461
3410
  AudioControlRequest.fromObject = function fromObject(object) {
@@ -2472,19 +3421,50 @@ var sesame = $root.sesame = (() => {
2472
3421
  message.channels[i] = $root.sesame.v1.audio.AudioChannelControlRequest.fromObject(object.channels[i]);
2473
3422
  }
2474
3423
  }
3424
+ if (object.masterLevel != null)
3425
+ message.masterLevel = Number(object.masterLevel);
3426
+ if (object.masterAutomationLevel != null)
3427
+ message.masterAutomationLevel = Number(object.masterAutomationLevel);
3428
+ if (object.masterPlugins) {
3429
+ if (!Array.isArray(object.masterPlugins))
3430
+ throw TypeError(".sesame.v1.audio.AudioControlRequest.masterPlugins: array expected");
3431
+ message.masterPlugins = [];
3432
+ for (let i = 0; i < object.masterPlugins.length; ++i) {
3433
+ if (typeof object.masterPlugins[i] !== "object")
3434
+ throw TypeError(".sesame.v1.audio.AudioControlRequest.masterPlugins: object expected");
3435
+ message.masterPlugins[i] = $root.sesame.v1.audio.AudioPluginControlRequest.fromObject(object.masterPlugins[i]);
3436
+ }
3437
+ }
2475
3438
  return message;
2476
3439
  };
2477
3440
  AudioControlRequest.toObject = function toObject(message, options) {
2478
3441
  if (!options)
2479
3442
  options = {};
2480
3443
  let object = {};
2481
- if (options.arrays || options.defaults)
3444
+ if (options.arrays || options.defaults) {
2482
3445
  object.channels = [];
3446
+ object.masterPlugins = [];
3447
+ }
2483
3448
  if (message.channels && message.channels.length) {
2484
3449
  object.channels = [];
2485
3450
  for (let j = 0; j < message.channels.length; ++j)
2486
3451
  object.channels[j] = $root.sesame.v1.audio.AudioChannelControlRequest.toObject(message.channels[j], options);
2487
3452
  }
3453
+ if (message.masterLevel != null && message.hasOwnProperty("masterLevel")) {
3454
+ object.masterLevel = options.json && !isFinite(message.masterLevel) ? String(message.masterLevel) : message.masterLevel;
3455
+ if (options.oneofs)
3456
+ object._masterLevel = "masterLevel";
3457
+ }
3458
+ if (message.masterAutomationLevel != null && message.hasOwnProperty("masterAutomationLevel")) {
3459
+ object.masterAutomationLevel = options.json && !isFinite(message.masterAutomationLevel) ? String(message.masterAutomationLevel) : message.masterAutomationLevel;
3460
+ if (options.oneofs)
3461
+ object._masterAutomationLevel = "masterAutomationLevel";
3462
+ }
3463
+ if (message.masterPlugins && message.masterPlugins.length) {
3464
+ object.masterPlugins = [];
3465
+ for (let j = 0; j < message.masterPlugins.length; ++j)
3466
+ object.masterPlugins[j] = $root.sesame.v1.audio.AudioPluginControlRequest.toObject(message.masterPlugins[j], options);
3467
+ }
2488
3468
  return object;
2489
3469
  };
2490
3470
  AudioControlRequest.prototype.toJSON = function toJSON() {
@@ -2536,11 +3516,14 @@ var sesame = $root.sesame = (() => {
2536
3516
  CommandListItem.prototype.callback = null;
2537
3517
  CommandListItem.prototype.setSourceMetadata = null;
2538
3518
  CommandListItem.prototype.setMetadataBindings = null;
3519
+ CommandListItem.prototype.addEncoder = null;
3520
+ CommandListItem.prototype.updateEncoder = null;
3521
+ CommandListItem.prototype.removeEncoder = null;
2539
3522
  CommandListItem.prototype.transactionId = null;
2540
3523
  CommandListItem.prototype.transactionDeps = $util.emptyArray;
2541
3524
  let $oneOfFields;
2542
3525
  Object.defineProperty(CommandListItem.prototype, "item", {
2543
- get: $util.oneOfGetter($oneOfFields = ["addSource", "updateSource", "removeSource", "addOutput", "updateOutput", "removeOutput", "addCompositor", "removeCompositor", "clearCompositor", "addNode", "removeNode", "setProperty", "animateProperty", "addAudioMixer", "updateAudioMixer", "removeAudioMixer", "addAudioChannel", "removeAudioChannel", "updateSourceTransport", "loadPlaylist", "ejectPlaylist", "callback", "setSourceMetadata", "setMetadataBindings"]),
3526
+ get: $util.oneOfGetter($oneOfFields = ["addSource", "updateSource", "removeSource", "addOutput", "updateOutput", "removeOutput", "addCompositor", "removeCompositor", "clearCompositor", "addNode", "removeNode", "setProperty", "animateProperty", "addAudioMixer", "updateAudioMixer", "removeAudioMixer", "addAudioChannel", "removeAudioChannel", "updateSourceTransport", "loadPlaylist", "ejectPlaylist", "callback", "setSourceMetadata", "setMetadataBindings", "addEncoder", "updateEncoder", "removeEncoder"]),
2544
3527
  set: $util.oneOfSetter($oneOfFields)
2545
3528
  });
2546
3529
  Object.defineProperty(CommandListItem.prototype, "_transactionId", {
@@ -2692,6 +3675,21 @@ var sesame = $root.sesame = (() => {
2692
3675
  /* id 27, wireType 2 =*/
2693
3676
  218
2694
3677
  ).fork()).ldelim();
3678
+ if (message.addEncoder != null && Object.hasOwnProperty.call(message, "addEncoder"))
3679
+ $root.sesame.v1.outputs.EncoderAddRequest.encode(message.addEncoder, writer.uint32(
3680
+ /* id 28, wireType 2 =*/
3681
+ 226
3682
+ ).fork()).ldelim();
3683
+ if (message.updateEncoder != null && Object.hasOwnProperty.call(message, "updateEncoder"))
3684
+ $root.sesame.v1.outputs.EncoderUpdateRequest.encode(message.updateEncoder, writer.uint32(
3685
+ /* id 29, wireType 2 =*/
3686
+ 234
3687
+ ).fork()).ldelim();
3688
+ if (message.removeEncoder != null && Object.hasOwnProperty.call(message, "removeEncoder"))
3689
+ $root.sesame.v1.outputs.EncoderRemoveRequest.encode(message.removeEncoder, writer.uint32(
3690
+ /* id 30, wireType 2 =*/
3691
+ 242
3692
+ ).fork()).ldelim();
2695
3693
  return writer;
2696
3694
  };
2697
3695
  CommandListItem.encodeDelimited = function encodeDelimited(message, writer) {
@@ -2806,6 +3804,18 @@ var sesame = $root.sesame = (() => {
2806
3804
  message.setMetadataBindings = $root.sesame.v1.commands.SetMetadataBindingsRequest.decode(reader, reader.uint32());
2807
3805
  break;
2808
3806
  }
3807
+ case 28: {
3808
+ message.addEncoder = $root.sesame.v1.outputs.EncoderAddRequest.decode(reader, reader.uint32());
3809
+ break;
3810
+ }
3811
+ case 29: {
3812
+ message.updateEncoder = $root.sesame.v1.outputs.EncoderUpdateRequest.decode(reader, reader.uint32());
3813
+ break;
3814
+ }
3815
+ case 30: {
3816
+ message.removeEncoder = $root.sesame.v1.outputs.EncoderRemoveRequest.decode(reader, reader.uint32());
3817
+ break;
3818
+ }
2809
3819
  case 25: {
2810
3820
  message.transactionId = reader.uint32();
2811
3821
  break;
@@ -3079,6 +4089,36 @@ var sesame = $root.sesame = (() => {
3079
4089
  return "setMetadataBindings." + error;
3080
4090
  }
3081
4091
  }
4092
+ if (message.addEncoder != null && message.hasOwnProperty("addEncoder")) {
4093
+ if (properties.item === 1)
4094
+ return "item: multiple values";
4095
+ properties.item = 1;
4096
+ {
4097
+ let error = $root.sesame.v1.outputs.EncoderAddRequest.verify(message.addEncoder);
4098
+ if (error)
4099
+ return "addEncoder." + error;
4100
+ }
4101
+ }
4102
+ if (message.updateEncoder != null && message.hasOwnProperty("updateEncoder")) {
4103
+ if (properties.item === 1)
4104
+ return "item: multiple values";
4105
+ properties.item = 1;
4106
+ {
4107
+ let error = $root.sesame.v1.outputs.EncoderUpdateRequest.verify(message.updateEncoder);
4108
+ if (error)
4109
+ return "updateEncoder." + error;
4110
+ }
4111
+ }
4112
+ if (message.removeEncoder != null && message.hasOwnProperty("removeEncoder")) {
4113
+ if (properties.item === 1)
4114
+ return "item: multiple values";
4115
+ properties.item = 1;
4116
+ {
4117
+ let error = $root.sesame.v1.outputs.EncoderRemoveRequest.verify(message.removeEncoder);
4118
+ if (error)
4119
+ return "removeEncoder." + error;
4120
+ }
4121
+ }
3082
4122
  if (message.transactionId != null && message.hasOwnProperty("transactionId")) {
3083
4123
  properties._transactionId = 1;
3084
4124
  if (!$util.isInteger(message.transactionId))
@@ -3227,6 +4267,21 @@ var sesame = $root.sesame = (() => {
3227
4267
  throw TypeError(".sesame.v1.commands.CommandListItem.setMetadataBindings: object expected");
3228
4268
  message.setMetadataBindings = $root.sesame.v1.commands.SetMetadataBindingsRequest.fromObject(object.setMetadataBindings);
3229
4269
  }
4270
+ if (object.addEncoder != null) {
4271
+ if (typeof object.addEncoder !== "object")
4272
+ throw TypeError(".sesame.v1.commands.CommandListItem.addEncoder: object expected");
4273
+ message.addEncoder = $root.sesame.v1.outputs.EncoderAddRequest.fromObject(object.addEncoder);
4274
+ }
4275
+ if (object.updateEncoder != null) {
4276
+ if (typeof object.updateEncoder !== "object")
4277
+ throw TypeError(".sesame.v1.commands.CommandListItem.updateEncoder: object expected");
4278
+ message.updateEncoder = $root.sesame.v1.outputs.EncoderUpdateRequest.fromObject(object.updateEncoder);
4279
+ }
4280
+ if (object.removeEncoder != null) {
4281
+ if (typeof object.removeEncoder !== "object")
4282
+ throw TypeError(".sesame.v1.commands.CommandListItem.removeEncoder: object expected");
4283
+ message.removeEncoder = $root.sesame.v1.outputs.EncoderRemoveRequest.fromObject(object.removeEncoder);
4284
+ }
3230
4285
  if (object.transactionId != null)
3231
4286
  message.transactionId = object.transactionId >>> 0;
3232
4287
  if (object.transactionDeps) {
@@ -3385,6 +4440,21 @@ var sesame = $root.sesame = (() => {
3385
4440
  if (options.oneofs)
3386
4441
  object.item = "setMetadataBindings";
3387
4442
  }
4443
+ if (message.addEncoder != null && message.hasOwnProperty("addEncoder")) {
4444
+ object.addEncoder = $root.sesame.v1.outputs.EncoderAddRequest.toObject(message.addEncoder, options);
4445
+ if (options.oneofs)
4446
+ object.item = "addEncoder";
4447
+ }
4448
+ if (message.updateEncoder != null && message.hasOwnProperty("updateEncoder")) {
4449
+ object.updateEncoder = $root.sesame.v1.outputs.EncoderUpdateRequest.toObject(message.updateEncoder, options);
4450
+ if (options.oneofs)
4451
+ object.item = "updateEncoder";
4452
+ }
4453
+ if (message.removeEncoder != null && message.hasOwnProperty("removeEncoder")) {
4454
+ object.removeEncoder = $root.sesame.v1.outputs.EncoderRemoveRequest.toObject(message.removeEncoder, options);
4455
+ if (options.oneofs)
4456
+ object.item = "removeEncoder";
4457
+ }
3388
4458
  return object;
3389
4459
  };
3390
4460
  CommandListItem.prototype.toJSON = function toJSON() {
@@ -13931,6 +15001,7 @@ var sesame = $root.sesame = (() => {
13931
15001
  this.audioMixes = [];
13932
15002
  this.outputs = [];
13933
15003
  this.recorders = [];
15004
+ this.encoders = [];
13934
15005
  if (properties) {
13935
15006
  for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)
13936
15007
  if (properties[keys[i]] != null)
@@ -13945,6 +15016,7 @@ var sesame = $root.sesame = (() => {
13945
15016
  Status.prototype.audioMixes = $util.emptyArray;
13946
15017
  Status.prototype.outputs = $util.emptyArray;
13947
15018
  Status.prototype.recorders = $util.emptyArray;
15019
+ Status.prototype.encoders = $util.emptyArray;
13948
15020
  Status.create = function create(properties) {
13949
15021
  return new Status(properties);
13950
15022
  };
@@ -13996,6 +15068,12 @@ var sesame = $root.sesame = (() => {
13996
15068
  /* id 8, wireType 2 =*/
13997
15069
  66
13998
15070
  ).fork()).ldelim();
15071
+ if (message.encoders != null && message.encoders.length)
15072
+ for (let i = 0; i < message.encoders.length; ++i)
15073
+ $root.sesame.v1.outputs.EncoderStatus.encode(message.encoders[i], writer.uint32(
15074
+ /* id 9, wireType 2 =*/
15075
+ 74
15076
+ ).fork()).ldelim();
13999
15077
  return writer;
14000
15078
  };
14001
15079
  Status.encodeDelimited = function encodeDelimited(message, writer) {
@@ -14052,6 +15130,12 @@ var sesame = $root.sesame = (() => {
14052
15130
  message.recorders.push($root.sesame.v1.recorder.RecorderStatus.decode(reader, reader.uint32()));
14053
15131
  break;
14054
15132
  }
15133
+ case 9: {
15134
+ if (!(message.encoders && message.encoders.length))
15135
+ message.encoders = [];
15136
+ message.encoders.push($root.sesame.v1.outputs.EncoderStatus.decode(reader, reader.uint32()));
15137
+ break;
15138
+ }
14055
15139
  default:
14056
15140
  reader.skipType(tag & 7);
14057
15141
  break;
@@ -14127,6 +15211,15 @@ var sesame = $root.sesame = (() => {
14127
15211
  return "recorders." + error;
14128
15212
  }
14129
15213
  }
15214
+ if (message.encoders != null && message.hasOwnProperty("encoders")) {
15215
+ if (!Array.isArray(message.encoders))
15216
+ return "encoders: array expected";
15217
+ for (let i = 0; i < message.encoders.length; ++i) {
15218
+ let error = $root.sesame.v1.outputs.EncoderStatus.verify(message.encoders[i]);
15219
+ if (error)
15220
+ return "encoders." + error;
15221
+ }
15222
+ }
14130
15223
  return null;
14131
15224
  };
14132
15225
  Status.fromObject = function fromObject(object) {
@@ -14198,6 +15291,16 @@ var sesame = $root.sesame = (() => {
14198
15291
  message.recorders[i] = $root.sesame.v1.recorder.RecorderStatus.fromObject(object.recorders[i]);
14199
15292
  }
14200
15293
  }
15294
+ if (object.encoders) {
15295
+ if (!Array.isArray(object.encoders))
15296
+ throw TypeError(".sesame.v1.status.Status.encoders: array expected");
15297
+ message.encoders = [];
15298
+ for (let i = 0; i < object.encoders.length; ++i) {
15299
+ if (typeof object.encoders[i] !== "object")
15300
+ throw TypeError(".sesame.v1.status.Status.encoders: object expected");
15301
+ message.encoders[i] = $root.sesame.v1.outputs.EncoderStatus.fromObject(object.encoders[i]);
15302
+ }
15303
+ }
14201
15304
  return message;
14202
15305
  };
14203
15306
  Status.toObject = function toObject(message, options) {
@@ -14210,6 +15313,7 @@ var sesame = $root.sesame = (() => {
14210
15313
  object.audioMixes = [];
14211
15314
  object.outputs = [];
14212
15315
  object.recorders = [];
15316
+ object.encoders = [];
14213
15317
  }
14214
15318
  if (options.defaults) {
14215
15319
  object.systemStatus = null;
@@ -14247,6 +15351,11 @@ var sesame = $root.sesame = (() => {
14247
15351
  for (let j = 0; j < message.recorders.length; ++j)
14248
15352
  object.recorders[j] = $root.sesame.v1.recorder.RecorderStatus.toObject(message.recorders[j], options);
14249
15353
  }
15354
+ if (message.encoders && message.encoders.length) {
15355
+ object.encoders = [];
15356
+ for (let j = 0; j < message.encoders.length; ++j)
15357
+ object.encoders[j] = $root.sesame.v1.outputs.EncoderStatus.toObject(message.encoders[j], options);
15358
+ }
14250
15359
  return object;
14251
15360
  };
14252
15361
  Status.prototype.toJSON = function toJSON() {
@@ -15554,6 +16663,12 @@ var sesame = $root.sesame = (() => {
15554
16663
  values[valuesById[7] = "OUTPUT_TYPE_ENCODED_SUPER_SLOWMO_RECORDER"] = 7;
15555
16664
  return values;
15556
16665
  }();
16666
+ outputs.EncoderType = function() {
16667
+ const valuesById = {}, values = Object.create(valuesById);
16668
+ values[valuesById[0] = "ENCODER_TYPE_UNSPECIFIED"] = 0;
16669
+ values[valuesById[1] = "ENCODER_TYPE_VIDEO"] = 1;
16670
+ return values;
16671
+ }();
15557
16672
  outputs.EncoderPreset = function() {
15558
16673
  const valuesById = {}, values = Object.create(valuesById);
15559
16674
  values[valuesById[0] = "ENCODER_PRESET_UNSPECIFIED"] = 0;
@@ -15622,49 +16737,550 @@ var sesame = $root.sesame = (() => {
15622
16737
  ).uint32(message.height);
15623
16738
  if (message.fps != null && Object.hasOwnProperty.call(message, "fps"))
15624
16739
  writer.uint32(
15625
- /* id 7, wireType 5 =*/
15626
- 61
15627
- ).float(message.fps);
16740
+ /* id 7, wireType 5 =*/
16741
+ 61
16742
+ ).float(message.fps);
16743
+ return writer;
16744
+ };
16745
+ EncoderConfig.encodeDelimited = function encodeDelimited(message, writer) {
16746
+ return this.encode(message, writer).ldelim();
16747
+ };
16748
+ EncoderConfig.decode = function decode(reader, length, error) {
16749
+ if (!(reader instanceof $Reader))
16750
+ reader = $Reader.create(reader);
16751
+ let end = length === void 0 ? reader.len : reader.pos + length, message = new $root.sesame.v1.outputs.EncoderConfig();
16752
+ while (reader.pos < end) {
16753
+ let tag = reader.uint32();
16754
+ if (tag === error)
16755
+ break;
16756
+ switch (tag >>> 3) {
16757
+ case 1: {
16758
+ message.codec = reader.int32();
16759
+ break;
16760
+ }
16761
+ case 2: {
16762
+ message.preset = reader.int32();
16763
+ break;
16764
+ }
16765
+ case 3: {
16766
+ message.bitrateKbps = reader.uint32();
16767
+ break;
16768
+ }
16769
+ case 4: {
16770
+ message.keyframeInterval = reader.uint32();
16771
+ break;
16772
+ }
16773
+ case 5: {
16774
+ message.width = reader.uint32();
16775
+ break;
16776
+ }
16777
+ case 6: {
16778
+ message.height = reader.uint32();
16779
+ break;
16780
+ }
16781
+ case 7: {
16782
+ message.fps = reader.float();
16783
+ break;
16784
+ }
16785
+ default:
16786
+ reader.skipType(tag & 7);
16787
+ break;
16788
+ }
16789
+ }
16790
+ return message;
16791
+ };
16792
+ EncoderConfig.decodeDelimited = function decodeDelimited(reader) {
16793
+ if (!(reader instanceof $Reader))
16794
+ reader = new $Reader(reader);
16795
+ return this.decode(reader, reader.uint32());
16796
+ };
16797
+ EncoderConfig.verify = function verify(message) {
16798
+ if (typeof message !== "object" || message === null)
16799
+ return "object expected";
16800
+ if (message.codec != null && message.hasOwnProperty("codec"))
16801
+ switch (message.codec) {
16802
+ default:
16803
+ return "codec: enum value expected";
16804
+ case 0:
16805
+ case 1:
16806
+ case 2:
16807
+ case 3:
16808
+ case 4:
16809
+ case 5:
16810
+ case 6:
16811
+ case 7:
16812
+ case 64:
16813
+ case 65:
16814
+ case 66:
16815
+ case 67:
16816
+ break;
16817
+ }
16818
+ if (message.preset != null && message.hasOwnProperty("preset"))
16819
+ switch (message.preset) {
16820
+ default:
16821
+ return "preset: enum value expected";
16822
+ case 0:
16823
+ case 1:
16824
+ case 2:
16825
+ case 3:
16826
+ break;
16827
+ }
16828
+ if (message.bitrateKbps != null && message.hasOwnProperty("bitrateKbps")) {
16829
+ if (!$util.isInteger(message.bitrateKbps))
16830
+ return "bitrateKbps: integer expected";
16831
+ }
16832
+ if (message.keyframeInterval != null && message.hasOwnProperty("keyframeInterval")) {
16833
+ if (!$util.isInteger(message.keyframeInterval))
16834
+ return "keyframeInterval: integer expected";
16835
+ }
16836
+ if (message.width != null && message.hasOwnProperty("width")) {
16837
+ if (!$util.isInteger(message.width))
16838
+ return "width: integer expected";
16839
+ }
16840
+ if (message.height != null && message.hasOwnProperty("height")) {
16841
+ if (!$util.isInteger(message.height))
16842
+ return "height: integer expected";
16843
+ }
16844
+ if (message.fps != null && message.hasOwnProperty("fps")) {
16845
+ if (typeof message.fps !== "number")
16846
+ return "fps: number expected";
16847
+ }
16848
+ return null;
16849
+ };
16850
+ EncoderConfig.fromObject = function fromObject(object) {
16851
+ if (object instanceof $root.sesame.v1.outputs.EncoderConfig)
16852
+ return object;
16853
+ let message = new $root.sesame.v1.outputs.EncoderConfig();
16854
+ switch (object.codec) {
16855
+ default:
16856
+ if (typeof object.codec === "number") {
16857
+ message.codec = object.codec;
16858
+ break;
16859
+ }
16860
+ break;
16861
+ case "CODEC_TYPE_UNSPECIFIED":
16862
+ case 0:
16863
+ message.codec = 0;
16864
+ break;
16865
+ case "CODEC_TYPE_VIDEO_VP8":
16866
+ case 1:
16867
+ message.codec = 1;
16868
+ break;
16869
+ case "CODEC_TYPE_VIDEO_VP9":
16870
+ case 2:
16871
+ message.codec = 2;
16872
+ break;
16873
+ case "CODEC_TYPE_VIDEO_AVC":
16874
+ case 3:
16875
+ message.codec = 3;
16876
+ break;
16877
+ case "CODEC_TYPE_VIDEO_HEVC":
16878
+ case 4:
16879
+ message.codec = 4;
16880
+ break;
16881
+ case "CODEC_TYPE_VIDEO_AV1":
16882
+ case 5:
16883
+ message.codec = 5;
16884
+ break;
16885
+ case "CODEC_TYPE_VIDEO_PRORES":
16886
+ case 6:
16887
+ message.codec = 6;
16888
+ break;
16889
+ case "CODEC_TYPE_VIDEO_DNXHR":
16890
+ case 7:
16891
+ message.codec = 7;
16892
+ break;
16893
+ case "CODEC_TYPE_AUDIO_OPUS":
16894
+ case 64:
16895
+ message.codec = 64;
16896
+ break;
16897
+ case "CODEC_TYPE_AUDIO_AAC":
16898
+ case 65:
16899
+ message.codec = 65;
16900
+ break;
16901
+ case "CODEC_TYPE_AUDIO_PCM":
16902
+ case 66:
16903
+ message.codec = 66;
16904
+ break;
16905
+ case "CODEC_TYPE_AUDIO_PCM_S24LE":
16906
+ case 67:
16907
+ message.codec = 67;
16908
+ break;
16909
+ }
16910
+ switch (object.preset) {
16911
+ default:
16912
+ if (typeof object.preset === "number") {
16913
+ message.preset = object.preset;
16914
+ break;
16915
+ }
16916
+ break;
16917
+ case "ENCODER_PRESET_UNSPECIFIED":
16918
+ case 0:
16919
+ message.preset = 0;
16920
+ break;
16921
+ case "ENCODER_PRESET_LOW_LATENCY":
16922
+ case 1:
16923
+ message.preset = 1;
16924
+ break;
16925
+ case "ENCODER_PRESET_LOW_LATENCY_IDR_ONLY":
16926
+ case 2:
16927
+ message.preset = 2;
16928
+ break;
16929
+ case "ENCODER_PRESET_HIGH_QUALITY":
16930
+ case 3:
16931
+ message.preset = 3;
16932
+ break;
16933
+ }
16934
+ if (object.bitrateKbps != null)
16935
+ message.bitrateKbps = object.bitrateKbps >>> 0;
16936
+ if (object.keyframeInterval != null)
16937
+ message.keyframeInterval = object.keyframeInterval >>> 0;
16938
+ if (object.width != null)
16939
+ message.width = object.width >>> 0;
16940
+ if (object.height != null)
16941
+ message.height = object.height >>> 0;
16942
+ if (object.fps != null)
16943
+ message.fps = Number(object.fps);
16944
+ return message;
16945
+ };
16946
+ EncoderConfig.toObject = function toObject(message, options) {
16947
+ if (!options)
16948
+ options = {};
16949
+ let object = {};
16950
+ if (options.defaults) {
16951
+ object.codec = options.enums === String ? "CODEC_TYPE_UNSPECIFIED" : 0;
16952
+ object.preset = options.enums === String ? "ENCODER_PRESET_UNSPECIFIED" : 0;
16953
+ object.bitrateKbps = 0;
16954
+ object.keyframeInterval = 0;
16955
+ object.width = 0;
16956
+ object.height = 0;
16957
+ object.fps = 0;
16958
+ }
16959
+ if (message.codec != null && message.hasOwnProperty("codec"))
16960
+ object.codec = options.enums === String ? $root.sesame.v1.common.CodecType[message.codec] === void 0 ? message.codec : $root.sesame.v1.common.CodecType[message.codec] : message.codec;
16961
+ if (message.preset != null && message.hasOwnProperty("preset"))
16962
+ object.preset = options.enums === String ? $root.sesame.v1.outputs.EncoderPreset[message.preset] === void 0 ? message.preset : $root.sesame.v1.outputs.EncoderPreset[message.preset] : message.preset;
16963
+ if (message.bitrateKbps != null && message.hasOwnProperty("bitrateKbps"))
16964
+ object.bitrateKbps = message.bitrateKbps;
16965
+ if (message.keyframeInterval != null && message.hasOwnProperty("keyframeInterval"))
16966
+ object.keyframeInterval = message.keyframeInterval;
16967
+ if (message.width != null && message.hasOwnProperty("width"))
16968
+ object.width = message.width;
16969
+ if (message.height != null && message.hasOwnProperty("height"))
16970
+ object.height = message.height;
16971
+ if (message.fps != null && message.hasOwnProperty("fps"))
16972
+ object.fps = options.json && !isFinite(message.fps) ? String(message.fps) : message.fps;
16973
+ return object;
16974
+ };
16975
+ EncoderConfig.prototype.toJSON = function toJSON() {
16976
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
16977
+ };
16978
+ EncoderConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
16979
+ if (typeUrlPrefix === void 0) {
16980
+ typeUrlPrefix = "type.googleapis.com";
16981
+ }
16982
+ return typeUrlPrefix + "/sesame.v1.outputs.EncoderConfig";
16983
+ };
16984
+ return EncoderConfig;
16985
+ }();
16986
+ outputs.EncoderAddRequest = function() {
16987
+ function EncoderAddRequest(properties) {
16988
+ if (properties) {
16989
+ for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)
16990
+ if (properties[keys[i]] != null)
16991
+ this[keys[i]] = properties[keys[i]];
16992
+ }
16993
+ }
16994
+ EncoderAddRequest.prototype.id = "";
16995
+ EncoderAddRequest.prototype.compositionId = "";
16996
+ EncoderAddRequest.prototype.encoder = null;
16997
+ EncoderAddRequest.create = function create(properties) {
16998
+ return new EncoderAddRequest(properties);
16999
+ };
17000
+ EncoderAddRequest.encode = function encode(message, writer) {
17001
+ if (!writer)
17002
+ writer = $Writer.create();
17003
+ if (message.id != null && Object.hasOwnProperty.call(message, "id"))
17004
+ writer.uint32(
17005
+ /* id 1, wireType 2 =*/
17006
+ 10
17007
+ ).string(message.id);
17008
+ if (message.compositionId != null && Object.hasOwnProperty.call(message, "compositionId"))
17009
+ writer.uint32(
17010
+ /* id 2, wireType 2 =*/
17011
+ 18
17012
+ ).string(message.compositionId);
17013
+ if (message.encoder != null && Object.hasOwnProperty.call(message, "encoder"))
17014
+ $root.sesame.v1.outputs.EncoderConfig.encode(message.encoder, writer.uint32(
17015
+ /* id 3, wireType 2 =*/
17016
+ 26
17017
+ ).fork()).ldelim();
17018
+ return writer;
17019
+ };
17020
+ EncoderAddRequest.encodeDelimited = function encodeDelimited(message, writer) {
17021
+ return this.encode(message, writer).ldelim();
17022
+ };
17023
+ EncoderAddRequest.decode = function decode(reader, length, error) {
17024
+ if (!(reader instanceof $Reader))
17025
+ reader = $Reader.create(reader);
17026
+ let end = length === void 0 ? reader.len : reader.pos + length, message = new $root.sesame.v1.outputs.EncoderAddRequest();
17027
+ while (reader.pos < end) {
17028
+ let tag = reader.uint32();
17029
+ if (tag === error)
17030
+ break;
17031
+ switch (tag >>> 3) {
17032
+ case 1: {
17033
+ message.id = reader.string();
17034
+ break;
17035
+ }
17036
+ case 2: {
17037
+ message.compositionId = reader.string();
17038
+ break;
17039
+ }
17040
+ case 3: {
17041
+ message.encoder = $root.sesame.v1.outputs.EncoderConfig.decode(reader, reader.uint32());
17042
+ break;
17043
+ }
17044
+ default:
17045
+ reader.skipType(tag & 7);
17046
+ break;
17047
+ }
17048
+ }
17049
+ return message;
17050
+ };
17051
+ EncoderAddRequest.decodeDelimited = function decodeDelimited(reader) {
17052
+ if (!(reader instanceof $Reader))
17053
+ reader = new $Reader(reader);
17054
+ return this.decode(reader, reader.uint32());
17055
+ };
17056
+ EncoderAddRequest.verify = function verify(message) {
17057
+ if (typeof message !== "object" || message === null)
17058
+ return "object expected";
17059
+ if (message.id != null && message.hasOwnProperty("id")) {
17060
+ if (!$util.isString(message.id))
17061
+ return "id: string expected";
17062
+ }
17063
+ if (message.compositionId != null && message.hasOwnProperty("compositionId")) {
17064
+ if (!$util.isString(message.compositionId))
17065
+ return "compositionId: string expected";
17066
+ }
17067
+ if (message.encoder != null && message.hasOwnProperty("encoder")) {
17068
+ let error = $root.sesame.v1.outputs.EncoderConfig.verify(message.encoder);
17069
+ if (error)
17070
+ return "encoder." + error;
17071
+ }
17072
+ return null;
17073
+ };
17074
+ EncoderAddRequest.fromObject = function fromObject(object) {
17075
+ if (object instanceof $root.sesame.v1.outputs.EncoderAddRequest)
17076
+ return object;
17077
+ let message = new $root.sesame.v1.outputs.EncoderAddRequest();
17078
+ if (object.id != null)
17079
+ message.id = String(object.id);
17080
+ if (object.compositionId != null)
17081
+ message.compositionId = String(object.compositionId);
17082
+ if (object.encoder != null) {
17083
+ if (typeof object.encoder !== "object")
17084
+ throw TypeError(".sesame.v1.outputs.EncoderAddRequest.encoder: object expected");
17085
+ message.encoder = $root.sesame.v1.outputs.EncoderConfig.fromObject(object.encoder);
17086
+ }
17087
+ return message;
17088
+ };
17089
+ EncoderAddRequest.toObject = function toObject(message, options) {
17090
+ if (!options)
17091
+ options = {};
17092
+ let object = {};
17093
+ if (options.defaults) {
17094
+ object.id = "";
17095
+ object.compositionId = "";
17096
+ object.encoder = null;
17097
+ }
17098
+ if (message.id != null && message.hasOwnProperty("id"))
17099
+ object.id = message.id;
17100
+ if (message.compositionId != null && message.hasOwnProperty("compositionId"))
17101
+ object.compositionId = message.compositionId;
17102
+ if (message.encoder != null && message.hasOwnProperty("encoder"))
17103
+ object.encoder = $root.sesame.v1.outputs.EncoderConfig.toObject(message.encoder, options);
17104
+ return object;
17105
+ };
17106
+ EncoderAddRequest.prototype.toJSON = function toJSON() {
17107
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
17108
+ };
17109
+ EncoderAddRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
17110
+ if (typeUrlPrefix === void 0) {
17111
+ typeUrlPrefix = "type.googleapis.com";
17112
+ }
17113
+ return typeUrlPrefix + "/sesame.v1.outputs.EncoderAddRequest";
17114
+ };
17115
+ return EncoderAddRequest;
17116
+ }();
17117
+ outputs.EncoderUpdateRequest = function() {
17118
+ function EncoderUpdateRequest(properties) {
17119
+ if (properties) {
17120
+ for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)
17121
+ if (properties[keys[i]] != null)
17122
+ this[keys[i]] = properties[keys[i]];
17123
+ }
17124
+ }
17125
+ EncoderUpdateRequest.prototype.id = "";
17126
+ EncoderUpdateRequest.prototype.compositionId = "";
17127
+ EncoderUpdateRequest.prototype.encoder = null;
17128
+ EncoderUpdateRequest.create = function create(properties) {
17129
+ return new EncoderUpdateRequest(properties);
17130
+ };
17131
+ EncoderUpdateRequest.encode = function encode(message, writer) {
17132
+ if (!writer)
17133
+ writer = $Writer.create();
17134
+ if (message.id != null && Object.hasOwnProperty.call(message, "id"))
17135
+ writer.uint32(
17136
+ /* id 1, wireType 2 =*/
17137
+ 10
17138
+ ).string(message.id);
17139
+ if (message.compositionId != null && Object.hasOwnProperty.call(message, "compositionId"))
17140
+ writer.uint32(
17141
+ /* id 2, wireType 2 =*/
17142
+ 18
17143
+ ).string(message.compositionId);
17144
+ if (message.encoder != null && Object.hasOwnProperty.call(message, "encoder"))
17145
+ $root.sesame.v1.outputs.EncoderConfig.encode(message.encoder, writer.uint32(
17146
+ /* id 3, wireType 2 =*/
17147
+ 26
17148
+ ).fork()).ldelim();
17149
+ return writer;
17150
+ };
17151
+ EncoderUpdateRequest.encodeDelimited = function encodeDelimited(message, writer) {
17152
+ return this.encode(message, writer).ldelim();
17153
+ };
17154
+ EncoderUpdateRequest.decode = function decode(reader, length, error) {
17155
+ if (!(reader instanceof $Reader))
17156
+ reader = $Reader.create(reader);
17157
+ let end = length === void 0 ? reader.len : reader.pos + length, message = new $root.sesame.v1.outputs.EncoderUpdateRequest();
17158
+ while (reader.pos < end) {
17159
+ let tag = reader.uint32();
17160
+ if (tag === error)
17161
+ break;
17162
+ switch (tag >>> 3) {
17163
+ case 1: {
17164
+ message.id = reader.string();
17165
+ break;
17166
+ }
17167
+ case 2: {
17168
+ message.compositionId = reader.string();
17169
+ break;
17170
+ }
17171
+ case 3: {
17172
+ message.encoder = $root.sesame.v1.outputs.EncoderConfig.decode(reader, reader.uint32());
17173
+ break;
17174
+ }
17175
+ default:
17176
+ reader.skipType(tag & 7);
17177
+ break;
17178
+ }
17179
+ }
17180
+ return message;
17181
+ };
17182
+ EncoderUpdateRequest.decodeDelimited = function decodeDelimited(reader) {
17183
+ if (!(reader instanceof $Reader))
17184
+ reader = new $Reader(reader);
17185
+ return this.decode(reader, reader.uint32());
17186
+ };
17187
+ EncoderUpdateRequest.verify = function verify(message) {
17188
+ if (typeof message !== "object" || message === null)
17189
+ return "object expected";
17190
+ if (message.id != null && message.hasOwnProperty("id")) {
17191
+ if (!$util.isString(message.id))
17192
+ return "id: string expected";
17193
+ }
17194
+ if (message.compositionId != null && message.hasOwnProperty("compositionId")) {
17195
+ if (!$util.isString(message.compositionId))
17196
+ return "compositionId: string expected";
17197
+ }
17198
+ if (message.encoder != null && message.hasOwnProperty("encoder")) {
17199
+ let error = $root.sesame.v1.outputs.EncoderConfig.verify(message.encoder);
17200
+ if (error)
17201
+ return "encoder." + error;
17202
+ }
17203
+ return null;
17204
+ };
17205
+ EncoderUpdateRequest.fromObject = function fromObject(object) {
17206
+ if (object instanceof $root.sesame.v1.outputs.EncoderUpdateRequest)
17207
+ return object;
17208
+ let message = new $root.sesame.v1.outputs.EncoderUpdateRequest();
17209
+ if (object.id != null)
17210
+ message.id = String(object.id);
17211
+ if (object.compositionId != null)
17212
+ message.compositionId = String(object.compositionId);
17213
+ if (object.encoder != null) {
17214
+ if (typeof object.encoder !== "object")
17215
+ throw TypeError(".sesame.v1.outputs.EncoderUpdateRequest.encoder: object expected");
17216
+ message.encoder = $root.sesame.v1.outputs.EncoderConfig.fromObject(object.encoder);
17217
+ }
17218
+ return message;
17219
+ };
17220
+ EncoderUpdateRequest.toObject = function toObject(message, options) {
17221
+ if (!options)
17222
+ options = {};
17223
+ let object = {};
17224
+ if (options.defaults) {
17225
+ object.id = "";
17226
+ object.compositionId = "";
17227
+ object.encoder = null;
17228
+ }
17229
+ if (message.id != null && message.hasOwnProperty("id"))
17230
+ object.id = message.id;
17231
+ if (message.compositionId != null && message.hasOwnProperty("compositionId"))
17232
+ object.compositionId = message.compositionId;
17233
+ if (message.encoder != null && message.hasOwnProperty("encoder"))
17234
+ object.encoder = $root.sesame.v1.outputs.EncoderConfig.toObject(message.encoder, options);
17235
+ return object;
17236
+ };
17237
+ EncoderUpdateRequest.prototype.toJSON = function toJSON() {
17238
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
17239
+ };
17240
+ EncoderUpdateRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
17241
+ if (typeUrlPrefix === void 0) {
17242
+ typeUrlPrefix = "type.googleapis.com";
17243
+ }
17244
+ return typeUrlPrefix + "/sesame.v1.outputs.EncoderUpdateRequest";
17245
+ };
17246
+ return EncoderUpdateRequest;
17247
+ }();
17248
+ outputs.EncoderRemoveRequest = function() {
17249
+ function EncoderRemoveRequest(properties) {
17250
+ if (properties) {
17251
+ for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)
17252
+ if (properties[keys[i]] != null)
17253
+ this[keys[i]] = properties[keys[i]];
17254
+ }
17255
+ }
17256
+ EncoderRemoveRequest.prototype.id = "";
17257
+ EncoderRemoveRequest.create = function create(properties) {
17258
+ return new EncoderRemoveRequest(properties);
17259
+ };
17260
+ EncoderRemoveRequest.encode = function encode(message, writer) {
17261
+ if (!writer)
17262
+ writer = $Writer.create();
17263
+ if (message.id != null && Object.hasOwnProperty.call(message, "id"))
17264
+ writer.uint32(
17265
+ /* id 1, wireType 2 =*/
17266
+ 10
17267
+ ).string(message.id);
15628
17268
  return writer;
15629
17269
  };
15630
- EncoderConfig.encodeDelimited = function encodeDelimited(message, writer) {
17270
+ EncoderRemoveRequest.encodeDelimited = function encodeDelimited(message, writer) {
15631
17271
  return this.encode(message, writer).ldelim();
15632
17272
  };
15633
- EncoderConfig.decode = function decode(reader, length, error) {
17273
+ EncoderRemoveRequest.decode = function decode(reader, length, error) {
15634
17274
  if (!(reader instanceof $Reader))
15635
17275
  reader = $Reader.create(reader);
15636
- let end = length === void 0 ? reader.len : reader.pos + length, message = new $root.sesame.v1.outputs.EncoderConfig();
17276
+ let end = length === void 0 ? reader.len : reader.pos + length, message = new $root.sesame.v1.outputs.EncoderRemoveRequest();
15637
17277
  while (reader.pos < end) {
15638
17278
  let tag = reader.uint32();
15639
17279
  if (tag === error)
15640
17280
  break;
15641
17281
  switch (tag >>> 3) {
15642
17282
  case 1: {
15643
- message.codec = reader.int32();
15644
- break;
15645
- }
15646
- case 2: {
15647
- message.preset = reader.int32();
15648
- break;
15649
- }
15650
- case 3: {
15651
- message.bitrateKbps = reader.uint32();
15652
- break;
15653
- }
15654
- case 4: {
15655
- message.keyframeInterval = reader.uint32();
15656
- break;
15657
- }
15658
- case 5: {
15659
- message.width = reader.uint32();
15660
- break;
15661
- }
15662
- case 6: {
15663
- message.height = reader.uint32();
15664
- break;
15665
- }
15666
- case 7: {
15667
- message.fps = reader.float();
17283
+ message.id = reader.string();
15668
17284
  break;
15669
17285
  }
15670
17286
  default:
@@ -15674,199 +17290,48 @@ var sesame = $root.sesame = (() => {
15674
17290
  }
15675
17291
  return message;
15676
17292
  };
15677
- EncoderConfig.decodeDelimited = function decodeDelimited(reader) {
17293
+ EncoderRemoveRequest.decodeDelimited = function decodeDelimited(reader) {
15678
17294
  if (!(reader instanceof $Reader))
15679
17295
  reader = new $Reader(reader);
15680
17296
  return this.decode(reader, reader.uint32());
15681
17297
  };
15682
- EncoderConfig.verify = function verify(message) {
17298
+ EncoderRemoveRequest.verify = function verify(message) {
15683
17299
  if (typeof message !== "object" || message === null)
15684
17300
  return "object expected";
15685
- if (message.codec != null && message.hasOwnProperty("codec"))
15686
- switch (message.codec) {
15687
- default:
15688
- return "codec: enum value expected";
15689
- case 0:
15690
- case 1:
15691
- case 2:
15692
- case 3:
15693
- case 4:
15694
- case 5:
15695
- case 6:
15696
- case 7:
15697
- case 64:
15698
- case 65:
15699
- case 66:
15700
- case 67:
15701
- break;
15702
- }
15703
- if (message.preset != null && message.hasOwnProperty("preset"))
15704
- switch (message.preset) {
15705
- default:
15706
- return "preset: enum value expected";
15707
- case 0:
15708
- case 1:
15709
- case 2:
15710
- case 3:
15711
- break;
15712
- }
15713
- if (message.bitrateKbps != null && message.hasOwnProperty("bitrateKbps")) {
15714
- if (!$util.isInteger(message.bitrateKbps))
15715
- return "bitrateKbps: integer expected";
15716
- }
15717
- if (message.keyframeInterval != null && message.hasOwnProperty("keyframeInterval")) {
15718
- if (!$util.isInteger(message.keyframeInterval))
15719
- return "keyframeInterval: integer expected";
15720
- }
15721
- if (message.width != null && message.hasOwnProperty("width")) {
15722
- if (!$util.isInteger(message.width))
15723
- return "width: integer expected";
15724
- }
15725
- if (message.height != null && message.hasOwnProperty("height")) {
15726
- if (!$util.isInteger(message.height))
15727
- return "height: integer expected";
15728
- }
15729
- if (message.fps != null && message.hasOwnProperty("fps")) {
15730
- if (typeof message.fps !== "number")
15731
- return "fps: number expected";
17301
+ if (message.id != null && message.hasOwnProperty("id")) {
17302
+ if (!$util.isString(message.id))
17303
+ return "id: string expected";
15732
17304
  }
15733
17305
  return null;
15734
17306
  };
15735
- EncoderConfig.fromObject = function fromObject(object) {
15736
- if (object instanceof $root.sesame.v1.outputs.EncoderConfig)
17307
+ EncoderRemoveRequest.fromObject = function fromObject(object) {
17308
+ if (object instanceof $root.sesame.v1.outputs.EncoderRemoveRequest)
15737
17309
  return object;
15738
- let message = new $root.sesame.v1.outputs.EncoderConfig();
15739
- switch (object.codec) {
15740
- default:
15741
- if (typeof object.codec === "number") {
15742
- message.codec = object.codec;
15743
- break;
15744
- }
15745
- break;
15746
- case "CODEC_TYPE_UNSPECIFIED":
15747
- case 0:
15748
- message.codec = 0;
15749
- break;
15750
- case "CODEC_TYPE_VIDEO_VP8":
15751
- case 1:
15752
- message.codec = 1;
15753
- break;
15754
- case "CODEC_TYPE_VIDEO_VP9":
15755
- case 2:
15756
- message.codec = 2;
15757
- break;
15758
- case "CODEC_TYPE_VIDEO_AVC":
15759
- case 3:
15760
- message.codec = 3;
15761
- break;
15762
- case "CODEC_TYPE_VIDEO_HEVC":
15763
- case 4:
15764
- message.codec = 4;
15765
- break;
15766
- case "CODEC_TYPE_VIDEO_AV1":
15767
- case 5:
15768
- message.codec = 5;
15769
- break;
15770
- case "CODEC_TYPE_VIDEO_PRORES":
15771
- case 6:
15772
- message.codec = 6;
15773
- break;
15774
- case "CODEC_TYPE_VIDEO_DNXHR":
15775
- case 7:
15776
- message.codec = 7;
15777
- break;
15778
- case "CODEC_TYPE_AUDIO_OPUS":
15779
- case 64:
15780
- message.codec = 64;
15781
- break;
15782
- case "CODEC_TYPE_AUDIO_AAC":
15783
- case 65:
15784
- message.codec = 65;
15785
- break;
15786
- case "CODEC_TYPE_AUDIO_PCM":
15787
- case 66:
15788
- message.codec = 66;
15789
- break;
15790
- case "CODEC_TYPE_AUDIO_PCM_S24LE":
15791
- case 67:
15792
- message.codec = 67;
15793
- break;
15794
- }
15795
- switch (object.preset) {
15796
- default:
15797
- if (typeof object.preset === "number") {
15798
- message.preset = object.preset;
15799
- break;
15800
- }
15801
- break;
15802
- case "ENCODER_PRESET_UNSPECIFIED":
15803
- case 0:
15804
- message.preset = 0;
15805
- break;
15806
- case "ENCODER_PRESET_LOW_LATENCY":
15807
- case 1:
15808
- message.preset = 1;
15809
- break;
15810
- case "ENCODER_PRESET_LOW_LATENCY_IDR_ONLY":
15811
- case 2:
15812
- message.preset = 2;
15813
- break;
15814
- case "ENCODER_PRESET_HIGH_QUALITY":
15815
- case 3:
15816
- message.preset = 3;
15817
- break;
15818
- }
15819
- if (object.bitrateKbps != null)
15820
- message.bitrateKbps = object.bitrateKbps >>> 0;
15821
- if (object.keyframeInterval != null)
15822
- message.keyframeInterval = object.keyframeInterval >>> 0;
15823
- if (object.width != null)
15824
- message.width = object.width >>> 0;
15825
- if (object.height != null)
15826
- message.height = object.height >>> 0;
15827
- if (object.fps != null)
15828
- message.fps = Number(object.fps);
17310
+ let message = new $root.sesame.v1.outputs.EncoderRemoveRequest();
17311
+ if (object.id != null)
17312
+ message.id = String(object.id);
15829
17313
  return message;
15830
17314
  };
15831
- EncoderConfig.toObject = function toObject(message, options) {
17315
+ EncoderRemoveRequest.toObject = function toObject(message, options) {
15832
17316
  if (!options)
15833
17317
  options = {};
15834
17318
  let object = {};
15835
- if (options.defaults) {
15836
- object.codec = options.enums === String ? "CODEC_TYPE_UNSPECIFIED" : 0;
15837
- object.preset = options.enums === String ? "ENCODER_PRESET_UNSPECIFIED" : 0;
15838
- object.bitrateKbps = 0;
15839
- object.keyframeInterval = 0;
15840
- object.width = 0;
15841
- object.height = 0;
15842
- object.fps = 0;
15843
- }
15844
- if (message.codec != null && message.hasOwnProperty("codec"))
15845
- object.codec = options.enums === String ? $root.sesame.v1.common.CodecType[message.codec] === void 0 ? message.codec : $root.sesame.v1.common.CodecType[message.codec] : message.codec;
15846
- if (message.preset != null && message.hasOwnProperty("preset"))
15847
- object.preset = options.enums === String ? $root.sesame.v1.outputs.EncoderPreset[message.preset] === void 0 ? message.preset : $root.sesame.v1.outputs.EncoderPreset[message.preset] : message.preset;
15848
- if (message.bitrateKbps != null && message.hasOwnProperty("bitrateKbps"))
15849
- object.bitrateKbps = message.bitrateKbps;
15850
- if (message.keyframeInterval != null && message.hasOwnProperty("keyframeInterval"))
15851
- object.keyframeInterval = message.keyframeInterval;
15852
- if (message.width != null && message.hasOwnProperty("width"))
15853
- object.width = message.width;
15854
- if (message.height != null && message.hasOwnProperty("height"))
15855
- object.height = message.height;
15856
- if (message.fps != null && message.hasOwnProperty("fps"))
15857
- object.fps = options.json && !isFinite(message.fps) ? String(message.fps) : message.fps;
17319
+ if (options.defaults)
17320
+ object.id = "";
17321
+ if (message.id != null && message.hasOwnProperty("id"))
17322
+ object.id = message.id;
15858
17323
  return object;
15859
17324
  };
15860
- EncoderConfig.prototype.toJSON = function toJSON() {
17325
+ EncoderRemoveRequest.prototype.toJSON = function toJSON() {
15861
17326
  return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
15862
17327
  };
15863
- EncoderConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
17328
+ EncoderRemoveRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
15864
17329
  if (typeUrlPrefix === void 0) {
15865
17330
  typeUrlPrefix = "type.googleapis.com";
15866
17331
  }
15867
- return typeUrlPrefix + "/sesame.v1.outputs.EncoderConfig";
17332
+ return typeUrlPrefix + "/sesame.v1.outputs.EncoderRemoveRequest";
15868
17333
  };
15869
- return EncoderConfig;
17334
+ return EncoderRemoveRequest;
15870
17335
  }();
15871
17336
  outputs.DecklinkOutputConfig = function() {
15872
17337
  function DecklinkOutputConfig(properties) {
@@ -16038,7 +17503,7 @@ var sesame = $root.sesame = (() => {
16038
17503
  }
16039
17504
  }
16040
17505
  EncodedWebSocketOutputConfig.prototype.channel = "";
16041
- EncodedWebSocketOutputConfig.prototype.encoder = null;
17506
+ EncodedWebSocketOutputConfig.prototype.encoderId = "";
16042
17507
  EncodedWebSocketOutputConfig.prototype.metadataTracks = $util.emptyArray;
16043
17508
  EncodedWebSocketOutputConfig.create = function create(properties) {
16044
17509
  return new EncodedWebSocketOutputConfig(properties);
@@ -16051,11 +17516,11 @@ var sesame = $root.sesame = (() => {
16051
17516
  /* id 1, wireType 2 =*/
16052
17517
  10
16053
17518
  ).string(message.channel);
16054
- if (message.encoder != null && Object.hasOwnProperty.call(message, "encoder"))
16055
- $root.sesame.v1.outputs.EncoderConfig.encode(message.encoder, writer.uint32(
17519
+ if (message.encoderId != null && Object.hasOwnProperty.call(message, "encoderId"))
17520
+ writer.uint32(
16056
17521
  /* id 2, wireType 2 =*/
16057
17522
  18
16058
- ).fork()).ldelim();
17523
+ ).string(message.encoderId);
16059
17524
  if (message.metadataTracks != null && message.metadataTracks.length)
16060
17525
  for (let i = 0; i < message.metadataTracks.length; ++i)
16061
17526
  writer.uint32(
@@ -16081,7 +17546,7 @@ var sesame = $root.sesame = (() => {
16081
17546
  break;
16082
17547
  }
16083
17548
  case 2: {
16084
- message.encoder = $root.sesame.v1.outputs.EncoderConfig.decode(reader, reader.uint32());
17549
+ message.encoderId = reader.string();
16085
17550
  break;
16086
17551
  }
16087
17552
  case 3: {
@@ -16109,10 +17574,9 @@ var sesame = $root.sesame = (() => {
16109
17574
  if (!$util.isString(message.channel))
16110
17575
  return "channel: string expected";
16111
17576
  }
16112
- if (message.encoder != null && message.hasOwnProperty("encoder")) {
16113
- let error = $root.sesame.v1.outputs.EncoderConfig.verify(message.encoder);
16114
- if (error)
16115
- return "encoder." + error;
17577
+ if (message.encoderId != null && message.hasOwnProperty("encoderId")) {
17578
+ if (!$util.isString(message.encoderId))
17579
+ return "encoderId: string expected";
16116
17580
  }
16117
17581
  if (message.metadataTracks != null && message.hasOwnProperty("metadataTracks")) {
16118
17582
  if (!Array.isArray(message.metadataTracks))
@@ -16129,11 +17593,8 @@ var sesame = $root.sesame = (() => {
16129
17593
  let message = new $root.sesame.v1.outputs.EncodedWebSocketOutputConfig();
16130
17594
  if (object.channel != null)
16131
17595
  message.channel = String(object.channel);
16132
- if (object.encoder != null) {
16133
- if (typeof object.encoder !== "object")
16134
- throw TypeError(".sesame.v1.outputs.EncodedWebSocketOutputConfig.encoder: object expected");
16135
- message.encoder = $root.sesame.v1.outputs.EncoderConfig.fromObject(object.encoder);
16136
- }
17596
+ if (object.encoderId != null)
17597
+ message.encoderId = String(object.encoderId);
16137
17598
  if (object.metadataTracks) {
16138
17599
  if (!Array.isArray(object.metadataTracks))
16139
17600
  throw TypeError(".sesame.v1.outputs.EncodedWebSocketOutputConfig.metadataTracks: array expected");
@@ -16151,12 +17612,12 @@ var sesame = $root.sesame = (() => {
16151
17612
  object.metadataTracks = [];
16152
17613
  if (options.defaults) {
16153
17614
  object.channel = "";
16154
- object.encoder = null;
17615
+ object.encoderId = "";
16155
17616
  }
16156
17617
  if (message.channel != null && message.hasOwnProperty("channel"))
16157
17618
  object.channel = message.channel;
16158
- if (message.encoder != null && message.hasOwnProperty("encoder"))
16159
- object.encoder = $root.sesame.v1.outputs.EncoderConfig.toObject(message.encoder, options);
17619
+ if (message.encoderId != null && message.hasOwnProperty("encoderId"))
17620
+ object.encoderId = message.encoderId;
16160
17621
  if (message.metadataTracks && message.metadataTracks.length) {
16161
17622
  object.metadataTracks = [];
16162
17623
  for (let j = 0; j < message.metadataTracks.length; ++j)
@@ -16183,7 +17644,7 @@ var sesame = $root.sesame = (() => {
16183
17644
  this[keys[i]] = properties[keys[i]];
16184
17645
  }
16185
17646
  }
16186
- EncodedRecorderOutputConfig.prototype.encoder = null;
17647
+ EncodedRecorderOutputConfig.prototype.encoderId = "";
16187
17648
  EncodedRecorderOutputConfig.prototype.filename = "";
16188
17649
  EncodedRecorderOutputConfig.prototype.sizeGb = 0;
16189
17650
  EncodedRecorderOutputConfig.prototype.groupId = "";
@@ -16194,11 +17655,11 @@ var sesame = $root.sesame = (() => {
16194
17655
  EncodedRecorderOutputConfig.encode = function encode(message, writer) {
16195
17656
  if (!writer)
16196
17657
  writer = $Writer.create();
16197
- if (message.encoder != null && Object.hasOwnProperty.call(message, "encoder"))
16198
- $root.sesame.v1.outputs.EncoderConfig.encode(message.encoder, writer.uint32(
17658
+ if (message.encoderId != null && Object.hasOwnProperty.call(message, "encoderId"))
17659
+ writer.uint32(
16199
17660
  /* id 1, wireType 2 =*/
16200
17661
  10
16201
- ).fork()).ldelim();
17662
+ ).string(message.encoderId);
16202
17663
  if (message.filename != null && Object.hasOwnProperty.call(message, "filename"))
16203
17664
  writer.uint32(
16204
17665
  /* id 2, wireType 2 =*/
@@ -16234,7 +17695,7 @@ var sesame = $root.sesame = (() => {
16234
17695
  break;
16235
17696
  switch (tag >>> 3) {
16236
17697
  case 1: {
16237
- message.encoder = $root.sesame.v1.outputs.EncoderConfig.decode(reader, reader.uint32());
17698
+ message.encoderId = reader.string();
16238
17699
  break;
16239
17700
  }
16240
17701
  case 2: {
@@ -16268,10 +17729,9 @@ var sesame = $root.sesame = (() => {
16268
17729
  EncodedRecorderOutputConfig.verify = function verify(message) {
16269
17730
  if (typeof message !== "object" || message === null)
16270
17731
  return "object expected";
16271
- if (message.encoder != null && message.hasOwnProperty("encoder")) {
16272
- let error = $root.sesame.v1.outputs.EncoderConfig.verify(message.encoder);
16273
- if (error)
16274
- return "encoder." + error;
17732
+ if (message.encoderId != null && message.hasOwnProperty("encoderId")) {
17733
+ if (!$util.isString(message.encoderId))
17734
+ return "encoderId: string expected";
16275
17735
  }
16276
17736
  if (message.filename != null && message.hasOwnProperty("filename")) {
16277
17737
  if (!$util.isString(message.filename))
@@ -16300,11 +17760,8 @@ var sesame = $root.sesame = (() => {
16300
17760
  if (object instanceof $root.sesame.v1.outputs.EncodedRecorderOutputConfig)
16301
17761
  return object;
16302
17762
  let message = new $root.sesame.v1.outputs.EncodedRecorderOutputConfig();
16303
- if (object.encoder != null) {
16304
- if (typeof object.encoder !== "object")
16305
- throw TypeError(".sesame.v1.outputs.EncodedRecorderOutputConfig.encoder: object expected");
16306
- message.encoder = $root.sesame.v1.outputs.EncoderConfig.fromObject(object.encoder);
16307
- }
17763
+ if (object.encoderId != null)
17764
+ message.encoderId = String(object.encoderId);
16308
17765
  if (object.filename != null)
16309
17766
  message.filename = String(object.filename);
16310
17767
  if (object.sizeGb != null)
@@ -16338,14 +17795,14 @@ var sesame = $root.sesame = (() => {
16338
17795
  options = {};
16339
17796
  let object = {};
16340
17797
  if (options.defaults) {
16341
- object.encoder = null;
17798
+ object.encoderId = "";
16342
17799
  object.filename = "";
16343
17800
  object.sizeGb = 0;
16344
17801
  object.groupId = "";
16345
17802
  object.recorderType = options.enums === String ? "RECORDER_TYPE_UNSPECIFIED" : 0;
16346
17803
  }
16347
- if (message.encoder != null && message.hasOwnProperty("encoder"))
16348
- object.encoder = $root.sesame.v1.outputs.EncoderConfig.toObject(message.encoder, options);
17804
+ if (message.encoderId != null && message.hasOwnProperty("encoderId"))
17805
+ object.encoderId = message.encoderId;
16349
17806
  if (message.filename != null && message.hasOwnProperty("filename"))
16350
17807
  object.filename = message.filename;
16351
17808
  if (message.sizeGb != null && message.hasOwnProperty("sizeGb"))
@@ -16638,7 +18095,7 @@ var sesame = $root.sesame = (() => {
16638
18095
  }
16639
18096
  }
16640
18097
  EncodedSrtOutputConfig.prototype.url = "";
16641
- EncodedSrtOutputConfig.prototype.encoder = null;
18098
+ EncodedSrtOutputConfig.prototype.encoderId = "";
16642
18099
  EncodedSrtOutputConfig.create = function create(properties) {
16643
18100
  return new EncodedSrtOutputConfig(properties);
16644
18101
  };
@@ -16650,11 +18107,11 @@ var sesame = $root.sesame = (() => {
16650
18107
  /* id 1, wireType 2 =*/
16651
18108
  10
16652
18109
  ).string(message.url);
16653
- if (message.encoder != null && Object.hasOwnProperty.call(message, "encoder"))
16654
- $root.sesame.v1.outputs.EncoderConfig.encode(message.encoder, writer.uint32(
18110
+ if (message.encoderId != null && Object.hasOwnProperty.call(message, "encoderId"))
18111
+ writer.uint32(
16655
18112
  /* id 2, wireType 2 =*/
16656
18113
  18
16657
- ).fork()).ldelim();
18114
+ ).string(message.encoderId);
16658
18115
  return writer;
16659
18116
  };
16660
18117
  EncodedSrtOutputConfig.encodeDelimited = function encodeDelimited(message, writer) {
@@ -16674,7 +18131,7 @@ var sesame = $root.sesame = (() => {
16674
18131
  break;
16675
18132
  }
16676
18133
  case 2: {
16677
- message.encoder = $root.sesame.v1.outputs.EncoderConfig.decode(reader, reader.uint32());
18134
+ message.encoderId = reader.string();
16678
18135
  break;
16679
18136
  }
16680
18137
  default:
@@ -16696,10 +18153,9 @@ var sesame = $root.sesame = (() => {
16696
18153
  if (!$util.isString(message.url))
16697
18154
  return "url: string expected";
16698
18155
  }
16699
- if (message.encoder != null && message.hasOwnProperty("encoder")) {
16700
- let error = $root.sesame.v1.outputs.EncoderConfig.verify(message.encoder);
16701
- if (error)
16702
- return "encoder." + error;
18156
+ if (message.encoderId != null && message.hasOwnProperty("encoderId")) {
18157
+ if (!$util.isString(message.encoderId))
18158
+ return "encoderId: string expected";
16703
18159
  }
16704
18160
  return null;
16705
18161
  };
@@ -16709,11 +18165,8 @@ var sesame = $root.sesame = (() => {
16709
18165
  let message = new $root.sesame.v1.outputs.EncodedSrtOutputConfig();
16710
18166
  if (object.url != null)
16711
18167
  message.url = String(object.url);
16712
- if (object.encoder != null) {
16713
- if (typeof object.encoder !== "object")
16714
- throw TypeError(".sesame.v1.outputs.EncodedSrtOutputConfig.encoder: object expected");
16715
- message.encoder = $root.sesame.v1.outputs.EncoderConfig.fromObject(object.encoder);
16716
- }
18168
+ if (object.encoderId != null)
18169
+ message.encoderId = String(object.encoderId);
16717
18170
  return message;
16718
18171
  };
16719
18172
  EncodedSrtOutputConfig.toObject = function toObject(message, options) {
@@ -16722,12 +18175,12 @@ var sesame = $root.sesame = (() => {
16722
18175
  let object = {};
16723
18176
  if (options.defaults) {
16724
18177
  object.url = "";
16725
- object.encoder = null;
18178
+ object.encoderId = "";
16726
18179
  }
16727
18180
  if (message.url != null && message.hasOwnProperty("url"))
16728
18181
  object.url = message.url;
16729
- if (message.encoder != null && message.hasOwnProperty("encoder"))
16730
- object.encoder = $root.sesame.v1.outputs.EncoderConfig.toObject(message.encoder, options);
18182
+ if (message.encoderId != null && message.hasOwnProperty("encoderId"))
18183
+ object.encoderId = message.encoderId;
16731
18184
  return object;
16732
18185
  };
16733
18186
  EncodedSrtOutputConfig.prototype.toJSON = function toJSON() {
@@ -16750,7 +18203,7 @@ var sesame = $root.sesame = (() => {
16750
18203
  this[keys[i]] = properties[keys[i]];
16751
18204
  }
16752
18205
  }
16753
- EncodedMoqOutputConfig.prototype.encoder = null;
18206
+ EncodedMoqOutputConfig.prototype.encoderId = "";
16754
18207
  EncodedMoqOutputConfig.prototype.url = "";
16755
18208
  EncodedMoqOutputConfig.prototype.broadcast = "";
16756
18209
  EncodedMoqOutputConfig.prototype.key = "";
@@ -16761,11 +18214,11 @@ var sesame = $root.sesame = (() => {
16761
18214
  EncodedMoqOutputConfig.encode = function encode(message, writer) {
16762
18215
  if (!writer)
16763
18216
  writer = $Writer.create();
16764
- if (message.encoder != null && Object.hasOwnProperty.call(message, "encoder"))
16765
- $root.sesame.v1.outputs.EncoderConfig.encode(message.encoder, writer.uint32(
18217
+ if (message.encoderId != null && Object.hasOwnProperty.call(message, "encoderId"))
18218
+ writer.uint32(
16766
18219
  /* id 1, wireType 2 =*/
16767
18220
  10
16768
- ).fork()).ldelim();
18221
+ ).string(message.encoderId);
16769
18222
  if (message.url != null && Object.hasOwnProperty.call(message, "url"))
16770
18223
  writer.uint32(
16771
18224
  /* id 2, wireType 2 =*/
@@ -16802,7 +18255,7 @@ var sesame = $root.sesame = (() => {
16802
18255
  break;
16803
18256
  switch (tag >>> 3) {
16804
18257
  case 1: {
16805
- message.encoder = $root.sesame.v1.outputs.EncoderConfig.decode(reader, reader.uint32());
18258
+ message.encoderId = reader.string();
16806
18259
  break;
16807
18260
  }
16808
18261
  case 2: {
@@ -16838,10 +18291,9 @@ var sesame = $root.sesame = (() => {
16838
18291
  EncodedMoqOutputConfig.verify = function verify(message) {
16839
18292
  if (typeof message !== "object" || message === null)
16840
18293
  return "object expected";
16841
- if (message.encoder != null && message.hasOwnProperty("encoder")) {
16842
- let error = $root.sesame.v1.outputs.EncoderConfig.verify(message.encoder);
16843
- if (error)
16844
- return "encoder." + error;
18294
+ if (message.encoderId != null && message.hasOwnProperty("encoderId")) {
18295
+ if (!$util.isString(message.encoderId))
18296
+ return "encoderId: string expected";
16845
18297
  }
16846
18298
  if (message.url != null && message.hasOwnProperty("url")) {
16847
18299
  if (!$util.isString(message.url))
@@ -16868,11 +18320,8 @@ var sesame = $root.sesame = (() => {
16868
18320
  if (object instanceof $root.sesame.v1.outputs.EncodedMoqOutputConfig)
16869
18321
  return object;
16870
18322
  let message = new $root.sesame.v1.outputs.EncodedMoqOutputConfig();
16871
- if (object.encoder != null) {
16872
- if (typeof object.encoder !== "object")
16873
- throw TypeError(".sesame.v1.outputs.EncodedMoqOutputConfig.encoder: object expected");
16874
- message.encoder = $root.sesame.v1.outputs.EncoderConfig.fromObject(object.encoder);
16875
- }
18323
+ if (object.encoderId != null)
18324
+ message.encoderId = String(object.encoderId);
16876
18325
  if (object.url != null)
16877
18326
  message.url = String(object.url);
16878
18327
  if (object.broadcast != null)
@@ -16895,13 +18344,13 @@ var sesame = $root.sesame = (() => {
16895
18344
  if (options.arrays || options.defaults)
16896
18345
  object.metadataTracks = [];
16897
18346
  if (options.defaults) {
16898
- object.encoder = null;
18347
+ object.encoderId = "";
16899
18348
  object.url = "";
16900
18349
  object.broadcast = "";
16901
18350
  object.key = "";
16902
18351
  }
16903
- if (message.encoder != null && message.hasOwnProperty("encoder"))
16904
- object.encoder = $root.sesame.v1.outputs.EncoderConfig.toObject(message.encoder, options);
18352
+ if (message.encoderId != null && message.hasOwnProperty("encoderId"))
18353
+ object.encoderId = message.encoderId;
16905
18354
  if (message.url != null && message.hasOwnProperty("url"))
16906
18355
  object.url = message.url;
16907
18356
  if (message.broadcast != null && message.hasOwnProperty("broadcast"))
@@ -17957,6 +19406,7 @@ var sesame = $root.sesame = (() => {
17957
19406
  OutputStatus.prototype.url = "";
17958
19407
  OutputStatus.prototype.bufferSize = 0;
17959
19408
  OutputStatus.prototype.srtStats = null;
19409
+ OutputStatus.prototype.encoderId = "";
17960
19410
  let $oneOfFields;
17961
19411
  Object.defineProperty(OutputStatus.prototype, "_msg", {
17962
19412
  get: $util.oneOfGetter($oneOfFields = ["msg"]),
@@ -18007,6 +19457,11 @@ var sesame = $root.sesame = (() => {
18007
19457
  /* id 7, wireType 2 =*/
18008
19458
  58
18009
19459
  ).fork()).ldelim();
19460
+ if (message.encoderId != null && Object.hasOwnProperty.call(message, "encoderId"))
19461
+ writer.uint32(
19462
+ /* id 8, wireType 2 =*/
19463
+ 66
19464
+ ).string(message.encoderId);
18010
19465
  return writer;
18011
19466
  };
18012
19467
  OutputStatus.encodeDelimited = function encodeDelimited(message, writer) {
@@ -18049,6 +19504,10 @@ var sesame = $root.sesame = (() => {
18049
19504
  message.srtStats = $root.sesame.v1.status.SRTSendStatistics.decode(reader, reader.uint32());
18050
19505
  break;
18051
19506
  }
19507
+ case 8: {
19508
+ message.encoderId = reader.string();
19509
+ break;
19510
+ }
18052
19511
  default:
18053
19512
  reader.skipType(tag & 7);
18054
19513
  break;
@@ -18117,6 +19576,10 @@ var sesame = $root.sesame = (() => {
18117
19576
  return "srtStats." + error;
18118
19577
  }
18119
19578
  }
19579
+ if (message.encoderId != null && message.hasOwnProperty("encoderId")) {
19580
+ if (!$util.isString(message.encoderId))
19581
+ return "encoderId: string expected";
19582
+ }
18120
19583
  return null;
18121
19584
  };
18122
19585
  OutputStatus.fromObject = function fromObject(object) {
@@ -18212,6 +19675,8 @@ var sesame = $root.sesame = (() => {
18212
19675
  throw TypeError(".sesame.v1.outputs.OutputStatus.srtStats: object expected");
18213
19676
  message.srtStats = $root.sesame.v1.status.SRTSendStatistics.fromObject(object.srtStats);
18214
19677
  }
19678
+ if (object.encoderId != null)
19679
+ message.encoderId = String(object.encoderId);
18215
19680
  return message;
18216
19681
  };
18217
19682
  OutputStatus.toObject = function toObject(message, options) {
@@ -18224,6 +19689,7 @@ var sesame = $root.sesame = (() => {
18224
19689
  object.state = options.enums === String ? "CONNECTION_STATE_UNSPECIFIED" : 0;
18225
19690
  object.url = "";
18226
19691
  object.bufferSize = 0;
19692
+ object.encoderId = "";
18227
19693
  }
18228
19694
  if (message.id != null && message.hasOwnProperty("id"))
18229
19695
  object.id = message.id;
@@ -18245,6 +19711,8 @@ var sesame = $root.sesame = (() => {
18245
19711
  if (options.oneofs)
18246
19712
  object._srtStats = "srtStats";
18247
19713
  }
19714
+ if (message.encoderId != null && message.hasOwnProperty("encoderId"))
19715
+ object.encoderId = message.encoderId;
18248
19716
  return object;
18249
19717
  };
18250
19718
  OutputStatus.prototype.toJSON = function toJSON() {
@@ -18258,6 +19726,241 @@ var sesame = $root.sesame = (() => {
18258
19726
  };
18259
19727
  return OutputStatus;
18260
19728
  }();
19729
+ outputs.EncoderStatus = function() {
19730
+ function EncoderStatus(properties) {
19731
+ if (properties) {
19732
+ for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)
19733
+ if (properties[keys[i]] != null)
19734
+ this[keys[i]] = properties[keys[i]];
19735
+ }
19736
+ }
19737
+ EncoderStatus.prototype.id = "";
19738
+ EncoderStatus.prototype.type = 0;
19739
+ EncoderStatus.prototype.state = 0;
19740
+ EncoderStatus.prototype.msg = null;
19741
+ EncoderStatus.prototype.compositionId = "";
19742
+ let $oneOfFields;
19743
+ Object.defineProperty(EncoderStatus.prototype, "_msg", {
19744
+ get: $util.oneOfGetter($oneOfFields = ["msg"]),
19745
+ set: $util.oneOfSetter($oneOfFields)
19746
+ });
19747
+ EncoderStatus.create = function create(properties) {
19748
+ return new EncoderStatus(properties);
19749
+ };
19750
+ EncoderStatus.encode = function encode(message, writer) {
19751
+ if (!writer)
19752
+ writer = $Writer.create();
19753
+ if (message.id != null && Object.hasOwnProperty.call(message, "id"))
19754
+ writer.uint32(
19755
+ /* id 1, wireType 2 =*/
19756
+ 10
19757
+ ).string(message.id);
19758
+ if (message.type != null && Object.hasOwnProperty.call(message, "type"))
19759
+ writer.uint32(
19760
+ /* id 2, wireType 0 =*/
19761
+ 16
19762
+ ).int32(message.type);
19763
+ if (message.state != null && Object.hasOwnProperty.call(message, "state"))
19764
+ writer.uint32(
19765
+ /* id 3, wireType 0 =*/
19766
+ 24
19767
+ ).int32(message.state);
19768
+ if (message.msg != null && Object.hasOwnProperty.call(message, "msg"))
19769
+ writer.uint32(
19770
+ /* id 4, wireType 2 =*/
19771
+ 34
19772
+ ).string(message.msg);
19773
+ if (message.compositionId != null && Object.hasOwnProperty.call(message, "compositionId"))
19774
+ writer.uint32(
19775
+ /* id 5, wireType 2 =*/
19776
+ 42
19777
+ ).string(message.compositionId);
19778
+ return writer;
19779
+ };
19780
+ EncoderStatus.encodeDelimited = function encodeDelimited(message, writer) {
19781
+ return this.encode(message, writer).ldelim();
19782
+ };
19783
+ EncoderStatus.decode = function decode(reader, length, error) {
19784
+ if (!(reader instanceof $Reader))
19785
+ reader = $Reader.create(reader);
19786
+ let end = length === void 0 ? reader.len : reader.pos + length, message = new $root.sesame.v1.outputs.EncoderStatus();
19787
+ while (reader.pos < end) {
19788
+ let tag = reader.uint32();
19789
+ if (tag === error)
19790
+ break;
19791
+ switch (tag >>> 3) {
19792
+ case 1: {
19793
+ message.id = reader.string();
19794
+ break;
19795
+ }
19796
+ case 2: {
19797
+ message.type = reader.int32();
19798
+ break;
19799
+ }
19800
+ case 3: {
19801
+ message.state = reader.int32();
19802
+ break;
19803
+ }
19804
+ case 4: {
19805
+ message.msg = reader.string();
19806
+ break;
19807
+ }
19808
+ case 5: {
19809
+ message.compositionId = reader.string();
19810
+ break;
19811
+ }
19812
+ default:
19813
+ reader.skipType(tag & 7);
19814
+ break;
19815
+ }
19816
+ }
19817
+ return message;
19818
+ };
19819
+ EncoderStatus.decodeDelimited = function decodeDelimited(reader) {
19820
+ if (!(reader instanceof $Reader))
19821
+ reader = new $Reader(reader);
19822
+ return this.decode(reader, reader.uint32());
19823
+ };
19824
+ EncoderStatus.verify = function verify(message) {
19825
+ if (typeof message !== "object" || message === null)
19826
+ return "object expected";
19827
+ let properties = {};
19828
+ if (message.id != null && message.hasOwnProperty("id")) {
19829
+ if (!$util.isString(message.id))
19830
+ return "id: string expected";
19831
+ }
19832
+ if (message.type != null && message.hasOwnProperty("type"))
19833
+ switch (message.type) {
19834
+ default:
19835
+ return "type: enum value expected";
19836
+ case 0:
19837
+ case 1:
19838
+ break;
19839
+ }
19840
+ if (message.state != null && message.hasOwnProperty("state"))
19841
+ switch (message.state) {
19842
+ default:
19843
+ return "state: enum value expected";
19844
+ case 0:
19845
+ case 1:
19846
+ case 2:
19847
+ case 3:
19848
+ case 4:
19849
+ case 5:
19850
+ case 6:
19851
+ break;
19852
+ }
19853
+ if (message.msg != null && message.hasOwnProperty("msg")) {
19854
+ properties._msg = 1;
19855
+ if (!$util.isString(message.msg))
19856
+ return "msg: string expected";
19857
+ }
19858
+ if (message.compositionId != null && message.hasOwnProperty("compositionId")) {
19859
+ if (!$util.isString(message.compositionId))
19860
+ return "compositionId: string expected";
19861
+ }
19862
+ return null;
19863
+ };
19864
+ EncoderStatus.fromObject = function fromObject(object) {
19865
+ if (object instanceof $root.sesame.v1.outputs.EncoderStatus)
19866
+ return object;
19867
+ let message = new $root.sesame.v1.outputs.EncoderStatus();
19868
+ if (object.id != null)
19869
+ message.id = String(object.id);
19870
+ switch (object.type) {
19871
+ default:
19872
+ if (typeof object.type === "number") {
19873
+ message.type = object.type;
19874
+ break;
19875
+ }
19876
+ break;
19877
+ case "ENCODER_TYPE_UNSPECIFIED":
19878
+ case 0:
19879
+ message.type = 0;
19880
+ break;
19881
+ case "ENCODER_TYPE_VIDEO":
19882
+ case 1:
19883
+ message.type = 1;
19884
+ break;
19885
+ }
19886
+ switch (object.state) {
19887
+ default:
19888
+ if (typeof object.state === "number") {
19889
+ message.state = object.state;
19890
+ break;
19891
+ }
19892
+ break;
19893
+ case "CONNECTION_STATE_UNSPECIFIED":
19894
+ case 0:
19895
+ message.state = 0;
19896
+ break;
19897
+ case "CONNECTION_STATE_INITIALIZING":
19898
+ case 1:
19899
+ message.state = 1;
19900
+ break;
19901
+ case "CONNECTION_STATE_CONNECTING":
19902
+ case 2:
19903
+ message.state = 2;
19904
+ break;
19905
+ case "CONNECTION_STATE_ONLINE":
19906
+ case 3:
19907
+ message.state = 3;
19908
+ break;
19909
+ case "CONNECTION_STATE_DEGRADED":
19910
+ case 4:
19911
+ message.state = 4;
19912
+ break;
19913
+ case "CONNECTION_STATE_OFFLINE":
19914
+ case 5:
19915
+ message.state = 5;
19916
+ break;
19917
+ case "CONNECTION_STATE_ERROR":
19918
+ case 6:
19919
+ message.state = 6;
19920
+ break;
19921
+ }
19922
+ if (object.msg != null)
19923
+ message.msg = String(object.msg);
19924
+ if (object.compositionId != null)
19925
+ message.compositionId = String(object.compositionId);
19926
+ return message;
19927
+ };
19928
+ EncoderStatus.toObject = function toObject(message, options) {
19929
+ if (!options)
19930
+ options = {};
19931
+ let object = {};
19932
+ if (options.defaults) {
19933
+ object.id = "";
19934
+ object.type = options.enums === String ? "ENCODER_TYPE_UNSPECIFIED" : 0;
19935
+ object.state = options.enums === String ? "CONNECTION_STATE_UNSPECIFIED" : 0;
19936
+ object.compositionId = "";
19937
+ }
19938
+ if (message.id != null && message.hasOwnProperty("id"))
19939
+ object.id = message.id;
19940
+ if (message.type != null && message.hasOwnProperty("type"))
19941
+ object.type = options.enums === String ? $root.sesame.v1.outputs.EncoderType[message.type] === void 0 ? message.type : $root.sesame.v1.outputs.EncoderType[message.type] : message.type;
19942
+ if (message.state != null && message.hasOwnProperty("state"))
19943
+ object.state = options.enums === String ? $root.sesame.v1.common.ConnectionState[message.state] === void 0 ? message.state : $root.sesame.v1.common.ConnectionState[message.state] : message.state;
19944
+ if (message.msg != null && message.hasOwnProperty("msg")) {
19945
+ object.msg = message.msg;
19946
+ if (options.oneofs)
19947
+ object._msg = "msg";
19948
+ }
19949
+ if (message.compositionId != null && message.hasOwnProperty("compositionId"))
19950
+ object.compositionId = message.compositionId;
19951
+ return object;
19952
+ };
19953
+ EncoderStatus.prototype.toJSON = function toJSON() {
19954
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
19955
+ };
19956
+ EncoderStatus.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
19957
+ if (typeUrlPrefix === void 0) {
19958
+ typeUrlPrefix = "type.googleapis.com";
19959
+ }
19960
+ return typeUrlPrefix + "/sesame.v1.outputs.EncoderStatus";
19961
+ };
19962
+ return EncoderStatus;
19963
+ }();
18261
19964
  return outputs;
18262
19965
  }();
18263
19966
  v1.compositor = function() {
@@ -23452,11 +25155,12 @@ var CommandList = class {
23452
25155
  }
23453
25156
  applyTransaction(transaction) {
23454
25157
  this.cl.commandList.forEach((item) => {
23455
- if (transaction.transactionId !== void 0) {
25158
+ if (transaction.transactionId !== void 0 && item.transactionId == null) {
23456
25159
  item.transactionId = transaction.transactionId;
23457
25160
  }
23458
25161
  if (transaction.dependencies !== void 0) {
23459
- item.transactionDeps = item.transactionDeps ? item.transactionDeps.concat(transaction.dependencies) : transaction.dependencies;
25162
+ const existing = item.transactionDeps ?? [];
25163
+ item.transactionDeps = [...new Set(existing.concat(transaction.dependencies))];
23460
25164
  }
23461
25165
  });
23462
25166
  }
@@ -23639,7 +25343,7 @@ var CommandList = class {
23639
25343
  }
23640
25344
  }
23641
25345
  item.updateSourceTransport = transportCmd;
23642
- return this.add(item, timeOffsetMs, { transactionId: msg.transactionId, dependencies: [] });
25346
+ return this.add(item, timeOffsetMs, { transactionId: msg.transactionId, dependencies: msg.dependencies });
23643
25347
  }
23644
25348
  sourceUpdate(id, cfg, timeOffsetMs) {
23645
25349
  let item = new sesame.v1.commands.CommandListItem();
@@ -23675,6 +25379,21 @@ var CommandList = class {
23675
25379
  item.removeOutput = { id };
23676
25380
  return this.add(item, timeOffsetMs);
23677
25381
  }
25382
+ encoderAdd(id, cfg, timeOffsetMs) {
25383
+ let item = new sesame.v1.commands.CommandListItem();
25384
+ item.addEncoder = { id, ...cfg };
25385
+ return this.add(item, timeOffsetMs);
25386
+ }
25387
+ encoderUpdate(id, cfg, timeOffsetMs) {
25388
+ let item = new sesame.v1.commands.CommandListItem();
25389
+ item.updateEncoder = { id, ...cfg };
25390
+ return this.add(item, timeOffsetMs);
25391
+ }
25392
+ encoderRemove(id, timeOffsetMs) {
25393
+ let item = new sesame.v1.commands.CommandListItem();
25394
+ item.removeEncoder = { id };
25395
+ return this.add(item, timeOffsetMs);
25396
+ }
23678
25397
  audioMixerAdd(id, cfg, timeOffsetMs) {
23679
25398
  let item = new sesame.v1.commands.CommandListItem();
23680
25399
  item.addAudioMixer = { id, config: cfg };
@@ -24391,15 +26110,21 @@ var EaseKind = /* @__PURE__ */ ((EaseKind2) => {
24391
26110
  EaseKind2["BACK_INOUT"] = "backInOut";
24392
26111
  return EaseKind2;
24393
26112
  })(EaseKind || {});
26113
+ function appendQueryParam(url, key, value) {
26114
+ if (!value) return url;
26115
+ const separator = url.includes("?") ? "&" : "?";
26116
+ return `${url}${separator}${encodeURIComponent(key)}=${encodeURIComponent(value)}`;
26117
+ }
24394
26118
  var SesameClient = class extends EventEmitter3 {
24395
- constructor(portOrUrl) {
26119
+ constructor(portOrUrl, clientOptions = {}) {
24396
26120
  super();
24397
26121
  this.subscriptions = [];
24398
26122
  this.onMediaPacket = () => {
24399
26123
  };
24400
26124
  this.onCallbackMessage = () => {
24401
26125
  };
24402
- const url = typeof portOrUrl === "number" ? `ws://127.0.0.1:${portOrUrl}/api` : portOrUrl;
26126
+ const baseUrl = typeof portOrUrl === "number" ? `ws://127.0.0.1:${portOrUrl}/api` : portOrUrl;
26127
+ const url = appendQueryParam(baseUrl, "client", clientOptions.wsClientLabel ?? "");
24403
26128
  this.conn = new SesameConnection({
24404
26129
  url,
24405
26130
  autoConnect: true,