@stinkycomputing/sesame-api-client 1.5.12 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/proto/api.js CHANGED
@@ -12671,6 +12671,22 @@ export const sesame = $root.sesame = (() => {
12671
12671
  return values;
12672
12672
  })();
12673
12673
 
12674
+ /**
12675
+ * SignalGeneratorTimecodeMode enum.
12676
+ * @name sesame.v1.sources.SignalGeneratorTimecodeMode
12677
+ * @enum {number}
12678
+ * @property {number} SIGNAL_GENERATOR_TIMECODE_MODE_NONE=0 SIGNAL_GENERATOR_TIMECODE_MODE_NONE value
12679
+ * @property {number} SIGNAL_GENERATOR_TIMECODE_MODE_FREE_RUN=1 SIGNAL_GENERATOR_TIMECODE_MODE_FREE_RUN value
12680
+ * @property {number} SIGNAL_GENERATOR_TIMECODE_MODE_TIME_OF_DAY=2 SIGNAL_GENERATOR_TIMECODE_MODE_TIME_OF_DAY value
12681
+ */
12682
+ sources.SignalGeneratorTimecodeMode = (function() {
12683
+ const valuesById = {}, values = Object.create(valuesById);
12684
+ values[valuesById[0] = "SIGNAL_GENERATOR_TIMECODE_MODE_NONE"] = 0;
12685
+ values[valuesById[1] = "SIGNAL_GENERATOR_TIMECODE_MODE_FREE_RUN"] = 1;
12686
+ values[valuesById[2] = "SIGNAL_GENERATOR_TIMECODE_MODE_TIME_OF_DAY"] = 2;
12687
+ return values;
12688
+ })();
12689
+
12674
12690
  sources.SignalGeneratorSourceConfig = (function() {
12675
12691
 
12676
12692
  /**
@@ -12680,6 +12696,8 @@ export const sesame = $root.sesame = (() => {
12680
12696
  * @property {boolean|null} [freeze] SignalGeneratorSourceConfig freeze
12681
12697
  * @property {sesame.v1.sources.SignalGeneratorVideoPattern|null} [videoPattern] SignalGeneratorSourceConfig videoPattern
12682
12698
  * @property {sesame.v1.sources.SignalGeneratorAudioMode|null} [audioMode] SignalGeneratorSourceConfig audioMode
12699
+ * @property {sesame.v1.sources.SignalGeneratorTimecodeMode|null} [timecodeMode] SignalGeneratorSourceConfig timecodeMode
12700
+ * @property {number|null} [timecodeStartFrame] SignalGeneratorSourceConfig timecodeStartFrame
12683
12701
  */
12684
12702
 
12685
12703
  /**
@@ -12721,6 +12739,22 @@ export const sesame = $root.sesame = (() => {
12721
12739
  */
12722
12740
  SignalGeneratorSourceConfig.prototype.audioMode = 0;
12723
12741
 
12742
+ /**
12743
+ * SignalGeneratorSourceConfig timecodeMode.
12744
+ * @member {sesame.v1.sources.SignalGeneratorTimecodeMode} timecodeMode
12745
+ * @memberof sesame.v1.sources.SignalGeneratorSourceConfig
12746
+ * @instance
12747
+ */
12748
+ SignalGeneratorSourceConfig.prototype.timecodeMode = 0;
12749
+
12750
+ /**
12751
+ * SignalGeneratorSourceConfig timecodeStartFrame.
12752
+ * @member {number} timecodeStartFrame
12753
+ * @memberof sesame.v1.sources.SignalGeneratorSourceConfig
12754
+ * @instance
12755
+ */
12756
+ SignalGeneratorSourceConfig.prototype.timecodeStartFrame = 0;
12757
+
12724
12758
  /**
12725
12759
  * Creates a new SignalGeneratorSourceConfig instance using the specified properties.
12726
12760
  * @function create
@@ -12751,6 +12785,10 @@ export const sesame = $root.sesame = (() => {
12751
12785
  writer.uint32(/* id 2, wireType 0 =*/16).int32(message.videoPattern);
12752
12786
  if (message.audioMode != null && Object.hasOwnProperty.call(message, "audioMode"))
12753
12787
  writer.uint32(/* id 3, wireType 0 =*/24).int32(message.audioMode);
12788
+ if (message.timecodeMode != null && Object.hasOwnProperty.call(message, "timecodeMode"))
12789
+ writer.uint32(/* id 4, wireType 0 =*/32).int32(message.timecodeMode);
12790
+ if (message.timecodeStartFrame != null && Object.hasOwnProperty.call(message, "timecodeStartFrame"))
12791
+ writer.uint32(/* id 5, wireType 0 =*/40).uint32(message.timecodeStartFrame);
12754
12792
  return writer;
12755
12793
  };
12756
12794
 
@@ -12799,6 +12837,14 @@ export const sesame = $root.sesame = (() => {
12799
12837
  message.audioMode = reader.int32();
12800
12838
  break;
12801
12839
  }
12840
+ case 4: {
12841
+ message.timecodeMode = reader.int32();
12842
+ break;
12843
+ }
12844
+ case 5: {
12845
+ message.timecodeStartFrame = reader.uint32();
12846
+ break;
12847
+ }
12802
12848
  default:
12803
12849
  reader.skipType(tag & 7);
12804
12850
  break;
@@ -12857,6 +12903,18 @@ export const sesame = $root.sesame = (() => {
12857
12903
  case 3:
12858
12904
  break;
12859
12905
  }
12906
+ if (message.timecodeMode != null && message.hasOwnProperty("timecodeMode"))
12907
+ switch (message.timecodeMode) {
12908
+ default:
12909
+ return "timecodeMode: enum value expected";
12910
+ case 0:
12911
+ case 1:
12912
+ case 2:
12913
+ break;
12914
+ }
12915
+ if (message.timecodeStartFrame != null && message.hasOwnProperty("timecodeStartFrame"))
12916
+ if (!$util.isInteger(message.timecodeStartFrame))
12917
+ return "timecodeStartFrame: integer expected";
12860
12918
  return null;
12861
12919
  };
12862
12920
 
@@ -12922,6 +12980,28 @@ export const sesame = $root.sesame = (() => {
12922
12980
  message.audioMode = 3;
12923
12981
  break;
12924
12982
  }
12983
+ switch (object.timecodeMode) {
12984
+ default:
12985
+ if (typeof object.timecodeMode === "number") {
12986
+ message.timecodeMode = object.timecodeMode;
12987
+ break;
12988
+ }
12989
+ break;
12990
+ case "SIGNAL_GENERATOR_TIMECODE_MODE_NONE":
12991
+ case 0:
12992
+ message.timecodeMode = 0;
12993
+ break;
12994
+ case "SIGNAL_GENERATOR_TIMECODE_MODE_FREE_RUN":
12995
+ case 1:
12996
+ message.timecodeMode = 1;
12997
+ break;
12998
+ case "SIGNAL_GENERATOR_TIMECODE_MODE_TIME_OF_DAY":
12999
+ case 2:
13000
+ message.timecodeMode = 2;
13001
+ break;
13002
+ }
13003
+ if (object.timecodeStartFrame != null)
13004
+ message.timecodeStartFrame = object.timecodeStartFrame >>> 0;
12925
13005
  return message;
12926
13006
  };
12927
13007
 
@@ -12942,6 +13022,8 @@ export const sesame = $root.sesame = (() => {
12942
13022
  object.freeze = false;
12943
13023
  object.videoPattern = options.enums === String ? "SIGNAL_GENERATOR_VIDEO_PATTERN_BARS" : 0;
12944
13024
  object.audioMode = options.enums === String ? "SIGNAL_GENERATOR_AUDIO_MODE_SYNC" : 0;
13025
+ object.timecodeMode = options.enums === String ? "SIGNAL_GENERATOR_TIMECODE_MODE_NONE" : 0;
13026
+ object.timecodeStartFrame = 0;
12945
13027
  }
12946
13028
  if (message.freeze != null && message.hasOwnProperty("freeze"))
12947
13029
  object.freeze = message.freeze;
@@ -12949,6 +13031,10 @@ export const sesame = $root.sesame = (() => {
12949
13031
  object.videoPattern = options.enums === String ? $root.sesame.v1.sources.SignalGeneratorVideoPattern[message.videoPattern] === undefined ? message.videoPattern : $root.sesame.v1.sources.SignalGeneratorVideoPattern[message.videoPattern] : message.videoPattern;
12950
13032
  if (message.audioMode != null && message.hasOwnProperty("audioMode"))
12951
13033
  object.audioMode = options.enums === String ? $root.sesame.v1.sources.SignalGeneratorAudioMode[message.audioMode] === undefined ? message.audioMode : $root.sesame.v1.sources.SignalGeneratorAudioMode[message.audioMode] : message.audioMode;
13034
+ if (message.timecodeMode != null && message.hasOwnProperty("timecodeMode"))
13035
+ object.timecodeMode = options.enums === String ? $root.sesame.v1.sources.SignalGeneratorTimecodeMode[message.timecodeMode] === undefined ? message.timecodeMode : $root.sesame.v1.sources.SignalGeneratorTimecodeMode[message.timecodeMode] : message.timecodeMode;
13036
+ if (message.timecodeStartFrame != null && message.hasOwnProperty("timecodeStartFrame"))
13037
+ object.timecodeStartFrame = message.timecodeStartFrame;
12952
13038
  return object;
12953
13039
  };
12954
13040
 
@@ -25217,6 +25303,9 @@ export const sesame = $root.sesame = (() => {
25217
25303
  * @property {number|null} [gpuDecoderUtilization] SystemStatus gpuDecoderUtilization
25218
25304
  * @property {string|null} [gpuName] SystemStatus gpuName
25219
25305
  * @property {number|Long|null} [vmaBytes] SystemStatus vmaBytes
25306
+ * @property {string|null} [version] SystemStatus version
25307
+ * @property {number|null} [nvencSessions] SystemStatus nvencSessions
25308
+ * @property {number|null} [nvdecSessions] SystemStatus nvdecSessions
25220
25309
  */
25221
25310
 
25222
25311
  /**
@@ -25370,6 +25459,30 @@ export const sesame = $root.sesame = (() => {
25370
25459
  */
25371
25460
  SystemStatus.prototype.vmaBytes = $util.Long ? $util.Long.fromBits(0,0,true) : 0;
25372
25461
 
25462
+ /**
25463
+ * SystemStatus version.
25464
+ * @member {string} version
25465
+ * @memberof sesame.v1.status.SystemStatus
25466
+ * @instance
25467
+ */
25468
+ SystemStatus.prototype.version = "";
25469
+
25470
+ /**
25471
+ * SystemStatus nvencSessions.
25472
+ * @member {number} nvencSessions
25473
+ * @memberof sesame.v1.status.SystemStatus
25474
+ * @instance
25475
+ */
25476
+ SystemStatus.prototype.nvencSessions = 0;
25477
+
25478
+ /**
25479
+ * SystemStatus nvdecSessions.
25480
+ * @member {number} nvdecSessions
25481
+ * @memberof sesame.v1.status.SystemStatus
25482
+ * @instance
25483
+ */
25484
+ SystemStatus.prototype.nvdecSessions = 0;
25485
+
25373
25486
  /**
25374
25487
  * Creates a new SystemStatus instance using the specified properties.
25375
25488
  * @function create
@@ -25428,6 +25541,12 @@ export const sesame = $root.sesame = (() => {
25428
25541
  writer.uint32(/* id 16, wireType 2 =*/130).string(message.gpuName);
25429
25542
  if (message.vmaBytes != null && Object.hasOwnProperty.call(message, "vmaBytes"))
25430
25543
  writer.uint32(/* id 17, wireType 0 =*/136).uint64(message.vmaBytes);
25544
+ if (message.version != null && Object.hasOwnProperty.call(message, "version"))
25545
+ writer.uint32(/* id 18, wireType 2 =*/146).string(message.version);
25546
+ if (message.nvencSessions != null && Object.hasOwnProperty.call(message, "nvencSessions"))
25547
+ writer.uint32(/* id 19, wireType 0 =*/152).uint32(message.nvencSessions);
25548
+ if (message.nvdecSessions != null && Object.hasOwnProperty.call(message, "nvdecSessions"))
25549
+ writer.uint32(/* id 20, wireType 0 =*/160).uint32(message.nvdecSessions);
25431
25550
  return writer;
25432
25551
  };
25433
25552
 
@@ -25532,6 +25651,18 @@ export const sesame = $root.sesame = (() => {
25532
25651
  message.vmaBytes = reader.uint64();
25533
25652
  break;
25534
25653
  }
25654
+ case 18: {
25655
+ message.version = reader.string();
25656
+ break;
25657
+ }
25658
+ case 19: {
25659
+ message.nvencSessions = reader.uint32();
25660
+ break;
25661
+ }
25662
+ case 20: {
25663
+ message.nvdecSessions = reader.uint32();
25664
+ break;
25665
+ }
25535
25666
  default:
25536
25667
  reader.skipType(tag & 7);
25537
25668
  break;
@@ -25626,6 +25757,15 @@ export const sesame = $root.sesame = (() => {
25626
25757
  if (message.vmaBytes != null && message.hasOwnProperty("vmaBytes"))
25627
25758
  if (!$util.isInteger(message.vmaBytes) && !(message.vmaBytes && $util.isInteger(message.vmaBytes.low) && $util.isInteger(message.vmaBytes.high)))
25628
25759
  return "vmaBytes: integer|Long expected";
25760
+ if (message.version != null && message.hasOwnProperty("version"))
25761
+ if (!$util.isString(message.version))
25762
+ return "version: string expected";
25763
+ if (message.nvencSessions != null && message.hasOwnProperty("nvencSessions"))
25764
+ if (!$util.isInteger(message.nvencSessions))
25765
+ return "nvencSessions: integer expected";
25766
+ if (message.nvdecSessions != null && message.hasOwnProperty("nvdecSessions"))
25767
+ if (!$util.isInteger(message.nvdecSessions))
25768
+ return "nvdecSessions: integer expected";
25629
25769
  return null;
25630
25770
  };
25631
25771
 
@@ -25729,6 +25869,12 @@ export const sesame = $root.sesame = (() => {
25729
25869
  message.vmaBytes = object.vmaBytes;
25730
25870
  else if (typeof object.vmaBytes === "object")
25731
25871
  message.vmaBytes = new $util.LongBits(object.vmaBytes.low >>> 0, object.vmaBytes.high >>> 0).toNumber(true);
25872
+ if (object.version != null)
25873
+ message.version = String(object.version);
25874
+ if (object.nvencSessions != null)
25875
+ message.nvencSessions = object.nvencSessions >>> 0;
25876
+ if (object.nvdecSessions != null)
25877
+ message.nvdecSessions = object.nvdecSessions >>> 0;
25732
25878
  return message;
25733
25879
  };
25734
25880
 
@@ -25787,6 +25933,9 @@ export const sesame = $root.sesame = (() => {
25787
25933
  object.vmaBytes = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
25788
25934
  } else
25789
25935
  object.vmaBytes = options.longs === String ? "0" : 0;
25936
+ object.version = "";
25937
+ object.nvencSessions = 0;
25938
+ object.nvdecSessions = 0;
25790
25939
  }
25791
25940
  if (message.uptime != null && message.hasOwnProperty("uptime"))
25792
25941
  if (typeof message.uptime === "number")
@@ -25840,6 +25989,12 @@ export const sesame = $root.sesame = (() => {
25840
25989
  object.vmaBytes = options.longs === String ? String(message.vmaBytes) : message.vmaBytes;
25841
25990
  else
25842
25991
  object.vmaBytes = options.longs === String ? $util.Long.prototype.toString.call(message.vmaBytes) : options.longs === Number ? new $util.LongBits(message.vmaBytes.low >>> 0, message.vmaBytes.high >>> 0).toNumber(true) : message.vmaBytes;
25992
+ if (message.version != null && message.hasOwnProperty("version"))
25993
+ object.version = message.version;
25994
+ if (message.nvencSessions != null && message.hasOwnProperty("nvencSessions"))
25995
+ object.nvencSessions = message.nvencSessions;
25996
+ if (message.nvdecSessions != null && message.hasOwnProperty("nvdecSessions"))
25997
+ object.nvdecSessions = message.nvdecSessions;
25843
25998
  return object;
25844
25999
  };
25845
26000
 
@@ -29181,63 +29336,121 @@ export const sesame = $root.sesame = (() => {
29181
29336
  })();
29182
29337
 
29183
29338
  /**
29184
- * EncoderPreset enum.
29185
- * @name sesame.v1.outputs.EncoderPreset
29339
+ * EncoderTuning enum.
29340
+ * @name sesame.v1.outputs.EncoderTuning
29186
29341
  * @enum {number}
29187
- * @property {number} ENCODER_PRESET_UNSPECIFIED=0 ENCODER_PRESET_UNSPECIFIED value
29188
- * @property {number} ENCODER_PRESET_LOW_LATENCY=1 ENCODER_PRESET_LOW_LATENCY value
29189
- * @property {number} ENCODER_PRESET_LOW_LATENCY_IDR_ONLY=2 ENCODER_PRESET_LOW_LATENCY_IDR_ONLY value
29190
- * @property {number} ENCODER_PRESET_HIGH_QUALITY=3 ENCODER_PRESET_HIGH_QUALITY value
29342
+ * @property {number} ENCODER_TUNING_UNSPECIFIED=0 ENCODER_TUNING_UNSPECIFIED value
29343
+ * @property {number} ENCODER_TUNING_ULTRA_LOW_LATENCY=1 ENCODER_TUNING_ULTRA_LOW_LATENCY value
29344
+ * @property {number} ENCODER_TUNING_LOW_LATENCY=2 ENCODER_TUNING_LOW_LATENCY value
29345
+ * @property {number} ENCODER_TUNING_HIGH_QUALITY=3 ENCODER_TUNING_HIGH_QUALITY value
29191
29346
  */
29192
- outputs.EncoderPreset = (function() {
29347
+ outputs.EncoderTuning = (function() {
29193
29348
  const valuesById = {}, values = Object.create(valuesById);
29194
- values[valuesById[0] = "ENCODER_PRESET_UNSPECIFIED"] = 0;
29195
- values[valuesById[1] = "ENCODER_PRESET_LOW_LATENCY"] = 1;
29196
- values[valuesById[2] = "ENCODER_PRESET_LOW_LATENCY_IDR_ONLY"] = 2;
29197
- values[valuesById[3] = "ENCODER_PRESET_HIGH_QUALITY"] = 3;
29349
+ values[valuesById[0] = "ENCODER_TUNING_UNSPECIFIED"] = 0;
29350
+ values[valuesById[1] = "ENCODER_TUNING_ULTRA_LOW_LATENCY"] = 1;
29351
+ values[valuesById[2] = "ENCODER_TUNING_LOW_LATENCY"] = 2;
29352
+ values[valuesById[3] = "ENCODER_TUNING_HIGH_QUALITY"] = 3;
29198
29353
  return values;
29199
29354
  })();
29200
29355
 
29201
29356
  /**
29202
- * RecorderType enum.
29203
- * @name sesame.v1.outputs.RecorderType
29357
+ * EncoderRateControl enum.
29358
+ * @name sesame.v1.outputs.EncoderRateControl
29204
29359
  * @enum {number}
29205
- * @property {number} RECORDER_TYPE_UNSPECIFIED=0 RECORDER_TYPE_UNSPECIFIED value
29206
- * @property {number} RECORDER_TYPE_LIVE=1 RECORDER_TYPE_LIVE value
29207
- * @property {number} RECORDER_TYPE_CLIPS=2 RECORDER_TYPE_CLIPS value
29360
+ * @property {number} ENCODER_RATE_CONTROL_UNSPECIFIED=0 ENCODER_RATE_CONTROL_UNSPECIFIED value
29361
+ * @property {number} ENCODER_RATE_CONTROL_CBR=1 ENCODER_RATE_CONTROL_CBR value
29362
+ * @property {number} ENCODER_RATE_CONTROL_VBR=2 ENCODER_RATE_CONTROL_VBR value
29208
29363
  */
29209
- outputs.RecorderType = (function() {
29364
+ outputs.EncoderRateControl = (function() {
29210
29365
  const valuesById = {}, values = Object.create(valuesById);
29211
- values[valuesById[0] = "RECORDER_TYPE_UNSPECIFIED"] = 0;
29212
- values[valuesById[1] = "RECORDER_TYPE_LIVE"] = 1;
29213
- values[valuesById[2] = "RECORDER_TYPE_CLIPS"] = 2;
29366
+ values[valuesById[0] = "ENCODER_RATE_CONTROL_UNSPECIFIED"] = 0;
29367
+ values[valuesById[1] = "ENCODER_RATE_CONTROL_CBR"] = 1;
29368
+ values[valuesById[2] = "ENCODER_RATE_CONTROL_VBR"] = 2;
29214
29369
  return values;
29215
29370
  })();
29216
29371
 
29217
- outputs.EncoderConfig = (function() {
29372
+ /**
29373
+ * EncoderProfile enum.
29374
+ * @name sesame.v1.outputs.EncoderProfile
29375
+ * @enum {number}
29376
+ * @property {number} ENCODER_PROFILE_AUTO=0 ENCODER_PROFILE_AUTO value
29377
+ * @property {number} ENCODER_PROFILE_BASELINE=1 ENCODER_PROFILE_BASELINE value
29378
+ * @property {number} ENCODER_PROFILE_MAIN=2 ENCODER_PROFILE_MAIN value
29379
+ * @property {number} ENCODER_PROFILE_MAIN10=3 ENCODER_PROFILE_MAIN10 value
29380
+ * @property {number} ENCODER_PROFILE_HIGH=4 ENCODER_PROFILE_HIGH value
29381
+ */
29382
+ outputs.EncoderProfile = (function() {
29383
+ const valuesById = {}, values = Object.create(valuesById);
29384
+ values[valuesById[0] = "ENCODER_PROFILE_AUTO"] = 0;
29385
+ values[valuesById[1] = "ENCODER_PROFILE_BASELINE"] = 1;
29386
+ values[valuesById[2] = "ENCODER_PROFILE_MAIN"] = 2;
29387
+ values[valuesById[3] = "ENCODER_PROFILE_MAIN10"] = 3;
29388
+ values[valuesById[4] = "ENCODER_PROFILE_HIGH"] = 4;
29389
+ return values;
29390
+ })();
29218
29391
 
29219
- /**
29220
- * Properties of an EncoderConfig.
29221
- * @memberof sesame.v1.outputs
29222
- * @interface IEncoderConfig
29223
- * @property {sesame.v1.common.CodecType|null} [codec] EncoderConfig codec
29224
- * @property {sesame.v1.outputs.EncoderPreset|null} [preset] EncoderConfig preset
29225
- * @property {number|null} [bitrateKbps] EncoderConfig bitrateKbps
29226
- * @property {number|null} [keyframeInterval] EncoderConfig keyframeInterval
29227
- * @property {number|null} [width] EncoderConfig width
29228
- * @property {number|null} [height] EncoderConfig height
29229
- * @property {number|null} [fps] EncoderConfig fps
29230
- */
29392
+ /**
29393
+ * EncoderMultipass enum.
29394
+ * @name sesame.v1.outputs.EncoderMultipass
29395
+ * @enum {number}
29396
+ * @property {number} ENCODER_MULTIPASS_DISABLED=0 ENCODER_MULTIPASS_DISABLED value
29397
+ * @property {number} ENCODER_MULTIPASS_QUARTER_RESOLUTION=1 ENCODER_MULTIPASS_QUARTER_RESOLUTION value
29398
+ * @property {number} ENCODER_MULTIPASS_FULL_RESOLUTION=2 ENCODER_MULTIPASS_FULL_RESOLUTION value
29399
+ */
29400
+ outputs.EncoderMultipass = (function() {
29401
+ const valuesById = {}, values = Object.create(valuesById);
29402
+ values[valuesById[0] = "ENCODER_MULTIPASS_DISABLED"] = 0;
29403
+ values[valuesById[1] = "ENCODER_MULTIPASS_QUARTER_RESOLUTION"] = 1;
29404
+ values[valuesById[2] = "ENCODER_MULTIPASS_FULL_RESOLUTION"] = 2;
29405
+ return values;
29406
+ })();
29407
+
29408
+ /**
29409
+ * EncoderChromaFormat enum.
29410
+ * @name sesame.v1.outputs.EncoderChromaFormat
29411
+ * @enum {number}
29412
+ * @property {number} ENCODER_CHROMA_FORMAT_420=0 ENCODER_CHROMA_FORMAT_420 value
29413
+ * @property {number} ENCODER_CHROMA_FORMAT_444=1 ENCODER_CHROMA_FORMAT_444 value
29414
+ */
29415
+ outputs.EncoderChromaFormat = (function() {
29416
+ const valuesById = {}, values = Object.create(valuesById);
29417
+ values[valuesById[0] = "ENCODER_CHROMA_FORMAT_420"] = 0;
29418
+ values[valuesById[1] = "ENCODER_CHROMA_FORMAT_444"] = 1;
29419
+ return values;
29420
+ })();
29421
+
29422
+ outputs.EncoderSettings = (function() {
29231
29423
 
29232
29424
  /**
29233
- * Constructs a new EncoderConfig.
29425
+ * Properties of an EncoderSettings.
29234
29426
  * @memberof sesame.v1.outputs
29235
- * @classdesc Represents an EncoderConfig.
29236
- * @implements IEncoderConfig
29427
+ * @interface IEncoderSettings
29428
+ * @property {sesame.v1.outputs.EncoderTuning|null} [tuning] EncoderSettings tuning
29429
+ * @property {number|null} [effort] EncoderSettings effort
29430
+ * @property {sesame.v1.outputs.EncoderRateControl|null} [rateControl] EncoderSettings rateControl
29431
+ * @property {number|null} [maxBitrateKbps] EncoderSettings maxBitrateKbps
29432
+ * @property {sesame.v1.outputs.EncoderProfile|null} [profile] EncoderSettings profile
29433
+ * @property {number|null} [bframes] EncoderSettings bframes
29434
+ * @property {boolean|null} [idrOnly] EncoderSettings idrOnly
29435
+ * @property {boolean|null} [spatialAq] EncoderSettings spatialAq
29436
+ * @property {sesame.v1.outputs.EncoderMultipass|null} [multipass] EncoderSettings multipass
29437
+ * @property {number|null} [lookaheadDepth] EncoderSettings lookaheadDepth
29438
+ * @property {boolean|null} [zeroReorderDelay] EncoderSettings zeroReorderDelay
29439
+ * @property {number|null} [bitDepth] EncoderSettings bitDepth
29440
+ * @property {sesame.v1.outputs.EncoderChromaFormat|null} [chromaFormat] EncoderSettings chromaFormat
29441
+ * @property {boolean|null} [outputAud] EncoderSettings outputAud
29442
+ * @property {string|null} [level] EncoderSettings level
29443
+ */
29444
+
29445
+ /**
29446
+ * Constructs a new EncoderSettings.
29447
+ * @memberof sesame.v1.outputs
29448
+ * @classdesc Represents an EncoderSettings.
29449
+ * @implements IEncoderSettings
29237
29450
  * @constructor
29238
- * @param {sesame.v1.outputs.IEncoderConfig=} [properties] Properties to set
29451
+ * @param {sesame.v1.outputs.IEncoderSettings=} [properties] Properties to set
29239
29452
  */
29240
- function EncoderConfig(properties) {
29453
+ function EncoderSettings(properties) {
29241
29454
  if (properties)
29242
29455
  for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)
29243
29456
  if (properties[keys[i]] != null)
@@ -29245,161 +29458,273 @@ export const sesame = $root.sesame = (() => {
29245
29458
  }
29246
29459
 
29247
29460
  /**
29248
- * EncoderConfig codec.
29249
- * @member {sesame.v1.common.CodecType} codec
29250
- * @memberof sesame.v1.outputs.EncoderConfig
29461
+ * EncoderSettings tuning.
29462
+ * @member {sesame.v1.outputs.EncoderTuning} tuning
29463
+ * @memberof sesame.v1.outputs.EncoderSettings
29251
29464
  * @instance
29252
29465
  */
29253
- EncoderConfig.prototype.codec = 0;
29466
+ EncoderSettings.prototype.tuning = 0;
29254
29467
 
29255
29468
  /**
29256
- * EncoderConfig preset.
29257
- * @member {sesame.v1.outputs.EncoderPreset} preset
29258
- * @memberof sesame.v1.outputs.EncoderConfig
29469
+ * EncoderSettings effort.
29470
+ * @member {number} effort
29471
+ * @memberof sesame.v1.outputs.EncoderSettings
29259
29472
  * @instance
29260
29473
  */
29261
- EncoderConfig.prototype.preset = 0;
29474
+ EncoderSettings.prototype.effort = 0;
29262
29475
 
29263
29476
  /**
29264
- * EncoderConfig bitrateKbps.
29265
- * @member {number} bitrateKbps
29266
- * @memberof sesame.v1.outputs.EncoderConfig
29477
+ * EncoderSettings rateControl.
29478
+ * @member {sesame.v1.outputs.EncoderRateControl} rateControl
29479
+ * @memberof sesame.v1.outputs.EncoderSettings
29267
29480
  * @instance
29268
29481
  */
29269
- EncoderConfig.prototype.bitrateKbps = 0;
29482
+ EncoderSettings.prototype.rateControl = 0;
29270
29483
 
29271
29484
  /**
29272
- * EncoderConfig keyframeInterval.
29273
- * @member {number} keyframeInterval
29274
- * @memberof sesame.v1.outputs.EncoderConfig
29485
+ * EncoderSettings maxBitrateKbps.
29486
+ * @member {number} maxBitrateKbps
29487
+ * @memberof sesame.v1.outputs.EncoderSettings
29275
29488
  * @instance
29276
29489
  */
29277
- EncoderConfig.prototype.keyframeInterval = 0;
29490
+ EncoderSettings.prototype.maxBitrateKbps = 0;
29278
29491
 
29279
29492
  /**
29280
- * EncoderConfig width.
29281
- * @member {number} width
29282
- * @memberof sesame.v1.outputs.EncoderConfig
29493
+ * EncoderSettings profile.
29494
+ * @member {sesame.v1.outputs.EncoderProfile} profile
29495
+ * @memberof sesame.v1.outputs.EncoderSettings
29283
29496
  * @instance
29284
29497
  */
29285
- EncoderConfig.prototype.width = 0;
29498
+ EncoderSettings.prototype.profile = 0;
29286
29499
 
29287
29500
  /**
29288
- * EncoderConfig height.
29289
- * @member {number} height
29290
- * @memberof sesame.v1.outputs.EncoderConfig
29501
+ * EncoderSettings bframes.
29502
+ * @member {number} bframes
29503
+ * @memberof sesame.v1.outputs.EncoderSettings
29291
29504
  * @instance
29292
29505
  */
29293
- EncoderConfig.prototype.height = 0;
29506
+ EncoderSettings.prototype.bframes = 0;
29294
29507
 
29295
29508
  /**
29296
- * EncoderConfig fps.
29297
- * @member {number} fps
29298
- * @memberof sesame.v1.outputs.EncoderConfig
29509
+ * EncoderSettings idrOnly.
29510
+ * @member {boolean} idrOnly
29511
+ * @memberof sesame.v1.outputs.EncoderSettings
29299
29512
  * @instance
29300
29513
  */
29301
- EncoderConfig.prototype.fps = 0;
29514
+ EncoderSettings.prototype.idrOnly = false;
29302
29515
 
29303
29516
  /**
29304
- * Creates a new EncoderConfig instance using the specified properties.
29517
+ * EncoderSettings spatialAq.
29518
+ * @member {boolean} spatialAq
29519
+ * @memberof sesame.v1.outputs.EncoderSettings
29520
+ * @instance
29521
+ */
29522
+ EncoderSettings.prototype.spatialAq = false;
29523
+
29524
+ /**
29525
+ * EncoderSettings multipass.
29526
+ * @member {sesame.v1.outputs.EncoderMultipass} multipass
29527
+ * @memberof sesame.v1.outputs.EncoderSettings
29528
+ * @instance
29529
+ */
29530
+ EncoderSettings.prototype.multipass = 0;
29531
+
29532
+ /**
29533
+ * EncoderSettings lookaheadDepth.
29534
+ * @member {number} lookaheadDepth
29535
+ * @memberof sesame.v1.outputs.EncoderSettings
29536
+ * @instance
29537
+ */
29538
+ EncoderSettings.prototype.lookaheadDepth = 0;
29539
+
29540
+ /**
29541
+ * EncoderSettings zeroReorderDelay.
29542
+ * @member {boolean} zeroReorderDelay
29543
+ * @memberof sesame.v1.outputs.EncoderSettings
29544
+ * @instance
29545
+ */
29546
+ EncoderSettings.prototype.zeroReorderDelay = false;
29547
+
29548
+ /**
29549
+ * EncoderSettings bitDepth.
29550
+ * @member {number} bitDepth
29551
+ * @memberof sesame.v1.outputs.EncoderSettings
29552
+ * @instance
29553
+ */
29554
+ EncoderSettings.prototype.bitDepth = 0;
29555
+
29556
+ /**
29557
+ * EncoderSettings chromaFormat.
29558
+ * @member {sesame.v1.outputs.EncoderChromaFormat} chromaFormat
29559
+ * @memberof sesame.v1.outputs.EncoderSettings
29560
+ * @instance
29561
+ */
29562
+ EncoderSettings.prototype.chromaFormat = 0;
29563
+
29564
+ /**
29565
+ * EncoderSettings outputAud.
29566
+ * @member {boolean} outputAud
29567
+ * @memberof sesame.v1.outputs.EncoderSettings
29568
+ * @instance
29569
+ */
29570
+ EncoderSettings.prototype.outputAud = false;
29571
+
29572
+ /**
29573
+ * EncoderSettings level.
29574
+ * @member {string} level
29575
+ * @memberof sesame.v1.outputs.EncoderSettings
29576
+ * @instance
29577
+ */
29578
+ EncoderSettings.prototype.level = "";
29579
+
29580
+ /**
29581
+ * Creates a new EncoderSettings instance using the specified properties.
29305
29582
  * @function create
29306
- * @memberof sesame.v1.outputs.EncoderConfig
29583
+ * @memberof sesame.v1.outputs.EncoderSettings
29307
29584
  * @static
29308
- * @param {sesame.v1.outputs.IEncoderConfig=} [properties] Properties to set
29309
- * @returns {sesame.v1.outputs.EncoderConfig} EncoderConfig instance
29585
+ * @param {sesame.v1.outputs.IEncoderSettings=} [properties] Properties to set
29586
+ * @returns {sesame.v1.outputs.EncoderSettings} EncoderSettings instance
29310
29587
  */
29311
- EncoderConfig.create = function create(properties) {
29312
- return new EncoderConfig(properties);
29588
+ EncoderSettings.create = function create(properties) {
29589
+ return new EncoderSettings(properties);
29313
29590
  };
29314
29591
 
29315
29592
  /**
29316
- * Encodes the specified EncoderConfig message. Does not implicitly {@link sesame.v1.outputs.EncoderConfig.verify|verify} messages.
29593
+ * Encodes the specified EncoderSettings message. Does not implicitly {@link sesame.v1.outputs.EncoderSettings.verify|verify} messages.
29317
29594
  * @function encode
29318
- * @memberof sesame.v1.outputs.EncoderConfig
29595
+ * @memberof sesame.v1.outputs.EncoderSettings
29319
29596
  * @static
29320
- * @param {sesame.v1.outputs.IEncoderConfig} message EncoderConfig message or plain object to encode
29597
+ * @param {sesame.v1.outputs.IEncoderSettings} message EncoderSettings message or plain object to encode
29321
29598
  * @param {$protobuf.Writer} [writer] Writer to encode to
29322
29599
  * @returns {$protobuf.Writer} Writer
29323
29600
  */
29324
- EncoderConfig.encode = function encode(message, writer) {
29601
+ EncoderSettings.encode = function encode(message, writer) {
29325
29602
  if (!writer)
29326
29603
  writer = $Writer.create();
29327
- if (message.codec != null && Object.hasOwnProperty.call(message, "codec"))
29328
- writer.uint32(/* id 1, wireType 0 =*/8).int32(message.codec);
29329
- if (message.preset != null && Object.hasOwnProperty.call(message, "preset"))
29330
- writer.uint32(/* id 2, wireType 0 =*/16).int32(message.preset);
29331
- if (message.bitrateKbps != null && Object.hasOwnProperty.call(message, "bitrateKbps"))
29332
- writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.bitrateKbps);
29333
- if (message.keyframeInterval != null && Object.hasOwnProperty.call(message, "keyframeInterval"))
29334
- writer.uint32(/* id 4, wireType 0 =*/32).uint32(message.keyframeInterval);
29335
- if (message.width != null && Object.hasOwnProperty.call(message, "width"))
29336
- writer.uint32(/* id 5, wireType 0 =*/40).uint32(message.width);
29337
- if (message.height != null && Object.hasOwnProperty.call(message, "height"))
29338
- writer.uint32(/* id 6, wireType 0 =*/48).uint32(message.height);
29339
- if (message.fps != null && Object.hasOwnProperty.call(message, "fps"))
29340
- writer.uint32(/* id 7, wireType 5 =*/61).float(message.fps);
29604
+ if (message.tuning != null && Object.hasOwnProperty.call(message, "tuning"))
29605
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.tuning);
29606
+ if (message.effort != null && Object.hasOwnProperty.call(message, "effort"))
29607
+ writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.effort);
29608
+ if (message.rateControl != null && Object.hasOwnProperty.call(message, "rateControl"))
29609
+ writer.uint32(/* id 3, wireType 0 =*/24).int32(message.rateControl);
29610
+ if (message.maxBitrateKbps != null && Object.hasOwnProperty.call(message, "maxBitrateKbps"))
29611
+ writer.uint32(/* id 4, wireType 0 =*/32).uint32(message.maxBitrateKbps);
29612
+ if (message.profile != null && Object.hasOwnProperty.call(message, "profile"))
29613
+ writer.uint32(/* id 5, wireType 0 =*/40).int32(message.profile);
29614
+ if (message.bframes != null && Object.hasOwnProperty.call(message, "bframes"))
29615
+ writer.uint32(/* id 6, wireType 0 =*/48).uint32(message.bframes);
29616
+ if (message.idrOnly != null && Object.hasOwnProperty.call(message, "idrOnly"))
29617
+ writer.uint32(/* id 7, wireType 0 =*/56).bool(message.idrOnly);
29618
+ if (message.spatialAq != null && Object.hasOwnProperty.call(message, "spatialAq"))
29619
+ writer.uint32(/* id 8, wireType 0 =*/64).bool(message.spatialAq);
29620
+ if (message.multipass != null && Object.hasOwnProperty.call(message, "multipass"))
29621
+ writer.uint32(/* id 9, wireType 0 =*/72).int32(message.multipass);
29622
+ if (message.lookaheadDepth != null && Object.hasOwnProperty.call(message, "lookaheadDepth"))
29623
+ writer.uint32(/* id 10, wireType 0 =*/80).uint32(message.lookaheadDepth);
29624
+ if (message.zeroReorderDelay != null && Object.hasOwnProperty.call(message, "zeroReorderDelay"))
29625
+ writer.uint32(/* id 11, wireType 0 =*/88).bool(message.zeroReorderDelay);
29626
+ if (message.bitDepth != null && Object.hasOwnProperty.call(message, "bitDepth"))
29627
+ writer.uint32(/* id 12, wireType 0 =*/96).uint32(message.bitDepth);
29628
+ if (message.chromaFormat != null && Object.hasOwnProperty.call(message, "chromaFormat"))
29629
+ writer.uint32(/* id 13, wireType 0 =*/104).int32(message.chromaFormat);
29630
+ if (message.outputAud != null && Object.hasOwnProperty.call(message, "outputAud"))
29631
+ writer.uint32(/* id 14, wireType 0 =*/112).bool(message.outputAud);
29632
+ if (message.level != null && Object.hasOwnProperty.call(message, "level"))
29633
+ writer.uint32(/* id 15, wireType 2 =*/122).string(message.level);
29341
29634
  return writer;
29342
29635
  };
29343
29636
 
29344
29637
  /**
29345
- * Encodes the specified EncoderConfig message, length delimited. Does not implicitly {@link sesame.v1.outputs.EncoderConfig.verify|verify} messages.
29638
+ * Encodes the specified EncoderSettings message, length delimited. Does not implicitly {@link sesame.v1.outputs.EncoderSettings.verify|verify} messages.
29346
29639
  * @function encodeDelimited
29347
- * @memberof sesame.v1.outputs.EncoderConfig
29640
+ * @memberof sesame.v1.outputs.EncoderSettings
29348
29641
  * @static
29349
- * @param {sesame.v1.outputs.IEncoderConfig} message EncoderConfig message or plain object to encode
29642
+ * @param {sesame.v1.outputs.IEncoderSettings} message EncoderSettings message or plain object to encode
29350
29643
  * @param {$protobuf.Writer} [writer] Writer to encode to
29351
29644
  * @returns {$protobuf.Writer} Writer
29352
29645
  */
29353
- EncoderConfig.encodeDelimited = function encodeDelimited(message, writer) {
29646
+ EncoderSettings.encodeDelimited = function encodeDelimited(message, writer) {
29354
29647
  return this.encode(message, writer).ldelim();
29355
29648
  };
29356
29649
 
29357
29650
  /**
29358
- * Decodes an EncoderConfig message from the specified reader or buffer.
29651
+ * Decodes an EncoderSettings message from the specified reader or buffer.
29359
29652
  * @function decode
29360
- * @memberof sesame.v1.outputs.EncoderConfig
29653
+ * @memberof sesame.v1.outputs.EncoderSettings
29361
29654
  * @static
29362
29655
  * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
29363
29656
  * @param {number} [length] Message length if known beforehand
29364
- * @returns {sesame.v1.outputs.EncoderConfig} EncoderConfig
29657
+ * @returns {sesame.v1.outputs.EncoderSettings} EncoderSettings
29365
29658
  * @throws {Error} If the payload is not a reader or valid buffer
29366
29659
  * @throws {$protobuf.util.ProtocolError} If required fields are missing
29367
29660
  */
29368
- EncoderConfig.decode = function decode(reader, length, error) {
29661
+ EncoderSettings.decode = function decode(reader, length, error) {
29369
29662
  if (!(reader instanceof $Reader))
29370
29663
  reader = $Reader.create(reader);
29371
- let end = length === undefined ? reader.len : reader.pos + length, message = new $root.sesame.v1.outputs.EncoderConfig();
29664
+ let end = length === undefined ? reader.len : reader.pos + length, message = new $root.sesame.v1.outputs.EncoderSettings();
29372
29665
  while (reader.pos < end) {
29373
29666
  let tag = reader.uint32();
29374
29667
  if (tag === error)
29375
29668
  break;
29376
29669
  switch (tag >>> 3) {
29377
29670
  case 1: {
29378
- message.codec = reader.int32();
29671
+ message.tuning = reader.int32();
29379
29672
  break;
29380
29673
  }
29381
29674
  case 2: {
29382
- message.preset = reader.int32();
29675
+ message.effort = reader.uint32();
29383
29676
  break;
29384
29677
  }
29385
29678
  case 3: {
29386
- message.bitrateKbps = reader.uint32();
29679
+ message.rateControl = reader.int32();
29387
29680
  break;
29388
29681
  }
29389
29682
  case 4: {
29390
- message.keyframeInterval = reader.uint32();
29683
+ message.maxBitrateKbps = reader.uint32();
29391
29684
  break;
29392
29685
  }
29393
29686
  case 5: {
29394
- message.width = reader.uint32();
29687
+ message.profile = reader.int32();
29395
29688
  break;
29396
29689
  }
29397
29690
  case 6: {
29398
- message.height = reader.uint32();
29691
+ message.bframes = reader.uint32();
29399
29692
  break;
29400
29693
  }
29401
29694
  case 7: {
29402
- message.fps = reader.float();
29695
+ message.idrOnly = reader.bool();
29696
+ break;
29697
+ }
29698
+ case 8: {
29699
+ message.spatialAq = reader.bool();
29700
+ break;
29701
+ }
29702
+ case 9: {
29703
+ message.multipass = reader.int32();
29704
+ break;
29705
+ }
29706
+ case 10: {
29707
+ message.lookaheadDepth = reader.uint32();
29708
+ break;
29709
+ }
29710
+ case 11: {
29711
+ message.zeroReorderDelay = reader.bool();
29712
+ break;
29713
+ }
29714
+ case 12: {
29715
+ message.bitDepth = reader.uint32();
29716
+ break;
29717
+ }
29718
+ case 13: {
29719
+ message.chromaFormat = reader.int32();
29720
+ break;
29721
+ }
29722
+ case 14: {
29723
+ message.outputAud = reader.bool();
29724
+ break;
29725
+ }
29726
+ case 15: {
29727
+ message.level = reader.string();
29403
29728
  break;
29404
29729
  }
29405
29730
  default:
@@ -29411,58 +29736,648 @@ export const sesame = $root.sesame = (() => {
29411
29736
  };
29412
29737
 
29413
29738
  /**
29414
- * Decodes an EncoderConfig message from the specified reader or buffer, length delimited.
29739
+ * Decodes an EncoderSettings message from the specified reader or buffer, length delimited.
29415
29740
  * @function decodeDelimited
29416
- * @memberof sesame.v1.outputs.EncoderConfig
29741
+ * @memberof sesame.v1.outputs.EncoderSettings
29417
29742
  * @static
29418
29743
  * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
29419
- * @returns {sesame.v1.outputs.EncoderConfig} EncoderConfig
29744
+ * @returns {sesame.v1.outputs.EncoderSettings} EncoderSettings
29420
29745
  * @throws {Error} If the payload is not a reader or valid buffer
29421
29746
  * @throws {$protobuf.util.ProtocolError} If required fields are missing
29422
29747
  */
29423
- EncoderConfig.decodeDelimited = function decodeDelimited(reader) {
29748
+ EncoderSettings.decodeDelimited = function decodeDelimited(reader) {
29424
29749
  if (!(reader instanceof $Reader))
29425
29750
  reader = new $Reader(reader);
29426
29751
  return this.decode(reader, reader.uint32());
29427
29752
  };
29428
29753
 
29429
29754
  /**
29430
- * Verifies an EncoderConfig message.
29755
+ * Verifies an EncoderSettings message.
29431
29756
  * @function verify
29432
- * @memberof sesame.v1.outputs.EncoderConfig
29757
+ * @memberof sesame.v1.outputs.EncoderSettings
29433
29758
  * @static
29434
29759
  * @param {Object.<string,*>} message Plain object to verify
29435
29760
  * @returns {string|null} `null` if valid, otherwise the reason why it is not
29436
29761
  */
29437
- EncoderConfig.verify = function verify(message) {
29762
+ EncoderSettings.verify = function verify(message) {
29438
29763
  if (typeof message !== "object" || message === null)
29439
29764
  return "object expected";
29440
- if (message.codec != null && message.hasOwnProperty("codec"))
29441
- switch (message.codec) {
29765
+ if (message.tuning != null && message.hasOwnProperty("tuning"))
29766
+ switch (message.tuning) {
29442
29767
  default:
29443
- return "codec: enum value expected";
29768
+ return "tuning: enum value expected";
29444
29769
  case 0:
29445
29770
  case 1:
29446
29771
  case 2:
29447
29772
  case 3:
29448
- case 4:
29449
- case 5:
29450
- case 6:
29451
- case 7:
29452
- case 64:
29453
- case 65:
29454
- case 66:
29455
- case 67:
29456
29773
  break;
29457
29774
  }
29458
- if (message.preset != null && message.hasOwnProperty("preset"))
29459
- switch (message.preset) {
29775
+ if (message.effort != null && message.hasOwnProperty("effort"))
29776
+ if (!$util.isInteger(message.effort))
29777
+ return "effort: integer expected";
29778
+ if (message.rateControl != null && message.hasOwnProperty("rateControl"))
29779
+ switch (message.rateControl) {
29780
+ default:
29781
+ return "rateControl: enum value expected";
29782
+ case 0:
29783
+ case 1:
29784
+ case 2:
29785
+ break;
29786
+ }
29787
+ if (message.maxBitrateKbps != null && message.hasOwnProperty("maxBitrateKbps"))
29788
+ if (!$util.isInteger(message.maxBitrateKbps))
29789
+ return "maxBitrateKbps: integer expected";
29790
+ if (message.profile != null && message.hasOwnProperty("profile"))
29791
+ switch (message.profile) {
29792
+ default:
29793
+ return "profile: enum value expected";
29794
+ case 0:
29795
+ case 1:
29796
+ case 2:
29797
+ case 3:
29798
+ case 4:
29799
+ break;
29800
+ }
29801
+ if (message.bframes != null && message.hasOwnProperty("bframes"))
29802
+ if (!$util.isInteger(message.bframes))
29803
+ return "bframes: integer expected";
29804
+ if (message.idrOnly != null && message.hasOwnProperty("idrOnly"))
29805
+ if (typeof message.idrOnly !== "boolean")
29806
+ return "idrOnly: boolean expected";
29807
+ if (message.spatialAq != null && message.hasOwnProperty("spatialAq"))
29808
+ if (typeof message.spatialAq !== "boolean")
29809
+ return "spatialAq: boolean expected";
29810
+ if (message.multipass != null && message.hasOwnProperty("multipass"))
29811
+ switch (message.multipass) {
29812
+ default:
29813
+ return "multipass: enum value expected";
29814
+ case 0:
29815
+ case 1:
29816
+ case 2:
29817
+ break;
29818
+ }
29819
+ if (message.lookaheadDepth != null && message.hasOwnProperty("lookaheadDepth"))
29820
+ if (!$util.isInteger(message.lookaheadDepth))
29821
+ return "lookaheadDepth: integer expected";
29822
+ if (message.zeroReorderDelay != null && message.hasOwnProperty("zeroReorderDelay"))
29823
+ if (typeof message.zeroReorderDelay !== "boolean")
29824
+ return "zeroReorderDelay: boolean expected";
29825
+ if (message.bitDepth != null && message.hasOwnProperty("bitDepth"))
29826
+ if (!$util.isInteger(message.bitDepth))
29827
+ return "bitDepth: integer expected";
29828
+ if (message.chromaFormat != null && message.hasOwnProperty("chromaFormat"))
29829
+ switch (message.chromaFormat) {
29830
+ default:
29831
+ return "chromaFormat: enum value expected";
29832
+ case 0:
29833
+ case 1:
29834
+ break;
29835
+ }
29836
+ if (message.outputAud != null && message.hasOwnProperty("outputAud"))
29837
+ if (typeof message.outputAud !== "boolean")
29838
+ return "outputAud: boolean expected";
29839
+ if (message.level != null && message.hasOwnProperty("level"))
29840
+ if (!$util.isString(message.level))
29841
+ return "level: string expected";
29842
+ return null;
29843
+ };
29844
+
29845
+ /**
29846
+ * Creates an EncoderSettings message from a plain object. Also converts values to their respective internal types.
29847
+ * @function fromObject
29848
+ * @memberof sesame.v1.outputs.EncoderSettings
29849
+ * @static
29850
+ * @param {Object.<string,*>} object Plain object
29851
+ * @returns {sesame.v1.outputs.EncoderSettings} EncoderSettings
29852
+ */
29853
+ EncoderSettings.fromObject = function fromObject(object) {
29854
+ if (object instanceof $root.sesame.v1.outputs.EncoderSettings)
29855
+ return object;
29856
+ let message = new $root.sesame.v1.outputs.EncoderSettings();
29857
+ switch (object.tuning) {
29858
+ default:
29859
+ if (typeof object.tuning === "number") {
29860
+ message.tuning = object.tuning;
29861
+ break;
29862
+ }
29863
+ break;
29864
+ case "ENCODER_TUNING_UNSPECIFIED":
29865
+ case 0:
29866
+ message.tuning = 0;
29867
+ break;
29868
+ case "ENCODER_TUNING_ULTRA_LOW_LATENCY":
29869
+ case 1:
29870
+ message.tuning = 1;
29871
+ break;
29872
+ case "ENCODER_TUNING_LOW_LATENCY":
29873
+ case 2:
29874
+ message.tuning = 2;
29875
+ break;
29876
+ case "ENCODER_TUNING_HIGH_QUALITY":
29877
+ case 3:
29878
+ message.tuning = 3;
29879
+ break;
29880
+ }
29881
+ if (object.effort != null)
29882
+ message.effort = object.effort >>> 0;
29883
+ switch (object.rateControl) {
29884
+ default:
29885
+ if (typeof object.rateControl === "number") {
29886
+ message.rateControl = object.rateControl;
29887
+ break;
29888
+ }
29889
+ break;
29890
+ case "ENCODER_RATE_CONTROL_UNSPECIFIED":
29891
+ case 0:
29892
+ message.rateControl = 0;
29893
+ break;
29894
+ case "ENCODER_RATE_CONTROL_CBR":
29895
+ case 1:
29896
+ message.rateControl = 1;
29897
+ break;
29898
+ case "ENCODER_RATE_CONTROL_VBR":
29899
+ case 2:
29900
+ message.rateControl = 2;
29901
+ break;
29902
+ }
29903
+ if (object.maxBitrateKbps != null)
29904
+ message.maxBitrateKbps = object.maxBitrateKbps >>> 0;
29905
+ switch (object.profile) {
29906
+ default:
29907
+ if (typeof object.profile === "number") {
29908
+ message.profile = object.profile;
29909
+ break;
29910
+ }
29911
+ break;
29912
+ case "ENCODER_PROFILE_AUTO":
29913
+ case 0:
29914
+ message.profile = 0;
29915
+ break;
29916
+ case "ENCODER_PROFILE_BASELINE":
29917
+ case 1:
29918
+ message.profile = 1;
29919
+ break;
29920
+ case "ENCODER_PROFILE_MAIN":
29921
+ case 2:
29922
+ message.profile = 2;
29923
+ break;
29924
+ case "ENCODER_PROFILE_MAIN10":
29925
+ case 3:
29926
+ message.profile = 3;
29927
+ break;
29928
+ case "ENCODER_PROFILE_HIGH":
29929
+ case 4:
29930
+ message.profile = 4;
29931
+ break;
29932
+ }
29933
+ if (object.bframes != null)
29934
+ message.bframes = object.bframes >>> 0;
29935
+ if (object.idrOnly != null)
29936
+ message.idrOnly = Boolean(object.idrOnly);
29937
+ if (object.spatialAq != null)
29938
+ message.spatialAq = Boolean(object.spatialAq);
29939
+ switch (object.multipass) {
29940
+ default:
29941
+ if (typeof object.multipass === "number") {
29942
+ message.multipass = object.multipass;
29943
+ break;
29944
+ }
29945
+ break;
29946
+ case "ENCODER_MULTIPASS_DISABLED":
29947
+ case 0:
29948
+ message.multipass = 0;
29949
+ break;
29950
+ case "ENCODER_MULTIPASS_QUARTER_RESOLUTION":
29951
+ case 1:
29952
+ message.multipass = 1;
29953
+ break;
29954
+ case "ENCODER_MULTIPASS_FULL_RESOLUTION":
29955
+ case 2:
29956
+ message.multipass = 2;
29957
+ break;
29958
+ }
29959
+ if (object.lookaheadDepth != null)
29960
+ message.lookaheadDepth = object.lookaheadDepth >>> 0;
29961
+ if (object.zeroReorderDelay != null)
29962
+ message.zeroReorderDelay = Boolean(object.zeroReorderDelay);
29963
+ if (object.bitDepth != null)
29964
+ message.bitDepth = object.bitDepth >>> 0;
29965
+ switch (object.chromaFormat) {
29966
+ default:
29967
+ if (typeof object.chromaFormat === "number") {
29968
+ message.chromaFormat = object.chromaFormat;
29969
+ break;
29970
+ }
29971
+ break;
29972
+ case "ENCODER_CHROMA_FORMAT_420":
29973
+ case 0:
29974
+ message.chromaFormat = 0;
29975
+ break;
29976
+ case "ENCODER_CHROMA_FORMAT_444":
29977
+ case 1:
29978
+ message.chromaFormat = 1;
29979
+ break;
29980
+ }
29981
+ if (object.outputAud != null)
29982
+ message.outputAud = Boolean(object.outputAud);
29983
+ if (object.level != null)
29984
+ message.level = String(object.level);
29985
+ return message;
29986
+ };
29987
+
29988
+ /**
29989
+ * Creates a plain object from an EncoderSettings message. Also converts values to other types if specified.
29990
+ * @function toObject
29991
+ * @memberof sesame.v1.outputs.EncoderSettings
29992
+ * @static
29993
+ * @param {sesame.v1.outputs.EncoderSettings} message EncoderSettings
29994
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
29995
+ * @returns {Object.<string,*>} Plain object
29996
+ */
29997
+ EncoderSettings.toObject = function toObject(message, options) {
29998
+ if (!options)
29999
+ options = {};
30000
+ let object = {};
30001
+ if (options.defaults) {
30002
+ object.tuning = options.enums === String ? "ENCODER_TUNING_UNSPECIFIED" : 0;
30003
+ object.effort = 0;
30004
+ object.rateControl = options.enums === String ? "ENCODER_RATE_CONTROL_UNSPECIFIED" : 0;
30005
+ object.maxBitrateKbps = 0;
30006
+ object.profile = options.enums === String ? "ENCODER_PROFILE_AUTO" : 0;
30007
+ object.bframes = 0;
30008
+ object.idrOnly = false;
30009
+ object.spatialAq = false;
30010
+ object.multipass = options.enums === String ? "ENCODER_MULTIPASS_DISABLED" : 0;
30011
+ object.lookaheadDepth = 0;
30012
+ object.zeroReorderDelay = false;
30013
+ object.bitDepth = 0;
30014
+ object.chromaFormat = options.enums === String ? "ENCODER_CHROMA_FORMAT_420" : 0;
30015
+ object.outputAud = false;
30016
+ object.level = "";
30017
+ }
30018
+ if (message.tuning != null && message.hasOwnProperty("tuning"))
30019
+ object.tuning = options.enums === String ? $root.sesame.v1.outputs.EncoderTuning[message.tuning] === undefined ? message.tuning : $root.sesame.v1.outputs.EncoderTuning[message.tuning] : message.tuning;
30020
+ if (message.effort != null && message.hasOwnProperty("effort"))
30021
+ object.effort = message.effort;
30022
+ if (message.rateControl != null && message.hasOwnProperty("rateControl"))
30023
+ object.rateControl = options.enums === String ? $root.sesame.v1.outputs.EncoderRateControl[message.rateControl] === undefined ? message.rateControl : $root.sesame.v1.outputs.EncoderRateControl[message.rateControl] : message.rateControl;
30024
+ if (message.maxBitrateKbps != null && message.hasOwnProperty("maxBitrateKbps"))
30025
+ object.maxBitrateKbps = message.maxBitrateKbps;
30026
+ if (message.profile != null && message.hasOwnProperty("profile"))
30027
+ object.profile = options.enums === String ? $root.sesame.v1.outputs.EncoderProfile[message.profile] === undefined ? message.profile : $root.sesame.v1.outputs.EncoderProfile[message.profile] : message.profile;
30028
+ if (message.bframes != null && message.hasOwnProperty("bframes"))
30029
+ object.bframes = message.bframes;
30030
+ if (message.idrOnly != null && message.hasOwnProperty("idrOnly"))
30031
+ object.idrOnly = message.idrOnly;
30032
+ if (message.spatialAq != null && message.hasOwnProperty("spatialAq"))
30033
+ object.spatialAq = message.spatialAq;
30034
+ if (message.multipass != null && message.hasOwnProperty("multipass"))
30035
+ object.multipass = options.enums === String ? $root.sesame.v1.outputs.EncoderMultipass[message.multipass] === undefined ? message.multipass : $root.sesame.v1.outputs.EncoderMultipass[message.multipass] : message.multipass;
30036
+ if (message.lookaheadDepth != null && message.hasOwnProperty("lookaheadDepth"))
30037
+ object.lookaheadDepth = message.lookaheadDepth;
30038
+ if (message.zeroReorderDelay != null && message.hasOwnProperty("zeroReorderDelay"))
30039
+ object.zeroReorderDelay = message.zeroReorderDelay;
30040
+ if (message.bitDepth != null && message.hasOwnProperty("bitDepth"))
30041
+ object.bitDepth = message.bitDepth;
30042
+ if (message.chromaFormat != null && message.hasOwnProperty("chromaFormat"))
30043
+ object.chromaFormat = options.enums === String ? $root.sesame.v1.outputs.EncoderChromaFormat[message.chromaFormat] === undefined ? message.chromaFormat : $root.sesame.v1.outputs.EncoderChromaFormat[message.chromaFormat] : message.chromaFormat;
30044
+ if (message.outputAud != null && message.hasOwnProperty("outputAud"))
30045
+ object.outputAud = message.outputAud;
30046
+ if (message.level != null && message.hasOwnProperty("level"))
30047
+ object.level = message.level;
30048
+ return object;
30049
+ };
30050
+
30051
+ /**
30052
+ * Converts this EncoderSettings to JSON.
30053
+ * @function toJSON
30054
+ * @memberof sesame.v1.outputs.EncoderSettings
30055
+ * @instance
30056
+ * @returns {Object.<string,*>} JSON object
30057
+ */
30058
+ EncoderSettings.prototype.toJSON = function toJSON() {
30059
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
30060
+ };
30061
+
30062
+ /**
30063
+ * Gets the default type url for EncoderSettings
30064
+ * @function getTypeUrl
30065
+ * @memberof sesame.v1.outputs.EncoderSettings
30066
+ * @static
30067
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
30068
+ * @returns {string} The default type url
30069
+ */
30070
+ EncoderSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
30071
+ if (typeUrlPrefix === undefined) {
30072
+ typeUrlPrefix = "type.googleapis.com";
30073
+ }
30074
+ return typeUrlPrefix + "/sesame.v1.outputs.EncoderSettings";
30075
+ };
30076
+
30077
+ return EncoderSettings;
30078
+ })();
30079
+
30080
+ /**
30081
+ * RecorderType enum.
30082
+ * @name sesame.v1.outputs.RecorderType
30083
+ * @enum {number}
30084
+ * @property {number} RECORDER_TYPE_UNSPECIFIED=0 RECORDER_TYPE_UNSPECIFIED value
30085
+ * @property {number} RECORDER_TYPE_LIVE=1 RECORDER_TYPE_LIVE value
30086
+ * @property {number} RECORDER_TYPE_CLIPS=2 RECORDER_TYPE_CLIPS value
30087
+ */
30088
+ outputs.RecorderType = (function() {
30089
+ const valuesById = {}, values = Object.create(valuesById);
30090
+ values[valuesById[0] = "RECORDER_TYPE_UNSPECIFIED"] = 0;
30091
+ values[valuesById[1] = "RECORDER_TYPE_LIVE"] = 1;
30092
+ values[valuesById[2] = "RECORDER_TYPE_CLIPS"] = 2;
30093
+ return values;
30094
+ })();
30095
+
30096
+ /**
30097
+ * TimecodeMode enum.
30098
+ * @name sesame.v1.outputs.TimecodeMode
30099
+ * @enum {number}
30100
+ * @property {number} TIMECODE_MODE_UNSPECIFIED=0 TIMECODE_MODE_UNSPECIFIED value
30101
+ * @property {number} TIMECODE_MODE_WALLCLOCK=1 TIMECODE_MODE_WALLCLOCK value
30102
+ * @property {number} TIMECODE_MODE_SOURCE=2 TIMECODE_MODE_SOURCE value
30103
+ */
30104
+ outputs.TimecodeMode = (function() {
30105
+ const valuesById = {}, values = Object.create(valuesById);
30106
+ values[valuesById[0] = "TIMECODE_MODE_UNSPECIFIED"] = 0;
30107
+ values[valuesById[1] = "TIMECODE_MODE_WALLCLOCK"] = 1;
30108
+ values[valuesById[2] = "TIMECODE_MODE_SOURCE"] = 2;
30109
+ return values;
30110
+ })();
30111
+
30112
+ outputs.EncoderConfig = (function() {
30113
+
30114
+ /**
30115
+ * Properties of an EncoderConfig.
30116
+ * @memberof sesame.v1.outputs
30117
+ * @interface IEncoderConfig
30118
+ * @property {sesame.v1.common.CodecType|null} [codec] EncoderConfig codec
30119
+ * @property {number|null} [bitrateKbps] EncoderConfig bitrateKbps
30120
+ * @property {number|null} [keyframeInterval] EncoderConfig keyframeInterval
30121
+ * @property {number|null} [width] EncoderConfig width
30122
+ * @property {number|null} [height] EncoderConfig height
30123
+ * @property {number|null} [fps] EncoderConfig fps
30124
+ * @property {sesame.v1.outputs.TimecodeMode|null} [timecodeMode] EncoderConfig timecodeMode
30125
+ * @property {string|null} [timecodeSourceId] EncoderConfig timecodeSourceId
30126
+ * @property {sesame.v1.outputs.IEncoderSettings|null} [settings] EncoderConfig settings
30127
+ */
30128
+
30129
+ /**
30130
+ * Constructs a new EncoderConfig.
30131
+ * @memberof sesame.v1.outputs
30132
+ * @classdesc Represents an EncoderConfig.
30133
+ * @implements IEncoderConfig
30134
+ * @constructor
30135
+ * @param {sesame.v1.outputs.IEncoderConfig=} [properties] Properties to set
30136
+ */
30137
+ function EncoderConfig(properties) {
30138
+ if (properties)
30139
+ for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)
30140
+ if (properties[keys[i]] != null)
30141
+ this[keys[i]] = properties[keys[i]];
30142
+ }
30143
+
30144
+ /**
30145
+ * EncoderConfig codec.
30146
+ * @member {sesame.v1.common.CodecType} codec
30147
+ * @memberof sesame.v1.outputs.EncoderConfig
30148
+ * @instance
30149
+ */
30150
+ EncoderConfig.prototype.codec = 0;
30151
+
30152
+ /**
30153
+ * EncoderConfig bitrateKbps.
30154
+ * @member {number} bitrateKbps
30155
+ * @memberof sesame.v1.outputs.EncoderConfig
30156
+ * @instance
30157
+ */
30158
+ EncoderConfig.prototype.bitrateKbps = 0;
30159
+
30160
+ /**
30161
+ * EncoderConfig keyframeInterval.
30162
+ * @member {number} keyframeInterval
30163
+ * @memberof sesame.v1.outputs.EncoderConfig
30164
+ * @instance
30165
+ */
30166
+ EncoderConfig.prototype.keyframeInterval = 0;
30167
+
30168
+ /**
30169
+ * EncoderConfig width.
30170
+ * @member {number} width
30171
+ * @memberof sesame.v1.outputs.EncoderConfig
30172
+ * @instance
30173
+ */
30174
+ EncoderConfig.prototype.width = 0;
30175
+
30176
+ /**
30177
+ * EncoderConfig height.
30178
+ * @member {number} height
30179
+ * @memberof sesame.v1.outputs.EncoderConfig
30180
+ * @instance
30181
+ */
30182
+ EncoderConfig.prototype.height = 0;
30183
+
30184
+ /**
30185
+ * EncoderConfig fps.
30186
+ * @member {number} fps
30187
+ * @memberof sesame.v1.outputs.EncoderConfig
30188
+ * @instance
30189
+ */
30190
+ EncoderConfig.prototype.fps = 0;
30191
+
30192
+ /**
30193
+ * EncoderConfig timecodeMode.
30194
+ * @member {sesame.v1.outputs.TimecodeMode} timecodeMode
30195
+ * @memberof sesame.v1.outputs.EncoderConfig
30196
+ * @instance
30197
+ */
30198
+ EncoderConfig.prototype.timecodeMode = 0;
30199
+
30200
+ /**
30201
+ * EncoderConfig timecodeSourceId.
30202
+ * @member {string} timecodeSourceId
30203
+ * @memberof sesame.v1.outputs.EncoderConfig
30204
+ * @instance
30205
+ */
30206
+ EncoderConfig.prototype.timecodeSourceId = "";
30207
+
30208
+ /**
30209
+ * EncoderConfig settings.
30210
+ * @member {sesame.v1.outputs.IEncoderSettings|null|undefined} settings
30211
+ * @memberof sesame.v1.outputs.EncoderConfig
30212
+ * @instance
30213
+ */
30214
+ EncoderConfig.prototype.settings = null;
30215
+
30216
+ /**
30217
+ * Creates a new EncoderConfig instance using the specified properties.
30218
+ * @function create
30219
+ * @memberof sesame.v1.outputs.EncoderConfig
30220
+ * @static
30221
+ * @param {sesame.v1.outputs.IEncoderConfig=} [properties] Properties to set
30222
+ * @returns {sesame.v1.outputs.EncoderConfig} EncoderConfig instance
30223
+ */
30224
+ EncoderConfig.create = function create(properties) {
30225
+ return new EncoderConfig(properties);
30226
+ };
30227
+
30228
+ /**
30229
+ * Encodes the specified EncoderConfig message. Does not implicitly {@link sesame.v1.outputs.EncoderConfig.verify|verify} messages.
30230
+ * @function encode
30231
+ * @memberof sesame.v1.outputs.EncoderConfig
30232
+ * @static
30233
+ * @param {sesame.v1.outputs.IEncoderConfig} message EncoderConfig message or plain object to encode
30234
+ * @param {$protobuf.Writer} [writer] Writer to encode to
30235
+ * @returns {$protobuf.Writer} Writer
30236
+ */
30237
+ EncoderConfig.encode = function encode(message, writer) {
30238
+ if (!writer)
30239
+ writer = $Writer.create();
30240
+ if (message.codec != null && Object.hasOwnProperty.call(message, "codec"))
30241
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.codec);
30242
+ if (message.bitrateKbps != null && Object.hasOwnProperty.call(message, "bitrateKbps"))
30243
+ writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.bitrateKbps);
30244
+ if (message.keyframeInterval != null && Object.hasOwnProperty.call(message, "keyframeInterval"))
30245
+ writer.uint32(/* id 4, wireType 0 =*/32).uint32(message.keyframeInterval);
30246
+ if (message.width != null && Object.hasOwnProperty.call(message, "width"))
30247
+ writer.uint32(/* id 5, wireType 0 =*/40).uint32(message.width);
30248
+ if (message.height != null && Object.hasOwnProperty.call(message, "height"))
30249
+ writer.uint32(/* id 6, wireType 0 =*/48).uint32(message.height);
30250
+ if (message.fps != null && Object.hasOwnProperty.call(message, "fps"))
30251
+ writer.uint32(/* id 7, wireType 5 =*/61).float(message.fps);
30252
+ if (message.timecodeMode != null && Object.hasOwnProperty.call(message, "timecodeMode"))
30253
+ writer.uint32(/* id 8, wireType 0 =*/64).int32(message.timecodeMode);
30254
+ if (message.timecodeSourceId != null && Object.hasOwnProperty.call(message, "timecodeSourceId"))
30255
+ writer.uint32(/* id 9, wireType 2 =*/74).string(message.timecodeSourceId);
30256
+ if (message.settings != null && Object.hasOwnProperty.call(message, "settings"))
30257
+ $root.sesame.v1.outputs.EncoderSettings.encode(message.settings, writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim();
30258
+ return writer;
30259
+ };
30260
+
30261
+ /**
30262
+ * Encodes the specified EncoderConfig message, length delimited. Does not implicitly {@link sesame.v1.outputs.EncoderConfig.verify|verify} messages.
30263
+ * @function encodeDelimited
30264
+ * @memberof sesame.v1.outputs.EncoderConfig
30265
+ * @static
30266
+ * @param {sesame.v1.outputs.IEncoderConfig} message EncoderConfig message or plain object to encode
30267
+ * @param {$protobuf.Writer} [writer] Writer to encode to
30268
+ * @returns {$protobuf.Writer} Writer
30269
+ */
30270
+ EncoderConfig.encodeDelimited = function encodeDelimited(message, writer) {
30271
+ return this.encode(message, writer).ldelim();
30272
+ };
30273
+
30274
+ /**
30275
+ * Decodes an EncoderConfig message from the specified reader or buffer.
30276
+ * @function decode
30277
+ * @memberof sesame.v1.outputs.EncoderConfig
30278
+ * @static
30279
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
30280
+ * @param {number} [length] Message length if known beforehand
30281
+ * @returns {sesame.v1.outputs.EncoderConfig} EncoderConfig
30282
+ * @throws {Error} If the payload is not a reader or valid buffer
30283
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
30284
+ */
30285
+ EncoderConfig.decode = function decode(reader, length, error) {
30286
+ if (!(reader instanceof $Reader))
30287
+ reader = $Reader.create(reader);
30288
+ let end = length === undefined ? reader.len : reader.pos + length, message = new $root.sesame.v1.outputs.EncoderConfig();
30289
+ while (reader.pos < end) {
30290
+ let tag = reader.uint32();
30291
+ if (tag === error)
30292
+ break;
30293
+ switch (tag >>> 3) {
30294
+ case 1: {
30295
+ message.codec = reader.int32();
30296
+ break;
30297
+ }
30298
+ case 3: {
30299
+ message.bitrateKbps = reader.uint32();
30300
+ break;
30301
+ }
30302
+ case 4: {
30303
+ message.keyframeInterval = reader.uint32();
30304
+ break;
30305
+ }
30306
+ case 5: {
30307
+ message.width = reader.uint32();
30308
+ break;
30309
+ }
30310
+ case 6: {
30311
+ message.height = reader.uint32();
30312
+ break;
30313
+ }
30314
+ case 7: {
30315
+ message.fps = reader.float();
30316
+ break;
30317
+ }
30318
+ case 8: {
30319
+ message.timecodeMode = reader.int32();
30320
+ break;
30321
+ }
30322
+ case 9: {
30323
+ message.timecodeSourceId = reader.string();
30324
+ break;
30325
+ }
30326
+ case 10: {
30327
+ message.settings = $root.sesame.v1.outputs.EncoderSettings.decode(reader, reader.uint32());
30328
+ break;
30329
+ }
30330
+ default:
30331
+ reader.skipType(tag & 7);
30332
+ break;
30333
+ }
30334
+ }
30335
+ return message;
30336
+ };
30337
+
30338
+ /**
30339
+ * Decodes an EncoderConfig message from the specified reader or buffer, length delimited.
30340
+ * @function decodeDelimited
30341
+ * @memberof sesame.v1.outputs.EncoderConfig
30342
+ * @static
30343
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
30344
+ * @returns {sesame.v1.outputs.EncoderConfig} EncoderConfig
30345
+ * @throws {Error} If the payload is not a reader or valid buffer
30346
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
30347
+ */
30348
+ EncoderConfig.decodeDelimited = function decodeDelimited(reader) {
30349
+ if (!(reader instanceof $Reader))
30350
+ reader = new $Reader(reader);
30351
+ return this.decode(reader, reader.uint32());
30352
+ };
30353
+
30354
+ /**
30355
+ * Verifies an EncoderConfig message.
30356
+ * @function verify
30357
+ * @memberof sesame.v1.outputs.EncoderConfig
30358
+ * @static
30359
+ * @param {Object.<string,*>} message Plain object to verify
30360
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
30361
+ */
30362
+ EncoderConfig.verify = function verify(message) {
30363
+ if (typeof message !== "object" || message === null)
30364
+ return "object expected";
30365
+ if (message.codec != null && message.hasOwnProperty("codec"))
30366
+ switch (message.codec) {
29460
30367
  default:
29461
- return "preset: enum value expected";
30368
+ return "codec: enum value expected";
29462
30369
  case 0:
29463
30370
  case 1:
29464
30371
  case 2:
29465
30372
  case 3:
30373
+ case 4:
30374
+ case 5:
30375
+ case 6:
30376
+ case 7:
30377
+ case 64:
30378
+ case 65:
30379
+ case 66:
30380
+ case 67:
29466
30381
  break;
29467
30382
  }
29468
30383
  if (message.bitrateKbps != null && message.hasOwnProperty("bitrateKbps"))
@@ -29480,6 +30395,23 @@ export const sesame = $root.sesame = (() => {
29480
30395
  if (message.fps != null && message.hasOwnProperty("fps"))
29481
30396
  if (typeof message.fps !== "number")
29482
30397
  return "fps: number expected";
30398
+ if (message.timecodeMode != null && message.hasOwnProperty("timecodeMode"))
30399
+ switch (message.timecodeMode) {
30400
+ default:
30401
+ return "timecodeMode: enum value expected";
30402
+ case 0:
30403
+ case 1:
30404
+ case 2:
30405
+ break;
30406
+ }
30407
+ if (message.timecodeSourceId != null && message.hasOwnProperty("timecodeSourceId"))
30408
+ if (!$util.isString(message.timecodeSourceId))
30409
+ return "timecodeSourceId: string expected";
30410
+ if (message.settings != null && message.hasOwnProperty("settings")) {
30411
+ let error = $root.sesame.v1.outputs.EncoderSettings.verify(message.settings);
30412
+ if (error)
30413
+ return "settings." + error;
30414
+ }
29483
30415
  return null;
29484
30416
  };
29485
30417
 
@@ -29551,40 +30483,43 @@ export const sesame = $root.sesame = (() => {
29551
30483
  message.codec = 67;
29552
30484
  break;
29553
30485
  }
29554
- switch (object.preset) {
30486
+ if (object.bitrateKbps != null)
30487
+ message.bitrateKbps = object.bitrateKbps >>> 0;
30488
+ if (object.keyframeInterval != null)
30489
+ message.keyframeInterval = object.keyframeInterval >>> 0;
30490
+ if (object.width != null)
30491
+ message.width = object.width >>> 0;
30492
+ if (object.height != null)
30493
+ message.height = object.height >>> 0;
30494
+ if (object.fps != null)
30495
+ message.fps = Number(object.fps);
30496
+ switch (object.timecodeMode) {
29555
30497
  default:
29556
- if (typeof object.preset === "number") {
29557
- message.preset = object.preset;
30498
+ if (typeof object.timecodeMode === "number") {
30499
+ message.timecodeMode = object.timecodeMode;
29558
30500
  break;
29559
30501
  }
29560
30502
  break;
29561
- case "ENCODER_PRESET_UNSPECIFIED":
30503
+ case "TIMECODE_MODE_UNSPECIFIED":
29562
30504
  case 0:
29563
- message.preset = 0;
30505
+ message.timecodeMode = 0;
29564
30506
  break;
29565
- case "ENCODER_PRESET_LOW_LATENCY":
30507
+ case "TIMECODE_MODE_WALLCLOCK":
29566
30508
  case 1:
29567
- message.preset = 1;
30509
+ message.timecodeMode = 1;
29568
30510
  break;
29569
- case "ENCODER_PRESET_LOW_LATENCY_IDR_ONLY":
30511
+ case "TIMECODE_MODE_SOURCE":
29570
30512
  case 2:
29571
- message.preset = 2;
29572
- break;
29573
- case "ENCODER_PRESET_HIGH_QUALITY":
29574
- case 3:
29575
- message.preset = 3;
30513
+ message.timecodeMode = 2;
29576
30514
  break;
29577
30515
  }
29578
- if (object.bitrateKbps != null)
29579
- message.bitrateKbps = object.bitrateKbps >>> 0;
29580
- if (object.keyframeInterval != null)
29581
- message.keyframeInterval = object.keyframeInterval >>> 0;
29582
- if (object.width != null)
29583
- message.width = object.width >>> 0;
29584
- if (object.height != null)
29585
- message.height = object.height >>> 0;
29586
- if (object.fps != null)
29587
- message.fps = Number(object.fps);
30516
+ if (object.timecodeSourceId != null)
30517
+ message.timecodeSourceId = String(object.timecodeSourceId);
30518
+ if (object.settings != null) {
30519
+ if (typeof object.settings !== "object")
30520
+ throw TypeError(".sesame.v1.outputs.EncoderConfig.settings: object expected");
30521
+ message.settings = $root.sesame.v1.outputs.EncoderSettings.fromObject(object.settings);
30522
+ }
29588
30523
  return message;
29589
30524
  };
29590
30525
 
@@ -29603,17 +30538,17 @@ export const sesame = $root.sesame = (() => {
29603
30538
  let object = {};
29604
30539
  if (options.defaults) {
29605
30540
  object.codec = options.enums === String ? "CODEC_TYPE_UNSPECIFIED" : 0;
29606
- object.preset = options.enums === String ? "ENCODER_PRESET_UNSPECIFIED" : 0;
29607
30541
  object.bitrateKbps = 0;
29608
30542
  object.keyframeInterval = 0;
29609
30543
  object.width = 0;
29610
30544
  object.height = 0;
29611
30545
  object.fps = 0;
30546
+ object.timecodeMode = options.enums === String ? "TIMECODE_MODE_UNSPECIFIED" : 0;
30547
+ object.timecodeSourceId = "";
30548
+ object.settings = null;
29612
30549
  }
29613
30550
  if (message.codec != null && message.hasOwnProperty("codec"))
29614
30551
  object.codec = options.enums === String ? $root.sesame.v1.common.CodecType[message.codec] === undefined ? message.codec : $root.sesame.v1.common.CodecType[message.codec] : message.codec;
29615
- if (message.preset != null && message.hasOwnProperty("preset"))
29616
- object.preset = options.enums === String ? $root.sesame.v1.outputs.EncoderPreset[message.preset] === undefined ? message.preset : $root.sesame.v1.outputs.EncoderPreset[message.preset] : message.preset;
29617
30552
  if (message.bitrateKbps != null && message.hasOwnProperty("bitrateKbps"))
29618
30553
  object.bitrateKbps = message.bitrateKbps;
29619
30554
  if (message.keyframeInterval != null && message.hasOwnProperty("keyframeInterval"))
@@ -29624,6 +30559,12 @@ export const sesame = $root.sesame = (() => {
29624
30559
  object.height = message.height;
29625
30560
  if (message.fps != null && message.hasOwnProperty("fps"))
29626
30561
  object.fps = options.json && !isFinite(message.fps) ? String(message.fps) : message.fps;
30562
+ if (message.timecodeMode != null && message.hasOwnProperty("timecodeMode"))
30563
+ object.timecodeMode = options.enums === String ? $root.sesame.v1.outputs.TimecodeMode[message.timecodeMode] === undefined ? message.timecodeMode : $root.sesame.v1.outputs.TimecodeMode[message.timecodeMode] : message.timecodeMode;
30564
+ if (message.timecodeSourceId != null && message.hasOwnProperty("timecodeSourceId"))
30565
+ object.timecodeSourceId = message.timecodeSourceId;
30566
+ if (message.settings != null && message.hasOwnProperty("settings"))
30567
+ object.settings = $root.sesame.v1.outputs.EncoderSettings.toObject(message.settings, options);
29627
30568
  return object;
29628
30569
  };
29629
30570
 
@@ -30384,6 +31325,8 @@ export const sesame = $root.sesame = (() => {
30384
31325
  * @property {number|null} [deviceIndex] DecklinkOutputConfig deviceIndex
30385
31326
  * @property {sesame.v1.common.VideoFormat|null} [videoFormat] DecklinkOutputConfig videoFormat
30386
31327
  * @property {boolean|null} [keyAndFill] DecklinkOutputConfig keyAndFill
31328
+ * @property {sesame.v1.outputs.TimecodeMode|null} [timecodeMode] DecklinkOutputConfig timecodeMode
31329
+ * @property {string|null} [timecodeSourceId] DecklinkOutputConfig timecodeSourceId
30387
31330
  */
30388
31331
 
30389
31332
  /**
@@ -30425,6 +31368,22 @@ export const sesame = $root.sesame = (() => {
30425
31368
  */
30426
31369
  DecklinkOutputConfig.prototype.keyAndFill = false;
30427
31370
 
31371
+ /**
31372
+ * DecklinkOutputConfig timecodeMode.
31373
+ * @member {sesame.v1.outputs.TimecodeMode} timecodeMode
31374
+ * @memberof sesame.v1.outputs.DecklinkOutputConfig
31375
+ * @instance
31376
+ */
31377
+ DecklinkOutputConfig.prototype.timecodeMode = 0;
31378
+
31379
+ /**
31380
+ * DecklinkOutputConfig timecodeSourceId.
31381
+ * @member {string} timecodeSourceId
31382
+ * @memberof sesame.v1.outputs.DecklinkOutputConfig
31383
+ * @instance
31384
+ */
31385
+ DecklinkOutputConfig.prototype.timecodeSourceId = "";
31386
+
30428
31387
  /**
30429
31388
  * Creates a new DecklinkOutputConfig instance using the specified properties.
30430
31389
  * @function create
@@ -30455,6 +31414,10 @@ export const sesame = $root.sesame = (() => {
30455
31414
  writer.uint32(/* id 2, wireType 0 =*/16).int32(message.videoFormat);
30456
31415
  if (message.keyAndFill != null && Object.hasOwnProperty.call(message, "keyAndFill"))
30457
31416
  writer.uint32(/* id 3, wireType 0 =*/24).bool(message.keyAndFill);
31417
+ if (message.timecodeMode != null && Object.hasOwnProperty.call(message, "timecodeMode"))
31418
+ writer.uint32(/* id 4, wireType 0 =*/32).int32(message.timecodeMode);
31419
+ if (message.timecodeSourceId != null && Object.hasOwnProperty.call(message, "timecodeSourceId"))
31420
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.timecodeSourceId);
30458
31421
  return writer;
30459
31422
  };
30460
31423
 
@@ -30503,6 +31466,14 @@ export const sesame = $root.sesame = (() => {
30503
31466
  message.keyAndFill = reader.bool();
30504
31467
  break;
30505
31468
  }
31469
+ case 4: {
31470
+ message.timecodeMode = reader.int32();
31471
+ break;
31472
+ }
31473
+ case 5: {
31474
+ message.timecodeSourceId = reader.string();
31475
+ break;
31476
+ }
30506
31477
  default:
30507
31478
  reader.skipType(tag & 7);
30508
31479
  break;
@@ -30555,6 +31526,18 @@ export const sesame = $root.sesame = (() => {
30555
31526
  if (message.keyAndFill != null && message.hasOwnProperty("keyAndFill"))
30556
31527
  if (typeof message.keyAndFill !== "boolean")
30557
31528
  return "keyAndFill: boolean expected";
31529
+ if (message.timecodeMode != null && message.hasOwnProperty("timecodeMode"))
31530
+ switch (message.timecodeMode) {
31531
+ default:
31532
+ return "timecodeMode: enum value expected";
31533
+ case 0:
31534
+ case 1:
31535
+ case 2:
31536
+ break;
31537
+ }
31538
+ if (message.timecodeSourceId != null && message.hasOwnProperty("timecodeSourceId"))
31539
+ if (!$util.isString(message.timecodeSourceId))
31540
+ return "timecodeSourceId: string expected";
30558
31541
  return null;
30559
31542
  };
30560
31543
 
@@ -30602,6 +31585,28 @@ export const sesame = $root.sesame = (() => {
30602
31585
  }
30603
31586
  if (object.keyAndFill != null)
30604
31587
  message.keyAndFill = Boolean(object.keyAndFill);
31588
+ switch (object.timecodeMode) {
31589
+ default:
31590
+ if (typeof object.timecodeMode === "number") {
31591
+ message.timecodeMode = object.timecodeMode;
31592
+ break;
31593
+ }
31594
+ break;
31595
+ case "TIMECODE_MODE_UNSPECIFIED":
31596
+ case 0:
31597
+ message.timecodeMode = 0;
31598
+ break;
31599
+ case "TIMECODE_MODE_WALLCLOCK":
31600
+ case 1:
31601
+ message.timecodeMode = 1;
31602
+ break;
31603
+ case "TIMECODE_MODE_SOURCE":
31604
+ case 2:
31605
+ message.timecodeMode = 2;
31606
+ break;
31607
+ }
31608
+ if (object.timecodeSourceId != null)
31609
+ message.timecodeSourceId = String(object.timecodeSourceId);
30605
31610
  return message;
30606
31611
  };
30607
31612
 
@@ -30622,6 +31627,8 @@ export const sesame = $root.sesame = (() => {
30622
31627
  object.deviceIndex = 0;
30623
31628
  object.videoFormat = options.enums === String ? "VIDEO_FORMAT_UNSPECIFIED" : 0;
30624
31629
  object.keyAndFill = false;
31630
+ object.timecodeMode = options.enums === String ? "TIMECODE_MODE_UNSPECIFIED" : 0;
31631
+ object.timecodeSourceId = "";
30625
31632
  }
30626
31633
  if (message.deviceIndex != null && message.hasOwnProperty("deviceIndex"))
30627
31634
  object.deviceIndex = message.deviceIndex;
@@ -30629,6 +31636,10 @@ export const sesame = $root.sesame = (() => {
30629
31636
  object.videoFormat = options.enums === String ? $root.sesame.v1.common.VideoFormat[message.videoFormat] === undefined ? message.videoFormat : $root.sesame.v1.common.VideoFormat[message.videoFormat] : message.videoFormat;
30630
31637
  if (message.keyAndFill != null && message.hasOwnProperty("keyAndFill"))
30631
31638
  object.keyAndFill = message.keyAndFill;
31639
+ if (message.timecodeMode != null && message.hasOwnProperty("timecodeMode"))
31640
+ object.timecodeMode = options.enums === String ? $root.sesame.v1.outputs.TimecodeMode[message.timecodeMode] === undefined ? message.timecodeMode : $root.sesame.v1.outputs.TimecodeMode[message.timecodeMode] : message.timecodeMode;
31641
+ if (message.timecodeSourceId != null && message.hasOwnProperty("timecodeSourceId"))
31642
+ object.timecodeSourceId = message.timecodeSourceId;
30632
31643
  return object;
30633
31644
  };
30634
31645
 
@@ -34419,6 +35430,7 @@ export const sesame = $root.sesame = (() => {
34419
35430
  * @property {sesame.v1.common.ConnectionState|null} [state] EncoderStatus state
34420
35431
  * @property {string|null} [msg] EncoderStatus msg
34421
35432
  * @property {string|null} [compositionId] EncoderStatus compositionId
35433
+ * @property {number|null} [droppedFrames] EncoderStatus droppedFrames
34422
35434
  */
34423
35435
 
34424
35436
  /**
@@ -34476,6 +35488,14 @@ export const sesame = $root.sesame = (() => {
34476
35488
  */
34477
35489
  EncoderStatus.prototype.compositionId = "";
34478
35490
 
35491
+ /**
35492
+ * EncoderStatus droppedFrames.
35493
+ * @member {number} droppedFrames
35494
+ * @memberof sesame.v1.outputs.EncoderStatus
35495
+ * @instance
35496
+ */
35497
+ EncoderStatus.prototype.droppedFrames = 0;
35498
+
34479
35499
  // OneOf field names bound to virtual getters and setters
34480
35500
  let $oneOfFields;
34481
35501
 
@@ -34519,6 +35539,8 @@ export const sesame = $root.sesame = (() => {
34519
35539
  writer.uint32(/* id 4, wireType 2 =*/34).string(message.msg);
34520
35540
  if (message.compositionId != null && Object.hasOwnProperty.call(message, "compositionId"))
34521
35541
  writer.uint32(/* id 5, wireType 2 =*/42).string(message.compositionId);
35542
+ if (message.droppedFrames != null && Object.hasOwnProperty.call(message, "droppedFrames"))
35543
+ writer.uint32(/* id 6, wireType 0 =*/48).uint32(message.droppedFrames);
34522
35544
  return writer;
34523
35545
  };
34524
35546
 
@@ -34575,6 +35597,10 @@ export const sesame = $root.sesame = (() => {
34575
35597
  message.compositionId = reader.string();
34576
35598
  break;
34577
35599
  }
35600
+ case 6: {
35601
+ message.droppedFrames = reader.uint32();
35602
+ break;
35603
+ }
34578
35604
  default:
34579
35605
  reader.skipType(tag & 7);
34580
35606
  break;
@@ -34643,6 +35669,9 @@ export const sesame = $root.sesame = (() => {
34643
35669
  if (message.compositionId != null && message.hasOwnProperty("compositionId"))
34644
35670
  if (!$util.isString(message.compositionId))
34645
35671
  return "compositionId: string expected";
35672
+ if (message.droppedFrames != null && message.hasOwnProperty("droppedFrames"))
35673
+ if (!$util.isInteger(message.droppedFrames))
35674
+ return "droppedFrames: integer expected";
34646
35675
  return null;
34647
35676
  };
34648
35677
 
@@ -34716,6 +35745,8 @@ export const sesame = $root.sesame = (() => {
34716
35745
  message.msg = String(object.msg);
34717
35746
  if (object.compositionId != null)
34718
35747
  message.compositionId = String(object.compositionId);
35748
+ if (object.droppedFrames != null)
35749
+ message.droppedFrames = object.droppedFrames >>> 0;
34719
35750
  return message;
34720
35751
  };
34721
35752
 
@@ -34737,6 +35768,7 @@ export const sesame = $root.sesame = (() => {
34737
35768
  object.type = options.enums === String ? "ENCODER_TYPE_UNSPECIFIED" : 0;
34738
35769
  object.state = options.enums === String ? "CONNECTION_STATE_UNSPECIFIED" : 0;
34739
35770
  object.compositionId = "";
35771
+ object.droppedFrames = 0;
34740
35772
  }
34741
35773
  if (message.id != null && message.hasOwnProperty("id"))
34742
35774
  object.id = message.id;
@@ -34751,6 +35783,8 @@ export const sesame = $root.sesame = (() => {
34751
35783
  }
34752
35784
  if (message.compositionId != null && message.hasOwnProperty("compositionId"))
34753
35785
  object.compositionId = message.compositionId;
35786
+ if (message.droppedFrames != null && message.hasOwnProperty("droppedFrames"))
35787
+ object.droppedFrames = message.droppedFrames;
34754
35788
  return object;
34755
35789
  };
34756
35790
 
@@ -42247,6 +43281,235 @@ export const sesame = $root.sesame = (() => {
42247
43281
  return PublishMetadataRequest;
42248
43282
  })();
42249
43283
 
43284
+ rpc.SystemOperationRequest = (function() {
43285
+
43286
+ /**
43287
+ * Properties of a SystemOperationRequest.
43288
+ * @memberof sesame.v1.rpc
43289
+ * @interface ISystemOperationRequest
43290
+ * @property {sesame.v1.common.IEmpty|null} [resetFrameDrops] SystemOperationRequest resetFrameDrops
43291
+ */
43292
+
43293
+ /**
43294
+ * Constructs a new SystemOperationRequest.
43295
+ * @memberof sesame.v1.rpc
43296
+ * @classdesc Represents a SystemOperationRequest.
43297
+ * @implements ISystemOperationRequest
43298
+ * @constructor
43299
+ * @param {sesame.v1.rpc.ISystemOperationRequest=} [properties] Properties to set
43300
+ */
43301
+ function SystemOperationRequest(properties) {
43302
+ if (properties)
43303
+ for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)
43304
+ if (properties[keys[i]] != null)
43305
+ this[keys[i]] = properties[keys[i]];
43306
+ }
43307
+
43308
+ /**
43309
+ * SystemOperationRequest resetFrameDrops.
43310
+ * @member {sesame.v1.common.IEmpty|null|undefined} resetFrameDrops
43311
+ * @memberof sesame.v1.rpc.SystemOperationRequest
43312
+ * @instance
43313
+ */
43314
+ SystemOperationRequest.prototype.resetFrameDrops = null;
43315
+
43316
+ // OneOf field names bound to virtual getters and setters
43317
+ let $oneOfFields;
43318
+
43319
+ /**
43320
+ * SystemOperationRequest operation.
43321
+ * @member {"resetFrameDrops"|undefined} operation
43322
+ * @memberof sesame.v1.rpc.SystemOperationRequest
43323
+ * @instance
43324
+ */
43325
+ Object.defineProperty(SystemOperationRequest.prototype, "operation", {
43326
+ get: $util.oneOfGetter($oneOfFields = ["resetFrameDrops"]),
43327
+ set: $util.oneOfSetter($oneOfFields)
43328
+ });
43329
+
43330
+ /**
43331
+ * Creates a new SystemOperationRequest instance using the specified properties.
43332
+ * @function create
43333
+ * @memberof sesame.v1.rpc.SystemOperationRequest
43334
+ * @static
43335
+ * @param {sesame.v1.rpc.ISystemOperationRequest=} [properties] Properties to set
43336
+ * @returns {sesame.v1.rpc.SystemOperationRequest} SystemOperationRequest instance
43337
+ */
43338
+ SystemOperationRequest.create = function create(properties) {
43339
+ return new SystemOperationRequest(properties);
43340
+ };
43341
+
43342
+ /**
43343
+ * Encodes the specified SystemOperationRequest message. Does not implicitly {@link sesame.v1.rpc.SystemOperationRequest.verify|verify} messages.
43344
+ * @function encode
43345
+ * @memberof sesame.v1.rpc.SystemOperationRequest
43346
+ * @static
43347
+ * @param {sesame.v1.rpc.ISystemOperationRequest} message SystemOperationRequest message or plain object to encode
43348
+ * @param {$protobuf.Writer} [writer] Writer to encode to
43349
+ * @returns {$protobuf.Writer} Writer
43350
+ */
43351
+ SystemOperationRequest.encode = function encode(message, writer) {
43352
+ if (!writer)
43353
+ writer = $Writer.create();
43354
+ if (message.resetFrameDrops != null && Object.hasOwnProperty.call(message, "resetFrameDrops"))
43355
+ $root.sesame.v1.common.Empty.encode(message.resetFrameDrops, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
43356
+ return writer;
43357
+ };
43358
+
43359
+ /**
43360
+ * Encodes the specified SystemOperationRequest message, length delimited. Does not implicitly {@link sesame.v1.rpc.SystemOperationRequest.verify|verify} messages.
43361
+ * @function encodeDelimited
43362
+ * @memberof sesame.v1.rpc.SystemOperationRequest
43363
+ * @static
43364
+ * @param {sesame.v1.rpc.ISystemOperationRequest} message SystemOperationRequest message or plain object to encode
43365
+ * @param {$protobuf.Writer} [writer] Writer to encode to
43366
+ * @returns {$protobuf.Writer} Writer
43367
+ */
43368
+ SystemOperationRequest.encodeDelimited = function encodeDelimited(message, writer) {
43369
+ return this.encode(message, writer).ldelim();
43370
+ };
43371
+
43372
+ /**
43373
+ * Decodes a SystemOperationRequest message from the specified reader or buffer.
43374
+ * @function decode
43375
+ * @memberof sesame.v1.rpc.SystemOperationRequest
43376
+ * @static
43377
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
43378
+ * @param {number} [length] Message length if known beforehand
43379
+ * @returns {sesame.v1.rpc.SystemOperationRequest} SystemOperationRequest
43380
+ * @throws {Error} If the payload is not a reader or valid buffer
43381
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
43382
+ */
43383
+ SystemOperationRequest.decode = function decode(reader, length, error) {
43384
+ if (!(reader instanceof $Reader))
43385
+ reader = $Reader.create(reader);
43386
+ let end = length === undefined ? reader.len : reader.pos + length, message = new $root.sesame.v1.rpc.SystemOperationRequest();
43387
+ while (reader.pos < end) {
43388
+ let tag = reader.uint32();
43389
+ if (tag === error)
43390
+ break;
43391
+ switch (tag >>> 3) {
43392
+ case 1: {
43393
+ message.resetFrameDrops = $root.sesame.v1.common.Empty.decode(reader, reader.uint32());
43394
+ break;
43395
+ }
43396
+ default:
43397
+ reader.skipType(tag & 7);
43398
+ break;
43399
+ }
43400
+ }
43401
+ return message;
43402
+ };
43403
+
43404
+ /**
43405
+ * Decodes a SystemOperationRequest message from the specified reader or buffer, length delimited.
43406
+ * @function decodeDelimited
43407
+ * @memberof sesame.v1.rpc.SystemOperationRequest
43408
+ * @static
43409
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
43410
+ * @returns {sesame.v1.rpc.SystemOperationRequest} SystemOperationRequest
43411
+ * @throws {Error} If the payload is not a reader or valid buffer
43412
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
43413
+ */
43414
+ SystemOperationRequest.decodeDelimited = function decodeDelimited(reader) {
43415
+ if (!(reader instanceof $Reader))
43416
+ reader = new $Reader(reader);
43417
+ return this.decode(reader, reader.uint32());
43418
+ };
43419
+
43420
+ /**
43421
+ * Verifies a SystemOperationRequest message.
43422
+ * @function verify
43423
+ * @memberof sesame.v1.rpc.SystemOperationRequest
43424
+ * @static
43425
+ * @param {Object.<string,*>} message Plain object to verify
43426
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
43427
+ */
43428
+ SystemOperationRequest.verify = function verify(message) {
43429
+ if (typeof message !== "object" || message === null)
43430
+ return "object expected";
43431
+ let properties = {};
43432
+ if (message.resetFrameDrops != null && message.hasOwnProperty("resetFrameDrops")) {
43433
+ properties.operation = 1;
43434
+ {
43435
+ let error = $root.sesame.v1.common.Empty.verify(message.resetFrameDrops);
43436
+ if (error)
43437
+ return "resetFrameDrops." + error;
43438
+ }
43439
+ }
43440
+ return null;
43441
+ };
43442
+
43443
+ /**
43444
+ * Creates a SystemOperationRequest message from a plain object. Also converts values to their respective internal types.
43445
+ * @function fromObject
43446
+ * @memberof sesame.v1.rpc.SystemOperationRequest
43447
+ * @static
43448
+ * @param {Object.<string,*>} object Plain object
43449
+ * @returns {sesame.v1.rpc.SystemOperationRequest} SystemOperationRequest
43450
+ */
43451
+ SystemOperationRequest.fromObject = function fromObject(object) {
43452
+ if (object instanceof $root.sesame.v1.rpc.SystemOperationRequest)
43453
+ return object;
43454
+ let message = new $root.sesame.v1.rpc.SystemOperationRequest();
43455
+ if (object.resetFrameDrops != null) {
43456
+ if (typeof object.resetFrameDrops !== "object")
43457
+ throw TypeError(".sesame.v1.rpc.SystemOperationRequest.resetFrameDrops: object expected");
43458
+ message.resetFrameDrops = $root.sesame.v1.common.Empty.fromObject(object.resetFrameDrops);
43459
+ }
43460
+ return message;
43461
+ };
43462
+
43463
+ /**
43464
+ * Creates a plain object from a SystemOperationRequest message. Also converts values to other types if specified.
43465
+ * @function toObject
43466
+ * @memberof sesame.v1.rpc.SystemOperationRequest
43467
+ * @static
43468
+ * @param {sesame.v1.rpc.SystemOperationRequest} message SystemOperationRequest
43469
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
43470
+ * @returns {Object.<string,*>} Plain object
43471
+ */
43472
+ SystemOperationRequest.toObject = function toObject(message, options) {
43473
+ if (!options)
43474
+ options = {};
43475
+ let object = {};
43476
+ if (message.resetFrameDrops != null && message.hasOwnProperty("resetFrameDrops")) {
43477
+ object.resetFrameDrops = $root.sesame.v1.common.Empty.toObject(message.resetFrameDrops, options);
43478
+ if (options.oneofs)
43479
+ object.operation = "resetFrameDrops";
43480
+ }
43481
+ return object;
43482
+ };
43483
+
43484
+ /**
43485
+ * Converts this SystemOperationRequest to JSON.
43486
+ * @function toJSON
43487
+ * @memberof sesame.v1.rpc.SystemOperationRequest
43488
+ * @instance
43489
+ * @returns {Object.<string,*>} JSON object
43490
+ */
43491
+ SystemOperationRequest.prototype.toJSON = function toJSON() {
43492
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
43493
+ };
43494
+
43495
+ /**
43496
+ * Gets the default type url for SystemOperationRequest
43497
+ * @function getTypeUrl
43498
+ * @memberof sesame.v1.rpc.SystemOperationRequest
43499
+ * @static
43500
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
43501
+ * @returns {string} The default type url
43502
+ */
43503
+ SystemOperationRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
43504
+ if (typeUrlPrefix === undefined) {
43505
+ typeUrlPrefix = "type.googleapis.com";
43506
+ }
43507
+ return typeUrlPrefix + "/sesame.v1.rpc.SystemOperationRequest";
43508
+ };
43509
+
43510
+ return SystemOperationRequest;
43511
+ })();
43512
+
42250
43513
  rpc.SesameAPIService = (function() {
42251
43514
 
42252
43515
  /**
@@ -42708,6 +43971,39 @@ export const sesame = $root.sesame = (() => {
42708
43971
  * @variation 2
42709
43972
  */
42710
43973
 
43974
+ /**
43975
+ * Callback as used by {@link sesame.v1.rpc.SesameAPIService#requestSystemOperation}.
43976
+ * @memberof sesame.v1.rpc.SesameAPIService
43977
+ * @typedef RequestSystemOperationCallback
43978
+ * @type {function}
43979
+ * @param {Error|null} error Error, if any
43980
+ * @param {sesame.v1.common.Empty} [response] Empty
43981
+ */
43982
+
43983
+ /**
43984
+ * Calls RequestSystemOperation.
43985
+ * @function requestSystemOperation
43986
+ * @memberof sesame.v1.rpc.SesameAPIService
43987
+ * @instance
43988
+ * @param {sesame.v1.rpc.ISystemOperationRequest} request SystemOperationRequest message or plain object
43989
+ * @param {sesame.v1.rpc.SesameAPIService.RequestSystemOperationCallback} callback Node-style callback called with the error, if any, and Empty
43990
+ * @returns {undefined}
43991
+ * @variation 1
43992
+ */
43993
+ Object.defineProperty(SesameAPIService.prototype.requestSystemOperation = function requestSystemOperation(request, callback) {
43994
+ return this.rpcCall(requestSystemOperation, $root.sesame.v1.rpc.SystemOperationRequest, $root.sesame.v1.common.Empty, request, callback);
43995
+ }, "name", { value: "RequestSystemOperation" });
43996
+
43997
+ /**
43998
+ * Calls RequestSystemOperation.
43999
+ * @function requestSystemOperation
44000
+ * @memberof sesame.v1.rpc.SesameAPIService
44001
+ * @instance
44002
+ * @param {sesame.v1.rpc.ISystemOperationRequest} request SystemOperationRequest message or plain object
44003
+ * @returns {Promise<sesame.v1.common.Empty>} Promise
44004
+ * @variation 2
44005
+ */
44006
+
42711
44007
  return SesameAPIService;
42712
44008
  })();
42713
44009