@stinkycomputing/sesame-api-client 1.5.7 → 1.5.9

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,15 @@ 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;
3522
+ CommandListItem.prototype.takePlaylist = null;
2539
3523
  CommandListItem.prototype.transactionId = null;
2540
3524
  CommandListItem.prototype.transactionDeps = $util.emptyArray;
2541
3525
  let $oneOfFields;
2542
3526
  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"]),
3527
+ 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", "takePlaylist"]),
2544
3528
  set: $util.oneOfSetter($oneOfFields)
2545
3529
  });
2546
3530
  Object.defineProperty(CommandListItem.prototype, "_transactionId", {
@@ -2692,6 +3676,26 @@ var sesame = $root.sesame = (() => {
2692
3676
  /* id 27, wireType 2 =*/
2693
3677
  218
2694
3678
  ).fork()).ldelim();
3679
+ if (message.addEncoder != null && Object.hasOwnProperty.call(message, "addEncoder"))
3680
+ $root.sesame.v1.outputs.EncoderAddRequest.encode(message.addEncoder, writer.uint32(
3681
+ /* id 28, wireType 2 =*/
3682
+ 226
3683
+ ).fork()).ldelim();
3684
+ if (message.updateEncoder != null && Object.hasOwnProperty.call(message, "updateEncoder"))
3685
+ $root.sesame.v1.outputs.EncoderUpdateRequest.encode(message.updateEncoder, writer.uint32(
3686
+ /* id 29, wireType 2 =*/
3687
+ 234
3688
+ ).fork()).ldelim();
3689
+ if (message.removeEncoder != null && Object.hasOwnProperty.call(message, "removeEncoder"))
3690
+ $root.sesame.v1.outputs.EncoderRemoveRequest.encode(message.removeEncoder, writer.uint32(
3691
+ /* id 30, wireType 2 =*/
3692
+ 242
3693
+ ).fork()).ldelim();
3694
+ if (message.takePlaylist != null && Object.hasOwnProperty.call(message, "takePlaylist"))
3695
+ $root.sesame.v1.sources.TakePlaylistRequest.encode(message.takePlaylist, writer.uint32(
3696
+ /* id 31, wireType 2 =*/
3697
+ 250
3698
+ ).fork()).ldelim();
2695
3699
  return writer;
2696
3700
  };
2697
3701
  CommandListItem.encodeDelimited = function encodeDelimited(message, writer) {
@@ -2806,6 +3810,22 @@ var sesame = $root.sesame = (() => {
2806
3810
  message.setMetadataBindings = $root.sesame.v1.commands.SetMetadataBindingsRequest.decode(reader, reader.uint32());
2807
3811
  break;
2808
3812
  }
3813
+ case 28: {
3814
+ message.addEncoder = $root.sesame.v1.outputs.EncoderAddRequest.decode(reader, reader.uint32());
3815
+ break;
3816
+ }
3817
+ case 29: {
3818
+ message.updateEncoder = $root.sesame.v1.outputs.EncoderUpdateRequest.decode(reader, reader.uint32());
3819
+ break;
3820
+ }
3821
+ case 30: {
3822
+ message.removeEncoder = $root.sesame.v1.outputs.EncoderRemoveRequest.decode(reader, reader.uint32());
3823
+ break;
3824
+ }
3825
+ case 31: {
3826
+ message.takePlaylist = $root.sesame.v1.sources.TakePlaylistRequest.decode(reader, reader.uint32());
3827
+ break;
3828
+ }
2809
3829
  case 25: {
2810
3830
  message.transactionId = reader.uint32();
2811
3831
  break;
@@ -3079,6 +4099,46 @@ var sesame = $root.sesame = (() => {
3079
4099
  return "setMetadataBindings." + error;
3080
4100
  }
3081
4101
  }
4102
+ if (message.addEncoder != null && message.hasOwnProperty("addEncoder")) {
4103
+ if (properties.item === 1)
4104
+ return "item: multiple values";
4105
+ properties.item = 1;
4106
+ {
4107
+ let error = $root.sesame.v1.outputs.EncoderAddRequest.verify(message.addEncoder);
4108
+ if (error)
4109
+ return "addEncoder." + error;
4110
+ }
4111
+ }
4112
+ if (message.updateEncoder != null && message.hasOwnProperty("updateEncoder")) {
4113
+ if (properties.item === 1)
4114
+ return "item: multiple values";
4115
+ properties.item = 1;
4116
+ {
4117
+ let error = $root.sesame.v1.outputs.EncoderUpdateRequest.verify(message.updateEncoder);
4118
+ if (error)
4119
+ return "updateEncoder." + error;
4120
+ }
4121
+ }
4122
+ if (message.removeEncoder != null && message.hasOwnProperty("removeEncoder")) {
4123
+ if (properties.item === 1)
4124
+ return "item: multiple values";
4125
+ properties.item = 1;
4126
+ {
4127
+ let error = $root.sesame.v1.outputs.EncoderRemoveRequest.verify(message.removeEncoder);
4128
+ if (error)
4129
+ return "removeEncoder." + error;
4130
+ }
4131
+ }
4132
+ if (message.takePlaylist != null && message.hasOwnProperty("takePlaylist")) {
4133
+ if (properties.item === 1)
4134
+ return "item: multiple values";
4135
+ properties.item = 1;
4136
+ {
4137
+ let error = $root.sesame.v1.sources.TakePlaylistRequest.verify(message.takePlaylist);
4138
+ if (error)
4139
+ return "takePlaylist." + error;
4140
+ }
4141
+ }
3082
4142
  if (message.transactionId != null && message.hasOwnProperty("transactionId")) {
3083
4143
  properties._transactionId = 1;
3084
4144
  if (!$util.isInteger(message.transactionId))
@@ -3227,6 +4287,26 @@ var sesame = $root.sesame = (() => {
3227
4287
  throw TypeError(".sesame.v1.commands.CommandListItem.setMetadataBindings: object expected");
3228
4288
  message.setMetadataBindings = $root.sesame.v1.commands.SetMetadataBindingsRequest.fromObject(object.setMetadataBindings);
3229
4289
  }
4290
+ if (object.addEncoder != null) {
4291
+ if (typeof object.addEncoder !== "object")
4292
+ throw TypeError(".sesame.v1.commands.CommandListItem.addEncoder: object expected");
4293
+ message.addEncoder = $root.sesame.v1.outputs.EncoderAddRequest.fromObject(object.addEncoder);
4294
+ }
4295
+ if (object.updateEncoder != null) {
4296
+ if (typeof object.updateEncoder !== "object")
4297
+ throw TypeError(".sesame.v1.commands.CommandListItem.updateEncoder: object expected");
4298
+ message.updateEncoder = $root.sesame.v1.outputs.EncoderUpdateRequest.fromObject(object.updateEncoder);
4299
+ }
4300
+ if (object.removeEncoder != null) {
4301
+ if (typeof object.removeEncoder !== "object")
4302
+ throw TypeError(".sesame.v1.commands.CommandListItem.removeEncoder: object expected");
4303
+ message.removeEncoder = $root.sesame.v1.outputs.EncoderRemoveRequest.fromObject(object.removeEncoder);
4304
+ }
4305
+ if (object.takePlaylist != null) {
4306
+ if (typeof object.takePlaylist !== "object")
4307
+ throw TypeError(".sesame.v1.commands.CommandListItem.takePlaylist: object expected");
4308
+ message.takePlaylist = $root.sesame.v1.sources.TakePlaylistRequest.fromObject(object.takePlaylist);
4309
+ }
3230
4310
  if (object.transactionId != null)
3231
4311
  message.transactionId = object.transactionId >>> 0;
3232
4312
  if (object.transactionDeps) {
@@ -3385,6 +4465,26 @@ var sesame = $root.sesame = (() => {
3385
4465
  if (options.oneofs)
3386
4466
  object.item = "setMetadataBindings";
3387
4467
  }
4468
+ if (message.addEncoder != null && message.hasOwnProperty("addEncoder")) {
4469
+ object.addEncoder = $root.sesame.v1.outputs.EncoderAddRequest.toObject(message.addEncoder, options);
4470
+ if (options.oneofs)
4471
+ object.item = "addEncoder";
4472
+ }
4473
+ if (message.updateEncoder != null && message.hasOwnProperty("updateEncoder")) {
4474
+ object.updateEncoder = $root.sesame.v1.outputs.EncoderUpdateRequest.toObject(message.updateEncoder, options);
4475
+ if (options.oneofs)
4476
+ object.item = "updateEncoder";
4477
+ }
4478
+ if (message.removeEncoder != null && message.hasOwnProperty("removeEncoder")) {
4479
+ object.removeEncoder = $root.sesame.v1.outputs.EncoderRemoveRequest.toObject(message.removeEncoder, options);
4480
+ if (options.oneofs)
4481
+ object.item = "removeEncoder";
4482
+ }
4483
+ if (message.takePlaylist != null && message.hasOwnProperty("takePlaylist")) {
4484
+ object.takePlaylist = $root.sesame.v1.sources.TakePlaylistRequest.toObject(message.takePlaylist, options);
4485
+ if (options.oneofs)
4486
+ object.item = "takePlaylist";
4487
+ }
3388
4488
  return object;
3389
4489
  };
3390
4490
  CommandListItem.prototype.toJSON = function toJSON() {
@@ -8913,19 +10013,48 @@ var sesame = $root.sesame = (() => {
8913
10013
  };
8914
10014
  return LoadPlaylistRequest;
8915
10015
  }();
8916
- sources.EjectPlaylistRequest = function() {
8917
- function EjectPlaylistRequest(properties) {
10016
+ sources.TakePlaylistRequest = function() {
10017
+ function TakePlaylistRequest(properties) {
10018
+ this.items = [];
8918
10019
  if (properties) {
8919
10020
  for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)
8920
10021
  if (properties[keys[i]] != null)
8921
10022
  this[keys[i]] = properties[keys[i]];
8922
10023
  }
8923
10024
  }
8924
- EjectPlaylistRequest.prototype.sourceId = "";
8925
- EjectPlaylistRequest.create = function create(properties) {
8926
- return new EjectPlaylistRequest(properties);
10025
+ TakePlaylistRequest.prototype.sourceId = "";
10026
+ TakePlaylistRequest.prototype.userPlaylistId = "";
10027
+ TakePlaylistRequest.prototype.items = $util.emptyArray;
10028
+ TakePlaylistRequest.prototype.startTimeUs = null;
10029
+ TakePlaylistRequest.prototype.startIndex = null;
10030
+ TakePlaylistRequest.prototype.materialPosUs = null;
10031
+ TakePlaylistRequest.prototype.transitionTimeUs = null;
10032
+ TakePlaylistRequest.prototype.playbackSpeed = null;
10033
+ let $oneOfFields;
10034
+ Object.defineProperty(TakePlaylistRequest.prototype, "_startTimeUs", {
10035
+ get: $util.oneOfGetter($oneOfFields = ["startTimeUs"]),
10036
+ set: $util.oneOfSetter($oneOfFields)
10037
+ });
10038
+ Object.defineProperty(TakePlaylistRequest.prototype, "_startIndex", {
10039
+ get: $util.oneOfGetter($oneOfFields = ["startIndex"]),
10040
+ set: $util.oneOfSetter($oneOfFields)
10041
+ });
10042
+ Object.defineProperty(TakePlaylistRequest.prototype, "_materialPosUs", {
10043
+ get: $util.oneOfGetter($oneOfFields = ["materialPosUs"]),
10044
+ set: $util.oneOfSetter($oneOfFields)
10045
+ });
10046
+ Object.defineProperty(TakePlaylistRequest.prototype, "_transitionTimeUs", {
10047
+ get: $util.oneOfGetter($oneOfFields = ["transitionTimeUs"]),
10048
+ set: $util.oneOfSetter($oneOfFields)
10049
+ });
10050
+ Object.defineProperty(TakePlaylistRequest.prototype, "_playbackSpeed", {
10051
+ get: $util.oneOfGetter($oneOfFields = ["playbackSpeed"]),
10052
+ set: $util.oneOfSetter($oneOfFields)
10053
+ });
10054
+ TakePlaylistRequest.create = function create(properties) {
10055
+ return new TakePlaylistRequest(properties);
8927
10056
  };
8928
- EjectPlaylistRequest.encode = function encode(message, writer) {
10057
+ TakePlaylistRequest.encode = function encode(message, writer) {
8929
10058
  if (!writer)
8930
10059
  writer = $Writer.create();
8931
10060
  if (message.sourceId != null && Object.hasOwnProperty.call(message, "sourceId"))
@@ -8933,15 +10062,51 @@ var sesame = $root.sesame = (() => {
8933
10062
  /* id 1, wireType 2 =*/
8934
10063
  10
8935
10064
  ).string(message.sourceId);
10065
+ if (message.userPlaylistId != null && Object.hasOwnProperty.call(message, "userPlaylistId"))
10066
+ writer.uint32(
10067
+ /* id 2, wireType 2 =*/
10068
+ 18
10069
+ ).string(message.userPlaylistId);
10070
+ if (message.items != null && message.items.length)
10071
+ for (let i = 0; i < message.items.length; ++i)
10072
+ $root.sesame.v1.recorder.PlaylistItem.encode(message.items[i], writer.uint32(
10073
+ /* id 3, wireType 2 =*/
10074
+ 26
10075
+ ).fork()).ldelim();
10076
+ if (message.startTimeUs != null && Object.hasOwnProperty.call(message, "startTimeUs"))
10077
+ writer.uint32(
10078
+ /* id 4, wireType 0 =*/
10079
+ 32
10080
+ ).int64(message.startTimeUs);
10081
+ if (message.startIndex != null && Object.hasOwnProperty.call(message, "startIndex"))
10082
+ writer.uint32(
10083
+ /* id 5, wireType 0 =*/
10084
+ 40
10085
+ ).int64(message.startIndex);
10086
+ if (message.materialPosUs != null && Object.hasOwnProperty.call(message, "materialPosUs"))
10087
+ writer.uint32(
10088
+ /* id 6, wireType 0 =*/
10089
+ 48
10090
+ ).int64(message.materialPosUs);
10091
+ if (message.transitionTimeUs != null && Object.hasOwnProperty.call(message, "transitionTimeUs"))
10092
+ writer.uint32(
10093
+ /* id 7, wireType 0 =*/
10094
+ 56
10095
+ ).int64(message.transitionTimeUs);
10096
+ if (message.playbackSpeed != null && Object.hasOwnProperty.call(message, "playbackSpeed"))
10097
+ writer.uint32(
10098
+ /* id 8, wireType 5 =*/
10099
+ 69
10100
+ ).float(message.playbackSpeed);
8936
10101
  return writer;
8937
10102
  };
8938
- EjectPlaylistRequest.encodeDelimited = function encodeDelimited(message, writer) {
10103
+ TakePlaylistRequest.encodeDelimited = function encodeDelimited(message, writer) {
8939
10104
  return this.encode(message, writer).ldelim();
8940
10105
  };
8941
- EjectPlaylistRequest.decode = function decode(reader, length, error) {
10106
+ TakePlaylistRequest.decode = function decode(reader, length, error) {
8942
10107
  if (!(reader instanceof $Reader))
8943
10108
  reader = $Reader.create(reader);
8944
- let end = length === void 0 ? reader.len : reader.pos + length, message = new $root.sesame.v1.sources.EjectPlaylistRequest();
10109
+ let end = length === void 0 ? reader.len : reader.pos + length, message = new $root.sesame.v1.sources.TakePlaylistRequest();
8945
10110
  while (reader.pos < end) {
8946
10111
  let tag = reader.uint32();
8947
10112
  if (tag === error)
@@ -8951,6 +10116,36 @@ var sesame = $root.sesame = (() => {
8951
10116
  message.sourceId = reader.string();
8952
10117
  break;
8953
10118
  }
10119
+ case 2: {
10120
+ message.userPlaylistId = reader.string();
10121
+ break;
10122
+ }
10123
+ case 3: {
10124
+ if (!(message.items && message.items.length))
10125
+ message.items = [];
10126
+ message.items.push($root.sesame.v1.recorder.PlaylistItem.decode(reader, reader.uint32()));
10127
+ break;
10128
+ }
10129
+ case 4: {
10130
+ message.startTimeUs = reader.int64();
10131
+ break;
10132
+ }
10133
+ case 5: {
10134
+ message.startIndex = reader.int64();
10135
+ break;
10136
+ }
10137
+ case 6: {
10138
+ message.materialPosUs = reader.int64();
10139
+ break;
10140
+ }
10141
+ case 7: {
10142
+ message.transitionTimeUs = reader.int64();
10143
+ break;
10144
+ }
10145
+ case 8: {
10146
+ message.playbackSpeed = reader.float();
10147
+ break;
10148
+ }
8954
10149
  default:
8955
10150
  reader.skipType(tag & 7);
8956
10151
  break;
@@ -8958,29 +10153,258 @@ var sesame = $root.sesame = (() => {
8958
10153
  }
8959
10154
  return message;
8960
10155
  };
8961
- EjectPlaylistRequest.decodeDelimited = function decodeDelimited(reader) {
10156
+ TakePlaylistRequest.decodeDelimited = function decodeDelimited(reader) {
8962
10157
  if (!(reader instanceof $Reader))
8963
10158
  reader = new $Reader(reader);
8964
10159
  return this.decode(reader, reader.uint32());
8965
10160
  };
8966
- EjectPlaylistRequest.verify = function verify(message) {
10161
+ TakePlaylistRequest.verify = function verify(message) {
8967
10162
  if (typeof message !== "object" || message === null)
8968
10163
  return "object expected";
10164
+ let properties = {};
8969
10165
  if (message.sourceId != null && message.hasOwnProperty("sourceId")) {
8970
10166
  if (!$util.isString(message.sourceId))
8971
10167
  return "sourceId: string expected";
8972
10168
  }
10169
+ if (message.userPlaylistId != null && message.hasOwnProperty("userPlaylistId")) {
10170
+ if (!$util.isString(message.userPlaylistId))
10171
+ return "userPlaylistId: string expected";
10172
+ }
10173
+ if (message.items != null && message.hasOwnProperty("items")) {
10174
+ if (!Array.isArray(message.items))
10175
+ return "items: array expected";
10176
+ for (let i = 0; i < message.items.length; ++i) {
10177
+ let error = $root.sesame.v1.recorder.PlaylistItem.verify(message.items[i]);
10178
+ if (error)
10179
+ return "items." + error;
10180
+ }
10181
+ }
10182
+ if (message.startTimeUs != null && message.hasOwnProperty("startTimeUs")) {
10183
+ properties._startTimeUs = 1;
10184
+ if (!$util.isInteger(message.startTimeUs) && !(message.startTimeUs && $util.isInteger(message.startTimeUs.low) && $util.isInteger(message.startTimeUs.high)))
10185
+ return "startTimeUs: integer|Long expected";
10186
+ }
10187
+ if (message.startIndex != null && message.hasOwnProperty("startIndex")) {
10188
+ properties._startIndex = 1;
10189
+ if (!$util.isInteger(message.startIndex) && !(message.startIndex && $util.isInteger(message.startIndex.low) && $util.isInteger(message.startIndex.high)))
10190
+ return "startIndex: integer|Long expected";
10191
+ }
10192
+ if (message.materialPosUs != null && message.hasOwnProperty("materialPosUs")) {
10193
+ properties._materialPosUs = 1;
10194
+ if (!$util.isInteger(message.materialPosUs) && !(message.materialPosUs && $util.isInteger(message.materialPosUs.low) && $util.isInteger(message.materialPosUs.high)))
10195
+ return "materialPosUs: integer|Long expected";
10196
+ }
10197
+ if (message.transitionTimeUs != null && message.hasOwnProperty("transitionTimeUs")) {
10198
+ properties._transitionTimeUs = 1;
10199
+ if (!$util.isInteger(message.transitionTimeUs) && !(message.transitionTimeUs && $util.isInteger(message.transitionTimeUs.low) && $util.isInteger(message.transitionTimeUs.high)))
10200
+ return "transitionTimeUs: integer|Long expected";
10201
+ }
10202
+ if (message.playbackSpeed != null && message.hasOwnProperty("playbackSpeed")) {
10203
+ properties._playbackSpeed = 1;
10204
+ if (typeof message.playbackSpeed !== "number")
10205
+ return "playbackSpeed: number expected";
10206
+ }
8973
10207
  return null;
8974
10208
  };
8975
- EjectPlaylistRequest.fromObject = function fromObject(object) {
8976
- if (object instanceof $root.sesame.v1.sources.EjectPlaylistRequest)
10209
+ TakePlaylistRequest.fromObject = function fromObject(object) {
10210
+ if (object instanceof $root.sesame.v1.sources.TakePlaylistRequest)
8977
10211
  return object;
8978
- let message = new $root.sesame.v1.sources.EjectPlaylistRequest();
10212
+ let message = new $root.sesame.v1.sources.TakePlaylistRequest();
8979
10213
  if (object.sourceId != null)
8980
10214
  message.sourceId = String(object.sourceId);
8981
- return message;
8982
- };
8983
- EjectPlaylistRequest.toObject = function toObject(message, options) {
10215
+ if (object.userPlaylistId != null)
10216
+ message.userPlaylistId = String(object.userPlaylistId);
10217
+ if (object.items) {
10218
+ if (!Array.isArray(object.items))
10219
+ throw TypeError(".sesame.v1.sources.TakePlaylistRequest.items: array expected");
10220
+ message.items = [];
10221
+ for (let i = 0; i < object.items.length; ++i) {
10222
+ if (typeof object.items[i] !== "object")
10223
+ throw TypeError(".sesame.v1.sources.TakePlaylistRequest.items: object expected");
10224
+ message.items[i] = $root.sesame.v1.recorder.PlaylistItem.fromObject(object.items[i]);
10225
+ }
10226
+ }
10227
+ if (object.startTimeUs != null) {
10228
+ if ($util.Long)
10229
+ (message.startTimeUs = $util.Long.fromValue(object.startTimeUs)).unsigned = false;
10230
+ else if (typeof object.startTimeUs === "string")
10231
+ message.startTimeUs = parseInt(object.startTimeUs, 10);
10232
+ else if (typeof object.startTimeUs === "number")
10233
+ message.startTimeUs = object.startTimeUs;
10234
+ else if (typeof object.startTimeUs === "object")
10235
+ message.startTimeUs = new $util.LongBits(object.startTimeUs.low >>> 0, object.startTimeUs.high >>> 0).toNumber();
10236
+ }
10237
+ if (object.startIndex != null) {
10238
+ if ($util.Long)
10239
+ (message.startIndex = $util.Long.fromValue(object.startIndex)).unsigned = false;
10240
+ else if (typeof object.startIndex === "string")
10241
+ message.startIndex = parseInt(object.startIndex, 10);
10242
+ else if (typeof object.startIndex === "number")
10243
+ message.startIndex = object.startIndex;
10244
+ else if (typeof object.startIndex === "object")
10245
+ message.startIndex = new $util.LongBits(object.startIndex.low >>> 0, object.startIndex.high >>> 0).toNumber();
10246
+ }
10247
+ if (object.materialPosUs != null) {
10248
+ if ($util.Long)
10249
+ (message.materialPosUs = $util.Long.fromValue(object.materialPosUs)).unsigned = false;
10250
+ else if (typeof object.materialPosUs === "string")
10251
+ message.materialPosUs = parseInt(object.materialPosUs, 10);
10252
+ else if (typeof object.materialPosUs === "number")
10253
+ message.materialPosUs = object.materialPosUs;
10254
+ else if (typeof object.materialPosUs === "object")
10255
+ message.materialPosUs = new $util.LongBits(object.materialPosUs.low >>> 0, object.materialPosUs.high >>> 0).toNumber();
10256
+ }
10257
+ if (object.transitionTimeUs != null) {
10258
+ if ($util.Long)
10259
+ (message.transitionTimeUs = $util.Long.fromValue(object.transitionTimeUs)).unsigned = false;
10260
+ else if (typeof object.transitionTimeUs === "string")
10261
+ message.transitionTimeUs = parseInt(object.transitionTimeUs, 10);
10262
+ else if (typeof object.transitionTimeUs === "number")
10263
+ message.transitionTimeUs = object.transitionTimeUs;
10264
+ else if (typeof object.transitionTimeUs === "object")
10265
+ message.transitionTimeUs = new $util.LongBits(object.transitionTimeUs.low >>> 0, object.transitionTimeUs.high >>> 0).toNumber();
10266
+ }
10267
+ if (object.playbackSpeed != null)
10268
+ message.playbackSpeed = Number(object.playbackSpeed);
10269
+ return message;
10270
+ };
10271
+ TakePlaylistRequest.toObject = function toObject(message, options) {
10272
+ if (!options)
10273
+ options = {};
10274
+ let object = {};
10275
+ if (options.arrays || options.defaults)
10276
+ object.items = [];
10277
+ if (options.defaults) {
10278
+ object.sourceId = "";
10279
+ object.userPlaylistId = "";
10280
+ }
10281
+ if (message.sourceId != null && message.hasOwnProperty("sourceId"))
10282
+ object.sourceId = message.sourceId;
10283
+ if (message.userPlaylistId != null && message.hasOwnProperty("userPlaylistId"))
10284
+ object.userPlaylistId = message.userPlaylistId;
10285
+ if (message.items && message.items.length) {
10286
+ object.items = [];
10287
+ for (let j = 0; j < message.items.length; ++j)
10288
+ object.items[j] = $root.sesame.v1.recorder.PlaylistItem.toObject(message.items[j], options);
10289
+ }
10290
+ if (message.startTimeUs != null && message.hasOwnProperty("startTimeUs")) {
10291
+ if (typeof message.startTimeUs === "number")
10292
+ object.startTimeUs = options.longs === String ? String(message.startTimeUs) : message.startTimeUs;
10293
+ else
10294
+ object.startTimeUs = options.longs === String ? $util.Long.prototype.toString.call(message.startTimeUs) : options.longs === Number ? new $util.LongBits(message.startTimeUs.low >>> 0, message.startTimeUs.high >>> 0).toNumber() : message.startTimeUs;
10295
+ if (options.oneofs)
10296
+ object._startTimeUs = "startTimeUs";
10297
+ }
10298
+ if (message.startIndex != null && message.hasOwnProperty("startIndex")) {
10299
+ if (typeof message.startIndex === "number")
10300
+ object.startIndex = options.longs === String ? String(message.startIndex) : message.startIndex;
10301
+ else
10302
+ object.startIndex = options.longs === String ? $util.Long.prototype.toString.call(message.startIndex) : options.longs === Number ? new $util.LongBits(message.startIndex.low >>> 0, message.startIndex.high >>> 0).toNumber() : message.startIndex;
10303
+ if (options.oneofs)
10304
+ object._startIndex = "startIndex";
10305
+ }
10306
+ if (message.materialPosUs != null && message.hasOwnProperty("materialPosUs")) {
10307
+ if (typeof message.materialPosUs === "number")
10308
+ object.materialPosUs = options.longs === String ? String(message.materialPosUs) : message.materialPosUs;
10309
+ else
10310
+ object.materialPosUs = options.longs === String ? $util.Long.prototype.toString.call(message.materialPosUs) : options.longs === Number ? new $util.LongBits(message.materialPosUs.low >>> 0, message.materialPosUs.high >>> 0).toNumber() : message.materialPosUs;
10311
+ if (options.oneofs)
10312
+ object._materialPosUs = "materialPosUs";
10313
+ }
10314
+ if (message.transitionTimeUs != null && message.hasOwnProperty("transitionTimeUs")) {
10315
+ if (typeof message.transitionTimeUs === "number")
10316
+ object.transitionTimeUs = options.longs === String ? String(message.transitionTimeUs) : message.transitionTimeUs;
10317
+ else
10318
+ object.transitionTimeUs = options.longs === String ? $util.Long.prototype.toString.call(message.transitionTimeUs) : options.longs === Number ? new $util.LongBits(message.transitionTimeUs.low >>> 0, message.transitionTimeUs.high >>> 0).toNumber() : message.transitionTimeUs;
10319
+ if (options.oneofs)
10320
+ object._transitionTimeUs = "transitionTimeUs";
10321
+ }
10322
+ if (message.playbackSpeed != null && message.hasOwnProperty("playbackSpeed")) {
10323
+ object.playbackSpeed = options.json && !isFinite(message.playbackSpeed) ? String(message.playbackSpeed) : message.playbackSpeed;
10324
+ if (options.oneofs)
10325
+ object._playbackSpeed = "playbackSpeed";
10326
+ }
10327
+ return object;
10328
+ };
10329
+ TakePlaylistRequest.prototype.toJSON = function toJSON() {
10330
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
10331
+ };
10332
+ TakePlaylistRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
10333
+ if (typeUrlPrefix === void 0) {
10334
+ typeUrlPrefix = "type.googleapis.com";
10335
+ }
10336
+ return typeUrlPrefix + "/sesame.v1.sources.TakePlaylistRequest";
10337
+ };
10338
+ return TakePlaylistRequest;
10339
+ }();
10340
+ sources.EjectPlaylistRequest = function() {
10341
+ function EjectPlaylistRequest(properties) {
10342
+ if (properties) {
10343
+ for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)
10344
+ if (properties[keys[i]] != null)
10345
+ this[keys[i]] = properties[keys[i]];
10346
+ }
10347
+ }
10348
+ EjectPlaylistRequest.prototype.sourceId = "";
10349
+ EjectPlaylistRequest.create = function create(properties) {
10350
+ return new EjectPlaylistRequest(properties);
10351
+ };
10352
+ EjectPlaylistRequest.encode = function encode(message, writer) {
10353
+ if (!writer)
10354
+ writer = $Writer.create();
10355
+ if (message.sourceId != null && Object.hasOwnProperty.call(message, "sourceId"))
10356
+ writer.uint32(
10357
+ /* id 1, wireType 2 =*/
10358
+ 10
10359
+ ).string(message.sourceId);
10360
+ return writer;
10361
+ };
10362
+ EjectPlaylistRequest.encodeDelimited = function encodeDelimited(message, writer) {
10363
+ return this.encode(message, writer).ldelim();
10364
+ };
10365
+ EjectPlaylistRequest.decode = function decode(reader, length, error) {
10366
+ if (!(reader instanceof $Reader))
10367
+ reader = $Reader.create(reader);
10368
+ let end = length === void 0 ? reader.len : reader.pos + length, message = new $root.sesame.v1.sources.EjectPlaylistRequest();
10369
+ while (reader.pos < end) {
10370
+ let tag = reader.uint32();
10371
+ if (tag === error)
10372
+ break;
10373
+ switch (tag >>> 3) {
10374
+ case 1: {
10375
+ message.sourceId = reader.string();
10376
+ break;
10377
+ }
10378
+ default:
10379
+ reader.skipType(tag & 7);
10380
+ break;
10381
+ }
10382
+ }
10383
+ return message;
10384
+ };
10385
+ EjectPlaylistRequest.decodeDelimited = function decodeDelimited(reader) {
10386
+ if (!(reader instanceof $Reader))
10387
+ reader = new $Reader(reader);
10388
+ return this.decode(reader, reader.uint32());
10389
+ };
10390
+ EjectPlaylistRequest.verify = function verify(message) {
10391
+ if (typeof message !== "object" || message === null)
10392
+ return "object expected";
10393
+ if (message.sourceId != null && message.hasOwnProperty("sourceId")) {
10394
+ if (!$util.isString(message.sourceId))
10395
+ return "sourceId: string expected";
10396
+ }
10397
+ return null;
10398
+ };
10399
+ EjectPlaylistRequest.fromObject = function fromObject(object) {
10400
+ if (object instanceof $root.sesame.v1.sources.EjectPlaylistRequest)
10401
+ return object;
10402
+ let message = new $root.sesame.v1.sources.EjectPlaylistRequest();
10403
+ if (object.sourceId != null)
10404
+ message.sourceId = String(object.sourceId);
10405
+ return message;
10406
+ };
10407
+ EjectPlaylistRequest.toObject = function toObject(message, options) {
8984
10408
  if (!options)
8985
10409
  options = {};
8986
10410
  let object = {};
@@ -13931,6 +15355,7 @@ var sesame = $root.sesame = (() => {
13931
15355
  this.audioMixes = [];
13932
15356
  this.outputs = [];
13933
15357
  this.recorders = [];
15358
+ this.encoders = [];
13934
15359
  if (properties) {
13935
15360
  for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)
13936
15361
  if (properties[keys[i]] != null)
@@ -13945,6 +15370,7 @@ var sesame = $root.sesame = (() => {
13945
15370
  Status.prototype.audioMixes = $util.emptyArray;
13946
15371
  Status.prototype.outputs = $util.emptyArray;
13947
15372
  Status.prototype.recorders = $util.emptyArray;
15373
+ Status.prototype.encoders = $util.emptyArray;
13948
15374
  Status.create = function create(properties) {
13949
15375
  return new Status(properties);
13950
15376
  };
@@ -13996,6 +15422,12 @@ var sesame = $root.sesame = (() => {
13996
15422
  /* id 8, wireType 2 =*/
13997
15423
  66
13998
15424
  ).fork()).ldelim();
15425
+ if (message.encoders != null && message.encoders.length)
15426
+ for (let i = 0; i < message.encoders.length; ++i)
15427
+ $root.sesame.v1.outputs.EncoderStatus.encode(message.encoders[i], writer.uint32(
15428
+ /* id 9, wireType 2 =*/
15429
+ 74
15430
+ ).fork()).ldelim();
13999
15431
  return writer;
14000
15432
  };
14001
15433
  Status.encodeDelimited = function encodeDelimited(message, writer) {
@@ -14052,6 +15484,12 @@ var sesame = $root.sesame = (() => {
14052
15484
  message.recorders.push($root.sesame.v1.recorder.RecorderStatus.decode(reader, reader.uint32()));
14053
15485
  break;
14054
15486
  }
15487
+ case 9: {
15488
+ if (!(message.encoders && message.encoders.length))
15489
+ message.encoders = [];
15490
+ message.encoders.push($root.sesame.v1.outputs.EncoderStatus.decode(reader, reader.uint32()));
15491
+ break;
15492
+ }
14055
15493
  default:
14056
15494
  reader.skipType(tag & 7);
14057
15495
  break;
@@ -14127,6 +15565,15 @@ var sesame = $root.sesame = (() => {
14127
15565
  return "recorders." + error;
14128
15566
  }
14129
15567
  }
15568
+ if (message.encoders != null && message.hasOwnProperty("encoders")) {
15569
+ if (!Array.isArray(message.encoders))
15570
+ return "encoders: array expected";
15571
+ for (let i = 0; i < message.encoders.length; ++i) {
15572
+ let error = $root.sesame.v1.outputs.EncoderStatus.verify(message.encoders[i]);
15573
+ if (error)
15574
+ return "encoders." + error;
15575
+ }
15576
+ }
14130
15577
  return null;
14131
15578
  };
14132
15579
  Status.fromObject = function fromObject(object) {
@@ -14198,6 +15645,16 @@ var sesame = $root.sesame = (() => {
14198
15645
  message.recorders[i] = $root.sesame.v1.recorder.RecorderStatus.fromObject(object.recorders[i]);
14199
15646
  }
14200
15647
  }
15648
+ if (object.encoders) {
15649
+ if (!Array.isArray(object.encoders))
15650
+ throw TypeError(".sesame.v1.status.Status.encoders: array expected");
15651
+ message.encoders = [];
15652
+ for (let i = 0; i < object.encoders.length; ++i) {
15653
+ if (typeof object.encoders[i] !== "object")
15654
+ throw TypeError(".sesame.v1.status.Status.encoders: object expected");
15655
+ message.encoders[i] = $root.sesame.v1.outputs.EncoderStatus.fromObject(object.encoders[i]);
15656
+ }
15657
+ }
14201
15658
  return message;
14202
15659
  };
14203
15660
  Status.toObject = function toObject(message, options) {
@@ -14210,6 +15667,7 @@ var sesame = $root.sesame = (() => {
14210
15667
  object.audioMixes = [];
14211
15668
  object.outputs = [];
14212
15669
  object.recorders = [];
15670
+ object.encoders = [];
14213
15671
  }
14214
15672
  if (options.defaults) {
14215
15673
  object.systemStatus = null;
@@ -14247,6 +15705,11 @@ var sesame = $root.sesame = (() => {
14247
15705
  for (let j = 0; j < message.recorders.length; ++j)
14248
15706
  object.recorders[j] = $root.sesame.v1.recorder.RecorderStatus.toObject(message.recorders[j], options);
14249
15707
  }
15708
+ if (message.encoders && message.encoders.length) {
15709
+ object.encoders = [];
15710
+ for (let j = 0; j < message.encoders.length; ++j)
15711
+ object.encoders[j] = $root.sesame.v1.outputs.EncoderStatus.toObject(message.encoders[j], options);
15712
+ }
14250
15713
  return object;
14251
15714
  };
14252
15715
  Status.prototype.toJSON = function toJSON() {
@@ -15554,6 +17017,12 @@ var sesame = $root.sesame = (() => {
15554
17017
  values[valuesById[7] = "OUTPUT_TYPE_ENCODED_SUPER_SLOWMO_RECORDER"] = 7;
15555
17018
  return values;
15556
17019
  }();
17020
+ outputs.EncoderType = function() {
17021
+ const valuesById = {}, values = Object.create(valuesById);
17022
+ values[valuesById[0] = "ENCODER_TYPE_UNSPECIFIED"] = 0;
17023
+ values[valuesById[1] = "ENCODER_TYPE_VIDEO"] = 1;
17024
+ return values;
17025
+ }();
15557
17026
  outputs.EncoderPreset = function() {
15558
17027
  const valuesById = {}, values = Object.create(valuesById);
15559
17028
  values[valuesById[0] = "ENCODER_PRESET_UNSPECIFIED"] = 0;
@@ -15622,49 +17091,550 @@ var sesame = $root.sesame = (() => {
15622
17091
  ).uint32(message.height);
15623
17092
  if (message.fps != null && Object.hasOwnProperty.call(message, "fps"))
15624
17093
  writer.uint32(
15625
- /* id 7, wireType 5 =*/
15626
- 61
15627
- ).float(message.fps);
17094
+ /* id 7, wireType 5 =*/
17095
+ 61
17096
+ ).float(message.fps);
17097
+ return writer;
17098
+ };
17099
+ EncoderConfig.encodeDelimited = function encodeDelimited(message, writer) {
17100
+ return this.encode(message, writer).ldelim();
17101
+ };
17102
+ EncoderConfig.decode = function decode(reader, length, error) {
17103
+ if (!(reader instanceof $Reader))
17104
+ reader = $Reader.create(reader);
17105
+ let end = length === void 0 ? reader.len : reader.pos + length, message = new $root.sesame.v1.outputs.EncoderConfig();
17106
+ while (reader.pos < end) {
17107
+ let tag = reader.uint32();
17108
+ if (tag === error)
17109
+ break;
17110
+ switch (tag >>> 3) {
17111
+ case 1: {
17112
+ message.codec = reader.int32();
17113
+ break;
17114
+ }
17115
+ case 2: {
17116
+ message.preset = reader.int32();
17117
+ break;
17118
+ }
17119
+ case 3: {
17120
+ message.bitrateKbps = reader.uint32();
17121
+ break;
17122
+ }
17123
+ case 4: {
17124
+ message.keyframeInterval = reader.uint32();
17125
+ break;
17126
+ }
17127
+ case 5: {
17128
+ message.width = reader.uint32();
17129
+ break;
17130
+ }
17131
+ case 6: {
17132
+ message.height = reader.uint32();
17133
+ break;
17134
+ }
17135
+ case 7: {
17136
+ message.fps = reader.float();
17137
+ break;
17138
+ }
17139
+ default:
17140
+ reader.skipType(tag & 7);
17141
+ break;
17142
+ }
17143
+ }
17144
+ return message;
17145
+ };
17146
+ EncoderConfig.decodeDelimited = function decodeDelimited(reader) {
17147
+ if (!(reader instanceof $Reader))
17148
+ reader = new $Reader(reader);
17149
+ return this.decode(reader, reader.uint32());
17150
+ };
17151
+ EncoderConfig.verify = function verify(message) {
17152
+ if (typeof message !== "object" || message === null)
17153
+ return "object expected";
17154
+ if (message.codec != null && message.hasOwnProperty("codec"))
17155
+ switch (message.codec) {
17156
+ default:
17157
+ return "codec: enum value expected";
17158
+ case 0:
17159
+ case 1:
17160
+ case 2:
17161
+ case 3:
17162
+ case 4:
17163
+ case 5:
17164
+ case 6:
17165
+ case 7:
17166
+ case 64:
17167
+ case 65:
17168
+ case 66:
17169
+ case 67:
17170
+ break;
17171
+ }
17172
+ if (message.preset != null && message.hasOwnProperty("preset"))
17173
+ switch (message.preset) {
17174
+ default:
17175
+ return "preset: enum value expected";
17176
+ case 0:
17177
+ case 1:
17178
+ case 2:
17179
+ case 3:
17180
+ break;
17181
+ }
17182
+ if (message.bitrateKbps != null && message.hasOwnProperty("bitrateKbps")) {
17183
+ if (!$util.isInteger(message.bitrateKbps))
17184
+ return "bitrateKbps: integer expected";
17185
+ }
17186
+ if (message.keyframeInterval != null && message.hasOwnProperty("keyframeInterval")) {
17187
+ if (!$util.isInteger(message.keyframeInterval))
17188
+ return "keyframeInterval: integer expected";
17189
+ }
17190
+ if (message.width != null && message.hasOwnProperty("width")) {
17191
+ if (!$util.isInteger(message.width))
17192
+ return "width: integer expected";
17193
+ }
17194
+ if (message.height != null && message.hasOwnProperty("height")) {
17195
+ if (!$util.isInteger(message.height))
17196
+ return "height: integer expected";
17197
+ }
17198
+ if (message.fps != null && message.hasOwnProperty("fps")) {
17199
+ if (typeof message.fps !== "number")
17200
+ return "fps: number expected";
17201
+ }
17202
+ return null;
17203
+ };
17204
+ EncoderConfig.fromObject = function fromObject(object) {
17205
+ if (object instanceof $root.sesame.v1.outputs.EncoderConfig)
17206
+ return object;
17207
+ let message = new $root.sesame.v1.outputs.EncoderConfig();
17208
+ switch (object.codec) {
17209
+ default:
17210
+ if (typeof object.codec === "number") {
17211
+ message.codec = object.codec;
17212
+ break;
17213
+ }
17214
+ break;
17215
+ case "CODEC_TYPE_UNSPECIFIED":
17216
+ case 0:
17217
+ message.codec = 0;
17218
+ break;
17219
+ case "CODEC_TYPE_VIDEO_VP8":
17220
+ case 1:
17221
+ message.codec = 1;
17222
+ break;
17223
+ case "CODEC_TYPE_VIDEO_VP9":
17224
+ case 2:
17225
+ message.codec = 2;
17226
+ break;
17227
+ case "CODEC_TYPE_VIDEO_AVC":
17228
+ case 3:
17229
+ message.codec = 3;
17230
+ break;
17231
+ case "CODEC_TYPE_VIDEO_HEVC":
17232
+ case 4:
17233
+ message.codec = 4;
17234
+ break;
17235
+ case "CODEC_TYPE_VIDEO_AV1":
17236
+ case 5:
17237
+ message.codec = 5;
17238
+ break;
17239
+ case "CODEC_TYPE_VIDEO_PRORES":
17240
+ case 6:
17241
+ message.codec = 6;
17242
+ break;
17243
+ case "CODEC_TYPE_VIDEO_DNXHR":
17244
+ case 7:
17245
+ message.codec = 7;
17246
+ break;
17247
+ case "CODEC_TYPE_AUDIO_OPUS":
17248
+ case 64:
17249
+ message.codec = 64;
17250
+ break;
17251
+ case "CODEC_TYPE_AUDIO_AAC":
17252
+ case 65:
17253
+ message.codec = 65;
17254
+ break;
17255
+ case "CODEC_TYPE_AUDIO_PCM":
17256
+ case 66:
17257
+ message.codec = 66;
17258
+ break;
17259
+ case "CODEC_TYPE_AUDIO_PCM_S24LE":
17260
+ case 67:
17261
+ message.codec = 67;
17262
+ break;
17263
+ }
17264
+ switch (object.preset) {
17265
+ default:
17266
+ if (typeof object.preset === "number") {
17267
+ message.preset = object.preset;
17268
+ break;
17269
+ }
17270
+ break;
17271
+ case "ENCODER_PRESET_UNSPECIFIED":
17272
+ case 0:
17273
+ message.preset = 0;
17274
+ break;
17275
+ case "ENCODER_PRESET_LOW_LATENCY":
17276
+ case 1:
17277
+ message.preset = 1;
17278
+ break;
17279
+ case "ENCODER_PRESET_LOW_LATENCY_IDR_ONLY":
17280
+ case 2:
17281
+ message.preset = 2;
17282
+ break;
17283
+ case "ENCODER_PRESET_HIGH_QUALITY":
17284
+ case 3:
17285
+ message.preset = 3;
17286
+ break;
17287
+ }
17288
+ if (object.bitrateKbps != null)
17289
+ message.bitrateKbps = object.bitrateKbps >>> 0;
17290
+ if (object.keyframeInterval != null)
17291
+ message.keyframeInterval = object.keyframeInterval >>> 0;
17292
+ if (object.width != null)
17293
+ message.width = object.width >>> 0;
17294
+ if (object.height != null)
17295
+ message.height = object.height >>> 0;
17296
+ if (object.fps != null)
17297
+ message.fps = Number(object.fps);
17298
+ return message;
17299
+ };
17300
+ EncoderConfig.toObject = function toObject(message, options) {
17301
+ if (!options)
17302
+ options = {};
17303
+ let object = {};
17304
+ if (options.defaults) {
17305
+ object.codec = options.enums === String ? "CODEC_TYPE_UNSPECIFIED" : 0;
17306
+ object.preset = options.enums === String ? "ENCODER_PRESET_UNSPECIFIED" : 0;
17307
+ object.bitrateKbps = 0;
17308
+ object.keyframeInterval = 0;
17309
+ object.width = 0;
17310
+ object.height = 0;
17311
+ object.fps = 0;
17312
+ }
17313
+ if (message.codec != null && message.hasOwnProperty("codec"))
17314
+ 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;
17315
+ if (message.preset != null && message.hasOwnProperty("preset"))
17316
+ 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;
17317
+ if (message.bitrateKbps != null && message.hasOwnProperty("bitrateKbps"))
17318
+ object.bitrateKbps = message.bitrateKbps;
17319
+ if (message.keyframeInterval != null && message.hasOwnProperty("keyframeInterval"))
17320
+ object.keyframeInterval = message.keyframeInterval;
17321
+ if (message.width != null && message.hasOwnProperty("width"))
17322
+ object.width = message.width;
17323
+ if (message.height != null && message.hasOwnProperty("height"))
17324
+ object.height = message.height;
17325
+ if (message.fps != null && message.hasOwnProperty("fps"))
17326
+ object.fps = options.json && !isFinite(message.fps) ? String(message.fps) : message.fps;
17327
+ return object;
17328
+ };
17329
+ EncoderConfig.prototype.toJSON = function toJSON() {
17330
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
17331
+ };
17332
+ EncoderConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
17333
+ if (typeUrlPrefix === void 0) {
17334
+ typeUrlPrefix = "type.googleapis.com";
17335
+ }
17336
+ return typeUrlPrefix + "/sesame.v1.outputs.EncoderConfig";
17337
+ };
17338
+ return EncoderConfig;
17339
+ }();
17340
+ outputs.EncoderAddRequest = function() {
17341
+ function EncoderAddRequest(properties) {
17342
+ if (properties) {
17343
+ for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)
17344
+ if (properties[keys[i]] != null)
17345
+ this[keys[i]] = properties[keys[i]];
17346
+ }
17347
+ }
17348
+ EncoderAddRequest.prototype.id = "";
17349
+ EncoderAddRequest.prototype.compositionId = "";
17350
+ EncoderAddRequest.prototype.encoder = null;
17351
+ EncoderAddRequest.create = function create(properties) {
17352
+ return new EncoderAddRequest(properties);
17353
+ };
17354
+ EncoderAddRequest.encode = function encode(message, writer) {
17355
+ if (!writer)
17356
+ writer = $Writer.create();
17357
+ if (message.id != null && Object.hasOwnProperty.call(message, "id"))
17358
+ writer.uint32(
17359
+ /* id 1, wireType 2 =*/
17360
+ 10
17361
+ ).string(message.id);
17362
+ if (message.compositionId != null && Object.hasOwnProperty.call(message, "compositionId"))
17363
+ writer.uint32(
17364
+ /* id 2, wireType 2 =*/
17365
+ 18
17366
+ ).string(message.compositionId);
17367
+ if (message.encoder != null && Object.hasOwnProperty.call(message, "encoder"))
17368
+ $root.sesame.v1.outputs.EncoderConfig.encode(message.encoder, writer.uint32(
17369
+ /* id 3, wireType 2 =*/
17370
+ 26
17371
+ ).fork()).ldelim();
17372
+ return writer;
17373
+ };
17374
+ EncoderAddRequest.encodeDelimited = function encodeDelimited(message, writer) {
17375
+ return this.encode(message, writer).ldelim();
17376
+ };
17377
+ EncoderAddRequest.decode = function decode(reader, length, error) {
17378
+ if (!(reader instanceof $Reader))
17379
+ reader = $Reader.create(reader);
17380
+ let end = length === void 0 ? reader.len : reader.pos + length, message = new $root.sesame.v1.outputs.EncoderAddRequest();
17381
+ while (reader.pos < end) {
17382
+ let tag = reader.uint32();
17383
+ if (tag === error)
17384
+ break;
17385
+ switch (tag >>> 3) {
17386
+ case 1: {
17387
+ message.id = reader.string();
17388
+ break;
17389
+ }
17390
+ case 2: {
17391
+ message.compositionId = reader.string();
17392
+ break;
17393
+ }
17394
+ case 3: {
17395
+ message.encoder = $root.sesame.v1.outputs.EncoderConfig.decode(reader, reader.uint32());
17396
+ break;
17397
+ }
17398
+ default:
17399
+ reader.skipType(tag & 7);
17400
+ break;
17401
+ }
17402
+ }
17403
+ return message;
17404
+ };
17405
+ EncoderAddRequest.decodeDelimited = function decodeDelimited(reader) {
17406
+ if (!(reader instanceof $Reader))
17407
+ reader = new $Reader(reader);
17408
+ return this.decode(reader, reader.uint32());
17409
+ };
17410
+ EncoderAddRequest.verify = function verify(message) {
17411
+ if (typeof message !== "object" || message === null)
17412
+ return "object expected";
17413
+ if (message.id != null && message.hasOwnProperty("id")) {
17414
+ if (!$util.isString(message.id))
17415
+ return "id: string expected";
17416
+ }
17417
+ if (message.compositionId != null && message.hasOwnProperty("compositionId")) {
17418
+ if (!$util.isString(message.compositionId))
17419
+ return "compositionId: string expected";
17420
+ }
17421
+ if (message.encoder != null && message.hasOwnProperty("encoder")) {
17422
+ let error = $root.sesame.v1.outputs.EncoderConfig.verify(message.encoder);
17423
+ if (error)
17424
+ return "encoder." + error;
17425
+ }
17426
+ return null;
17427
+ };
17428
+ EncoderAddRequest.fromObject = function fromObject(object) {
17429
+ if (object instanceof $root.sesame.v1.outputs.EncoderAddRequest)
17430
+ return object;
17431
+ let message = new $root.sesame.v1.outputs.EncoderAddRequest();
17432
+ if (object.id != null)
17433
+ message.id = String(object.id);
17434
+ if (object.compositionId != null)
17435
+ message.compositionId = String(object.compositionId);
17436
+ if (object.encoder != null) {
17437
+ if (typeof object.encoder !== "object")
17438
+ throw TypeError(".sesame.v1.outputs.EncoderAddRequest.encoder: object expected");
17439
+ message.encoder = $root.sesame.v1.outputs.EncoderConfig.fromObject(object.encoder);
17440
+ }
17441
+ return message;
17442
+ };
17443
+ EncoderAddRequest.toObject = function toObject(message, options) {
17444
+ if (!options)
17445
+ options = {};
17446
+ let object = {};
17447
+ if (options.defaults) {
17448
+ object.id = "";
17449
+ object.compositionId = "";
17450
+ object.encoder = null;
17451
+ }
17452
+ if (message.id != null && message.hasOwnProperty("id"))
17453
+ object.id = message.id;
17454
+ if (message.compositionId != null && message.hasOwnProperty("compositionId"))
17455
+ object.compositionId = message.compositionId;
17456
+ if (message.encoder != null && message.hasOwnProperty("encoder"))
17457
+ object.encoder = $root.sesame.v1.outputs.EncoderConfig.toObject(message.encoder, options);
17458
+ return object;
17459
+ };
17460
+ EncoderAddRequest.prototype.toJSON = function toJSON() {
17461
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
17462
+ };
17463
+ EncoderAddRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
17464
+ if (typeUrlPrefix === void 0) {
17465
+ typeUrlPrefix = "type.googleapis.com";
17466
+ }
17467
+ return typeUrlPrefix + "/sesame.v1.outputs.EncoderAddRequest";
17468
+ };
17469
+ return EncoderAddRequest;
17470
+ }();
17471
+ outputs.EncoderUpdateRequest = function() {
17472
+ function EncoderUpdateRequest(properties) {
17473
+ if (properties) {
17474
+ for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)
17475
+ if (properties[keys[i]] != null)
17476
+ this[keys[i]] = properties[keys[i]];
17477
+ }
17478
+ }
17479
+ EncoderUpdateRequest.prototype.id = "";
17480
+ EncoderUpdateRequest.prototype.compositionId = "";
17481
+ EncoderUpdateRequest.prototype.encoder = null;
17482
+ EncoderUpdateRequest.create = function create(properties) {
17483
+ return new EncoderUpdateRequest(properties);
17484
+ };
17485
+ EncoderUpdateRequest.encode = function encode(message, writer) {
17486
+ if (!writer)
17487
+ writer = $Writer.create();
17488
+ if (message.id != null && Object.hasOwnProperty.call(message, "id"))
17489
+ writer.uint32(
17490
+ /* id 1, wireType 2 =*/
17491
+ 10
17492
+ ).string(message.id);
17493
+ if (message.compositionId != null && Object.hasOwnProperty.call(message, "compositionId"))
17494
+ writer.uint32(
17495
+ /* id 2, wireType 2 =*/
17496
+ 18
17497
+ ).string(message.compositionId);
17498
+ if (message.encoder != null && Object.hasOwnProperty.call(message, "encoder"))
17499
+ $root.sesame.v1.outputs.EncoderConfig.encode(message.encoder, writer.uint32(
17500
+ /* id 3, wireType 2 =*/
17501
+ 26
17502
+ ).fork()).ldelim();
17503
+ return writer;
17504
+ };
17505
+ EncoderUpdateRequest.encodeDelimited = function encodeDelimited(message, writer) {
17506
+ return this.encode(message, writer).ldelim();
17507
+ };
17508
+ EncoderUpdateRequest.decode = function decode(reader, length, error) {
17509
+ if (!(reader instanceof $Reader))
17510
+ reader = $Reader.create(reader);
17511
+ let end = length === void 0 ? reader.len : reader.pos + length, message = new $root.sesame.v1.outputs.EncoderUpdateRequest();
17512
+ while (reader.pos < end) {
17513
+ let tag = reader.uint32();
17514
+ if (tag === error)
17515
+ break;
17516
+ switch (tag >>> 3) {
17517
+ case 1: {
17518
+ message.id = reader.string();
17519
+ break;
17520
+ }
17521
+ case 2: {
17522
+ message.compositionId = reader.string();
17523
+ break;
17524
+ }
17525
+ case 3: {
17526
+ message.encoder = $root.sesame.v1.outputs.EncoderConfig.decode(reader, reader.uint32());
17527
+ break;
17528
+ }
17529
+ default:
17530
+ reader.skipType(tag & 7);
17531
+ break;
17532
+ }
17533
+ }
17534
+ return message;
17535
+ };
17536
+ EncoderUpdateRequest.decodeDelimited = function decodeDelimited(reader) {
17537
+ if (!(reader instanceof $Reader))
17538
+ reader = new $Reader(reader);
17539
+ return this.decode(reader, reader.uint32());
17540
+ };
17541
+ EncoderUpdateRequest.verify = function verify(message) {
17542
+ if (typeof message !== "object" || message === null)
17543
+ return "object expected";
17544
+ if (message.id != null && message.hasOwnProperty("id")) {
17545
+ if (!$util.isString(message.id))
17546
+ return "id: string expected";
17547
+ }
17548
+ if (message.compositionId != null && message.hasOwnProperty("compositionId")) {
17549
+ if (!$util.isString(message.compositionId))
17550
+ return "compositionId: string expected";
17551
+ }
17552
+ if (message.encoder != null && message.hasOwnProperty("encoder")) {
17553
+ let error = $root.sesame.v1.outputs.EncoderConfig.verify(message.encoder);
17554
+ if (error)
17555
+ return "encoder." + error;
17556
+ }
17557
+ return null;
17558
+ };
17559
+ EncoderUpdateRequest.fromObject = function fromObject(object) {
17560
+ if (object instanceof $root.sesame.v1.outputs.EncoderUpdateRequest)
17561
+ return object;
17562
+ let message = new $root.sesame.v1.outputs.EncoderUpdateRequest();
17563
+ if (object.id != null)
17564
+ message.id = String(object.id);
17565
+ if (object.compositionId != null)
17566
+ message.compositionId = String(object.compositionId);
17567
+ if (object.encoder != null) {
17568
+ if (typeof object.encoder !== "object")
17569
+ throw TypeError(".sesame.v1.outputs.EncoderUpdateRequest.encoder: object expected");
17570
+ message.encoder = $root.sesame.v1.outputs.EncoderConfig.fromObject(object.encoder);
17571
+ }
17572
+ return message;
17573
+ };
17574
+ EncoderUpdateRequest.toObject = function toObject(message, options) {
17575
+ if (!options)
17576
+ options = {};
17577
+ let object = {};
17578
+ if (options.defaults) {
17579
+ object.id = "";
17580
+ object.compositionId = "";
17581
+ object.encoder = null;
17582
+ }
17583
+ if (message.id != null && message.hasOwnProperty("id"))
17584
+ object.id = message.id;
17585
+ if (message.compositionId != null && message.hasOwnProperty("compositionId"))
17586
+ object.compositionId = message.compositionId;
17587
+ if (message.encoder != null && message.hasOwnProperty("encoder"))
17588
+ object.encoder = $root.sesame.v1.outputs.EncoderConfig.toObject(message.encoder, options);
17589
+ return object;
17590
+ };
17591
+ EncoderUpdateRequest.prototype.toJSON = function toJSON() {
17592
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
17593
+ };
17594
+ EncoderUpdateRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
17595
+ if (typeUrlPrefix === void 0) {
17596
+ typeUrlPrefix = "type.googleapis.com";
17597
+ }
17598
+ return typeUrlPrefix + "/sesame.v1.outputs.EncoderUpdateRequest";
17599
+ };
17600
+ return EncoderUpdateRequest;
17601
+ }();
17602
+ outputs.EncoderRemoveRequest = function() {
17603
+ function EncoderRemoveRequest(properties) {
17604
+ if (properties) {
17605
+ for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)
17606
+ if (properties[keys[i]] != null)
17607
+ this[keys[i]] = properties[keys[i]];
17608
+ }
17609
+ }
17610
+ EncoderRemoveRequest.prototype.id = "";
17611
+ EncoderRemoveRequest.create = function create(properties) {
17612
+ return new EncoderRemoveRequest(properties);
17613
+ };
17614
+ EncoderRemoveRequest.encode = function encode(message, writer) {
17615
+ if (!writer)
17616
+ writer = $Writer.create();
17617
+ if (message.id != null && Object.hasOwnProperty.call(message, "id"))
17618
+ writer.uint32(
17619
+ /* id 1, wireType 2 =*/
17620
+ 10
17621
+ ).string(message.id);
15628
17622
  return writer;
15629
17623
  };
15630
- EncoderConfig.encodeDelimited = function encodeDelimited(message, writer) {
17624
+ EncoderRemoveRequest.encodeDelimited = function encodeDelimited(message, writer) {
15631
17625
  return this.encode(message, writer).ldelim();
15632
17626
  };
15633
- EncoderConfig.decode = function decode(reader, length, error) {
17627
+ EncoderRemoveRequest.decode = function decode(reader, length, error) {
15634
17628
  if (!(reader instanceof $Reader))
15635
17629
  reader = $Reader.create(reader);
15636
- let end = length === void 0 ? reader.len : reader.pos + length, message = new $root.sesame.v1.outputs.EncoderConfig();
17630
+ let end = length === void 0 ? reader.len : reader.pos + length, message = new $root.sesame.v1.outputs.EncoderRemoveRequest();
15637
17631
  while (reader.pos < end) {
15638
17632
  let tag = reader.uint32();
15639
17633
  if (tag === error)
15640
17634
  break;
15641
17635
  switch (tag >>> 3) {
15642
17636
  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();
17637
+ message.id = reader.string();
15668
17638
  break;
15669
17639
  }
15670
17640
  default:
@@ -15674,199 +17644,48 @@ var sesame = $root.sesame = (() => {
15674
17644
  }
15675
17645
  return message;
15676
17646
  };
15677
- EncoderConfig.decodeDelimited = function decodeDelimited(reader) {
17647
+ EncoderRemoveRequest.decodeDelimited = function decodeDelimited(reader) {
15678
17648
  if (!(reader instanceof $Reader))
15679
17649
  reader = new $Reader(reader);
15680
17650
  return this.decode(reader, reader.uint32());
15681
17651
  };
15682
- EncoderConfig.verify = function verify(message) {
17652
+ EncoderRemoveRequest.verify = function verify(message) {
15683
17653
  if (typeof message !== "object" || message === null)
15684
17654
  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";
17655
+ if (message.id != null && message.hasOwnProperty("id")) {
17656
+ if (!$util.isString(message.id))
17657
+ return "id: string expected";
15732
17658
  }
15733
17659
  return null;
15734
17660
  };
15735
- EncoderConfig.fromObject = function fromObject(object) {
15736
- if (object instanceof $root.sesame.v1.outputs.EncoderConfig)
17661
+ EncoderRemoveRequest.fromObject = function fromObject(object) {
17662
+ if (object instanceof $root.sesame.v1.outputs.EncoderRemoveRequest)
15737
17663
  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);
17664
+ let message = new $root.sesame.v1.outputs.EncoderRemoveRequest();
17665
+ if (object.id != null)
17666
+ message.id = String(object.id);
15829
17667
  return message;
15830
17668
  };
15831
- EncoderConfig.toObject = function toObject(message, options) {
17669
+ EncoderRemoveRequest.toObject = function toObject(message, options) {
15832
17670
  if (!options)
15833
17671
  options = {};
15834
17672
  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;
17673
+ if (options.defaults)
17674
+ object.id = "";
17675
+ if (message.id != null && message.hasOwnProperty("id"))
17676
+ object.id = message.id;
15858
17677
  return object;
15859
17678
  };
15860
- EncoderConfig.prototype.toJSON = function toJSON() {
17679
+ EncoderRemoveRequest.prototype.toJSON = function toJSON() {
15861
17680
  return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
15862
17681
  };
15863
- EncoderConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
17682
+ EncoderRemoveRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
15864
17683
  if (typeUrlPrefix === void 0) {
15865
17684
  typeUrlPrefix = "type.googleapis.com";
15866
17685
  }
15867
- return typeUrlPrefix + "/sesame.v1.outputs.EncoderConfig";
17686
+ return typeUrlPrefix + "/sesame.v1.outputs.EncoderRemoveRequest";
15868
17687
  };
15869
- return EncoderConfig;
17688
+ return EncoderRemoveRequest;
15870
17689
  }();
15871
17690
  outputs.DecklinkOutputConfig = function() {
15872
17691
  function DecklinkOutputConfig(properties) {
@@ -16038,7 +17857,7 @@ var sesame = $root.sesame = (() => {
16038
17857
  }
16039
17858
  }
16040
17859
  EncodedWebSocketOutputConfig.prototype.channel = "";
16041
- EncodedWebSocketOutputConfig.prototype.encoder = null;
17860
+ EncodedWebSocketOutputConfig.prototype.encoderId = "";
16042
17861
  EncodedWebSocketOutputConfig.prototype.metadataTracks = $util.emptyArray;
16043
17862
  EncodedWebSocketOutputConfig.create = function create(properties) {
16044
17863
  return new EncodedWebSocketOutputConfig(properties);
@@ -16051,11 +17870,11 @@ var sesame = $root.sesame = (() => {
16051
17870
  /* id 1, wireType 2 =*/
16052
17871
  10
16053
17872
  ).string(message.channel);
16054
- if (message.encoder != null && Object.hasOwnProperty.call(message, "encoder"))
16055
- $root.sesame.v1.outputs.EncoderConfig.encode(message.encoder, writer.uint32(
17873
+ if (message.encoderId != null && Object.hasOwnProperty.call(message, "encoderId"))
17874
+ writer.uint32(
16056
17875
  /* id 2, wireType 2 =*/
16057
17876
  18
16058
- ).fork()).ldelim();
17877
+ ).string(message.encoderId);
16059
17878
  if (message.metadataTracks != null && message.metadataTracks.length)
16060
17879
  for (let i = 0; i < message.metadataTracks.length; ++i)
16061
17880
  writer.uint32(
@@ -16081,7 +17900,7 @@ var sesame = $root.sesame = (() => {
16081
17900
  break;
16082
17901
  }
16083
17902
  case 2: {
16084
- message.encoder = $root.sesame.v1.outputs.EncoderConfig.decode(reader, reader.uint32());
17903
+ message.encoderId = reader.string();
16085
17904
  break;
16086
17905
  }
16087
17906
  case 3: {
@@ -16109,10 +17928,9 @@ var sesame = $root.sesame = (() => {
16109
17928
  if (!$util.isString(message.channel))
16110
17929
  return "channel: string expected";
16111
17930
  }
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;
17931
+ if (message.encoderId != null && message.hasOwnProperty("encoderId")) {
17932
+ if (!$util.isString(message.encoderId))
17933
+ return "encoderId: string expected";
16116
17934
  }
16117
17935
  if (message.metadataTracks != null && message.hasOwnProperty("metadataTracks")) {
16118
17936
  if (!Array.isArray(message.metadataTracks))
@@ -16129,11 +17947,8 @@ var sesame = $root.sesame = (() => {
16129
17947
  let message = new $root.sesame.v1.outputs.EncodedWebSocketOutputConfig();
16130
17948
  if (object.channel != null)
16131
17949
  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
- }
17950
+ if (object.encoderId != null)
17951
+ message.encoderId = String(object.encoderId);
16137
17952
  if (object.metadataTracks) {
16138
17953
  if (!Array.isArray(object.metadataTracks))
16139
17954
  throw TypeError(".sesame.v1.outputs.EncodedWebSocketOutputConfig.metadataTracks: array expected");
@@ -16151,12 +17966,12 @@ var sesame = $root.sesame = (() => {
16151
17966
  object.metadataTracks = [];
16152
17967
  if (options.defaults) {
16153
17968
  object.channel = "";
16154
- object.encoder = null;
17969
+ object.encoderId = "";
16155
17970
  }
16156
17971
  if (message.channel != null && message.hasOwnProperty("channel"))
16157
17972
  object.channel = message.channel;
16158
- if (message.encoder != null && message.hasOwnProperty("encoder"))
16159
- object.encoder = $root.sesame.v1.outputs.EncoderConfig.toObject(message.encoder, options);
17973
+ if (message.encoderId != null && message.hasOwnProperty("encoderId"))
17974
+ object.encoderId = message.encoderId;
16160
17975
  if (message.metadataTracks && message.metadataTracks.length) {
16161
17976
  object.metadataTracks = [];
16162
17977
  for (let j = 0; j < message.metadataTracks.length; ++j)
@@ -16183,7 +17998,7 @@ var sesame = $root.sesame = (() => {
16183
17998
  this[keys[i]] = properties[keys[i]];
16184
17999
  }
16185
18000
  }
16186
- EncodedRecorderOutputConfig.prototype.encoder = null;
18001
+ EncodedRecorderOutputConfig.prototype.encoderId = "";
16187
18002
  EncodedRecorderOutputConfig.prototype.filename = "";
16188
18003
  EncodedRecorderOutputConfig.prototype.sizeGb = 0;
16189
18004
  EncodedRecorderOutputConfig.prototype.groupId = "";
@@ -16194,11 +18009,11 @@ var sesame = $root.sesame = (() => {
16194
18009
  EncodedRecorderOutputConfig.encode = function encode(message, writer) {
16195
18010
  if (!writer)
16196
18011
  writer = $Writer.create();
16197
- if (message.encoder != null && Object.hasOwnProperty.call(message, "encoder"))
16198
- $root.sesame.v1.outputs.EncoderConfig.encode(message.encoder, writer.uint32(
18012
+ if (message.encoderId != null && Object.hasOwnProperty.call(message, "encoderId"))
18013
+ writer.uint32(
16199
18014
  /* id 1, wireType 2 =*/
16200
18015
  10
16201
- ).fork()).ldelim();
18016
+ ).string(message.encoderId);
16202
18017
  if (message.filename != null && Object.hasOwnProperty.call(message, "filename"))
16203
18018
  writer.uint32(
16204
18019
  /* id 2, wireType 2 =*/
@@ -16234,7 +18049,7 @@ var sesame = $root.sesame = (() => {
16234
18049
  break;
16235
18050
  switch (tag >>> 3) {
16236
18051
  case 1: {
16237
- message.encoder = $root.sesame.v1.outputs.EncoderConfig.decode(reader, reader.uint32());
18052
+ message.encoderId = reader.string();
16238
18053
  break;
16239
18054
  }
16240
18055
  case 2: {
@@ -16268,10 +18083,9 @@ var sesame = $root.sesame = (() => {
16268
18083
  EncodedRecorderOutputConfig.verify = function verify(message) {
16269
18084
  if (typeof message !== "object" || message === null)
16270
18085
  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;
18086
+ if (message.encoderId != null && message.hasOwnProperty("encoderId")) {
18087
+ if (!$util.isString(message.encoderId))
18088
+ return "encoderId: string expected";
16275
18089
  }
16276
18090
  if (message.filename != null && message.hasOwnProperty("filename")) {
16277
18091
  if (!$util.isString(message.filename))
@@ -16300,11 +18114,8 @@ var sesame = $root.sesame = (() => {
16300
18114
  if (object instanceof $root.sesame.v1.outputs.EncodedRecorderOutputConfig)
16301
18115
  return object;
16302
18116
  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
- }
18117
+ if (object.encoderId != null)
18118
+ message.encoderId = String(object.encoderId);
16308
18119
  if (object.filename != null)
16309
18120
  message.filename = String(object.filename);
16310
18121
  if (object.sizeGb != null)
@@ -16338,14 +18149,14 @@ var sesame = $root.sesame = (() => {
16338
18149
  options = {};
16339
18150
  let object = {};
16340
18151
  if (options.defaults) {
16341
- object.encoder = null;
18152
+ object.encoderId = "";
16342
18153
  object.filename = "";
16343
18154
  object.sizeGb = 0;
16344
18155
  object.groupId = "";
16345
18156
  object.recorderType = options.enums === String ? "RECORDER_TYPE_UNSPECIFIED" : 0;
16346
18157
  }
16347
- if (message.encoder != null && message.hasOwnProperty("encoder"))
16348
- object.encoder = $root.sesame.v1.outputs.EncoderConfig.toObject(message.encoder, options);
18158
+ if (message.encoderId != null && message.hasOwnProperty("encoderId"))
18159
+ object.encoderId = message.encoderId;
16349
18160
  if (message.filename != null && message.hasOwnProperty("filename"))
16350
18161
  object.filename = message.filename;
16351
18162
  if (message.sizeGb != null && message.hasOwnProperty("sizeGb"))
@@ -16638,7 +18449,7 @@ var sesame = $root.sesame = (() => {
16638
18449
  }
16639
18450
  }
16640
18451
  EncodedSrtOutputConfig.prototype.url = "";
16641
- EncodedSrtOutputConfig.prototype.encoder = null;
18452
+ EncodedSrtOutputConfig.prototype.encoderId = "";
16642
18453
  EncodedSrtOutputConfig.create = function create(properties) {
16643
18454
  return new EncodedSrtOutputConfig(properties);
16644
18455
  };
@@ -16650,11 +18461,11 @@ var sesame = $root.sesame = (() => {
16650
18461
  /* id 1, wireType 2 =*/
16651
18462
  10
16652
18463
  ).string(message.url);
16653
- if (message.encoder != null && Object.hasOwnProperty.call(message, "encoder"))
16654
- $root.sesame.v1.outputs.EncoderConfig.encode(message.encoder, writer.uint32(
18464
+ if (message.encoderId != null && Object.hasOwnProperty.call(message, "encoderId"))
18465
+ writer.uint32(
16655
18466
  /* id 2, wireType 2 =*/
16656
18467
  18
16657
- ).fork()).ldelim();
18468
+ ).string(message.encoderId);
16658
18469
  return writer;
16659
18470
  };
16660
18471
  EncodedSrtOutputConfig.encodeDelimited = function encodeDelimited(message, writer) {
@@ -16674,7 +18485,7 @@ var sesame = $root.sesame = (() => {
16674
18485
  break;
16675
18486
  }
16676
18487
  case 2: {
16677
- message.encoder = $root.sesame.v1.outputs.EncoderConfig.decode(reader, reader.uint32());
18488
+ message.encoderId = reader.string();
16678
18489
  break;
16679
18490
  }
16680
18491
  default:
@@ -16696,10 +18507,9 @@ var sesame = $root.sesame = (() => {
16696
18507
  if (!$util.isString(message.url))
16697
18508
  return "url: string expected";
16698
18509
  }
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;
18510
+ if (message.encoderId != null && message.hasOwnProperty("encoderId")) {
18511
+ if (!$util.isString(message.encoderId))
18512
+ return "encoderId: string expected";
16703
18513
  }
16704
18514
  return null;
16705
18515
  };
@@ -16709,11 +18519,8 @@ var sesame = $root.sesame = (() => {
16709
18519
  let message = new $root.sesame.v1.outputs.EncodedSrtOutputConfig();
16710
18520
  if (object.url != null)
16711
18521
  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
- }
18522
+ if (object.encoderId != null)
18523
+ message.encoderId = String(object.encoderId);
16717
18524
  return message;
16718
18525
  };
16719
18526
  EncodedSrtOutputConfig.toObject = function toObject(message, options) {
@@ -16722,12 +18529,12 @@ var sesame = $root.sesame = (() => {
16722
18529
  let object = {};
16723
18530
  if (options.defaults) {
16724
18531
  object.url = "";
16725
- object.encoder = null;
18532
+ object.encoderId = "";
16726
18533
  }
16727
18534
  if (message.url != null && message.hasOwnProperty("url"))
16728
18535
  object.url = message.url;
16729
- if (message.encoder != null && message.hasOwnProperty("encoder"))
16730
- object.encoder = $root.sesame.v1.outputs.EncoderConfig.toObject(message.encoder, options);
18536
+ if (message.encoderId != null && message.hasOwnProperty("encoderId"))
18537
+ object.encoderId = message.encoderId;
16731
18538
  return object;
16732
18539
  };
16733
18540
  EncodedSrtOutputConfig.prototype.toJSON = function toJSON() {
@@ -16750,7 +18557,7 @@ var sesame = $root.sesame = (() => {
16750
18557
  this[keys[i]] = properties[keys[i]];
16751
18558
  }
16752
18559
  }
16753
- EncodedMoqOutputConfig.prototype.encoder = null;
18560
+ EncodedMoqOutputConfig.prototype.encoderId = "";
16754
18561
  EncodedMoqOutputConfig.prototype.url = "";
16755
18562
  EncodedMoqOutputConfig.prototype.broadcast = "";
16756
18563
  EncodedMoqOutputConfig.prototype.key = "";
@@ -16761,11 +18568,11 @@ var sesame = $root.sesame = (() => {
16761
18568
  EncodedMoqOutputConfig.encode = function encode(message, writer) {
16762
18569
  if (!writer)
16763
18570
  writer = $Writer.create();
16764
- if (message.encoder != null && Object.hasOwnProperty.call(message, "encoder"))
16765
- $root.sesame.v1.outputs.EncoderConfig.encode(message.encoder, writer.uint32(
18571
+ if (message.encoderId != null && Object.hasOwnProperty.call(message, "encoderId"))
18572
+ writer.uint32(
16766
18573
  /* id 1, wireType 2 =*/
16767
18574
  10
16768
- ).fork()).ldelim();
18575
+ ).string(message.encoderId);
16769
18576
  if (message.url != null && Object.hasOwnProperty.call(message, "url"))
16770
18577
  writer.uint32(
16771
18578
  /* id 2, wireType 2 =*/
@@ -16802,7 +18609,7 @@ var sesame = $root.sesame = (() => {
16802
18609
  break;
16803
18610
  switch (tag >>> 3) {
16804
18611
  case 1: {
16805
- message.encoder = $root.sesame.v1.outputs.EncoderConfig.decode(reader, reader.uint32());
18612
+ message.encoderId = reader.string();
16806
18613
  break;
16807
18614
  }
16808
18615
  case 2: {
@@ -16838,10 +18645,9 @@ var sesame = $root.sesame = (() => {
16838
18645
  EncodedMoqOutputConfig.verify = function verify(message) {
16839
18646
  if (typeof message !== "object" || message === null)
16840
18647
  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;
18648
+ if (message.encoderId != null && message.hasOwnProperty("encoderId")) {
18649
+ if (!$util.isString(message.encoderId))
18650
+ return "encoderId: string expected";
16845
18651
  }
16846
18652
  if (message.url != null && message.hasOwnProperty("url")) {
16847
18653
  if (!$util.isString(message.url))
@@ -16868,11 +18674,8 @@ var sesame = $root.sesame = (() => {
16868
18674
  if (object instanceof $root.sesame.v1.outputs.EncodedMoqOutputConfig)
16869
18675
  return object;
16870
18676
  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
- }
18677
+ if (object.encoderId != null)
18678
+ message.encoderId = String(object.encoderId);
16876
18679
  if (object.url != null)
16877
18680
  message.url = String(object.url);
16878
18681
  if (object.broadcast != null)
@@ -16895,13 +18698,13 @@ var sesame = $root.sesame = (() => {
16895
18698
  if (options.arrays || options.defaults)
16896
18699
  object.metadataTracks = [];
16897
18700
  if (options.defaults) {
16898
- object.encoder = null;
18701
+ object.encoderId = "";
16899
18702
  object.url = "";
16900
18703
  object.broadcast = "";
16901
18704
  object.key = "";
16902
18705
  }
16903
- if (message.encoder != null && message.hasOwnProperty("encoder"))
16904
- object.encoder = $root.sesame.v1.outputs.EncoderConfig.toObject(message.encoder, options);
18706
+ if (message.encoderId != null && message.hasOwnProperty("encoderId"))
18707
+ object.encoderId = message.encoderId;
16905
18708
  if (message.url != null && message.hasOwnProperty("url"))
16906
18709
  object.url = message.url;
16907
18710
  if (message.broadcast != null && message.hasOwnProperty("broadcast"))
@@ -17957,6 +19760,7 @@ var sesame = $root.sesame = (() => {
17957
19760
  OutputStatus.prototype.url = "";
17958
19761
  OutputStatus.prototype.bufferSize = 0;
17959
19762
  OutputStatus.prototype.srtStats = null;
19763
+ OutputStatus.prototype.encoderId = "";
17960
19764
  let $oneOfFields;
17961
19765
  Object.defineProperty(OutputStatus.prototype, "_msg", {
17962
19766
  get: $util.oneOfGetter($oneOfFields = ["msg"]),
@@ -18007,6 +19811,11 @@ var sesame = $root.sesame = (() => {
18007
19811
  /* id 7, wireType 2 =*/
18008
19812
  58
18009
19813
  ).fork()).ldelim();
19814
+ if (message.encoderId != null && Object.hasOwnProperty.call(message, "encoderId"))
19815
+ writer.uint32(
19816
+ /* id 8, wireType 2 =*/
19817
+ 66
19818
+ ).string(message.encoderId);
18010
19819
  return writer;
18011
19820
  };
18012
19821
  OutputStatus.encodeDelimited = function encodeDelimited(message, writer) {
@@ -18049,6 +19858,10 @@ var sesame = $root.sesame = (() => {
18049
19858
  message.srtStats = $root.sesame.v1.status.SRTSendStatistics.decode(reader, reader.uint32());
18050
19859
  break;
18051
19860
  }
19861
+ case 8: {
19862
+ message.encoderId = reader.string();
19863
+ break;
19864
+ }
18052
19865
  default:
18053
19866
  reader.skipType(tag & 7);
18054
19867
  break;
@@ -18117,6 +19930,10 @@ var sesame = $root.sesame = (() => {
18117
19930
  return "srtStats." + error;
18118
19931
  }
18119
19932
  }
19933
+ if (message.encoderId != null && message.hasOwnProperty("encoderId")) {
19934
+ if (!$util.isString(message.encoderId))
19935
+ return "encoderId: string expected";
19936
+ }
18120
19937
  return null;
18121
19938
  };
18122
19939
  OutputStatus.fromObject = function fromObject(object) {
@@ -18212,6 +20029,8 @@ var sesame = $root.sesame = (() => {
18212
20029
  throw TypeError(".sesame.v1.outputs.OutputStatus.srtStats: object expected");
18213
20030
  message.srtStats = $root.sesame.v1.status.SRTSendStatistics.fromObject(object.srtStats);
18214
20031
  }
20032
+ if (object.encoderId != null)
20033
+ message.encoderId = String(object.encoderId);
18215
20034
  return message;
18216
20035
  };
18217
20036
  OutputStatus.toObject = function toObject(message, options) {
@@ -18224,6 +20043,7 @@ var sesame = $root.sesame = (() => {
18224
20043
  object.state = options.enums === String ? "CONNECTION_STATE_UNSPECIFIED" : 0;
18225
20044
  object.url = "";
18226
20045
  object.bufferSize = 0;
20046
+ object.encoderId = "";
18227
20047
  }
18228
20048
  if (message.id != null && message.hasOwnProperty("id"))
18229
20049
  object.id = message.id;
@@ -18245,6 +20065,8 @@ var sesame = $root.sesame = (() => {
18245
20065
  if (options.oneofs)
18246
20066
  object._srtStats = "srtStats";
18247
20067
  }
20068
+ if (message.encoderId != null && message.hasOwnProperty("encoderId"))
20069
+ object.encoderId = message.encoderId;
18248
20070
  return object;
18249
20071
  };
18250
20072
  OutputStatus.prototype.toJSON = function toJSON() {
@@ -18258,6 +20080,241 @@ var sesame = $root.sesame = (() => {
18258
20080
  };
18259
20081
  return OutputStatus;
18260
20082
  }();
20083
+ outputs.EncoderStatus = function() {
20084
+ function EncoderStatus(properties) {
20085
+ if (properties) {
20086
+ for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)
20087
+ if (properties[keys[i]] != null)
20088
+ this[keys[i]] = properties[keys[i]];
20089
+ }
20090
+ }
20091
+ EncoderStatus.prototype.id = "";
20092
+ EncoderStatus.prototype.type = 0;
20093
+ EncoderStatus.prototype.state = 0;
20094
+ EncoderStatus.prototype.msg = null;
20095
+ EncoderStatus.prototype.compositionId = "";
20096
+ let $oneOfFields;
20097
+ Object.defineProperty(EncoderStatus.prototype, "_msg", {
20098
+ get: $util.oneOfGetter($oneOfFields = ["msg"]),
20099
+ set: $util.oneOfSetter($oneOfFields)
20100
+ });
20101
+ EncoderStatus.create = function create(properties) {
20102
+ return new EncoderStatus(properties);
20103
+ };
20104
+ EncoderStatus.encode = function encode(message, writer) {
20105
+ if (!writer)
20106
+ writer = $Writer.create();
20107
+ if (message.id != null && Object.hasOwnProperty.call(message, "id"))
20108
+ writer.uint32(
20109
+ /* id 1, wireType 2 =*/
20110
+ 10
20111
+ ).string(message.id);
20112
+ if (message.type != null && Object.hasOwnProperty.call(message, "type"))
20113
+ writer.uint32(
20114
+ /* id 2, wireType 0 =*/
20115
+ 16
20116
+ ).int32(message.type);
20117
+ if (message.state != null && Object.hasOwnProperty.call(message, "state"))
20118
+ writer.uint32(
20119
+ /* id 3, wireType 0 =*/
20120
+ 24
20121
+ ).int32(message.state);
20122
+ if (message.msg != null && Object.hasOwnProperty.call(message, "msg"))
20123
+ writer.uint32(
20124
+ /* id 4, wireType 2 =*/
20125
+ 34
20126
+ ).string(message.msg);
20127
+ if (message.compositionId != null && Object.hasOwnProperty.call(message, "compositionId"))
20128
+ writer.uint32(
20129
+ /* id 5, wireType 2 =*/
20130
+ 42
20131
+ ).string(message.compositionId);
20132
+ return writer;
20133
+ };
20134
+ EncoderStatus.encodeDelimited = function encodeDelimited(message, writer) {
20135
+ return this.encode(message, writer).ldelim();
20136
+ };
20137
+ EncoderStatus.decode = function decode(reader, length, error) {
20138
+ if (!(reader instanceof $Reader))
20139
+ reader = $Reader.create(reader);
20140
+ let end = length === void 0 ? reader.len : reader.pos + length, message = new $root.sesame.v1.outputs.EncoderStatus();
20141
+ while (reader.pos < end) {
20142
+ let tag = reader.uint32();
20143
+ if (tag === error)
20144
+ break;
20145
+ switch (tag >>> 3) {
20146
+ case 1: {
20147
+ message.id = reader.string();
20148
+ break;
20149
+ }
20150
+ case 2: {
20151
+ message.type = reader.int32();
20152
+ break;
20153
+ }
20154
+ case 3: {
20155
+ message.state = reader.int32();
20156
+ break;
20157
+ }
20158
+ case 4: {
20159
+ message.msg = reader.string();
20160
+ break;
20161
+ }
20162
+ case 5: {
20163
+ message.compositionId = reader.string();
20164
+ break;
20165
+ }
20166
+ default:
20167
+ reader.skipType(tag & 7);
20168
+ break;
20169
+ }
20170
+ }
20171
+ return message;
20172
+ };
20173
+ EncoderStatus.decodeDelimited = function decodeDelimited(reader) {
20174
+ if (!(reader instanceof $Reader))
20175
+ reader = new $Reader(reader);
20176
+ return this.decode(reader, reader.uint32());
20177
+ };
20178
+ EncoderStatus.verify = function verify(message) {
20179
+ if (typeof message !== "object" || message === null)
20180
+ return "object expected";
20181
+ let properties = {};
20182
+ if (message.id != null && message.hasOwnProperty("id")) {
20183
+ if (!$util.isString(message.id))
20184
+ return "id: string expected";
20185
+ }
20186
+ if (message.type != null && message.hasOwnProperty("type"))
20187
+ switch (message.type) {
20188
+ default:
20189
+ return "type: enum value expected";
20190
+ case 0:
20191
+ case 1:
20192
+ break;
20193
+ }
20194
+ if (message.state != null && message.hasOwnProperty("state"))
20195
+ switch (message.state) {
20196
+ default:
20197
+ return "state: enum value expected";
20198
+ case 0:
20199
+ case 1:
20200
+ case 2:
20201
+ case 3:
20202
+ case 4:
20203
+ case 5:
20204
+ case 6:
20205
+ break;
20206
+ }
20207
+ if (message.msg != null && message.hasOwnProperty("msg")) {
20208
+ properties._msg = 1;
20209
+ if (!$util.isString(message.msg))
20210
+ return "msg: string expected";
20211
+ }
20212
+ if (message.compositionId != null && message.hasOwnProperty("compositionId")) {
20213
+ if (!$util.isString(message.compositionId))
20214
+ return "compositionId: string expected";
20215
+ }
20216
+ return null;
20217
+ };
20218
+ EncoderStatus.fromObject = function fromObject(object) {
20219
+ if (object instanceof $root.sesame.v1.outputs.EncoderStatus)
20220
+ return object;
20221
+ let message = new $root.sesame.v1.outputs.EncoderStatus();
20222
+ if (object.id != null)
20223
+ message.id = String(object.id);
20224
+ switch (object.type) {
20225
+ default:
20226
+ if (typeof object.type === "number") {
20227
+ message.type = object.type;
20228
+ break;
20229
+ }
20230
+ break;
20231
+ case "ENCODER_TYPE_UNSPECIFIED":
20232
+ case 0:
20233
+ message.type = 0;
20234
+ break;
20235
+ case "ENCODER_TYPE_VIDEO":
20236
+ case 1:
20237
+ message.type = 1;
20238
+ break;
20239
+ }
20240
+ switch (object.state) {
20241
+ default:
20242
+ if (typeof object.state === "number") {
20243
+ message.state = object.state;
20244
+ break;
20245
+ }
20246
+ break;
20247
+ case "CONNECTION_STATE_UNSPECIFIED":
20248
+ case 0:
20249
+ message.state = 0;
20250
+ break;
20251
+ case "CONNECTION_STATE_INITIALIZING":
20252
+ case 1:
20253
+ message.state = 1;
20254
+ break;
20255
+ case "CONNECTION_STATE_CONNECTING":
20256
+ case 2:
20257
+ message.state = 2;
20258
+ break;
20259
+ case "CONNECTION_STATE_ONLINE":
20260
+ case 3:
20261
+ message.state = 3;
20262
+ break;
20263
+ case "CONNECTION_STATE_DEGRADED":
20264
+ case 4:
20265
+ message.state = 4;
20266
+ break;
20267
+ case "CONNECTION_STATE_OFFLINE":
20268
+ case 5:
20269
+ message.state = 5;
20270
+ break;
20271
+ case "CONNECTION_STATE_ERROR":
20272
+ case 6:
20273
+ message.state = 6;
20274
+ break;
20275
+ }
20276
+ if (object.msg != null)
20277
+ message.msg = String(object.msg);
20278
+ if (object.compositionId != null)
20279
+ message.compositionId = String(object.compositionId);
20280
+ return message;
20281
+ };
20282
+ EncoderStatus.toObject = function toObject(message, options) {
20283
+ if (!options)
20284
+ options = {};
20285
+ let object = {};
20286
+ if (options.defaults) {
20287
+ object.id = "";
20288
+ object.type = options.enums === String ? "ENCODER_TYPE_UNSPECIFIED" : 0;
20289
+ object.state = options.enums === String ? "CONNECTION_STATE_UNSPECIFIED" : 0;
20290
+ object.compositionId = "";
20291
+ }
20292
+ if (message.id != null && message.hasOwnProperty("id"))
20293
+ object.id = message.id;
20294
+ if (message.type != null && message.hasOwnProperty("type"))
20295
+ 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;
20296
+ if (message.state != null && message.hasOwnProperty("state"))
20297
+ 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;
20298
+ if (message.msg != null && message.hasOwnProperty("msg")) {
20299
+ object.msg = message.msg;
20300
+ if (options.oneofs)
20301
+ object._msg = "msg";
20302
+ }
20303
+ if (message.compositionId != null && message.hasOwnProperty("compositionId"))
20304
+ object.compositionId = message.compositionId;
20305
+ return object;
20306
+ };
20307
+ EncoderStatus.prototype.toJSON = function toJSON() {
20308
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
20309
+ };
20310
+ EncoderStatus.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
20311
+ if (typeUrlPrefix === void 0) {
20312
+ typeUrlPrefix = "type.googleapis.com";
20313
+ }
20314
+ return typeUrlPrefix + "/sesame.v1.outputs.EncoderStatus";
20315
+ };
20316
+ return EncoderStatus;
20317
+ }();
18261
20318
  return outputs;
18262
20319
  }();
18263
20320
  v1.compositor = function() {
@@ -23452,11 +25509,12 @@ var CommandList = class {
23452
25509
  }
23453
25510
  applyTransaction(transaction) {
23454
25511
  this.cl.commandList.forEach((item) => {
23455
- if (transaction.transactionId !== void 0) {
25512
+ if (transaction.transactionId !== void 0 && item.transactionId == null) {
23456
25513
  item.transactionId = transaction.transactionId;
23457
25514
  }
23458
25515
  if (transaction.dependencies !== void 0) {
23459
- item.transactionDeps = item.transactionDeps ? item.transactionDeps.concat(transaction.dependencies) : transaction.dependencies;
25516
+ const existing = item.transactionDeps ?? [];
25517
+ item.transactionDeps = [...new Set(existing.concat(transaction.dependencies))];
23460
25518
  }
23461
25519
  });
23462
25520
  }
@@ -23639,7 +25697,7 @@ var CommandList = class {
23639
25697
  }
23640
25698
  }
23641
25699
  item.updateSourceTransport = transportCmd;
23642
- return this.add(item, timeOffsetMs, { transactionId: msg.transactionId, dependencies: [] });
25700
+ return this.add(item, timeOffsetMs, { transactionId: msg.transactionId, dependencies: msg.dependencies });
23643
25701
  }
23644
25702
  sourceUpdate(id, cfg, timeOffsetMs) {
23645
25703
  let item = new sesame.v1.commands.CommandListItem();
@@ -23675,6 +25733,21 @@ var CommandList = class {
23675
25733
  item.removeOutput = { id };
23676
25734
  return this.add(item, timeOffsetMs);
23677
25735
  }
25736
+ encoderAdd(id, cfg, timeOffsetMs) {
25737
+ let item = new sesame.v1.commands.CommandListItem();
25738
+ item.addEncoder = { id, ...cfg };
25739
+ return this.add(item, timeOffsetMs);
25740
+ }
25741
+ encoderUpdate(id, cfg, timeOffsetMs) {
25742
+ let item = new sesame.v1.commands.CommandListItem();
25743
+ item.updateEncoder = { id, ...cfg };
25744
+ return this.add(item, timeOffsetMs);
25745
+ }
25746
+ encoderRemove(id, timeOffsetMs) {
25747
+ let item = new sesame.v1.commands.CommandListItem();
25748
+ item.removeEncoder = { id };
25749
+ return this.add(item, timeOffsetMs);
25750
+ }
23678
25751
  audioMixerAdd(id, cfg, timeOffsetMs) {
23679
25752
  let item = new sesame.v1.commands.CommandListItem();
23680
25753
  item.addAudioMixer = { id, config: cfg };
@@ -24391,15 +26464,21 @@ var EaseKind = /* @__PURE__ */ ((EaseKind2) => {
24391
26464
  EaseKind2["BACK_INOUT"] = "backInOut";
24392
26465
  return EaseKind2;
24393
26466
  })(EaseKind || {});
26467
+ function appendQueryParam(url, key, value) {
26468
+ if (!value) return url;
26469
+ const separator = url.includes("?") ? "&" : "?";
26470
+ return `${url}${separator}${encodeURIComponent(key)}=${encodeURIComponent(value)}`;
26471
+ }
24394
26472
  var SesameClient = class extends EventEmitter3 {
24395
- constructor(portOrUrl) {
26473
+ constructor(portOrUrl, clientOptions = {}) {
24396
26474
  super();
24397
26475
  this.subscriptions = [];
24398
26476
  this.onMediaPacket = () => {
24399
26477
  };
24400
26478
  this.onCallbackMessage = () => {
24401
26479
  };
24402
- const url = typeof portOrUrl === "number" ? `ws://127.0.0.1:${portOrUrl}/api` : portOrUrl;
26480
+ const baseUrl = typeof portOrUrl === "number" ? `ws://127.0.0.1:${portOrUrl}/api` : portOrUrl;
26481
+ const url = appendQueryParam(baseUrl, "client", clientOptions.wsClientLabel ?? "");
24403
26482
  this.conn = new SesameConnection({
24404
26483
  url,
24405
26484
  autoConnect: true,