@stinkycomputing/sesame-api-client 1.6.0 → 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
 
@@ -25218,6 +25304,8 @@ export const sesame = $root.sesame = (() => {
25218
25304
  * @property {string|null} [gpuName] SystemStatus gpuName
25219
25305
  * @property {number|Long|null} [vmaBytes] SystemStatus vmaBytes
25220
25306
  * @property {string|null} [version] SystemStatus version
25307
+ * @property {number|null} [nvencSessions] SystemStatus nvencSessions
25308
+ * @property {number|null} [nvdecSessions] SystemStatus nvdecSessions
25221
25309
  */
25222
25310
 
25223
25311
  /**
@@ -25379,6 +25467,22 @@ export const sesame = $root.sesame = (() => {
25379
25467
  */
25380
25468
  SystemStatus.prototype.version = "";
25381
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
+
25382
25486
  /**
25383
25487
  * Creates a new SystemStatus instance using the specified properties.
25384
25488
  * @function create
@@ -25439,6 +25543,10 @@ export const sesame = $root.sesame = (() => {
25439
25543
  writer.uint32(/* id 17, wireType 0 =*/136).uint64(message.vmaBytes);
25440
25544
  if (message.version != null && Object.hasOwnProperty.call(message, "version"))
25441
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);
25442
25550
  return writer;
25443
25551
  };
25444
25552
 
@@ -25547,6 +25655,14 @@ export const sesame = $root.sesame = (() => {
25547
25655
  message.version = reader.string();
25548
25656
  break;
25549
25657
  }
25658
+ case 19: {
25659
+ message.nvencSessions = reader.uint32();
25660
+ break;
25661
+ }
25662
+ case 20: {
25663
+ message.nvdecSessions = reader.uint32();
25664
+ break;
25665
+ }
25550
25666
  default:
25551
25667
  reader.skipType(tag & 7);
25552
25668
  break;
@@ -25644,6 +25760,12 @@ export const sesame = $root.sesame = (() => {
25644
25760
  if (message.version != null && message.hasOwnProperty("version"))
25645
25761
  if (!$util.isString(message.version))
25646
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";
25647
25769
  return null;
25648
25770
  };
25649
25771
 
@@ -25749,6 +25871,10 @@ export const sesame = $root.sesame = (() => {
25749
25871
  message.vmaBytes = new $util.LongBits(object.vmaBytes.low >>> 0, object.vmaBytes.high >>> 0).toNumber(true);
25750
25872
  if (object.version != null)
25751
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;
25752
25878
  return message;
25753
25879
  };
25754
25880
 
@@ -25808,6 +25934,8 @@ export const sesame = $root.sesame = (() => {
25808
25934
  } else
25809
25935
  object.vmaBytes = options.longs === String ? "0" : 0;
25810
25936
  object.version = "";
25937
+ object.nvencSessions = 0;
25938
+ object.nvdecSessions = 0;
25811
25939
  }
25812
25940
  if (message.uptime != null && message.hasOwnProperty("uptime"))
25813
25941
  if (typeof message.uptime === "number")
@@ -25863,6 +25991,10 @@ export const sesame = $root.sesame = (() => {
25863
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;
25864
25992
  if (message.version != null && message.hasOwnProperty("version"))
25865
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;
25866
25998
  return object;
25867
25999
  };
25868
26000
 
@@ -29204,63 +29336,121 @@ export const sesame = $root.sesame = (() => {
29204
29336
  })();
29205
29337
 
29206
29338
  /**
29207
- * EncoderPreset enum.
29208
- * @name sesame.v1.outputs.EncoderPreset
29339
+ * EncoderTuning enum.
29340
+ * @name sesame.v1.outputs.EncoderTuning
29209
29341
  * @enum {number}
29210
- * @property {number} ENCODER_PRESET_UNSPECIFIED=0 ENCODER_PRESET_UNSPECIFIED value
29211
- * @property {number} ENCODER_PRESET_LOW_LATENCY=1 ENCODER_PRESET_LOW_LATENCY value
29212
- * @property {number} ENCODER_PRESET_LOW_LATENCY_IDR_ONLY=2 ENCODER_PRESET_LOW_LATENCY_IDR_ONLY value
29213
- * @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
29214
29346
  */
29215
- outputs.EncoderPreset = (function() {
29347
+ outputs.EncoderTuning = (function() {
29216
29348
  const valuesById = {}, values = Object.create(valuesById);
29217
- values[valuesById[0] = "ENCODER_PRESET_UNSPECIFIED"] = 0;
29218
- values[valuesById[1] = "ENCODER_PRESET_LOW_LATENCY"] = 1;
29219
- values[valuesById[2] = "ENCODER_PRESET_LOW_LATENCY_IDR_ONLY"] = 2;
29220
- 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;
29221
29353
  return values;
29222
29354
  })();
29223
29355
 
29224
29356
  /**
29225
- * RecorderType enum.
29226
- * @name sesame.v1.outputs.RecorderType
29357
+ * EncoderRateControl enum.
29358
+ * @name sesame.v1.outputs.EncoderRateControl
29227
29359
  * @enum {number}
29228
- * @property {number} RECORDER_TYPE_UNSPECIFIED=0 RECORDER_TYPE_UNSPECIFIED value
29229
- * @property {number} RECORDER_TYPE_LIVE=1 RECORDER_TYPE_LIVE value
29230
- * @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
29231
29363
  */
29232
- outputs.RecorderType = (function() {
29364
+ outputs.EncoderRateControl = (function() {
29233
29365
  const valuesById = {}, values = Object.create(valuesById);
29234
- values[valuesById[0] = "RECORDER_TYPE_UNSPECIFIED"] = 0;
29235
- values[valuesById[1] = "RECORDER_TYPE_LIVE"] = 1;
29236
- 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;
29237
29369
  return values;
29238
29370
  })();
29239
29371
 
29240
- 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
+ })();
29241
29391
 
29242
- /**
29243
- * Properties of an EncoderConfig.
29244
- * @memberof sesame.v1.outputs
29245
- * @interface IEncoderConfig
29246
- * @property {sesame.v1.common.CodecType|null} [codec] EncoderConfig codec
29247
- * @property {sesame.v1.outputs.EncoderPreset|null} [preset] EncoderConfig preset
29248
- * @property {number|null} [bitrateKbps] EncoderConfig bitrateKbps
29249
- * @property {number|null} [keyframeInterval] EncoderConfig keyframeInterval
29250
- * @property {number|null} [width] EncoderConfig width
29251
- * @property {number|null} [height] EncoderConfig height
29252
- * @property {number|null} [fps] EncoderConfig fps
29253
- */
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() {
29254
29423
 
29255
29424
  /**
29256
- * Constructs a new EncoderConfig.
29425
+ * Properties of an EncoderSettings.
29257
29426
  * @memberof sesame.v1.outputs
29258
- * @classdesc Represents an EncoderConfig.
29259
- * @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
29260
29450
  * @constructor
29261
- * @param {sesame.v1.outputs.IEncoderConfig=} [properties] Properties to set
29451
+ * @param {sesame.v1.outputs.IEncoderSettings=} [properties] Properties to set
29262
29452
  */
29263
- function EncoderConfig(properties) {
29453
+ function EncoderSettings(properties) {
29264
29454
  if (properties)
29265
29455
  for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)
29266
29456
  if (properties[keys[i]] != null)
@@ -29268,161 +29458,273 @@ export const sesame = $root.sesame = (() => {
29268
29458
  }
29269
29459
 
29270
29460
  /**
29271
- * EncoderConfig codec.
29272
- * @member {sesame.v1.common.CodecType} codec
29273
- * @memberof sesame.v1.outputs.EncoderConfig
29461
+ * EncoderSettings tuning.
29462
+ * @member {sesame.v1.outputs.EncoderTuning} tuning
29463
+ * @memberof sesame.v1.outputs.EncoderSettings
29274
29464
  * @instance
29275
29465
  */
29276
- EncoderConfig.prototype.codec = 0;
29466
+ EncoderSettings.prototype.tuning = 0;
29277
29467
 
29278
29468
  /**
29279
- * EncoderConfig preset.
29280
- * @member {sesame.v1.outputs.EncoderPreset} preset
29281
- * @memberof sesame.v1.outputs.EncoderConfig
29469
+ * EncoderSettings effort.
29470
+ * @member {number} effort
29471
+ * @memberof sesame.v1.outputs.EncoderSettings
29282
29472
  * @instance
29283
29473
  */
29284
- EncoderConfig.prototype.preset = 0;
29474
+ EncoderSettings.prototype.effort = 0;
29285
29475
 
29286
29476
  /**
29287
- * EncoderConfig bitrateKbps.
29288
- * @member {number} bitrateKbps
29289
- * @memberof sesame.v1.outputs.EncoderConfig
29477
+ * EncoderSettings rateControl.
29478
+ * @member {sesame.v1.outputs.EncoderRateControl} rateControl
29479
+ * @memberof sesame.v1.outputs.EncoderSettings
29290
29480
  * @instance
29291
29481
  */
29292
- EncoderConfig.prototype.bitrateKbps = 0;
29482
+ EncoderSettings.prototype.rateControl = 0;
29293
29483
 
29294
29484
  /**
29295
- * EncoderConfig keyframeInterval.
29296
- * @member {number} keyframeInterval
29297
- * @memberof sesame.v1.outputs.EncoderConfig
29485
+ * EncoderSettings maxBitrateKbps.
29486
+ * @member {number} maxBitrateKbps
29487
+ * @memberof sesame.v1.outputs.EncoderSettings
29298
29488
  * @instance
29299
29489
  */
29300
- EncoderConfig.prototype.keyframeInterval = 0;
29490
+ EncoderSettings.prototype.maxBitrateKbps = 0;
29301
29491
 
29302
29492
  /**
29303
- * EncoderConfig width.
29304
- * @member {number} width
29305
- * @memberof sesame.v1.outputs.EncoderConfig
29493
+ * EncoderSettings profile.
29494
+ * @member {sesame.v1.outputs.EncoderProfile} profile
29495
+ * @memberof sesame.v1.outputs.EncoderSettings
29306
29496
  * @instance
29307
29497
  */
29308
- EncoderConfig.prototype.width = 0;
29498
+ EncoderSettings.prototype.profile = 0;
29309
29499
 
29310
29500
  /**
29311
- * EncoderConfig height.
29312
- * @member {number} height
29313
- * @memberof sesame.v1.outputs.EncoderConfig
29501
+ * EncoderSettings bframes.
29502
+ * @member {number} bframes
29503
+ * @memberof sesame.v1.outputs.EncoderSettings
29314
29504
  * @instance
29315
29505
  */
29316
- EncoderConfig.prototype.height = 0;
29506
+ EncoderSettings.prototype.bframes = 0;
29317
29507
 
29318
29508
  /**
29319
- * EncoderConfig fps.
29320
- * @member {number} fps
29321
- * @memberof sesame.v1.outputs.EncoderConfig
29509
+ * EncoderSettings idrOnly.
29510
+ * @member {boolean} idrOnly
29511
+ * @memberof sesame.v1.outputs.EncoderSettings
29322
29512
  * @instance
29323
29513
  */
29324
- EncoderConfig.prototype.fps = 0;
29514
+ EncoderSettings.prototype.idrOnly = false;
29325
29515
 
29326
29516
  /**
29327
- * 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.
29328
29582
  * @function create
29329
- * @memberof sesame.v1.outputs.EncoderConfig
29583
+ * @memberof sesame.v1.outputs.EncoderSettings
29330
29584
  * @static
29331
- * @param {sesame.v1.outputs.IEncoderConfig=} [properties] Properties to set
29332
- * @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
29333
29587
  */
29334
- EncoderConfig.create = function create(properties) {
29335
- return new EncoderConfig(properties);
29588
+ EncoderSettings.create = function create(properties) {
29589
+ return new EncoderSettings(properties);
29336
29590
  };
29337
29591
 
29338
29592
  /**
29339
- * 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.
29340
29594
  * @function encode
29341
- * @memberof sesame.v1.outputs.EncoderConfig
29595
+ * @memberof sesame.v1.outputs.EncoderSettings
29342
29596
  * @static
29343
- * @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
29344
29598
  * @param {$protobuf.Writer} [writer] Writer to encode to
29345
29599
  * @returns {$protobuf.Writer} Writer
29346
29600
  */
29347
- EncoderConfig.encode = function encode(message, writer) {
29601
+ EncoderSettings.encode = function encode(message, writer) {
29348
29602
  if (!writer)
29349
29603
  writer = $Writer.create();
29350
- if (message.codec != null && Object.hasOwnProperty.call(message, "codec"))
29351
- writer.uint32(/* id 1, wireType 0 =*/8).int32(message.codec);
29352
- if (message.preset != null && Object.hasOwnProperty.call(message, "preset"))
29353
- writer.uint32(/* id 2, wireType 0 =*/16).int32(message.preset);
29354
- if (message.bitrateKbps != null && Object.hasOwnProperty.call(message, "bitrateKbps"))
29355
- writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.bitrateKbps);
29356
- if (message.keyframeInterval != null && Object.hasOwnProperty.call(message, "keyframeInterval"))
29357
- writer.uint32(/* id 4, wireType 0 =*/32).uint32(message.keyframeInterval);
29358
- if (message.width != null && Object.hasOwnProperty.call(message, "width"))
29359
- writer.uint32(/* id 5, wireType 0 =*/40).uint32(message.width);
29360
- if (message.height != null && Object.hasOwnProperty.call(message, "height"))
29361
- writer.uint32(/* id 6, wireType 0 =*/48).uint32(message.height);
29362
- if (message.fps != null && Object.hasOwnProperty.call(message, "fps"))
29363
- 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);
29364
29634
  return writer;
29365
29635
  };
29366
29636
 
29367
29637
  /**
29368
- * 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.
29369
29639
  * @function encodeDelimited
29370
- * @memberof sesame.v1.outputs.EncoderConfig
29640
+ * @memberof sesame.v1.outputs.EncoderSettings
29371
29641
  * @static
29372
- * @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
29373
29643
  * @param {$protobuf.Writer} [writer] Writer to encode to
29374
29644
  * @returns {$protobuf.Writer} Writer
29375
29645
  */
29376
- EncoderConfig.encodeDelimited = function encodeDelimited(message, writer) {
29646
+ EncoderSettings.encodeDelimited = function encodeDelimited(message, writer) {
29377
29647
  return this.encode(message, writer).ldelim();
29378
29648
  };
29379
29649
 
29380
29650
  /**
29381
- * Decodes an EncoderConfig message from the specified reader or buffer.
29651
+ * Decodes an EncoderSettings message from the specified reader or buffer.
29382
29652
  * @function decode
29383
- * @memberof sesame.v1.outputs.EncoderConfig
29653
+ * @memberof sesame.v1.outputs.EncoderSettings
29384
29654
  * @static
29385
29655
  * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
29386
29656
  * @param {number} [length] Message length if known beforehand
29387
- * @returns {sesame.v1.outputs.EncoderConfig} EncoderConfig
29657
+ * @returns {sesame.v1.outputs.EncoderSettings} EncoderSettings
29388
29658
  * @throws {Error} If the payload is not a reader or valid buffer
29389
29659
  * @throws {$protobuf.util.ProtocolError} If required fields are missing
29390
29660
  */
29391
- EncoderConfig.decode = function decode(reader, length, error) {
29661
+ EncoderSettings.decode = function decode(reader, length, error) {
29392
29662
  if (!(reader instanceof $Reader))
29393
29663
  reader = $Reader.create(reader);
29394
- 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();
29395
29665
  while (reader.pos < end) {
29396
29666
  let tag = reader.uint32();
29397
29667
  if (tag === error)
29398
29668
  break;
29399
29669
  switch (tag >>> 3) {
29400
29670
  case 1: {
29401
- message.codec = reader.int32();
29671
+ message.tuning = reader.int32();
29402
29672
  break;
29403
29673
  }
29404
29674
  case 2: {
29405
- message.preset = reader.int32();
29675
+ message.effort = reader.uint32();
29406
29676
  break;
29407
29677
  }
29408
29678
  case 3: {
29409
- message.bitrateKbps = reader.uint32();
29679
+ message.rateControl = reader.int32();
29410
29680
  break;
29411
29681
  }
29412
29682
  case 4: {
29413
- message.keyframeInterval = reader.uint32();
29683
+ message.maxBitrateKbps = reader.uint32();
29414
29684
  break;
29415
29685
  }
29416
29686
  case 5: {
29417
- message.width = reader.uint32();
29687
+ message.profile = reader.int32();
29418
29688
  break;
29419
29689
  }
29420
29690
  case 6: {
29421
- message.height = reader.uint32();
29691
+ message.bframes = reader.uint32();
29422
29692
  break;
29423
29693
  }
29424
29694
  case 7: {
29425
- 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();
29426
29728
  break;
29427
29729
  }
29428
29730
  default:
@@ -29434,64 +29736,654 @@ export const sesame = $root.sesame = (() => {
29434
29736
  };
29435
29737
 
29436
29738
  /**
29437
- * 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.
29438
29740
  * @function decodeDelimited
29439
- * @memberof sesame.v1.outputs.EncoderConfig
29741
+ * @memberof sesame.v1.outputs.EncoderSettings
29440
29742
  * @static
29441
29743
  * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
29442
- * @returns {sesame.v1.outputs.EncoderConfig} EncoderConfig
29744
+ * @returns {sesame.v1.outputs.EncoderSettings} EncoderSettings
29443
29745
  * @throws {Error} If the payload is not a reader or valid buffer
29444
29746
  * @throws {$protobuf.util.ProtocolError} If required fields are missing
29445
29747
  */
29446
- EncoderConfig.decodeDelimited = function decodeDelimited(reader) {
29748
+ EncoderSettings.decodeDelimited = function decodeDelimited(reader) {
29447
29749
  if (!(reader instanceof $Reader))
29448
29750
  reader = new $Reader(reader);
29449
29751
  return this.decode(reader, reader.uint32());
29450
29752
  };
29451
29753
 
29452
29754
  /**
29453
- * Verifies an EncoderConfig message.
29755
+ * Verifies an EncoderSettings message.
29454
29756
  * @function verify
29455
- * @memberof sesame.v1.outputs.EncoderConfig
29757
+ * @memberof sesame.v1.outputs.EncoderSettings
29456
29758
  * @static
29457
29759
  * @param {Object.<string,*>} message Plain object to verify
29458
29760
  * @returns {string|null} `null` if valid, otherwise the reason why it is not
29459
29761
  */
29460
- EncoderConfig.verify = function verify(message) {
29762
+ EncoderSettings.verify = function verify(message) {
29461
29763
  if (typeof message !== "object" || message === null)
29462
29764
  return "object expected";
29463
- if (message.codec != null && message.hasOwnProperty("codec"))
29464
- switch (message.codec) {
29765
+ if (message.tuning != null && message.hasOwnProperty("tuning"))
29766
+ switch (message.tuning) {
29465
29767
  default:
29466
- return "codec: enum value expected";
29768
+ return "tuning: enum value expected";
29467
29769
  case 0:
29468
29770
  case 1:
29469
29771
  case 2:
29470
29772
  case 3:
29471
- case 4:
29472
- case 5:
29473
- case 6:
29474
- case 7:
29475
- case 64:
29476
- case 65:
29477
- case 66:
29478
- case 67:
29479
29773
  break;
29480
29774
  }
29481
- if (message.preset != null && message.hasOwnProperty("preset"))
29482
- 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) {
29483
29780
  default:
29484
- return "preset: enum value expected";
29781
+ return "rateControl: enum value expected";
29485
29782
  case 0:
29486
29783
  case 1:
29487
29784
  case 2:
29488
- case 3:
29489
29785
  break;
29490
29786
  }
29491
- if (message.bitrateKbps != null && message.hasOwnProperty("bitrateKbps"))
29492
- if (!$util.isInteger(message.bitrateKbps))
29493
- return "bitrateKbps: integer expected";
29494
- if (message.keyframeInterval != null && message.hasOwnProperty("keyframeInterval"))
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) {
30367
+ default:
30368
+ return "codec: enum value expected";
30369
+ case 0:
30370
+ case 1:
30371
+ case 2:
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:
30381
+ break;
30382
+ }
30383
+ if (message.bitrateKbps != null && message.hasOwnProperty("bitrateKbps"))
30384
+ if (!$util.isInteger(message.bitrateKbps))
30385
+ return "bitrateKbps: integer expected";
30386
+ if (message.keyframeInterval != null && message.hasOwnProperty("keyframeInterval"))
29495
30387
  if (!$util.isInteger(message.keyframeInterval))
29496
30388
  return "keyframeInterval: integer expected";
29497
30389
  if (message.width != null && message.hasOwnProperty("width"))
@@ -29503,6 +30395,23 @@ export const sesame = $root.sesame = (() => {
29503
30395
  if (message.fps != null && message.hasOwnProperty("fps"))
29504
30396
  if (typeof message.fps !== "number")
29505
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
+ }
29506
30415
  return null;
29507
30416
  };
29508
30417
 
@@ -29574,40 +30483,43 @@ export const sesame = $root.sesame = (() => {
29574
30483
  message.codec = 67;
29575
30484
  break;
29576
30485
  }
29577
- 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) {
29578
30497
  default:
29579
- if (typeof object.preset === "number") {
29580
- message.preset = object.preset;
30498
+ if (typeof object.timecodeMode === "number") {
30499
+ message.timecodeMode = object.timecodeMode;
29581
30500
  break;
29582
30501
  }
29583
30502
  break;
29584
- case "ENCODER_PRESET_UNSPECIFIED":
30503
+ case "TIMECODE_MODE_UNSPECIFIED":
29585
30504
  case 0:
29586
- message.preset = 0;
30505
+ message.timecodeMode = 0;
29587
30506
  break;
29588
- case "ENCODER_PRESET_LOW_LATENCY":
30507
+ case "TIMECODE_MODE_WALLCLOCK":
29589
30508
  case 1:
29590
- message.preset = 1;
30509
+ message.timecodeMode = 1;
29591
30510
  break;
29592
- case "ENCODER_PRESET_LOW_LATENCY_IDR_ONLY":
30511
+ case "TIMECODE_MODE_SOURCE":
29593
30512
  case 2:
29594
- message.preset = 2;
29595
- break;
29596
- case "ENCODER_PRESET_HIGH_QUALITY":
29597
- case 3:
29598
- message.preset = 3;
30513
+ message.timecodeMode = 2;
29599
30514
  break;
29600
30515
  }
29601
- if (object.bitrateKbps != null)
29602
- message.bitrateKbps = object.bitrateKbps >>> 0;
29603
- if (object.keyframeInterval != null)
29604
- message.keyframeInterval = object.keyframeInterval >>> 0;
29605
- if (object.width != null)
29606
- message.width = object.width >>> 0;
29607
- if (object.height != null)
29608
- message.height = object.height >>> 0;
29609
- if (object.fps != null)
29610
- 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
+ }
29611
30523
  return message;
29612
30524
  };
29613
30525
 
@@ -29626,17 +30538,17 @@ export const sesame = $root.sesame = (() => {
29626
30538
  let object = {};
29627
30539
  if (options.defaults) {
29628
30540
  object.codec = options.enums === String ? "CODEC_TYPE_UNSPECIFIED" : 0;
29629
- object.preset = options.enums === String ? "ENCODER_PRESET_UNSPECIFIED" : 0;
29630
30541
  object.bitrateKbps = 0;
29631
30542
  object.keyframeInterval = 0;
29632
30543
  object.width = 0;
29633
30544
  object.height = 0;
29634
30545
  object.fps = 0;
30546
+ object.timecodeMode = options.enums === String ? "TIMECODE_MODE_UNSPECIFIED" : 0;
30547
+ object.timecodeSourceId = "";
30548
+ object.settings = null;
29635
30549
  }
29636
30550
  if (message.codec != null && message.hasOwnProperty("codec"))
29637
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;
29638
- if (message.preset != null && message.hasOwnProperty("preset"))
29639
- object.preset = options.enums === String ? $root.sesame.v1.outputs.EncoderPreset[message.preset] === undefined ? message.preset : $root.sesame.v1.outputs.EncoderPreset[message.preset] : message.preset;
29640
30552
  if (message.bitrateKbps != null && message.hasOwnProperty("bitrateKbps"))
29641
30553
  object.bitrateKbps = message.bitrateKbps;
29642
30554
  if (message.keyframeInterval != null && message.hasOwnProperty("keyframeInterval"))
@@ -29647,6 +30559,12 @@ export const sesame = $root.sesame = (() => {
29647
30559
  object.height = message.height;
29648
30560
  if (message.fps != null && message.hasOwnProperty("fps"))
29649
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);
29650
30568
  return object;
29651
30569
  };
29652
30570
 
@@ -30407,6 +31325,8 @@ export const sesame = $root.sesame = (() => {
30407
31325
  * @property {number|null} [deviceIndex] DecklinkOutputConfig deviceIndex
30408
31326
  * @property {sesame.v1.common.VideoFormat|null} [videoFormat] DecklinkOutputConfig videoFormat
30409
31327
  * @property {boolean|null} [keyAndFill] DecklinkOutputConfig keyAndFill
31328
+ * @property {sesame.v1.outputs.TimecodeMode|null} [timecodeMode] DecklinkOutputConfig timecodeMode
31329
+ * @property {string|null} [timecodeSourceId] DecklinkOutputConfig timecodeSourceId
30410
31330
  */
30411
31331
 
30412
31332
  /**
@@ -30448,6 +31368,22 @@ export const sesame = $root.sesame = (() => {
30448
31368
  */
30449
31369
  DecklinkOutputConfig.prototype.keyAndFill = false;
30450
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
+
30451
31387
  /**
30452
31388
  * Creates a new DecklinkOutputConfig instance using the specified properties.
30453
31389
  * @function create
@@ -30478,6 +31414,10 @@ export const sesame = $root.sesame = (() => {
30478
31414
  writer.uint32(/* id 2, wireType 0 =*/16).int32(message.videoFormat);
30479
31415
  if (message.keyAndFill != null && Object.hasOwnProperty.call(message, "keyAndFill"))
30480
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);
30481
31421
  return writer;
30482
31422
  };
30483
31423
 
@@ -30526,6 +31466,14 @@ export const sesame = $root.sesame = (() => {
30526
31466
  message.keyAndFill = reader.bool();
30527
31467
  break;
30528
31468
  }
31469
+ case 4: {
31470
+ message.timecodeMode = reader.int32();
31471
+ break;
31472
+ }
31473
+ case 5: {
31474
+ message.timecodeSourceId = reader.string();
31475
+ break;
31476
+ }
30529
31477
  default:
30530
31478
  reader.skipType(tag & 7);
30531
31479
  break;
@@ -30578,6 +31526,18 @@ export const sesame = $root.sesame = (() => {
30578
31526
  if (message.keyAndFill != null && message.hasOwnProperty("keyAndFill"))
30579
31527
  if (typeof message.keyAndFill !== "boolean")
30580
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";
30581
31541
  return null;
30582
31542
  };
30583
31543
 
@@ -30625,6 +31585,28 @@ export const sesame = $root.sesame = (() => {
30625
31585
  }
30626
31586
  if (object.keyAndFill != null)
30627
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);
30628
31610
  return message;
30629
31611
  };
30630
31612
 
@@ -30645,6 +31627,8 @@ export const sesame = $root.sesame = (() => {
30645
31627
  object.deviceIndex = 0;
30646
31628
  object.videoFormat = options.enums === String ? "VIDEO_FORMAT_UNSPECIFIED" : 0;
30647
31629
  object.keyAndFill = false;
31630
+ object.timecodeMode = options.enums === String ? "TIMECODE_MODE_UNSPECIFIED" : 0;
31631
+ object.timecodeSourceId = "";
30648
31632
  }
30649
31633
  if (message.deviceIndex != null && message.hasOwnProperty("deviceIndex"))
30650
31634
  object.deviceIndex = message.deviceIndex;
@@ -30652,6 +31636,10 @@ export const sesame = $root.sesame = (() => {
30652
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;
30653
31637
  if (message.keyAndFill != null && message.hasOwnProperty("keyAndFill"))
30654
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;
30655
31643
  return object;
30656
31644
  };
30657
31645
 
@@ -34442,6 +35430,7 @@ export const sesame = $root.sesame = (() => {
34442
35430
  * @property {sesame.v1.common.ConnectionState|null} [state] EncoderStatus state
34443
35431
  * @property {string|null} [msg] EncoderStatus msg
34444
35432
  * @property {string|null} [compositionId] EncoderStatus compositionId
35433
+ * @property {number|null} [droppedFrames] EncoderStatus droppedFrames
34445
35434
  */
34446
35435
 
34447
35436
  /**
@@ -34499,6 +35488,14 @@ export const sesame = $root.sesame = (() => {
34499
35488
  */
34500
35489
  EncoderStatus.prototype.compositionId = "";
34501
35490
 
35491
+ /**
35492
+ * EncoderStatus droppedFrames.
35493
+ * @member {number} droppedFrames
35494
+ * @memberof sesame.v1.outputs.EncoderStatus
35495
+ * @instance
35496
+ */
35497
+ EncoderStatus.prototype.droppedFrames = 0;
35498
+
34502
35499
  // OneOf field names bound to virtual getters and setters
34503
35500
  let $oneOfFields;
34504
35501
 
@@ -34542,6 +35539,8 @@ export const sesame = $root.sesame = (() => {
34542
35539
  writer.uint32(/* id 4, wireType 2 =*/34).string(message.msg);
34543
35540
  if (message.compositionId != null && Object.hasOwnProperty.call(message, "compositionId"))
34544
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);
34545
35544
  return writer;
34546
35545
  };
34547
35546
 
@@ -34598,6 +35597,10 @@ export const sesame = $root.sesame = (() => {
34598
35597
  message.compositionId = reader.string();
34599
35598
  break;
34600
35599
  }
35600
+ case 6: {
35601
+ message.droppedFrames = reader.uint32();
35602
+ break;
35603
+ }
34601
35604
  default:
34602
35605
  reader.skipType(tag & 7);
34603
35606
  break;
@@ -34666,6 +35669,9 @@ export const sesame = $root.sesame = (() => {
34666
35669
  if (message.compositionId != null && message.hasOwnProperty("compositionId"))
34667
35670
  if (!$util.isString(message.compositionId))
34668
35671
  return "compositionId: string expected";
35672
+ if (message.droppedFrames != null && message.hasOwnProperty("droppedFrames"))
35673
+ if (!$util.isInteger(message.droppedFrames))
35674
+ return "droppedFrames: integer expected";
34669
35675
  return null;
34670
35676
  };
34671
35677
 
@@ -34739,6 +35745,8 @@ export const sesame = $root.sesame = (() => {
34739
35745
  message.msg = String(object.msg);
34740
35746
  if (object.compositionId != null)
34741
35747
  message.compositionId = String(object.compositionId);
35748
+ if (object.droppedFrames != null)
35749
+ message.droppedFrames = object.droppedFrames >>> 0;
34742
35750
  return message;
34743
35751
  };
34744
35752
 
@@ -34760,6 +35768,7 @@ export const sesame = $root.sesame = (() => {
34760
35768
  object.type = options.enums === String ? "ENCODER_TYPE_UNSPECIFIED" : 0;
34761
35769
  object.state = options.enums === String ? "CONNECTION_STATE_UNSPECIFIED" : 0;
34762
35770
  object.compositionId = "";
35771
+ object.droppedFrames = 0;
34763
35772
  }
34764
35773
  if (message.id != null && message.hasOwnProperty("id"))
34765
35774
  object.id = message.id;
@@ -34774,6 +35783,8 @@ export const sesame = $root.sesame = (() => {
34774
35783
  }
34775
35784
  if (message.compositionId != null && message.hasOwnProperty("compositionId"))
34776
35785
  object.compositionId = message.compositionId;
35786
+ if (message.droppedFrames != null && message.hasOwnProperty("droppedFrames"))
35787
+ object.droppedFrames = message.droppedFrames;
34777
35788
  return object;
34778
35789
  };
34779
35790