@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.
@@ -7744,6 +7744,13 @@ var sesame = $root.sesame = (() => {
7744
7744
  values[valuesById[3] = "SIGNAL_GENERATOR_AUDIO_MODE_SILENCE"] = 3;
7745
7745
  return values;
7746
7746
  }();
7747
+ sources.SignalGeneratorTimecodeMode = function() {
7748
+ const valuesById = {}, values = Object.create(valuesById);
7749
+ values[valuesById[0] = "SIGNAL_GENERATOR_TIMECODE_MODE_NONE"] = 0;
7750
+ values[valuesById[1] = "SIGNAL_GENERATOR_TIMECODE_MODE_FREE_RUN"] = 1;
7751
+ values[valuesById[2] = "SIGNAL_GENERATOR_TIMECODE_MODE_TIME_OF_DAY"] = 2;
7752
+ return values;
7753
+ }();
7747
7754
  sources.SignalGeneratorSourceConfig = function() {
7748
7755
  function SignalGeneratorSourceConfig(properties) {
7749
7756
  if (properties) {
@@ -7755,6 +7762,8 @@ var sesame = $root.sesame = (() => {
7755
7762
  SignalGeneratorSourceConfig.prototype.freeze = false;
7756
7763
  SignalGeneratorSourceConfig.prototype.videoPattern = 0;
7757
7764
  SignalGeneratorSourceConfig.prototype.audioMode = 0;
7765
+ SignalGeneratorSourceConfig.prototype.timecodeMode = 0;
7766
+ SignalGeneratorSourceConfig.prototype.timecodeStartFrame = 0;
7758
7767
  SignalGeneratorSourceConfig.create = function create(properties) {
7759
7768
  return new SignalGeneratorSourceConfig(properties);
7760
7769
  };
@@ -7776,6 +7785,16 @@ var sesame = $root.sesame = (() => {
7776
7785
  /* id 3, wireType 0 =*/
7777
7786
  24
7778
7787
  ).int32(message.audioMode);
7788
+ if (message.timecodeMode != null && Object.hasOwnProperty.call(message, "timecodeMode"))
7789
+ writer.uint32(
7790
+ /* id 4, wireType 0 =*/
7791
+ 32
7792
+ ).int32(message.timecodeMode);
7793
+ if (message.timecodeStartFrame != null && Object.hasOwnProperty.call(message, "timecodeStartFrame"))
7794
+ writer.uint32(
7795
+ /* id 5, wireType 0 =*/
7796
+ 40
7797
+ ).uint32(message.timecodeStartFrame);
7779
7798
  return writer;
7780
7799
  };
7781
7800
  SignalGeneratorSourceConfig.encodeDelimited = function encodeDelimited(message, writer) {
@@ -7802,6 +7821,14 @@ var sesame = $root.sesame = (() => {
7802
7821
  message.audioMode = reader.int32();
7803
7822
  break;
7804
7823
  }
7824
+ case 4: {
7825
+ message.timecodeMode = reader.int32();
7826
+ break;
7827
+ }
7828
+ case 5: {
7829
+ message.timecodeStartFrame = reader.uint32();
7830
+ break;
7831
+ }
7805
7832
  default:
7806
7833
  reader.skipType(tag & 7);
7807
7834
  break;
@@ -7841,6 +7868,19 @@ var sesame = $root.sesame = (() => {
7841
7868
  case 3:
7842
7869
  break;
7843
7870
  }
7871
+ if (message.timecodeMode != null && message.hasOwnProperty("timecodeMode"))
7872
+ switch (message.timecodeMode) {
7873
+ default:
7874
+ return "timecodeMode: enum value expected";
7875
+ case 0:
7876
+ case 1:
7877
+ case 2:
7878
+ break;
7879
+ }
7880
+ if (message.timecodeStartFrame != null && message.hasOwnProperty("timecodeStartFrame")) {
7881
+ if (!$util.isInteger(message.timecodeStartFrame))
7882
+ return "timecodeStartFrame: integer expected";
7883
+ }
7844
7884
  return null;
7845
7885
  };
7846
7886
  SignalGeneratorSourceConfig.fromObject = function fromObject(object) {
@@ -7897,6 +7937,28 @@ var sesame = $root.sesame = (() => {
7897
7937
  message.audioMode = 3;
7898
7938
  break;
7899
7939
  }
7940
+ switch (object.timecodeMode) {
7941
+ default:
7942
+ if (typeof object.timecodeMode === "number") {
7943
+ message.timecodeMode = object.timecodeMode;
7944
+ break;
7945
+ }
7946
+ break;
7947
+ case "SIGNAL_GENERATOR_TIMECODE_MODE_NONE":
7948
+ case 0:
7949
+ message.timecodeMode = 0;
7950
+ break;
7951
+ case "SIGNAL_GENERATOR_TIMECODE_MODE_FREE_RUN":
7952
+ case 1:
7953
+ message.timecodeMode = 1;
7954
+ break;
7955
+ case "SIGNAL_GENERATOR_TIMECODE_MODE_TIME_OF_DAY":
7956
+ case 2:
7957
+ message.timecodeMode = 2;
7958
+ break;
7959
+ }
7960
+ if (object.timecodeStartFrame != null)
7961
+ message.timecodeStartFrame = object.timecodeStartFrame >>> 0;
7900
7962
  return message;
7901
7963
  };
7902
7964
  SignalGeneratorSourceConfig.toObject = function toObject(message, options) {
@@ -7907,6 +7969,8 @@ var sesame = $root.sesame = (() => {
7907
7969
  object.freeze = false;
7908
7970
  object.videoPattern = options.enums === String ? "SIGNAL_GENERATOR_VIDEO_PATTERN_BARS" : 0;
7909
7971
  object.audioMode = options.enums === String ? "SIGNAL_GENERATOR_AUDIO_MODE_SYNC" : 0;
7972
+ object.timecodeMode = options.enums === String ? "SIGNAL_GENERATOR_TIMECODE_MODE_NONE" : 0;
7973
+ object.timecodeStartFrame = 0;
7910
7974
  }
7911
7975
  if (message.freeze != null && message.hasOwnProperty("freeze"))
7912
7976
  object.freeze = message.freeze;
@@ -7914,6 +7978,10 @@ var sesame = $root.sesame = (() => {
7914
7978
  object.videoPattern = options.enums === String ? $root.sesame.v1.sources.SignalGeneratorVideoPattern[message.videoPattern] === void 0 ? message.videoPattern : $root.sesame.v1.sources.SignalGeneratorVideoPattern[message.videoPattern] : message.videoPattern;
7915
7979
  if (message.audioMode != null && message.hasOwnProperty("audioMode"))
7916
7980
  object.audioMode = options.enums === String ? $root.sesame.v1.sources.SignalGeneratorAudioMode[message.audioMode] === void 0 ? message.audioMode : $root.sesame.v1.sources.SignalGeneratorAudioMode[message.audioMode] : message.audioMode;
7981
+ if (message.timecodeMode != null && message.hasOwnProperty("timecodeMode"))
7982
+ object.timecodeMode = options.enums === String ? $root.sesame.v1.sources.SignalGeneratorTimecodeMode[message.timecodeMode] === void 0 ? message.timecodeMode : $root.sesame.v1.sources.SignalGeneratorTimecodeMode[message.timecodeMode] : message.timecodeMode;
7983
+ if (message.timecodeStartFrame != null && message.hasOwnProperty("timecodeStartFrame"))
7984
+ object.timecodeStartFrame = message.timecodeStartFrame;
7917
7985
  return object;
7918
7986
  };
7919
7987
  SignalGeneratorSourceConfig.prototype.toJSON = function toJSON() {
@@ -15039,6 +15107,9 @@ var sesame = $root.sesame = (() => {
15039
15107
  SystemStatus.prototype.gpuDecoderUtilization = 0;
15040
15108
  SystemStatus.prototype.gpuName = "";
15041
15109
  SystemStatus.prototype.vmaBytes = $util.Long ? $util.Long.fromBits(0, 0, true) : 0;
15110
+ SystemStatus.prototype.version = "";
15111
+ SystemStatus.prototype.nvencSessions = 0;
15112
+ SystemStatus.prototype.nvdecSessions = 0;
15042
15113
  SystemStatus.create = function create(properties) {
15043
15114
  return new SystemStatus(properties);
15044
15115
  };
@@ -15130,6 +15201,21 @@ var sesame = $root.sesame = (() => {
15130
15201
  /* id 17, wireType 0 =*/
15131
15202
  136
15132
15203
  ).uint64(message.vmaBytes);
15204
+ if (message.version != null && Object.hasOwnProperty.call(message, "version"))
15205
+ writer.uint32(
15206
+ /* id 18, wireType 2 =*/
15207
+ 146
15208
+ ).string(message.version);
15209
+ if (message.nvencSessions != null && Object.hasOwnProperty.call(message, "nvencSessions"))
15210
+ writer.uint32(
15211
+ /* id 19, wireType 0 =*/
15212
+ 152
15213
+ ).uint32(message.nvencSessions);
15214
+ if (message.nvdecSessions != null && Object.hasOwnProperty.call(message, "nvdecSessions"))
15215
+ writer.uint32(
15216
+ /* id 20, wireType 0 =*/
15217
+ 160
15218
+ ).uint32(message.nvdecSessions);
15133
15219
  return writer;
15134
15220
  };
15135
15221
  SystemStatus.encodeDelimited = function encodeDelimited(message, writer) {
@@ -15212,6 +15298,18 @@ var sesame = $root.sesame = (() => {
15212
15298
  message.vmaBytes = reader.uint64();
15213
15299
  break;
15214
15300
  }
15301
+ case 18: {
15302
+ message.version = reader.string();
15303
+ break;
15304
+ }
15305
+ case 19: {
15306
+ message.nvencSessions = reader.uint32();
15307
+ break;
15308
+ }
15309
+ case 20: {
15310
+ message.nvdecSessions = reader.uint32();
15311
+ break;
15312
+ }
15215
15313
  default:
15216
15314
  reader.skipType(tag & 7);
15217
15315
  break;
@@ -15299,6 +15397,18 @@ var sesame = $root.sesame = (() => {
15299
15397
  if (!$util.isInteger(message.vmaBytes) && !(message.vmaBytes && $util.isInteger(message.vmaBytes.low) && $util.isInteger(message.vmaBytes.high)))
15300
15398
  return "vmaBytes: integer|Long expected";
15301
15399
  }
15400
+ if (message.version != null && message.hasOwnProperty("version")) {
15401
+ if (!$util.isString(message.version))
15402
+ return "version: string expected";
15403
+ }
15404
+ if (message.nvencSessions != null && message.hasOwnProperty("nvencSessions")) {
15405
+ if (!$util.isInteger(message.nvencSessions))
15406
+ return "nvencSessions: integer expected";
15407
+ }
15408
+ if (message.nvdecSessions != null && message.hasOwnProperty("nvdecSessions")) {
15409
+ if (!$util.isInteger(message.nvdecSessions))
15410
+ return "nvdecSessions: integer expected";
15411
+ }
15302
15412
  return null;
15303
15413
  };
15304
15414
  SystemStatus.fromObject = function fromObject(object) {
@@ -15399,6 +15509,12 @@ var sesame = $root.sesame = (() => {
15399
15509
  else if (typeof object.vmaBytes === "object")
15400
15510
  message.vmaBytes = new $util.LongBits(object.vmaBytes.low >>> 0, object.vmaBytes.high >>> 0).toNumber(true);
15401
15511
  }
15512
+ if (object.version != null)
15513
+ message.version = String(object.version);
15514
+ if (object.nvencSessions != null)
15515
+ message.nvencSessions = object.nvencSessions >>> 0;
15516
+ if (object.nvdecSessions != null)
15517
+ message.nvdecSessions = object.nvdecSessions >>> 0;
15402
15518
  return message;
15403
15519
  };
15404
15520
  SystemStatus.toObject = function toObject(message, options) {
@@ -15447,6 +15563,9 @@ var sesame = $root.sesame = (() => {
15447
15563
  object.vmaBytes = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
15448
15564
  } else
15449
15565
  object.vmaBytes = options.longs === String ? "0" : 0;
15566
+ object.version = "";
15567
+ object.nvencSessions = 0;
15568
+ object.nvdecSessions = 0;
15450
15569
  }
15451
15570
  if (message.uptime != null && message.hasOwnProperty("uptime"))
15452
15571
  if (typeof message.uptime === "number")
@@ -15500,6 +15619,12 @@ var sesame = $root.sesame = (() => {
15500
15619
  object.vmaBytes = options.longs === String ? String(message.vmaBytes) : message.vmaBytes;
15501
15620
  else
15502
15621
  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;
15622
+ if (message.version != null && message.hasOwnProperty("version"))
15623
+ object.version = message.version;
15624
+ if (message.nvencSessions != null && message.hasOwnProperty("nvencSessions"))
15625
+ object.nvencSessions = message.nvencSessions;
15626
+ if (message.nvdecSessions != null && message.hasOwnProperty("nvdecSessions"))
15627
+ object.nvdecSessions = message.nvdecSessions;
15503
15628
  return object;
15504
15629
  };
15505
15630
  SystemStatus.prototype.toJSON = function toJSON() {
@@ -17553,117 +17678,219 @@ var sesame = $root.sesame = (() => {
17553
17678
  values[valuesById[1] = "ENCODER_TYPE_VIDEO"] = 1;
17554
17679
  return values;
17555
17680
  }();
17556
- outputs.EncoderPreset = function() {
17681
+ outputs.EncoderTuning = function() {
17557
17682
  const valuesById = {}, values = Object.create(valuesById);
17558
- values[valuesById[0] = "ENCODER_PRESET_UNSPECIFIED"] = 0;
17559
- values[valuesById[1] = "ENCODER_PRESET_LOW_LATENCY"] = 1;
17560
- values[valuesById[2] = "ENCODER_PRESET_LOW_LATENCY_IDR_ONLY"] = 2;
17561
- values[valuesById[3] = "ENCODER_PRESET_HIGH_QUALITY"] = 3;
17683
+ values[valuesById[0] = "ENCODER_TUNING_UNSPECIFIED"] = 0;
17684
+ values[valuesById[1] = "ENCODER_TUNING_ULTRA_LOW_LATENCY"] = 1;
17685
+ values[valuesById[2] = "ENCODER_TUNING_LOW_LATENCY"] = 2;
17686
+ values[valuesById[3] = "ENCODER_TUNING_HIGH_QUALITY"] = 3;
17562
17687
  return values;
17563
17688
  }();
17564
- outputs.RecorderType = function() {
17689
+ outputs.EncoderRateControl = function() {
17565
17690
  const valuesById = {}, values = Object.create(valuesById);
17566
- values[valuesById[0] = "RECORDER_TYPE_UNSPECIFIED"] = 0;
17567
- values[valuesById[1] = "RECORDER_TYPE_LIVE"] = 1;
17568
- values[valuesById[2] = "RECORDER_TYPE_CLIPS"] = 2;
17691
+ values[valuesById[0] = "ENCODER_RATE_CONTROL_UNSPECIFIED"] = 0;
17692
+ values[valuesById[1] = "ENCODER_RATE_CONTROL_CBR"] = 1;
17693
+ values[valuesById[2] = "ENCODER_RATE_CONTROL_VBR"] = 2;
17569
17694
  return values;
17570
17695
  }();
17571
- outputs.EncoderConfig = function() {
17572
- function EncoderConfig(properties) {
17696
+ outputs.EncoderProfile = function() {
17697
+ const valuesById = {}, values = Object.create(valuesById);
17698
+ values[valuesById[0] = "ENCODER_PROFILE_AUTO"] = 0;
17699
+ values[valuesById[1] = "ENCODER_PROFILE_BASELINE"] = 1;
17700
+ values[valuesById[2] = "ENCODER_PROFILE_MAIN"] = 2;
17701
+ values[valuesById[3] = "ENCODER_PROFILE_MAIN10"] = 3;
17702
+ values[valuesById[4] = "ENCODER_PROFILE_HIGH"] = 4;
17703
+ return values;
17704
+ }();
17705
+ outputs.EncoderMultipass = function() {
17706
+ const valuesById = {}, values = Object.create(valuesById);
17707
+ values[valuesById[0] = "ENCODER_MULTIPASS_DISABLED"] = 0;
17708
+ values[valuesById[1] = "ENCODER_MULTIPASS_QUARTER_RESOLUTION"] = 1;
17709
+ values[valuesById[2] = "ENCODER_MULTIPASS_FULL_RESOLUTION"] = 2;
17710
+ return values;
17711
+ }();
17712
+ outputs.EncoderChromaFormat = function() {
17713
+ const valuesById = {}, values = Object.create(valuesById);
17714
+ values[valuesById[0] = "ENCODER_CHROMA_FORMAT_420"] = 0;
17715
+ values[valuesById[1] = "ENCODER_CHROMA_FORMAT_444"] = 1;
17716
+ return values;
17717
+ }();
17718
+ outputs.EncoderSettings = function() {
17719
+ function EncoderSettings(properties) {
17573
17720
  if (properties) {
17574
17721
  for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)
17575
17722
  if (properties[keys[i]] != null)
17576
17723
  this[keys[i]] = properties[keys[i]];
17577
17724
  }
17578
17725
  }
17579
- EncoderConfig.prototype.codec = 0;
17580
- EncoderConfig.prototype.preset = 0;
17581
- EncoderConfig.prototype.bitrateKbps = 0;
17582
- EncoderConfig.prototype.keyframeInterval = 0;
17583
- EncoderConfig.prototype.width = 0;
17584
- EncoderConfig.prototype.height = 0;
17585
- EncoderConfig.prototype.fps = 0;
17586
- EncoderConfig.create = function create(properties) {
17587
- return new EncoderConfig(properties);
17588
- };
17589
- EncoderConfig.encode = function encode(message, writer) {
17726
+ EncoderSettings.prototype.tuning = 0;
17727
+ EncoderSettings.prototype.effort = 0;
17728
+ EncoderSettings.prototype.rateControl = 0;
17729
+ EncoderSettings.prototype.maxBitrateKbps = 0;
17730
+ EncoderSettings.prototype.profile = 0;
17731
+ EncoderSettings.prototype.bframes = 0;
17732
+ EncoderSettings.prototype.idrOnly = false;
17733
+ EncoderSettings.prototype.spatialAq = false;
17734
+ EncoderSettings.prototype.multipass = 0;
17735
+ EncoderSettings.prototype.lookaheadDepth = 0;
17736
+ EncoderSettings.prototype.zeroReorderDelay = false;
17737
+ EncoderSettings.prototype.bitDepth = 0;
17738
+ EncoderSettings.prototype.chromaFormat = 0;
17739
+ EncoderSettings.prototype.outputAud = false;
17740
+ EncoderSettings.prototype.level = "";
17741
+ EncoderSettings.create = function create(properties) {
17742
+ return new EncoderSettings(properties);
17743
+ };
17744
+ EncoderSettings.encode = function encode(message, writer) {
17590
17745
  if (!writer)
17591
17746
  writer = $Writer.create();
17592
- if (message.codec != null && Object.hasOwnProperty.call(message, "codec"))
17747
+ if (message.tuning != null && Object.hasOwnProperty.call(message, "tuning"))
17593
17748
  writer.uint32(
17594
17749
  /* id 1, wireType 0 =*/
17595
17750
  8
17596
- ).int32(message.codec);
17597
- if (message.preset != null && Object.hasOwnProperty.call(message, "preset"))
17751
+ ).int32(message.tuning);
17752
+ if (message.effort != null && Object.hasOwnProperty.call(message, "effort"))
17598
17753
  writer.uint32(
17599
17754
  /* id 2, wireType 0 =*/
17600
17755
  16
17601
- ).int32(message.preset);
17602
- if (message.bitrateKbps != null && Object.hasOwnProperty.call(message, "bitrateKbps"))
17756
+ ).uint32(message.effort);
17757
+ if (message.rateControl != null && Object.hasOwnProperty.call(message, "rateControl"))
17603
17758
  writer.uint32(
17604
17759
  /* id 3, wireType 0 =*/
17605
17760
  24
17606
- ).uint32(message.bitrateKbps);
17607
- if (message.keyframeInterval != null && Object.hasOwnProperty.call(message, "keyframeInterval"))
17761
+ ).int32(message.rateControl);
17762
+ if (message.maxBitrateKbps != null && Object.hasOwnProperty.call(message, "maxBitrateKbps"))
17608
17763
  writer.uint32(
17609
17764
  /* id 4, wireType 0 =*/
17610
17765
  32
17611
- ).uint32(message.keyframeInterval);
17612
- if (message.width != null && Object.hasOwnProperty.call(message, "width"))
17766
+ ).uint32(message.maxBitrateKbps);
17767
+ if (message.profile != null && Object.hasOwnProperty.call(message, "profile"))
17613
17768
  writer.uint32(
17614
17769
  /* id 5, wireType 0 =*/
17615
17770
  40
17616
- ).uint32(message.width);
17617
- if (message.height != null && Object.hasOwnProperty.call(message, "height"))
17771
+ ).int32(message.profile);
17772
+ if (message.bframes != null && Object.hasOwnProperty.call(message, "bframes"))
17618
17773
  writer.uint32(
17619
17774
  /* id 6, wireType 0 =*/
17620
17775
  48
17621
- ).uint32(message.height);
17622
- if (message.fps != null && Object.hasOwnProperty.call(message, "fps"))
17776
+ ).uint32(message.bframes);
17777
+ if (message.idrOnly != null && Object.hasOwnProperty.call(message, "idrOnly"))
17623
17778
  writer.uint32(
17624
- /* id 7, wireType 5 =*/
17625
- 61
17626
- ).float(message.fps);
17779
+ /* id 7, wireType 0 =*/
17780
+ 56
17781
+ ).bool(message.idrOnly);
17782
+ if (message.spatialAq != null && Object.hasOwnProperty.call(message, "spatialAq"))
17783
+ writer.uint32(
17784
+ /* id 8, wireType 0 =*/
17785
+ 64
17786
+ ).bool(message.spatialAq);
17787
+ if (message.multipass != null && Object.hasOwnProperty.call(message, "multipass"))
17788
+ writer.uint32(
17789
+ /* id 9, wireType 0 =*/
17790
+ 72
17791
+ ).int32(message.multipass);
17792
+ if (message.lookaheadDepth != null && Object.hasOwnProperty.call(message, "lookaheadDepth"))
17793
+ writer.uint32(
17794
+ /* id 10, wireType 0 =*/
17795
+ 80
17796
+ ).uint32(message.lookaheadDepth);
17797
+ if (message.zeroReorderDelay != null && Object.hasOwnProperty.call(message, "zeroReorderDelay"))
17798
+ writer.uint32(
17799
+ /* id 11, wireType 0 =*/
17800
+ 88
17801
+ ).bool(message.zeroReorderDelay);
17802
+ if (message.bitDepth != null && Object.hasOwnProperty.call(message, "bitDepth"))
17803
+ writer.uint32(
17804
+ /* id 12, wireType 0 =*/
17805
+ 96
17806
+ ).uint32(message.bitDepth);
17807
+ if (message.chromaFormat != null && Object.hasOwnProperty.call(message, "chromaFormat"))
17808
+ writer.uint32(
17809
+ /* id 13, wireType 0 =*/
17810
+ 104
17811
+ ).int32(message.chromaFormat);
17812
+ if (message.outputAud != null && Object.hasOwnProperty.call(message, "outputAud"))
17813
+ writer.uint32(
17814
+ /* id 14, wireType 0 =*/
17815
+ 112
17816
+ ).bool(message.outputAud);
17817
+ if (message.level != null && Object.hasOwnProperty.call(message, "level"))
17818
+ writer.uint32(
17819
+ /* id 15, wireType 2 =*/
17820
+ 122
17821
+ ).string(message.level);
17627
17822
  return writer;
17628
17823
  };
17629
- EncoderConfig.encodeDelimited = function encodeDelimited(message, writer) {
17824
+ EncoderSettings.encodeDelimited = function encodeDelimited(message, writer) {
17630
17825
  return this.encode(message, writer).ldelim();
17631
17826
  };
17632
- EncoderConfig.decode = function decode(reader, length, error) {
17827
+ EncoderSettings.decode = function decode(reader, length, error) {
17633
17828
  if (!(reader instanceof $Reader))
17634
17829
  reader = $Reader.create(reader);
17635
- let end = length === void 0 ? reader.len : reader.pos + length, message = new $root.sesame.v1.outputs.EncoderConfig();
17830
+ let end = length === void 0 ? reader.len : reader.pos + length, message = new $root.sesame.v1.outputs.EncoderSettings();
17636
17831
  while (reader.pos < end) {
17637
17832
  let tag = reader.uint32();
17638
17833
  if (tag === error)
17639
17834
  break;
17640
17835
  switch (tag >>> 3) {
17641
17836
  case 1: {
17642
- message.codec = reader.int32();
17837
+ message.tuning = reader.int32();
17643
17838
  break;
17644
17839
  }
17645
17840
  case 2: {
17646
- message.preset = reader.int32();
17841
+ message.effort = reader.uint32();
17647
17842
  break;
17648
17843
  }
17649
17844
  case 3: {
17650
- message.bitrateKbps = reader.uint32();
17845
+ message.rateControl = reader.int32();
17651
17846
  break;
17652
17847
  }
17653
17848
  case 4: {
17654
- message.keyframeInterval = reader.uint32();
17849
+ message.maxBitrateKbps = reader.uint32();
17655
17850
  break;
17656
17851
  }
17657
17852
  case 5: {
17658
- message.width = reader.uint32();
17853
+ message.profile = reader.int32();
17659
17854
  break;
17660
17855
  }
17661
17856
  case 6: {
17662
- message.height = reader.uint32();
17857
+ message.bframes = reader.uint32();
17663
17858
  break;
17664
17859
  }
17665
17860
  case 7: {
17666
- message.fps = reader.float();
17861
+ message.idrOnly = reader.bool();
17862
+ break;
17863
+ }
17864
+ case 8: {
17865
+ message.spatialAq = reader.bool();
17866
+ break;
17867
+ }
17868
+ case 9: {
17869
+ message.multipass = reader.int32();
17870
+ break;
17871
+ }
17872
+ case 10: {
17873
+ message.lookaheadDepth = reader.uint32();
17874
+ break;
17875
+ }
17876
+ case 11: {
17877
+ message.zeroReorderDelay = reader.bool();
17878
+ break;
17879
+ }
17880
+ case 12: {
17881
+ message.bitDepth = reader.uint32();
17882
+ break;
17883
+ }
17884
+ case 13: {
17885
+ message.chromaFormat = reader.int32();
17886
+ break;
17887
+ }
17888
+ case 14: {
17889
+ message.outputAud = reader.bool();
17890
+ break;
17891
+ }
17892
+ case 15: {
17893
+ message.level = reader.string();
17667
17894
  break;
17668
17895
  }
17669
17896
  default:
@@ -17673,102 +17900,544 @@ var sesame = $root.sesame = (() => {
17673
17900
  }
17674
17901
  return message;
17675
17902
  };
17676
- EncoderConfig.decodeDelimited = function decodeDelimited(reader) {
17903
+ EncoderSettings.decodeDelimited = function decodeDelimited(reader) {
17677
17904
  if (!(reader instanceof $Reader))
17678
17905
  reader = new $Reader(reader);
17679
17906
  return this.decode(reader, reader.uint32());
17680
17907
  };
17681
- EncoderConfig.verify = function verify(message) {
17908
+ EncoderSettings.verify = function verify(message) {
17682
17909
  if (typeof message !== "object" || message === null)
17683
17910
  return "object expected";
17684
- if (message.codec != null && message.hasOwnProperty("codec"))
17685
- switch (message.codec) {
17911
+ if (message.tuning != null && message.hasOwnProperty("tuning"))
17912
+ switch (message.tuning) {
17686
17913
  default:
17687
- return "codec: enum value expected";
17914
+ return "tuning: enum value expected";
17688
17915
  case 0:
17689
17916
  case 1:
17690
17917
  case 2:
17691
17918
  case 3:
17692
- case 4:
17693
- case 5:
17694
- case 6:
17695
- case 7:
17696
- case 64:
17697
- case 65:
17698
- case 66:
17699
- case 67:
17700
17919
  break;
17701
17920
  }
17702
- if (message.preset != null && message.hasOwnProperty("preset"))
17703
- switch (message.preset) {
17921
+ if (message.effort != null && message.hasOwnProperty("effort")) {
17922
+ if (!$util.isInteger(message.effort))
17923
+ return "effort: integer expected";
17924
+ }
17925
+ if (message.rateControl != null && message.hasOwnProperty("rateControl"))
17926
+ switch (message.rateControl) {
17927
+ default:
17928
+ return "rateControl: enum value expected";
17929
+ case 0:
17930
+ case 1:
17931
+ case 2:
17932
+ break;
17933
+ }
17934
+ if (message.maxBitrateKbps != null && message.hasOwnProperty("maxBitrateKbps")) {
17935
+ if (!$util.isInteger(message.maxBitrateKbps))
17936
+ return "maxBitrateKbps: integer expected";
17937
+ }
17938
+ if (message.profile != null && message.hasOwnProperty("profile"))
17939
+ switch (message.profile) {
17704
17940
  default:
17705
- return "preset: enum value expected";
17941
+ return "profile: enum value expected";
17706
17942
  case 0:
17707
17943
  case 1:
17708
17944
  case 2:
17709
17945
  case 3:
17946
+ case 4:
17710
17947
  break;
17711
17948
  }
17712
- if (message.bitrateKbps != null && message.hasOwnProperty("bitrateKbps")) {
17713
- if (!$util.isInteger(message.bitrateKbps))
17714
- return "bitrateKbps: integer expected";
17949
+ if (message.bframes != null && message.hasOwnProperty("bframes")) {
17950
+ if (!$util.isInteger(message.bframes))
17951
+ return "bframes: integer expected";
17715
17952
  }
17716
- if (message.keyframeInterval != null && message.hasOwnProperty("keyframeInterval")) {
17717
- if (!$util.isInteger(message.keyframeInterval))
17718
- return "keyframeInterval: integer expected";
17953
+ if (message.idrOnly != null && message.hasOwnProperty("idrOnly")) {
17954
+ if (typeof message.idrOnly !== "boolean")
17955
+ return "idrOnly: boolean expected";
17719
17956
  }
17720
- if (message.width != null && message.hasOwnProperty("width")) {
17721
- if (!$util.isInteger(message.width))
17722
- return "width: integer expected";
17957
+ if (message.spatialAq != null && message.hasOwnProperty("spatialAq")) {
17958
+ if (typeof message.spatialAq !== "boolean")
17959
+ return "spatialAq: boolean expected";
17723
17960
  }
17724
- if (message.height != null && message.hasOwnProperty("height")) {
17725
- if (!$util.isInteger(message.height))
17726
- return "height: integer expected";
17961
+ if (message.multipass != null && message.hasOwnProperty("multipass"))
17962
+ switch (message.multipass) {
17963
+ default:
17964
+ return "multipass: enum value expected";
17965
+ case 0:
17966
+ case 1:
17967
+ case 2:
17968
+ break;
17969
+ }
17970
+ if (message.lookaheadDepth != null && message.hasOwnProperty("lookaheadDepth")) {
17971
+ if (!$util.isInteger(message.lookaheadDepth))
17972
+ return "lookaheadDepth: integer expected";
17727
17973
  }
17728
- if (message.fps != null && message.hasOwnProperty("fps")) {
17729
- if (typeof message.fps !== "number")
17730
- return "fps: number expected";
17974
+ if (message.zeroReorderDelay != null && message.hasOwnProperty("zeroReorderDelay")) {
17975
+ if (typeof message.zeroReorderDelay !== "boolean")
17976
+ return "zeroReorderDelay: boolean expected";
17977
+ }
17978
+ if (message.bitDepth != null && message.hasOwnProperty("bitDepth")) {
17979
+ if (!$util.isInteger(message.bitDepth))
17980
+ return "bitDepth: integer expected";
17981
+ }
17982
+ if (message.chromaFormat != null && message.hasOwnProperty("chromaFormat"))
17983
+ switch (message.chromaFormat) {
17984
+ default:
17985
+ return "chromaFormat: enum value expected";
17986
+ case 0:
17987
+ case 1:
17988
+ break;
17989
+ }
17990
+ if (message.outputAud != null && message.hasOwnProperty("outputAud")) {
17991
+ if (typeof message.outputAud !== "boolean")
17992
+ return "outputAud: boolean expected";
17993
+ }
17994
+ if (message.level != null && message.hasOwnProperty("level")) {
17995
+ if (!$util.isString(message.level))
17996
+ return "level: string expected";
17731
17997
  }
17732
17998
  return null;
17733
17999
  };
17734
- EncoderConfig.fromObject = function fromObject(object) {
17735
- if (object instanceof $root.sesame.v1.outputs.EncoderConfig)
18000
+ EncoderSettings.fromObject = function fromObject(object) {
18001
+ if (object instanceof $root.sesame.v1.outputs.EncoderSettings)
17736
18002
  return object;
17737
- let message = new $root.sesame.v1.outputs.EncoderConfig();
17738
- switch (object.codec) {
18003
+ let message = new $root.sesame.v1.outputs.EncoderSettings();
18004
+ switch (object.tuning) {
17739
18005
  default:
17740
- if (typeof object.codec === "number") {
17741
- message.codec = object.codec;
18006
+ if (typeof object.tuning === "number") {
18007
+ message.tuning = object.tuning;
17742
18008
  break;
17743
18009
  }
17744
18010
  break;
17745
- case "CODEC_TYPE_UNSPECIFIED":
18011
+ case "ENCODER_TUNING_UNSPECIFIED":
17746
18012
  case 0:
17747
- message.codec = 0;
18013
+ message.tuning = 0;
17748
18014
  break;
17749
- case "CODEC_TYPE_VIDEO_VP8":
18015
+ case "ENCODER_TUNING_ULTRA_LOW_LATENCY":
17750
18016
  case 1:
17751
- message.codec = 1;
18017
+ message.tuning = 1;
17752
18018
  break;
17753
- case "CODEC_TYPE_VIDEO_VP9":
18019
+ case "ENCODER_TUNING_LOW_LATENCY":
17754
18020
  case 2:
17755
- message.codec = 2;
18021
+ message.tuning = 2;
17756
18022
  break;
17757
- case "CODEC_TYPE_VIDEO_AVC":
18023
+ case "ENCODER_TUNING_HIGH_QUALITY":
17758
18024
  case 3:
17759
- message.codec = 3;
17760
- break;
17761
- case "CODEC_TYPE_VIDEO_HEVC":
17762
- case 4:
17763
- message.codec = 4;
18025
+ message.tuning = 3;
17764
18026
  break;
17765
- case "CODEC_TYPE_VIDEO_AV1":
17766
- case 5:
17767
- message.codec = 5;
18027
+ }
18028
+ if (object.effort != null)
18029
+ message.effort = object.effort >>> 0;
18030
+ switch (object.rateControl) {
18031
+ default:
18032
+ if (typeof object.rateControl === "number") {
18033
+ message.rateControl = object.rateControl;
18034
+ break;
18035
+ }
17768
18036
  break;
17769
- case "CODEC_TYPE_VIDEO_PRORES":
17770
- case 6:
17771
- message.codec = 6;
18037
+ case "ENCODER_RATE_CONTROL_UNSPECIFIED":
18038
+ case 0:
18039
+ message.rateControl = 0;
18040
+ break;
18041
+ case "ENCODER_RATE_CONTROL_CBR":
18042
+ case 1:
18043
+ message.rateControl = 1;
18044
+ break;
18045
+ case "ENCODER_RATE_CONTROL_VBR":
18046
+ case 2:
18047
+ message.rateControl = 2;
18048
+ break;
18049
+ }
18050
+ if (object.maxBitrateKbps != null)
18051
+ message.maxBitrateKbps = object.maxBitrateKbps >>> 0;
18052
+ switch (object.profile) {
18053
+ default:
18054
+ if (typeof object.profile === "number") {
18055
+ message.profile = object.profile;
18056
+ break;
18057
+ }
18058
+ break;
18059
+ case "ENCODER_PROFILE_AUTO":
18060
+ case 0:
18061
+ message.profile = 0;
18062
+ break;
18063
+ case "ENCODER_PROFILE_BASELINE":
18064
+ case 1:
18065
+ message.profile = 1;
18066
+ break;
18067
+ case "ENCODER_PROFILE_MAIN":
18068
+ case 2:
18069
+ message.profile = 2;
18070
+ break;
18071
+ case "ENCODER_PROFILE_MAIN10":
18072
+ case 3:
18073
+ message.profile = 3;
18074
+ break;
18075
+ case "ENCODER_PROFILE_HIGH":
18076
+ case 4:
18077
+ message.profile = 4;
18078
+ break;
18079
+ }
18080
+ if (object.bframes != null)
18081
+ message.bframes = object.bframes >>> 0;
18082
+ if (object.idrOnly != null)
18083
+ message.idrOnly = Boolean(object.idrOnly);
18084
+ if (object.spatialAq != null)
18085
+ message.spatialAq = Boolean(object.spatialAq);
18086
+ switch (object.multipass) {
18087
+ default:
18088
+ if (typeof object.multipass === "number") {
18089
+ message.multipass = object.multipass;
18090
+ break;
18091
+ }
18092
+ break;
18093
+ case "ENCODER_MULTIPASS_DISABLED":
18094
+ case 0:
18095
+ message.multipass = 0;
18096
+ break;
18097
+ case "ENCODER_MULTIPASS_QUARTER_RESOLUTION":
18098
+ case 1:
18099
+ message.multipass = 1;
18100
+ break;
18101
+ case "ENCODER_MULTIPASS_FULL_RESOLUTION":
18102
+ case 2:
18103
+ message.multipass = 2;
18104
+ break;
18105
+ }
18106
+ if (object.lookaheadDepth != null)
18107
+ message.lookaheadDepth = object.lookaheadDepth >>> 0;
18108
+ if (object.zeroReorderDelay != null)
18109
+ message.zeroReorderDelay = Boolean(object.zeroReorderDelay);
18110
+ if (object.bitDepth != null)
18111
+ message.bitDepth = object.bitDepth >>> 0;
18112
+ switch (object.chromaFormat) {
18113
+ default:
18114
+ if (typeof object.chromaFormat === "number") {
18115
+ message.chromaFormat = object.chromaFormat;
18116
+ break;
18117
+ }
18118
+ break;
18119
+ case "ENCODER_CHROMA_FORMAT_420":
18120
+ case 0:
18121
+ message.chromaFormat = 0;
18122
+ break;
18123
+ case "ENCODER_CHROMA_FORMAT_444":
18124
+ case 1:
18125
+ message.chromaFormat = 1;
18126
+ break;
18127
+ }
18128
+ if (object.outputAud != null)
18129
+ message.outputAud = Boolean(object.outputAud);
18130
+ if (object.level != null)
18131
+ message.level = String(object.level);
18132
+ return message;
18133
+ };
18134
+ EncoderSettings.toObject = function toObject(message, options) {
18135
+ if (!options)
18136
+ options = {};
18137
+ let object = {};
18138
+ if (options.defaults) {
18139
+ object.tuning = options.enums === String ? "ENCODER_TUNING_UNSPECIFIED" : 0;
18140
+ object.effort = 0;
18141
+ object.rateControl = options.enums === String ? "ENCODER_RATE_CONTROL_UNSPECIFIED" : 0;
18142
+ object.maxBitrateKbps = 0;
18143
+ object.profile = options.enums === String ? "ENCODER_PROFILE_AUTO" : 0;
18144
+ object.bframes = 0;
18145
+ object.idrOnly = false;
18146
+ object.spatialAq = false;
18147
+ object.multipass = options.enums === String ? "ENCODER_MULTIPASS_DISABLED" : 0;
18148
+ object.lookaheadDepth = 0;
18149
+ object.zeroReorderDelay = false;
18150
+ object.bitDepth = 0;
18151
+ object.chromaFormat = options.enums === String ? "ENCODER_CHROMA_FORMAT_420" : 0;
18152
+ object.outputAud = false;
18153
+ object.level = "";
18154
+ }
18155
+ if (message.tuning != null && message.hasOwnProperty("tuning"))
18156
+ object.tuning = options.enums === String ? $root.sesame.v1.outputs.EncoderTuning[message.tuning] === void 0 ? message.tuning : $root.sesame.v1.outputs.EncoderTuning[message.tuning] : message.tuning;
18157
+ if (message.effort != null && message.hasOwnProperty("effort"))
18158
+ object.effort = message.effort;
18159
+ if (message.rateControl != null && message.hasOwnProperty("rateControl"))
18160
+ object.rateControl = options.enums === String ? $root.sesame.v1.outputs.EncoderRateControl[message.rateControl] === void 0 ? message.rateControl : $root.sesame.v1.outputs.EncoderRateControl[message.rateControl] : message.rateControl;
18161
+ if (message.maxBitrateKbps != null && message.hasOwnProperty("maxBitrateKbps"))
18162
+ object.maxBitrateKbps = message.maxBitrateKbps;
18163
+ if (message.profile != null && message.hasOwnProperty("profile"))
18164
+ object.profile = options.enums === String ? $root.sesame.v1.outputs.EncoderProfile[message.profile] === void 0 ? message.profile : $root.sesame.v1.outputs.EncoderProfile[message.profile] : message.profile;
18165
+ if (message.bframes != null && message.hasOwnProperty("bframes"))
18166
+ object.bframes = message.bframes;
18167
+ if (message.idrOnly != null && message.hasOwnProperty("idrOnly"))
18168
+ object.idrOnly = message.idrOnly;
18169
+ if (message.spatialAq != null && message.hasOwnProperty("spatialAq"))
18170
+ object.spatialAq = message.spatialAq;
18171
+ if (message.multipass != null && message.hasOwnProperty("multipass"))
18172
+ object.multipass = options.enums === String ? $root.sesame.v1.outputs.EncoderMultipass[message.multipass] === void 0 ? message.multipass : $root.sesame.v1.outputs.EncoderMultipass[message.multipass] : message.multipass;
18173
+ if (message.lookaheadDepth != null && message.hasOwnProperty("lookaheadDepth"))
18174
+ object.lookaheadDepth = message.lookaheadDepth;
18175
+ if (message.zeroReorderDelay != null && message.hasOwnProperty("zeroReorderDelay"))
18176
+ object.zeroReorderDelay = message.zeroReorderDelay;
18177
+ if (message.bitDepth != null && message.hasOwnProperty("bitDepth"))
18178
+ object.bitDepth = message.bitDepth;
18179
+ if (message.chromaFormat != null && message.hasOwnProperty("chromaFormat"))
18180
+ object.chromaFormat = options.enums === String ? $root.sesame.v1.outputs.EncoderChromaFormat[message.chromaFormat] === void 0 ? message.chromaFormat : $root.sesame.v1.outputs.EncoderChromaFormat[message.chromaFormat] : message.chromaFormat;
18181
+ if (message.outputAud != null && message.hasOwnProperty("outputAud"))
18182
+ object.outputAud = message.outputAud;
18183
+ if (message.level != null && message.hasOwnProperty("level"))
18184
+ object.level = message.level;
18185
+ return object;
18186
+ };
18187
+ EncoderSettings.prototype.toJSON = function toJSON() {
18188
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
18189
+ };
18190
+ EncoderSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
18191
+ if (typeUrlPrefix === void 0) {
18192
+ typeUrlPrefix = "type.googleapis.com";
18193
+ }
18194
+ return typeUrlPrefix + "/sesame.v1.outputs.EncoderSettings";
18195
+ };
18196
+ return EncoderSettings;
18197
+ }();
18198
+ outputs.RecorderType = function() {
18199
+ const valuesById = {}, values = Object.create(valuesById);
18200
+ values[valuesById[0] = "RECORDER_TYPE_UNSPECIFIED"] = 0;
18201
+ values[valuesById[1] = "RECORDER_TYPE_LIVE"] = 1;
18202
+ values[valuesById[2] = "RECORDER_TYPE_CLIPS"] = 2;
18203
+ return values;
18204
+ }();
18205
+ outputs.TimecodeMode = function() {
18206
+ const valuesById = {}, values = Object.create(valuesById);
18207
+ values[valuesById[0] = "TIMECODE_MODE_UNSPECIFIED"] = 0;
18208
+ values[valuesById[1] = "TIMECODE_MODE_WALLCLOCK"] = 1;
18209
+ values[valuesById[2] = "TIMECODE_MODE_SOURCE"] = 2;
18210
+ return values;
18211
+ }();
18212
+ outputs.EncoderConfig = function() {
18213
+ function EncoderConfig(properties) {
18214
+ if (properties) {
18215
+ for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)
18216
+ if (properties[keys[i]] != null)
18217
+ this[keys[i]] = properties[keys[i]];
18218
+ }
18219
+ }
18220
+ EncoderConfig.prototype.codec = 0;
18221
+ EncoderConfig.prototype.bitrateKbps = 0;
18222
+ EncoderConfig.prototype.keyframeInterval = 0;
18223
+ EncoderConfig.prototype.width = 0;
18224
+ EncoderConfig.prototype.height = 0;
18225
+ EncoderConfig.prototype.fps = 0;
18226
+ EncoderConfig.prototype.timecodeMode = 0;
18227
+ EncoderConfig.prototype.timecodeSourceId = "";
18228
+ EncoderConfig.prototype.settings = null;
18229
+ EncoderConfig.create = function create(properties) {
18230
+ return new EncoderConfig(properties);
18231
+ };
18232
+ EncoderConfig.encode = function encode(message, writer) {
18233
+ if (!writer)
18234
+ writer = $Writer.create();
18235
+ if (message.codec != null && Object.hasOwnProperty.call(message, "codec"))
18236
+ writer.uint32(
18237
+ /* id 1, wireType 0 =*/
18238
+ 8
18239
+ ).int32(message.codec);
18240
+ if (message.bitrateKbps != null && Object.hasOwnProperty.call(message, "bitrateKbps"))
18241
+ writer.uint32(
18242
+ /* id 3, wireType 0 =*/
18243
+ 24
18244
+ ).uint32(message.bitrateKbps);
18245
+ if (message.keyframeInterval != null && Object.hasOwnProperty.call(message, "keyframeInterval"))
18246
+ writer.uint32(
18247
+ /* id 4, wireType 0 =*/
18248
+ 32
18249
+ ).uint32(message.keyframeInterval);
18250
+ if (message.width != null && Object.hasOwnProperty.call(message, "width"))
18251
+ writer.uint32(
18252
+ /* id 5, wireType 0 =*/
18253
+ 40
18254
+ ).uint32(message.width);
18255
+ if (message.height != null && Object.hasOwnProperty.call(message, "height"))
18256
+ writer.uint32(
18257
+ /* id 6, wireType 0 =*/
18258
+ 48
18259
+ ).uint32(message.height);
18260
+ if (message.fps != null && Object.hasOwnProperty.call(message, "fps"))
18261
+ writer.uint32(
18262
+ /* id 7, wireType 5 =*/
18263
+ 61
18264
+ ).float(message.fps);
18265
+ if (message.timecodeMode != null && Object.hasOwnProperty.call(message, "timecodeMode"))
18266
+ writer.uint32(
18267
+ /* id 8, wireType 0 =*/
18268
+ 64
18269
+ ).int32(message.timecodeMode);
18270
+ if (message.timecodeSourceId != null && Object.hasOwnProperty.call(message, "timecodeSourceId"))
18271
+ writer.uint32(
18272
+ /* id 9, wireType 2 =*/
18273
+ 74
18274
+ ).string(message.timecodeSourceId);
18275
+ if (message.settings != null && Object.hasOwnProperty.call(message, "settings"))
18276
+ $root.sesame.v1.outputs.EncoderSettings.encode(message.settings, writer.uint32(
18277
+ /* id 10, wireType 2 =*/
18278
+ 82
18279
+ ).fork()).ldelim();
18280
+ return writer;
18281
+ };
18282
+ EncoderConfig.encodeDelimited = function encodeDelimited(message, writer) {
18283
+ return this.encode(message, writer).ldelim();
18284
+ };
18285
+ EncoderConfig.decode = function decode(reader, length, error) {
18286
+ if (!(reader instanceof $Reader))
18287
+ reader = $Reader.create(reader);
18288
+ let end = length === void 0 ? reader.len : reader.pos + length, message = new $root.sesame.v1.outputs.EncoderConfig();
18289
+ while (reader.pos < end) {
18290
+ let tag = reader.uint32();
18291
+ if (tag === error)
18292
+ break;
18293
+ switch (tag >>> 3) {
18294
+ case 1: {
18295
+ message.codec = reader.int32();
18296
+ break;
18297
+ }
18298
+ case 3: {
18299
+ message.bitrateKbps = reader.uint32();
18300
+ break;
18301
+ }
18302
+ case 4: {
18303
+ message.keyframeInterval = reader.uint32();
18304
+ break;
18305
+ }
18306
+ case 5: {
18307
+ message.width = reader.uint32();
18308
+ break;
18309
+ }
18310
+ case 6: {
18311
+ message.height = reader.uint32();
18312
+ break;
18313
+ }
18314
+ case 7: {
18315
+ message.fps = reader.float();
18316
+ break;
18317
+ }
18318
+ case 8: {
18319
+ message.timecodeMode = reader.int32();
18320
+ break;
18321
+ }
18322
+ case 9: {
18323
+ message.timecodeSourceId = reader.string();
18324
+ break;
18325
+ }
18326
+ case 10: {
18327
+ message.settings = $root.sesame.v1.outputs.EncoderSettings.decode(reader, reader.uint32());
18328
+ break;
18329
+ }
18330
+ default:
18331
+ reader.skipType(tag & 7);
18332
+ break;
18333
+ }
18334
+ }
18335
+ return message;
18336
+ };
18337
+ EncoderConfig.decodeDelimited = function decodeDelimited(reader) {
18338
+ if (!(reader instanceof $Reader))
18339
+ reader = new $Reader(reader);
18340
+ return this.decode(reader, reader.uint32());
18341
+ };
18342
+ EncoderConfig.verify = function verify(message) {
18343
+ if (typeof message !== "object" || message === null)
18344
+ return "object expected";
18345
+ if (message.codec != null && message.hasOwnProperty("codec"))
18346
+ switch (message.codec) {
18347
+ default:
18348
+ return "codec: enum value expected";
18349
+ case 0:
18350
+ case 1:
18351
+ case 2:
18352
+ case 3:
18353
+ case 4:
18354
+ case 5:
18355
+ case 6:
18356
+ case 7:
18357
+ case 64:
18358
+ case 65:
18359
+ case 66:
18360
+ case 67:
18361
+ break;
18362
+ }
18363
+ if (message.bitrateKbps != null && message.hasOwnProperty("bitrateKbps")) {
18364
+ if (!$util.isInteger(message.bitrateKbps))
18365
+ return "bitrateKbps: integer expected";
18366
+ }
18367
+ if (message.keyframeInterval != null && message.hasOwnProperty("keyframeInterval")) {
18368
+ if (!$util.isInteger(message.keyframeInterval))
18369
+ return "keyframeInterval: integer expected";
18370
+ }
18371
+ if (message.width != null && message.hasOwnProperty("width")) {
18372
+ if (!$util.isInteger(message.width))
18373
+ return "width: integer expected";
18374
+ }
18375
+ if (message.height != null && message.hasOwnProperty("height")) {
18376
+ if (!$util.isInteger(message.height))
18377
+ return "height: integer expected";
18378
+ }
18379
+ if (message.fps != null && message.hasOwnProperty("fps")) {
18380
+ if (typeof message.fps !== "number")
18381
+ return "fps: number expected";
18382
+ }
18383
+ if (message.timecodeMode != null && message.hasOwnProperty("timecodeMode"))
18384
+ switch (message.timecodeMode) {
18385
+ default:
18386
+ return "timecodeMode: enum value expected";
18387
+ case 0:
18388
+ case 1:
18389
+ case 2:
18390
+ break;
18391
+ }
18392
+ if (message.timecodeSourceId != null && message.hasOwnProperty("timecodeSourceId")) {
18393
+ if (!$util.isString(message.timecodeSourceId))
18394
+ return "timecodeSourceId: string expected";
18395
+ }
18396
+ if (message.settings != null && message.hasOwnProperty("settings")) {
18397
+ let error = $root.sesame.v1.outputs.EncoderSettings.verify(message.settings);
18398
+ if (error)
18399
+ return "settings." + error;
18400
+ }
18401
+ return null;
18402
+ };
18403
+ EncoderConfig.fromObject = function fromObject(object) {
18404
+ if (object instanceof $root.sesame.v1.outputs.EncoderConfig)
18405
+ return object;
18406
+ let message = new $root.sesame.v1.outputs.EncoderConfig();
18407
+ switch (object.codec) {
18408
+ default:
18409
+ if (typeof object.codec === "number") {
18410
+ message.codec = object.codec;
18411
+ break;
18412
+ }
18413
+ break;
18414
+ case "CODEC_TYPE_UNSPECIFIED":
18415
+ case 0:
18416
+ message.codec = 0;
18417
+ break;
18418
+ case "CODEC_TYPE_VIDEO_VP8":
18419
+ case 1:
18420
+ message.codec = 1;
18421
+ break;
18422
+ case "CODEC_TYPE_VIDEO_VP9":
18423
+ case 2:
18424
+ message.codec = 2;
18425
+ break;
18426
+ case "CODEC_TYPE_VIDEO_AVC":
18427
+ case 3:
18428
+ message.codec = 3;
18429
+ break;
18430
+ case "CODEC_TYPE_VIDEO_HEVC":
18431
+ case 4:
18432
+ message.codec = 4;
18433
+ break;
18434
+ case "CODEC_TYPE_VIDEO_AV1":
18435
+ case 5:
18436
+ message.codec = 5;
18437
+ break;
18438
+ case "CODEC_TYPE_VIDEO_PRORES":
18439
+ case 6:
18440
+ message.codec = 6;
17772
18441
  break;
17773
18442
  case "CODEC_TYPE_VIDEO_DNXHR":
17774
18443
  case 7:
@@ -17791,40 +18460,43 @@ var sesame = $root.sesame = (() => {
17791
18460
  message.codec = 67;
17792
18461
  break;
17793
18462
  }
17794
- switch (object.preset) {
18463
+ if (object.bitrateKbps != null)
18464
+ message.bitrateKbps = object.bitrateKbps >>> 0;
18465
+ if (object.keyframeInterval != null)
18466
+ message.keyframeInterval = object.keyframeInterval >>> 0;
18467
+ if (object.width != null)
18468
+ message.width = object.width >>> 0;
18469
+ if (object.height != null)
18470
+ message.height = object.height >>> 0;
18471
+ if (object.fps != null)
18472
+ message.fps = Number(object.fps);
18473
+ switch (object.timecodeMode) {
17795
18474
  default:
17796
- if (typeof object.preset === "number") {
17797
- message.preset = object.preset;
18475
+ if (typeof object.timecodeMode === "number") {
18476
+ message.timecodeMode = object.timecodeMode;
17798
18477
  break;
17799
18478
  }
17800
18479
  break;
17801
- case "ENCODER_PRESET_UNSPECIFIED":
18480
+ case "TIMECODE_MODE_UNSPECIFIED":
17802
18481
  case 0:
17803
- message.preset = 0;
18482
+ message.timecodeMode = 0;
17804
18483
  break;
17805
- case "ENCODER_PRESET_LOW_LATENCY":
18484
+ case "TIMECODE_MODE_WALLCLOCK":
17806
18485
  case 1:
17807
- message.preset = 1;
18486
+ message.timecodeMode = 1;
17808
18487
  break;
17809
- case "ENCODER_PRESET_LOW_LATENCY_IDR_ONLY":
18488
+ case "TIMECODE_MODE_SOURCE":
17810
18489
  case 2:
17811
- message.preset = 2;
17812
- break;
17813
- case "ENCODER_PRESET_HIGH_QUALITY":
17814
- case 3:
17815
- message.preset = 3;
18490
+ message.timecodeMode = 2;
17816
18491
  break;
17817
18492
  }
17818
- if (object.bitrateKbps != null)
17819
- message.bitrateKbps = object.bitrateKbps >>> 0;
17820
- if (object.keyframeInterval != null)
17821
- message.keyframeInterval = object.keyframeInterval >>> 0;
17822
- if (object.width != null)
17823
- message.width = object.width >>> 0;
17824
- if (object.height != null)
17825
- message.height = object.height >>> 0;
17826
- if (object.fps != null)
17827
- message.fps = Number(object.fps);
18493
+ if (object.timecodeSourceId != null)
18494
+ message.timecodeSourceId = String(object.timecodeSourceId);
18495
+ if (object.settings != null) {
18496
+ if (typeof object.settings !== "object")
18497
+ throw TypeError(".sesame.v1.outputs.EncoderConfig.settings: object expected");
18498
+ message.settings = $root.sesame.v1.outputs.EncoderSettings.fromObject(object.settings);
18499
+ }
17828
18500
  return message;
17829
18501
  };
17830
18502
  EncoderConfig.toObject = function toObject(message, options) {
@@ -17833,17 +18505,17 @@ var sesame = $root.sesame = (() => {
17833
18505
  let object = {};
17834
18506
  if (options.defaults) {
17835
18507
  object.codec = options.enums === String ? "CODEC_TYPE_UNSPECIFIED" : 0;
17836
- object.preset = options.enums === String ? "ENCODER_PRESET_UNSPECIFIED" : 0;
17837
18508
  object.bitrateKbps = 0;
17838
18509
  object.keyframeInterval = 0;
17839
18510
  object.width = 0;
17840
18511
  object.height = 0;
17841
18512
  object.fps = 0;
18513
+ object.timecodeMode = options.enums === String ? "TIMECODE_MODE_UNSPECIFIED" : 0;
18514
+ object.timecodeSourceId = "";
18515
+ object.settings = null;
17842
18516
  }
17843
18517
  if (message.codec != null && message.hasOwnProperty("codec"))
17844
18518
  object.codec = options.enums === String ? $root.sesame.v1.common.CodecType[message.codec] === void 0 ? message.codec : $root.sesame.v1.common.CodecType[message.codec] : message.codec;
17845
- if (message.preset != null && message.hasOwnProperty("preset"))
17846
- object.preset = options.enums === String ? $root.sesame.v1.outputs.EncoderPreset[message.preset] === void 0 ? message.preset : $root.sesame.v1.outputs.EncoderPreset[message.preset] : message.preset;
17847
18519
  if (message.bitrateKbps != null && message.hasOwnProperty("bitrateKbps"))
17848
18520
  object.bitrateKbps = message.bitrateKbps;
17849
18521
  if (message.keyframeInterval != null && message.hasOwnProperty("keyframeInterval"))
@@ -17854,6 +18526,12 @@ var sesame = $root.sesame = (() => {
17854
18526
  object.height = message.height;
17855
18527
  if (message.fps != null && message.hasOwnProperty("fps"))
17856
18528
  object.fps = options.json && !isFinite(message.fps) ? String(message.fps) : message.fps;
18529
+ if (message.timecodeMode != null && message.hasOwnProperty("timecodeMode"))
18530
+ object.timecodeMode = options.enums === String ? $root.sesame.v1.outputs.TimecodeMode[message.timecodeMode] === void 0 ? message.timecodeMode : $root.sesame.v1.outputs.TimecodeMode[message.timecodeMode] : message.timecodeMode;
18531
+ if (message.timecodeSourceId != null && message.hasOwnProperty("timecodeSourceId"))
18532
+ object.timecodeSourceId = message.timecodeSourceId;
18533
+ if (message.settings != null && message.hasOwnProperty("settings"))
18534
+ object.settings = $root.sesame.v1.outputs.EncoderSettings.toObject(message.settings, options);
17857
18535
  return object;
17858
18536
  };
17859
18537
  EncoderConfig.prototype.toJSON = function toJSON() {
@@ -18228,6 +18906,8 @@ var sesame = $root.sesame = (() => {
18228
18906
  DecklinkOutputConfig.prototype.deviceIndex = 0;
18229
18907
  DecklinkOutputConfig.prototype.videoFormat = 0;
18230
18908
  DecklinkOutputConfig.prototype.keyAndFill = false;
18909
+ DecklinkOutputConfig.prototype.timecodeMode = 0;
18910
+ DecklinkOutputConfig.prototype.timecodeSourceId = "";
18231
18911
  DecklinkOutputConfig.create = function create(properties) {
18232
18912
  return new DecklinkOutputConfig(properties);
18233
18913
  };
@@ -18249,6 +18929,16 @@ var sesame = $root.sesame = (() => {
18249
18929
  /* id 3, wireType 0 =*/
18250
18930
  24
18251
18931
  ).bool(message.keyAndFill);
18932
+ if (message.timecodeMode != null && Object.hasOwnProperty.call(message, "timecodeMode"))
18933
+ writer.uint32(
18934
+ /* id 4, wireType 0 =*/
18935
+ 32
18936
+ ).int32(message.timecodeMode);
18937
+ if (message.timecodeSourceId != null && Object.hasOwnProperty.call(message, "timecodeSourceId"))
18938
+ writer.uint32(
18939
+ /* id 5, wireType 2 =*/
18940
+ 42
18941
+ ).string(message.timecodeSourceId);
18252
18942
  return writer;
18253
18943
  };
18254
18944
  DecklinkOutputConfig.encodeDelimited = function encodeDelimited(message, writer) {
@@ -18275,6 +18965,14 @@ var sesame = $root.sesame = (() => {
18275
18965
  message.keyAndFill = reader.bool();
18276
18966
  break;
18277
18967
  }
18968
+ case 4: {
18969
+ message.timecodeMode = reader.int32();
18970
+ break;
18971
+ }
18972
+ case 5: {
18973
+ message.timecodeSourceId = reader.string();
18974
+ break;
18975
+ }
18278
18976
  default:
18279
18977
  reader.skipType(tag & 7);
18280
18978
  break;
@@ -18309,6 +19007,19 @@ var sesame = $root.sesame = (() => {
18309
19007
  if (typeof message.keyAndFill !== "boolean")
18310
19008
  return "keyAndFill: boolean expected";
18311
19009
  }
19010
+ if (message.timecodeMode != null && message.hasOwnProperty("timecodeMode"))
19011
+ switch (message.timecodeMode) {
19012
+ default:
19013
+ return "timecodeMode: enum value expected";
19014
+ case 0:
19015
+ case 1:
19016
+ case 2:
19017
+ break;
19018
+ }
19019
+ if (message.timecodeSourceId != null && message.hasOwnProperty("timecodeSourceId")) {
19020
+ if (!$util.isString(message.timecodeSourceId))
19021
+ return "timecodeSourceId: string expected";
19022
+ }
18312
19023
  return null;
18313
19024
  };
18314
19025
  DecklinkOutputConfig.fromObject = function fromObject(object) {
@@ -18347,6 +19058,28 @@ var sesame = $root.sesame = (() => {
18347
19058
  }
18348
19059
  if (object.keyAndFill != null)
18349
19060
  message.keyAndFill = Boolean(object.keyAndFill);
19061
+ switch (object.timecodeMode) {
19062
+ default:
19063
+ if (typeof object.timecodeMode === "number") {
19064
+ message.timecodeMode = object.timecodeMode;
19065
+ break;
19066
+ }
19067
+ break;
19068
+ case "TIMECODE_MODE_UNSPECIFIED":
19069
+ case 0:
19070
+ message.timecodeMode = 0;
19071
+ break;
19072
+ case "TIMECODE_MODE_WALLCLOCK":
19073
+ case 1:
19074
+ message.timecodeMode = 1;
19075
+ break;
19076
+ case "TIMECODE_MODE_SOURCE":
19077
+ case 2:
19078
+ message.timecodeMode = 2;
19079
+ break;
19080
+ }
19081
+ if (object.timecodeSourceId != null)
19082
+ message.timecodeSourceId = String(object.timecodeSourceId);
18350
19083
  return message;
18351
19084
  };
18352
19085
  DecklinkOutputConfig.toObject = function toObject(message, options) {
@@ -18357,6 +19090,8 @@ var sesame = $root.sesame = (() => {
18357
19090
  object.deviceIndex = 0;
18358
19091
  object.videoFormat = options.enums === String ? "VIDEO_FORMAT_UNSPECIFIED" : 0;
18359
19092
  object.keyAndFill = false;
19093
+ object.timecodeMode = options.enums === String ? "TIMECODE_MODE_UNSPECIFIED" : 0;
19094
+ object.timecodeSourceId = "";
18360
19095
  }
18361
19096
  if (message.deviceIndex != null && message.hasOwnProperty("deviceIndex"))
18362
19097
  object.deviceIndex = message.deviceIndex;
@@ -18364,6 +19099,10 @@ var sesame = $root.sesame = (() => {
18364
19099
  object.videoFormat = options.enums === String ? $root.sesame.v1.common.VideoFormat[message.videoFormat] === void 0 ? message.videoFormat : $root.sesame.v1.common.VideoFormat[message.videoFormat] : message.videoFormat;
18365
19100
  if (message.keyAndFill != null && message.hasOwnProperty("keyAndFill"))
18366
19101
  object.keyAndFill = message.keyAndFill;
19102
+ if (message.timecodeMode != null && message.hasOwnProperty("timecodeMode"))
19103
+ object.timecodeMode = options.enums === String ? $root.sesame.v1.outputs.TimecodeMode[message.timecodeMode] === void 0 ? message.timecodeMode : $root.sesame.v1.outputs.TimecodeMode[message.timecodeMode] : message.timecodeMode;
19104
+ if (message.timecodeSourceId != null && message.hasOwnProperty("timecodeSourceId"))
19105
+ object.timecodeSourceId = message.timecodeSourceId;
18367
19106
  return object;
18368
19107
  };
18369
19108
  DecklinkOutputConfig.prototype.toJSON = function toJSON() {
@@ -20623,6 +21362,7 @@ var sesame = $root.sesame = (() => {
20623
21362
  EncoderStatus.prototype.state = 0;
20624
21363
  EncoderStatus.prototype.msg = null;
20625
21364
  EncoderStatus.prototype.compositionId = "";
21365
+ EncoderStatus.prototype.droppedFrames = 0;
20626
21366
  let $oneOfFields;
20627
21367
  Object.defineProperty(EncoderStatus.prototype, "_msg", {
20628
21368
  get: $util.oneOfGetter($oneOfFields = ["msg"]),
@@ -20659,6 +21399,11 @@ var sesame = $root.sesame = (() => {
20659
21399
  /* id 5, wireType 2 =*/
20660
21400
  42
20661
21401
  ).string(message.compositionId);
21402
+ if (message.droppedFrames != null && Object.hasOwnProperty.call(message, "droppedFrames"))
21403
+ writer.uint32(
21404
+ /* id 6, wireType 0 =*/
21405
+ 48
21406
+ ).uint32(message.droppedFrames);
20662
21407
  return writer;
20663
21408
  };
20664
21409
  EncoderStatus.encodeDelimited = function encodeDelimited(message, writer) {
@@ -20693,6 +21438,10 @@ var sesame = $root.sesame = (() => {
20693
21438
  message.compositionId = reader.string();
20694
21439
  break;
20695
21440
  }
21441
+ case 6: {
21442
+ message.droppedFrames = reader.uint32();
21443
+ break;
21444
+ }
20696
21445
  default:
20697
21446
  reader.skipType(tag & 7);
20698
21447
  break;
@@ -20743,6 +21492,10 @@ var sesame = $root.sesame = (() => {
20743
21492
  if (!$util.isString(message.compositionId))
20744
21493
  return "compositionId: string expected";
20745
21494
  }
21495
+ if (message.droppedFrames != null && message.hasOwnProperty("droppedFrames")) {
21496
+ if (!$util.isInteger(message.droppedFrames))
21497
+ return "droppedFrames: integer expected";
21498
+ }
20746
21499
  return null;
20747
21500
  };
20748
21501
  EncoderStatus.fromObject = function fromObject(object) {
@@ -20807,6 +21560,8 @@ var sesame = $root.sesame = (() => {
20807
21560
  message.msg = String(object.msg);
20808
21561
  if (object.compositionId != null)
20809
21562
  message.compositionId = String(object.compositionId);
21563
+ if (object.droppedFrames != null)
21564
+ message.droppedFrames = object.droppedFrames >>> 0;
20810
21565
  return message;
20811
21566
  };
20812
21567
  EncoderStatus.toObject = function toObject(message, options) {
@@ -20818,6 +21573,7 @@ var sesame = $root.sesame = (() => {
20818
21573
  object.type = options.enums === String ? "ENCODER_TYPE_UNSPECIFIED" : 0;
20819
21574
  object.state = options.enums === String ? "CONNECTION_STATE_UNSPECIFIED" : 0;
20820
21575
  object.compositionId = "";
21576
+ object.droppedFrames = 0;
20821
21577
  }
20822
21578
  if (message.id != null && message.hasOwnProperty("id"))
20823
21579
  object.id = message.id;
@@ -20832,6 +21588,8 @@ var sesame = $root.sesame = (() => {
20832
21588
  }
20833
21589
  if (message.compositionId != null && message.hasOwnProperty("compositionId"))
20834
21590
  object.compositionId = message.compositionId;
21591
+ if (message.droppedFrames != null && message.hasOwnProperty("droppedFrames"))
21592
+ object.droppedFrames = message.droppedFrames;
20835
21593
  return object;
20836
21594
  };
20837
21595
  EncoderStatus.prototype.toJSON = function toJSON() {
@@ -25100,6 +25858,108 @@ var sesame = $root.sesame = (() => {
25100
25858
  };
25101
25859
  return PublishMetadataRequest;
25102
25860
  }();
25861
+ rpc.SystemOperationRequest = function() {
25862
+ function SystemOperationRequest(properties) {
25863
+ if (properties) {
25864
+ for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)
25865
+ if (properties[keys[i]] != null)
25866
+ this[keys[i]] = properties[keys[i]];
25867
+ }
25868
+ }
25869
+ SystemOperationRequest.prototype.resetFrameDrops = null;
25870
+ let $oneOfFields;
25871
+ Object.defineProperty(SystemOperationRequest.prototype, "operation", {
25872
+ get: $util.oneOfGetter($oneOfFields = ["resetFrameDrops"]),
25873
+ set: $util.oneOfSetter($oneOfFields)
25874
+ });
25875
+ SystemOperationRequest.create = function create(properties) {
25876
+ return new SystemOperationRequest(properties);
25877
+ };
25878
+ SystemOperationRequest.encode = function encode(message, writer) {
25879
+ if (!writer)
25880
+ writer = $Writer.create();
25881
+ if (message.resetFrameDrops != null && Object.hasOwnProperty.call(message, "resetFrameDrops"))
25882
+ $root.sesame.v1.common.Empty.encode(message.resetFrameDrops, writer.uint32(
25883
+ /* id 1, wireType 2 =*/
25884
+ 10
25885
+ ).fork()).ldelim();
25886
+ return writer;
25887
+ };
25888
+ SystemOperationRequest.encodeDelimited = function encodeDelimited(message, writer) {
25889
+ return this.encode(message, writer).ldelim();
25890
+ };
25891
+ SystemOperationRequest.decode = function decode(reader, length, error) {
25892
+ if (!(reader instanceof $Reader))
25893
+ reader = $Reader.create(reader);
25894
+ let end = length === void 0 ? reader.len : reader.pos + length, message = new $root.sesame.v1.rpc.SystemOperationRequest();
25895
+ while (reader.pos < end) {
25896
+ let tag = reader.uint32();
25897
+ if (tag === error)
25898
+ break;
25899
+ switch (tag >>> 3) {
25900
+ case 1: {
25901
+ message.resetFrameDrops = $root.sesame.v1.common.Empty.decode(reader, reader.uint32());
25902
+ break;
25903
+ }
25904
+ default:
25905
+ reader.skipType(tag & 7);
25906
+ break;
25907
+ }
25908
+ }
25909
+ return message;
25910
+ };
25911
+ SystemOperationRequest.decodeDelimited = function decodeDelimited(reader) {
25912
+ if (!(reader instanceof $Reader))
25913
+ reader = new $Reader(reader);
25914
+ return this.decode(reader, reader.uint32());
25915
+ };
25916
+ SystemOperationRequest.verify = function verify(message) {
25917
+ if (typeof message !== "object" || message === null)
25918
+ return "object expected";
25919
+ let properties = {};
25920
+ if (message.resetFrameDrops != null && message.hasOwnProperty("resetFrameDrops")) {
25921
+ properties.operation = 1;
25922
+ {
25923
+ let error = $root.sesame.v1.common.Empty.verify(message.resetFrameDrops);
25924
+ if (error)
25925
+ return "resetFrameDrops." + error;
25926
+ }
25927
+ }
25928
+ return null;
25929
+ };
25930
+ SystemOperationRequest.fromObject = function fromObject(object) {
25931
+ if (object instanceof $root.sesame.v1.rpc.SystemOperationRequest)
25932
+ return object;
25933
+ let message = new $root.sesame.v1.rpc.SystemOperationRequest();
25934
+ if (object.resetFrameDrops != null) {
25935
+ if (typeof object.resetFrameDrops !== "object")
25936
+ throw TypeError(".sesame.v1.rpc.SystemOperationRequest.resetFrameDrops: object expected");
25937
+ message.resetFrameDrops = $root.sesame.v1.common.Empty.fromObject(object.resetFrameDrops);
25938
+ }
25939
+ return message;
25940
+ };
25941
+ SystemOperationRequest.toObject = function toObject(message, options) {
25942
+ if (!options)
25943
+ options = {};
25944
+ let object = {};
25945
+ if (message.resetFrameDrops != null && message.hasOwnProperty("resetFrameDrops")) {
25946
+ object.resetFrameDrops = $root.sesame.v1.common.Empty.toObject(message.resetFrameDrops, options);
25947
+ if (options.oneofs)
25948
+ object.operation = "resetFrameDrops";
25949
+ }
25950
+ return object;
25951
+ };
25952
+ SystemOperationRequest.prototype.toJSON = function toJSON() {
25953
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
25954
+ };
25955
+ SystemOperationRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
25956
+ if (typeUrlPrefix === void 0) {
25957
+ typeUrlPrefix = "type.googleapis.com";
25958
+ }
25959
+ return typeUrlPrefix + "/sesame.v1.rpc.SystemOperationRequest";
25960
+ };
25961
+ return SystemOperationRequest;
25962
+ }();
25103
25963
  rpc.SesameAPIService = function() {
25104
25964
  function SesameAPIService(rpcImpl, requestDelimited, responseDelimited) {
25105
25965
  $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited);
@@ -25147,6 +26007,9 @@ var sesame = $root.sesame = (() => {
25147
26007
  Object.defineProperty(SesameAPIService.prototype.publishMetadata = function publishMetadata(request, callback) {
25148
26008
  return this.rpcCall(publishMetadata, $root.sesame.v1.rpc.PublishMetadataRequest, $root.sesame.v1.common.Empty, request, callback);
25149
26009
  }, "name", { value: "PublishMetadata" });
26010
+ Object.defineProperty(SesameAPIService.prototype.requestSystemOperation = function requestSystemOperation(request, callback) {
26011
+ return this.rpcCall(requestSystemOperation, $root.sesame.v1.rpc.SystemOperationRequest, $root.sesame.v1.common.Empty, request, callback);
26012
+ }, "name", { value: "RequestSystemOperation" });
25150
26013
  return SesameAPIService;
25151
26014
  }();
25152
26015
  return rpc;
@@ -27108,6 +27971,10 @@ var SesameClient = class extends import_events3.EventEmitter {
27108
27971
  async requestKeyframe(outputId) {
27109
27972
  await this.rpc.service.requestKeyframe({ id: outputId });
27110
27973
  }
27974
+ /** Resets the engine's dropped-frame counter shown in status. */
27975
+ async resetFrameDrops() {
27976
+ await this.rpc.service.requestSystemOperation({ resetFrameDrops: {} });
27977
+ }
27111
27978
  async execute(cl) {
27112
27979
  cl.filterCreatedAndDestroyedSources();
27113
27980
  if (cl.getCommandListMsg().commandList.length > 0) {