@stinkycomputing/sesame-api-client 1.5.12 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -7411,6 +7411,13 @@ var sesame = $root.sesame = (() => {
7411
7411
  values[valuesById[3] = "SIGNAL_GENERATOR_AUDIO_MODE_SILENCE"] = 3;
7412
7412
  return values;
7413
7413
  }();
7414
+ sources.SignalGeneratorTimecodeMode = function() {
7415
+ const valuesById = {}, values = Object.create(valuesById);
7416
+ values[valuesById[0] = "SIGNAL_GENERATOR_TIMECODE_MODE_NONE"] = 0;
7417
+ values[valuesById[1] = "SIGNAL_GENERATOR_TIMECODE_MODE_FREE_RUN"] = 1;
7418
+ values[valuesById[2] = "SIGNAL_GENERATOR_TIMECODE_MODE_TIME_OF_DAY"] = 2;
7419
+ return values;
7420
+ }();
7414
7421
  sources.SignalGeneratorSourceConfig = function() {
7415
7422
  function SignalGeneratorSourceConfig(properties) {
7416
7423
  if (properties) {
@@ -7422,6 +7429,8 @@ var sesame = $root.sesame = (() => {
7422
7429
  SignalGeneratorSourceConfig.prototype.freeze = false;
7423
7430
  SignalGeneratorSourceConfig.prototype.videoPattern = 0;
7424
7431
  SignalGeneratorSourceConfig.prototype.audioMode = 0;
7432
+ SignalGeneratorSourceConfig.prototype.timecodeMode = 0;
7433
+ SignalGeneratorSourceConfig.prototype.timecodeStartFrame = 0;
7425
7434
  SignalGeneratorSourceConfig.create = function create(properties) {
7426
7435
  return new SignalGeneratorSourceConfig(properties);
7427
7436
  };
@@ -7443,6 +7452,16 @@ var sesame = $root.sesame = (() => {
7443
7452
  /* id 3, wireType 0 =*/
7444
7453
  24
7445
7454
  ).int32(message.audioMode);
7455
+ if (message.timecodeMode != null && Object.hasOwnProperty.call(message, "timecodeMode"))
7456
+ writer.uint32(
7457
+ /* id 4, wireType 0 =*/
7458
+ 32
7459
+ ).int32(message.timecodeMode);
7460
+ if (message.timecodeStartFrame != null && Object.hasOwnProperty.call(message, "timecodeStartFrame"))
7461
+ writer.uint32(
7462
+ /* id 5, wireType 0 =*/
7463
+ 40
7464
+ ).uint32(message.timecodeStartFrame);
7446
7465
  return writer;
7447
7466
  };
7448
7467
  SignalGeneratorSourceConfig.encodeDelimited = function encodeDelimited(message, writer) {
@@ -7469,6 +7488,14 @@ var sesame = $root.sesame = (() => {
7469
7488
  message.audioMode = reader.int32();
7470
7489
  break;
7471
7490
  }
7491
+ case 4: {
7492
+ message.timecodeMode = reader.int32();
7493
+ break;
7494
+ }
7495
+ case 5: {
7496
+ message.timecodeStartFrame = reader.uint32();
7497
+ break;
7498
+ }
7472
7499
  default:
7473
7500
  reader.skipType(tag & 7);
7474
7501
  break;
@@ -7508,6 +7535,19 @@ var sesame = $root.sesame = (() => {
7508
7535
  case 3:
7509
7536
  break;
7510
7537
  }
7538
+ if (message.timecodeMode != null && message.hasOwnProperty("timecodeMode"))
7539
+ switch (message.timecodeMode) {
7540
+ default:
7541
+ return "timecodeMode: enum value expected";
7542
+ case 0:
7543
+ case 1:
7544
+ case 2:
7545
+ break;
7546
+ }
7547
+ if (message.timecodeStartFrame != null && message.hasOwnProperty("timecodeStartFrame")) {
7548
+ if (!$util.isInteger(message.timecodeStartFrame))
7549
+ return "timecodeStartFrame: integer expected";
7550
+ }
7511
7551
  return null;
7512
7552
  };
7513
7553
  SignalGeneratorSourceConfig.fromObject = function fromObject(object) {
@@ -7564,6 +7604,28 @@ var sesame = $root.sesame = (() => {
7564
7604
  message.audioMode = 3;
7565
7605
  break;
7566
7606
  }
7607
+ switch (object.timecodeMode) {
7608
+ default:
7609
+ if (typeof object.timecodeMode === "number") {
7610
+ message.timecodeMode = object.timecodeMode;
7611
+ break;
7612
+ }
7613
+ break;
7614
+ case "SIGNAL_GENERATOR_TIMECODE_MODE_NONE":
7615
+ case 0:
7616
+ message.timecodeMode = 0;
7617
+ break;
7618
+ case "SIGNAL_GENERATOR_TIMECODE_MODE_FREE_RUN":
7619
+ case 1:
7620
+ message.timecodeMode = 1;
7621
+ break;
7622
+ case "SIGNAL_GENERATOR_TIMECODE_MODE_TIME_OF_DAY":
7623
+ case 2:
7624
+ message.timecodeMode = 2;
7625
+ break;
7626
+ }
7627
+ if (object.timecodeStartFrame != null)
7628
+ message.timecodeStartFrame = object.timecodeStartFrame >>> 0;
7567
7629
  return message;
7568
7630
  };
7569
7631
  SignalGeneratorSourceConfig.toObject = function toObject(message, options) {
@@ -7574,6 +7636,8 @@ var sesame = $root.sesame = (() => {
7574
7636
  object.freeze = false;
7575
7637
  object.videoPattern = options.enums === String ? "SIGNAL_GENERATOR_VIDEO_PATTERN_BARS" : 0;
7576
7638
  object.audioMode = options.enums === String ? "SIGNAL_GENERATOR_AUDIO_MODE_SYNC" : 0;
7639
+ object.timecodeMode = options.enums === String ? "SIGNAL_GENERATOR_TIMECODE_MODE_NONE" : 0;
7640
+ object.timecodeStartFrame = 0;
7577
7641
  }
7578
7642
  if (message.freeze != null && message.hasOwnProperty("freeze"))
7579
7643
  object.freeze = message.freeze;
@@ -7581,6 +7645,10 @@ var sesame = $root.sesame = (() => {
7581
7645
  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;
7582
7646
  if (message.audioMode != null && message.hasOwnProperty("audioMode"))
7583
7647
  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;
7648
+ if (message.timecodeMode != null && message.hasOwnProperty("timecodeMode"))
7649
+ 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;
7650
+ if (message.timecodeStartFrame != null && message.hasOwnProperty("timecodeStartFrame"))
7651
+ object.timecodeStartFrame = message.timecodeStartFrame;
7584
7652
  return object;
7585
7653
  };
7586
7654
  SignalGeneratorSourceConfig.prototype.toJSON = function toJSON() {
@@ -14706,6 +14774,9 @@ var sesame = $root.sesame = (() => {
14706
14774
  SystemStatus.prototype.gpuDecoderUtilization = 0;
14707
14775
  SystemStatus.prototype.gpuName = "";
14708
14776
  SystemStatus.prototype.vmaBytes = $util.Long ? $util.Long.fromBits(0, 0, true) : 0;
14777
+ SystemStatus.prototype.version = "";
14778
+ SystemStatus.prototype.nvencSessions = 0;
14779
+ SystemStatus.prototype.nvdecSessions = 0;
14709
14780
  SystemStatus.create = function create(properties) {
14710
14781
  return new SystemStatus(properties);
14711
14782
  };
@@ -14797,6 +14868,21 @@ var sesame = $root.sesame = (() => {
14797
14868
  /* id 17, wireType 0 =*/
14798
14869
  136
14799
14870
  ).uint64(message.vmaBytes);
14871
+ if (message.version != null && Object.hasOwnProperty.call(message, "version"))
14872
+ writer.uint32(
14873
+ /* id 18, wireType 2 =*/
14874
+ 146
14875
+ ).string(message.version);
14876
+ if (message.nvencSessions != null && Object.hasOwnProperty.call(message, "nvencSessions"))
14877
+ writer.uint32(
14878
+ /* id 19, wireType 0 =*/
14879
+ 152
14880
+ ).uint32(message.nvencSessions);
14881
+ if (message.nvdecSessions != null && Object.hasOwnProperty.call(message, "nvdecSessions"))
14882
+ writer.uint32(
14883
+ /* id 20, wireType 0 =*/
14884
+ 160
14885
+ ).uint32(message.nvdecSessions);
14800
14886
  return writer;
14801
14887
  };
14802
14888
  SystemStatus.encodeDelimited = function encodeDelimited(message, writer) {
@@ -14879,6 +14965,18 @@ var sesame = $root.sesame = (() => {
14879
14965
  message.vmaBytes = reader.uint64();
14880
14966
  break;
14881
14967
  }
14968
+ case 18: {
14969
+ message.version = reader.string();
14970
+ break;
14971
+ }
14972
+ case 19: {
14973
+ message.nvencSessions = reader.uint32();
14974
+ break;
14975
+ }
14976
+ case 20: {
14977
+ message.nvdecSessions = reader.uint32();
14978
+ break;
14979
+ }
14882
14980
  default:
14883
14981
  reader.skipType(tag & 7);
14884
14982
  break;
@@ -14966,6 +15064,18 @@ var sesame = $root.sesame = (() => {
14966
15064
  if (!$util.isInteger(message.vmaBytes) && !(message.vmaBytes && $util.isInteger(message.vmaBytes.low) && $util.isInteger(message.vmaBytes.high)))
14967
15065
  return "vmaBytes: integer|Long expected";
14968
15066
  }
15067
+ if (message.version != null && message.hasOwnProperty("version")) {
15068
+ if (!$util.isString(message.version))
15069
+ return "version: string expected";
15070
+ }
15071
+ if (message.nvencSessions != null && message.hasOwnProperty("nvencSessions")) {
15072
+ if (!$util.isInteger(message.nvencSessions))
15073
+ return "nvencSessions: integer expected";
15074
+ }
15075
+ if (message.nvdecSessions != null && message.hasOwnProperty("nvdecSessions")) {
15076
+ if (!$util.isInteger(message.nvdecSessions))
15077
+ return "nvdecSessions: integer expected";
15078
+ }
14969
15079
  return null;
14970
15080
  };
14971
15081
  SystemStatus.fromObject = function fromObject(object) {
@@ -15066,6 +15176,12 @@ var sesame = $root.sesame = (() => {
15066
15176
  else if (typeof object.vmaBytes === "object")
15067
15177
  message.vmaBytes = new $util.LongBits(object.vmaBytes.low >>> 0, object.vmaBytes.high >>> 0).toNumber(true);
15068
15178
  }
15179
+ if (object.version != null)
15180
+ message.version = String(object.version);
15181
+ if (object.nvencSessions != null)
15182
+ message.nvencSessions = object.nvencSessions >>> 0;
15183
+ if (object.nvdecSessions != null)
15184
+ message.nvdecSessions = object.nvdecSessions >>> 0;
15069
15185
  return message;
15070
15186
  };
15071
15187
  SystemStatus.toObject = function toObject(message, options) {
@@ -15114,6 +15230,9 @@ var sesame = $root.sesame = (() => {
15114
15230
  object.vmaBytes = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
15115
15231
  } else
15116
15232
  object.vmaBytes = options.longs === String ? "0" : 0;
15233
+ object.version = "";
15234
+ object.nvencSessions = 0;
15235
+ object.nvdecSessions = 0;
15117
15236
  }
15118
15237
  if (message.uptime != null && message.hasOwnProperty("uptime"))
15119
15238
  if (typeof message.uptime === "number")
@@ -15167,6 +15286,12 @@ var sesame = $root.sesame = (() => {
15167
15286
  object.vmaBytes = options.longs === String ? String(message.vmaBytes) : message.vmaBytes;
15168
15287
  else
15169
15288
  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;
15289
+ if (message.version != null && message.hasOwnProperty("version"))
15290
+ object.version = message.version;
15291
+ if (message.nvencSessions != null && message.hasOwnProperty("nvencSessions"))
15292
+ object.nvencSessions = message.nvencSessions;
15293
+ if (message.nvdecSessions != null && message.hasOwnProperty("nvdecSessions"))
15294
+ object.nvdecSessions = message.nvdecSessions;
15170
15295
  return object;
15171
15296
  };
15172
15297
  SystemStatus.prototype.toJSON = function toJSON() {
@@ -17220,117 +17345,219 @@ var sesame = $root.sesame = (() => {
17220
17345
  values[valuesById[1] = "ENCODER_TYPE_VIDEO"] = 1;
17221
17346
  return values;
17222
17347
  }();
17223
- outputs.EncoderPreset = function() {
17348
+ outputs.EncoderTuning = function() {
17224
17349
  const valuesById = {}, values = Object.create(valuesById);
17225
- values[valuesById[0] = "ENCODER_PRESET_UNSPECIFIED"] = 0;
17226
- values[valuesById[1] = "ENCODER_PRESET_LOW_LATENCY"] = 1;
17227
- values[valuesById[2] = "ENCODER_PRESET_LOW_LATENCY_IDR_ONLY"] = 2;
17228
- values[valuesById[3] = "ENCODER_PRESET_HIGH_QUALITY"] = 3;
17350
+ values[valuesById[0] = "ENCODER_TUNING_UNSPECIFIED"] = 0;
17351
+ values[valuesById[1] = "ENCODER_TUNING_ULTRA_LOW_LATENCY"] = 1;
17352
+ values[valuesById[2] = "ENCODER_TUNING_LOW_LATENCY"] = 2;
17353
+ values[valuesById[3] = "ENCODER_TUNING_HIGH_QUALITY"] = 3;
17229
17354
  return values;
17230
17355
  }();
17231
- outputs.RecorderType = function() {
17356
+ outputs.EncoderRateControl = function() {
17232
17357
  const valuesById = {}, values = Object.create(valuesById);
17233
- values[valuesById[0] = "RECORDER_TYPE_UNSPECIFIED"] = 0;
17234
- values[valuesById[1] = "RECORDER_TYPE_LIVE"] = 1;
17235
- values[valuesById[2] = "RECORDER_TYPE_CLIPS"] = 2;
17358
+ values[valuesById[0] = "ENCODER_RATE_CONTROL_UNSPECIFIED"] = 0;
17359
+ values[valuesById[1] = "ENCODER_RATE_CONTROL_CBR"] = 1;
17360
+ values[valuesById[2] = "ENCODER_RATE_CONTROL_VBR"] = 2;
17236
17361
  return values;
17237
17362
  }();
17238
- outputs.EncoderConfig = function() {
17239
- function EncoderConfig(properties) {
17363
+ outputs.EncoderProfile = function() {
17364
+ const valuesById = {}, values = Object.create(valuesById);
17365
+ values[valuesById[0] = "ENCODER_PROFILE_AUTO"] = 0;
17366
+ values[valuesById[1] = "ENCODER_PROFILE_BASELINE"] = 1;
17367
+ values[valuesById[2] = "ENCODER_PROFILE_MAIN"] = 2;
17368
+ values[valuesById[3] = "ENCODER_PROFILE_MAIN10"] = 3;
17369
+ values[valuesById[4] = "ENCODER_PROFILE_HIGH"] = 4;
17370
+ return values;
17371
+ }();
17372
+ outputs.EncoderMultipass = function() {
17373
+ const valuesById = {}, values = Object.create(valuesById);
17374
+ values[valuesById[0] = "ENCODER_MULTIPASS_DISABLED"] = 0;
17375
+ values[valuesById[1] = "ENCODER_MULTIPASS_QUARTER_RESOLUTION"] = 1;
17376
+ values[valuesById[2] = "ENCODER_MULTIPASS_FULL_RESOLUTION"] = 2;
17377
+ return values;
17378
+ }();
17379
+ outputs.EncoderChromaFormat = function() {
17380
+ const valuesById = {}, values = Object.create(valuesById);
17381
+ values[valuesById[0] = "ENCODER_CHROMA_FORMAT_420"] = 0;
17382
+ values[valuesById[1] = "ENCODER_CHROMA_FORMAT_444"] = 1;
17383
+ return values;
17384
+ }();
17385
+ outputs.EncoderSettings = function() {
17386
+ function EncoderSettings(properties) {
17240
17387
  if (properties) {
17241
17388
  for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)
17242
17389
  if (properties[keys[i]] != null)
17243
17390
  this[keys[i]] = properties[keys[i]];
17244
17391
  }
17245
17392
  }
17246
- EncoderConfig.prototype.codec = 0;
17247
- EncoderConfig.prototype.preset = 0;
17248
- EncoderConfig.prototype.bitrateKbps = 0;
17249
- EncoderConfig.prototype.keyframeInterval = 0;
17250
- EncoderConfig.prototype.width = 0;
17251
- EncoderConfig.prototype.height = 0;
17252
- EncoderConfig.prototype.fps = 0;
17253
- EncoderConfig.create = function create(properties) {
17254
- return new EncoderConfig(properties);
17255
- };
17256
- EncoderConfig.encode = function encode(message, writer) {
17393
+ EncoderSettings.prototype.tuning = 0;
17394
+ EncoderSettings.prototype.effort = 0;
17395
+ EncoderSettings.prototype.rateControl = 0;
17396
+ EncoderSettings.prototype.maxBitrateKbps = 0;
17397
+ EncoderSettings.prototype.profile = 0;
17398
+ EncoderSettings.prototype.bframes = 0;
17399
+ EncoderSettings.prototype.idrOnly = false;
17400
+ EncoderSettings.prototype.spatialAq = false;
17401
+ EncoderSettings.prototype.multipass = 0;
17402
+ EncoderSettings.prototype.lookaheadDepth = 0;
17403
+ EncoderSettings.prototype.zeroReorderDelay = false;
17404
+ EncoderSettings.prototype.bitDepth = 0;
17405
+ EncoderSettings.prototype.chromaFormat = 0;
17406
+ EncoderSettings.prototype.outputAud = false;
17407
+ EncoderSettings.prototype.level = "";
17408
+ EncoderSettings.create = function create(properties) {
17409
+ return new EncoderSettings(properties);
17410
+ };
17411
+ EncoderSettings.encode = function encode(message, writer) {
17257
17412
  if (!writer)
17258
17413
  writer = $Writer.create();
17259
- if (message.codec != null && Object.hasOwnProperty.call(message, "codec"))
17414
+ if (message.tuning != null && Object.hasOwnProperty.call(message, "tuning"))
17260
17415
  writer.uint32(
17261
17416
  /* id 1, wireType 0 =*/
17262
17417
  8
17263
- ).int32(message.codec);
17264
- if (message.preset != null && Object.hasOwnProperty.call(message, "preset"))
17418
+ ).int32(message.tuning);
17419
+ if (message.effort != null && Object.hasOwnProperty.call(message, "effort"))
17265
17420
  writer.uint32(
17266
17421
  /* id 2, wireType 0 =*/
17267
17422
  16
17268
- ).int32(message.preset);
17269
- if (message.bitrateKbps != null && Object.hasOwnProperty.call(message, "bitrateKbps"))
17423
+ ).uint32(message.effort);
17424
+ if (message.rateControl != null && Object.hasOwnProperty.call(message, "rateControl"))
17270
17425
  writer.uint32(
17271
17426
  /* id 3, wireType 0 =*/
17272
17427
  24
17273
- ).uint32(message.bitrateKbps);
17274
- if (message.keyframeInterval != null && Object.hasOwnProperty.call(message, "keyframeInterval"))
17428
+ ).int32(message.rateControl);
17429
+ if (message.maxBitrateKbps != null && Object.hasOwnProperty.call(message, "maxBitrateKbps"))
17275
17430
  writer.uint32(
17276
17431
  /* id 4, wireType 0 =*/
17277
17432
  32
17278
- ).uint32(message.keyframeInterval);
17279
- if (message.width != null && Object.hasOwnProperty.call(message, "width"))
17433
+ ).uint32(message.maxBitrateKbps);
17434
+ if (message.profile != null && Object.hasOwnProperty.call(message, "profile"))
17280
17435
  writer.uint32(
17281
17436
  /* id 5, wireType 0 =*/
17282
17437
  40
17283
- ).uint32(message.width);
17284
- if (message.height != null && Object.hasOwnProperty.call(message, "height"))
17438
+ ).int32(message.profile);
17439
+ if (message.bframes != null && Object.hasOwnProperty.call(message, "bframes"))
17285
17440
  writer.uint32(
17286
17441
  /* id 6, wireType 0 =*/
17287
17442
  48
17288
- ).uint32(message.height);
17289
- if (message.fps != null && Object.hasOwnProperty.call(message, "fps"))
17443
+ ).uint32(message.bframes);
17444
+ if (message.idrOnly != null && Object.hasOwnProperty.call(message, "idrOnly"))
17290
17445
  writer.uint32(
17291
- /* id 7, wireType 5 =*/
17292
- 61
17293
- ).float(message.fps);
17446
+ /* id 7, wireType 0 =*/
17447
+ 56
17448
+ ).bool(message.idrOnly);
17449
+ if (message.spatialAq != null && Object.hasOwnProperty.call(message, "spatialAq"))
17450
+ writer.uint32(
17451
+ /* id 8, wireType 0 =*/
17452
+ 64
17453
+ ).bool(message.spatialAq);
17454
+ if (message.multipass != null && Object.hasOwnProperty.call(message, "multipass"))
17455
+ writer.uint32(
17456
+ /* id 9, wireType 0 =*/
17457
+ 72
17458
+ ).int32(message.multipass);
17459
+ if (message.lookaheadDepth != null && Object.hasOwnProperty.call(message, "lookaheadDepth"))
17460
+ writer.uint32(
17461
+ /* id 10, wireType 0 =*/
17462
+ 80
17463
+ ).uint32(message.lookaheadDepth);
17464
+ if (message.zeroReorderDelay != null && Object.hasOwnProperty.call(message, "zeroReorderDelay"))
17465
+ writer.uint32(
17466
+ /* id 11, wireType 0 =*/
17467
+ 88
17468
+ ).bool(message.zeroReorderDelay);
17469
+ if (message.bitDepth != null && Object.hasOwnProperty.call(message, "bitDepth"))
17470
+ writer.uint32(
17471
+ /* id 12, wireType 0 =*/
17472
+ 96
17473
+ ).uint32(message.bitDepth);
17474
+ if (message.chromaFormat != null && Object.hasOwnProperty.call(message, "chromaFormat"))
17475
+ writer.uint32(
17476
+ /* id 13, wireType 0 =*/
17477
+ 104
17478
+ ).int32(message.chromaFormat);
17479
+ if (message.outputAud != null && Object.hasOwnProperty.call(message, "outputAud"))
17480
+ writer.uint32(
17481
+ /* id 14, wireType 0 =*/
17482
+ 112
17483
+ ).bool(message.outputAud);
17484
+ if (message.level != null && Object.hasOwnProperty.call(message, "level"))
17485
+ writer.uint32(
17486
+ /* id 15, wireType 2 =*/
17487
+ 122
17488
+ ).string(message.level);
17294
17489
  return writer;
17295
17490
  };
17296
- EncoderConfig.encodeDelimited = function encodeDelimited(message, writer) {
17491
+ EncoderSettings.encodeDelimited = function encodeDelimited(message, writer) {
17297
17492
  return this.encode(message, writer).ldelim();
17298
17493
  };
17299
- EncoderConfig.decode = function decode(reader, length, error) {
17494
+ EncoderSettings.decode = function decode(reader, length, error) {
17300
17495
  if (!(reader instanceof $Reader))
17301
17496
  reader = $Reader.create(reader);
17302
- let end = length === void 0 ? reader.len : reader.pos + length, message = new $root.sesame.v1.outputs.EncoderConfig();
17497
+ let end = length === void 0 ? reader.len : reader.pos + length, message = new $root.sesame.v1.outputs.EncoderSettings();
17303
17498
  while (reader.pos < end) {
17304
17499
  let tag = reader.uint32();
17305
17500
  if (tag === error)
17306
17501
  break;
17307
17502
  switch (tag >>> 3) {
17308
17503
  case 1: {
17309
- message.codec = reader.int32();
17504
+ message.tuning = reader.int32();
17310
17505
  break;
17311
17506
  }
17312
17507
  case 2: {
17313
- message.preset = reader.int32();
17508
+ message.effort = reader.uint32();
17314
17509
  break;
17315
17510
  }
17316
17511
  case 3: {
17317
- message.bitrateKbps = reader.uint32();
17512
+ message.rateControl = reader.int32();
17318
17513
  break;
17319
17514
  }
17320
17515
  case 4: {
17321
- message.keyframeInterval = reader.uint32();
17516
+ message.maxBitrateKbps = reader.uint32();
17322
17517
  break;
17323
17518
  }
17324
17519
  case 5: {
17325
- message.width = reader.uint32();
17520
+ message.profile = reader.int32();
17326
17521
  break;
17327
17522
  }
17328
17523
  case 6: {
17329
- message.height = reader.uint32();
17524
+ message.bframes = reader.uint32();
17330
17525
  break;
17331
17526
  }
17332
17527
  case 7: {
17333
- message.fps = reader.float();
17528
+ message.idrOnly = reader.bool();
17529
+ break;
17530
+ }
17531
+ case 8: {
17532
+ message.spatialAq = reader.bool();
17533
+ break;
17534
+ }
17535
+ case 9: {
17536
+ message.multipass = reader.int32();
17537
+ break;
17538
+ }
17539
+ case 10: {
17540
+ message.lookaheadDepth = reader.uint32();
17541
+ break;
17542
+ }
17543
+ case 11: {
17544
+ message.zeroReorderDelay = reader.bool();
17545
+ break;
17546
+ }
17547
+ case 12: {
17548
+ message.bitDepth = reader.uint32();
17549
+ break;
17550
+ }
17551
+ case 13: {
17552
+ message.chromaFormat = reader.int32();
17553
+ break;
17554
+ }
17555
+ case 14: {
17556
+ message.outputAud = reader.bool();
17557
+ break;
17558
+ }
17559
+ case 15: {
17560
+ message.level = reader.string();
17334
17561
  break;
17335
17562
  }
17336
17563
  default:
@@ -17340,102 +17567,544 @@ var sesame = $root.sesame = (() => {
17340
17567
  }
17341
17568
  return message;
17342
17569
  };
17343
- EncoderConfig.decodeDelimited = function decodeDelimited(reader) {
17570
+ EncoderSettings.decodeDelimited = function decodeDelimited(reader) {
17344
17571
  if (!(reader instanceof $Reader))
17345
17572
  reader = new $Reader(reader);
17346
17573
  return this.decode(reader, reader.uint32());
17347
17574
  };
17348
- EncoderConfig.verify = function verify(message) {
17575
+ EncoderSettings.verify = function verify(message) {
17349
17576
  if (typeof message !== "object" || message === null)
17350
17577
  return "object expected";
17351
- if (message.codec != null && message.hasOwnProperty("codec"))
17352
- switch (message.codec) {
17578
+ if (message.tuning != null && message.hasOwnProperty("tuning"))
17579
+ switch (message.tuning) {
17353
17580
  default:
17354
- return "codec: enum value expected";
17581
+ return "tuning: enum value expected";
17355
17582
  case 0:
17356
17583
  case 1:
17357
17584
  case 2:
17358
17585
  case 3:
17359
- case 4:
17360
- case 5:
17361
- case 6:
17362
- case 7:
17363
- case 64:
17364
- case 65:
17365
- case 66:
17366
- case 67:
17367
17586
  break;
17368
17587
  }
17369
- if (message.preset != null && message.hasOwnProperty("preset"))
17370
- switch (message.preset) {
17588
+ if (message.effort != null && message.hasOwnProperty("effort")) {
17589
+ if (!$util.isInteger(message.effort))
17590
+ return "effort: integer expected";
17591
+ }
17592
+ if (message.rateControl != null && message.hasOwnProperty("rateControl"))
17593
+ switch (message.rateControl) {
17594
+ default:
17595
+ return "rateControl: enum value expected";
17596
+ case 0:
17597
+ case 1:
17598
+ case 2:
17599
+ break;
17600
+ }
17601
+ if (message.maxBitrateKbps != null && message.hasOwnProperty("maxBitrateKbps")) {
17602
+ if (!$util.isInteger(message.maxBitrateKbps))
17603
+ return "maxBitrateKbps: integer expected";
17604
+ }
17605
+ if (message.profile != null && message.hasOwnProperty("profile"))
17606
+ switch (message.profile) {
17371
17607
  default:
17372
- return "preset: enum value expected";
17608
+ return "profile: enum value expected";
17373
17609
  case 0:
17374
17610
  case 1:
17375
17611
  case 2:
17376
17612
  case 3:
17613
+ case 4:
17377
17614
  break;
17378
17615
  }
17379
- if (message.bitrateKbps != null && message.hasOwnProperty("bitrateKbps")) {
17380
- if (!$util.isInteger(message.bitrateKbps))
17381
- return "bitrateKbps: integer expected";
17616
+ if (message.bframes != null && message.hasOwnProperty("bframes")) {
17617
+ if (!$util.isInteger(message.bframes))
17618
+ return "bframes: integer expected";
17382
17619
  }
17383
- if (message.keyframeInterval != null && message.hasOwnProperty("keyframeInterval")) {
17384
- if (!$util.isInteger(message.keyframeInterval))
17385
- return "keyframeInterval: integer expected";
17620
+ if (message.idrOnly != null && message.hasOwnProperty("idrOnly")) {
17621
+ if (typeof message.idrOnly !== "boolean")
17622
+ return "idrOnly: boolean expected";
17386
17623
  }
17387
- if (message.width != null && message.hasOwnProperty("width")) {
17388
- if (!$util.isInteger(message.width))
17389
- return "width: integer expected";
17624
+ if (message.spatialAq != null && message.hasOwnProperty("spatialAq")) {
17625
+ if (typeof message.spatialAq !== "boolean")
17626
+ return "spatialAq: boolean expected";
17390
17627
  }
17391
- if (message.height != null && message.hasOwnProperty("height")) {
17392
- if (!$util.isInteger(message.height))
17393
- return "height: integer expected";
17628
+ if (message.multipass != null && message.hasOwnProperty("multipass"))
17629
+ switch (message.multipass) {
17630
+ default:
17631
+ return "multipass: enum value expected";
17632
+ case 0:
17633
+ case 1:
17634
+ case 2:
17635
+ break;
17636
+ }
17637
+ if (message.lookaheadDepth != null && message.hasOwnProperty("lookaheadDepth")) {
17638
+ if (!$util.isInteger(message.lookaheadDepth))
17639
+ return "lookaheadDepth: integer expected";
17394
17640
  }
17395
- if (message.fps != null && message.hasOwnProperty("fps")) {
17396
- if (typeof message.fps !== "number")
17397
- return "fps: number expected";
17641
+ if (message.zeroReorderDelay != null && message.hasOwnProperty("zeroReorderDelay")) {
17642
+ if (typeof message.zeroReorderDelay !== "boolean")
17643
+ return "zeroReorderDelay: boolean expected";
17644
+ }
17645
+ if (message.bitDepth != null && message.hasOwnProperty("bitDepth")) {
17646
+ if (!$util.isInteger(message.bitDepth))
17647
+ return "bitDepth: integer expected";
17648
+ }
17649
+ if (message.chromaFormat != null && message.hasOwnProperty("chromaFormat"))
17650
+ switch (message.chromaFormat) {
17651
+ default:
17652
+ return "chromaFormat: enum value expected";
17653
+ case 0:
17654
+ case 1:
17655
+ break;
17656
+ }
17657
+ if (message.outputAud != null && message.hasOwnProperty("outputAud")) {
17658
+ if (typeof message.outputAud !== "boolean")
17659
+ return "outputAud: boolean expected";
17660
+ }
17661
+ if (message.level != null && message.hasOwnProperty("level")) {
17662
+ if (!$util.isString(message.level))
17663
+ return "level: string expected";
17398
17664
  }
17399
17665
  return null;
17400
17666
  };
17401
- EncoderConfig.fromObject = function fromObject(object) {
17402
- if (object instanceof $root.sesame.v1.outputs.EncoderConfig)
17667
+ EncoderSettings.fromObject = function fromObject(object) {
17668
+ if (object instanceof $root.sesame.v1.outputs.EncoderSettings)
17403
17669
  return object;
17404
- let message = new $root.sesame.v1.outputs.EncoderConfig();
17405
- switch (object.codec) {
17670
+ let message = new $root.sesame.v1.outputs.EncoderSettings();
17671
+ switch (object.tuning) {
17406
17672
  default:
17407
- if (typeof object.codec === "number") {
17408
- message.codec = object.codec;
17673
+ if (typeof object.tuning === "number") {
17674
+ message.tuning = object.tuning;
17409
17675
  break;
17410
17676
  }
17411
17677
  break;
17412
- case "CODEC_TYPE_UNSPECIFIED":
17678
+ case "ENCODER_TUNING_UNSPECIFIED":
17413
17679
  case 0:
17414
- message.codec = 0;
17680
+ message.tuning = 0;
17415
17681
  break;
17416
- case "CODEC_TYPE_VIDEO_VP8":
17682
+ case "ENCODER_TUNING_ULTRA_LOW_LATENCY":
17417
17683
  case 1:
17418
- message.codec = 1;
17684
+ message.tuning = 1;
17419
17685
  break;
17420
- case "CODEC_TYPE_VIDEO_VP9":
17686
+ case "ENCODER_TUNING_LOW_LATENCY":
17421
17687
  case 2:
17422
- message.codec = 2;
17688
+ message.tuning = 2;
17423
17689
  break;
17424
- case "CODEC_TYPE_VIDEO_AVC":
17690
+ case "ENCODER_TUNING_HIGH_QUALITY":
17425
17691
  case 3:
17426
- message.codec = 3;
17427
- break;
17428
- case "CODEC_TYPE_VIDEO_HEVC":
17429
- case 4:
17430
- message.codec = 4;
17692
+ message.tuning = 3;
17431
17693
  break;
17432
- case "CODEC_TYPE_VIDEO_AV1":
17433
- case 5:
17434
- message.codec = 5;
17694
+ }
17695
+ if (object.effort != null)
17696
+ message.effort = object.effort >>> 0;
17697
+ switch (object.rateControl) {
17698
+ default:
17699
+ if (typeof object.rateControl === "number") {
17700
+ message.rateControl = object.rateControl;
17701
+ break;
17702
+ }
17435
17703
  break;
17436
- case "CODEC_TYPE_VIDEO_PRORES":
17437
- case 6:
17438
- message.codec = 6;
17704
+ case "ENCODER_RATE_CONTROL_UNSPECIFIED":
17705
+ case 0:
17706
+ message.rateControl = 0;
17707
+ break;
17708
+ case "ENCODER_RATE_CONTROL_CBR":
17709
+ case 1:
17710
+ message.rateControl = 1;
17711
+ break;
17712
+ case "ENCODER_RATE_CONTROL_VBR":
17713
+ case 2:
17714
+ message.rateControl = 2;
17715
+ break;
17716
+ }
17717
+ if (object.maxBitrateKbps != null)
17718
+ message.maxBitrateKbps = object.maxBitrateKbps >>> 0;
17719
+ switch (object.profile) {
17720
+ default:
17721
+ if (typeof object.profile === "number") {
17722
+ message.profile = object.profile;
17723
+ break;
17724
+ }
17725
+ break;
17726
+ case "ENCODER_PROFILE_AUTO":
17727
+ case 0:
17728
+ message.profile = 0;
17729
+ break;
17730
+ case "ENCODER_PROFILE_BASELINE":
17731
+ case 1:
17732
+ message.profile = 1;
17733
+ break;
17734
+ case "ENCODER_PROFILE_MAIN":
17735
+ case 2:
17736
+ message.profile = 2;
17737
+ break;
17738
+ case "ENCODER_PROFILE_MAIN10":
17739
+ case 3:
17740
+ message.profile = 3;
17741
+ break;
17742
+ case "ENCODER_PROFILE_HIGH":
17743
+ case 4:
17744
+ message.profile = 4;
17745
+ break;
17746
+ }
17747
+ if (object.bframes != null)
17748
+ message.bframes = object.bframes >>> 0;
17749
+ if (object.idrOnly != null)
17750
+ message.idrOnly = Boolean(object.idrOnly);
17751
+ if (object.spatialAq != null)
17752
+ message.spatialAq = Boolean(object.spatialAq);
17753
+ switch (object.multipass) {
17754
+ default:
17755
+ if (typeof object.multipass === "number") {
17756
+ message.multipass = object.multipass;
17757
+ break;
17758
+ }
17759
+ break;
17760
+ case "ENCODER_MULTIPASS_DISABLED":
17761
+ case 0:
17762
+ message.multipass = 0;
17763
+ break;
17764
+ case "ENCODER_MULTIPASS_QUARTER_RESOLUTION":
17765
+ case 1:
17766
+ message.multipass = 1;
17767
+ break;
17768
+ case "ENCODER_MULTIPASS_FULL_RESOLUTION":
17769
+ case 2:
17770
+ message.multipass = 2;
17771
+ break;
17772
+ }
17773
+ if (object.lookaheadDepth != null)
17774
+ message.lookaheadDepth = object.lookaheadDepth >>> 0;
17775
+ if (object.zeroReorderDelay != null)
17776
+ message.zeroReorderDelay = Boolean(object.zeroReorderDelay);
17777
+ if (object.bitDepth != null)
17778
+ message.bitDepth = object.bitDepth >>> 0;
17779
+ switch (object.chromaFormat) {
17780
+ default:
17781
+ if (typeof object.chromaFormat === "number") {
17782
+ message.chromaFormat = object.chromaFormat;
17783
+ break;
17784
+ }
17785
+ break;
17786
+ case "ENCODER_CHROMA_FORMAT_420":
17787
+ case 0:
17788
+ message.chromaFormat = 0;
17789
+ break;
17790
+ case "ENCODER_CHROMA_FORMAT_444":
17791
+ case 1:
17792
+ message.chromaFormat = 1;
17793
+ break;
17794
+ }
17795
+ if (object.outputAud != null)
17796
+ message.outputAud = Boolean(object.outputAud);
17797
+ if (object.level != null)
17798
+ message.level = String(object.level);
17799
+ return message;
17800
+ };
17801
+ EncoderSettings.toObject = function toObject(message, options) {
17802
+ if (!options)
17803
+ options = {};
17804
+ let object = {};
17805
+ if (options.defaults) {
17806
+ object.tuning = options.enums === String ? "ENCODER_TUNING_UNSPECIFIED" : 0;
17807
+ object.effort = 0;
17808
+ object.rateControl = options.enums === String ? "ENCODER_RATE_CONTROL_UNSPECIFIED" : 0;
17809
+ object.maxBitrateKbps = 0;
17810
+ object.profile = options.enums === String ? "ENCODER_PROFILE_AUTO" : 0;
17811
+ object.bframes = 0;
17812
+ object.idrOnly = false;
17813
+ object.spatialAq = false;
17814
+ object.multipass = options.enums === String ? "ENCODER_MULTIPASS_DISABLED" : 0;
17815
+ object.lookaheadDepth = 0;
17816
+ object.zeroReorderDelay = false;
17817
+ object.bitDepth = 0;
17818
+ object.chromaFormat = options.enums === String ? "ENCODER_CHROMA_FORMAT_420" : 0;
17819
+ object.outputAud = false;
17820
+ object.level = "";
17821
+ }
17822
+ if (message.tuning != null && message.hasOwnProperty("tuning"))
17823
+ 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;
17824
+ if (message.effort != null && message.hasOwnProperty("effort"))
17825
+ object.effort = message.effort;
17826
+ if (message.rateControl != null && message.hasOwnProperty("rateControl"))
17827
+ 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;
17828
+ if (message.maxBitrateKbps != null && message.hasOwnProperty("maxBitrateKbps"))
17829
+ object.maxBitrateKbps = message.maxBitrateKbps;
17830
+ if (message.profile != null && message.hasOwnProperty("profile"))
17831
+ 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;
17832
+ if (message.bframes != null && message.hasOwnProperty("bframes"))
17833
+ object.bframes = message.bframes;
17834
+ if (message.idrOnly != null && message.hasOwnProperty("idrOnly"))
17835
+ object.idrOnly = message.idrOnly;
17836
+ if (message.spatialAq != null && message.hasOwnProperty("spatialAq"))
17837
+ object.spatialAq = message.spatialAq;
17838
+ if (message.multipass != null && message.hasOwnProperty("multipass"))
17839
+ 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;
17840
+ if (message.lookaheadDepth != null && message.hasOwnProperty("lookaheadDepth"))
17841
+ object.lookaheadDepth = message.lookaheadDepth;
17842
+ if (message.zeroReorderDelay != null && message.hasOwnProperty("zeroReorderDelay"))
17843
+ object.zeroReorderDelay = message.zeroReorderDelay;
17844
+ if (message.bitDepth != null && message.hasOwnProperty("bitDepth"))
17845
+ object.bitDepth = message.bitDepth;
17846
+ if (message.chromaFormat != null && message.hasOwnProperty("chromaFormat"))
17847
+ 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;
17848
+ if (message.outputAud != null && message.hasOwnProperty("outputAud"))
17849
+ object.outputAud = message.outputAud;
17850
+ if (message.level != null && message.hasOwnProperty("level"))
17851
+ object.level = message.level;
17852
+ return object;
17853
+ };
17854
+ EncoderSettings.prototype.toJSON = function toJSON() {
17855
+ return this.constructor.toObject(this, import_minimal.default.util.toJSONOptions);
17856
+ };
17857
+ EncoderSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
17858
+ if (typeUrlPrefix === void 0) {
17859
+ typeUrlPrefix = "type.googleapis.com";
17860
+ }
17861
+ return typeUrlPrefix + "/sesame.v1.outputs.EncoderSettings";
17862
+ };
17863
+ return EncoderSettings;
17864
+ }();
17865
+ outputs.RecorderType = function() {
17866
+ const valuesById = {}, values = Object.create(valuesById);
17867
+ values[valuesById[0] = "RECORDER_TYPE_UNSPECIFIED"] = 0;
17868
+ values[valuesById[1] = "RECORDER_TYPE_LIVE"] = 1;
17869
+ values[valuesById[2] = "RECORDER_TYPE_CLIPS"] = 2;
17870
+ return values;
17871
+ }();
17872
+ outputs.TimecodeMode = function() {
17873
+ const valuesById = {}, values = Object.create(valuesById);
17874
+ values[valuesById[0] = "TIMECODE_MODE_UNSPECIFIED"] = 0;
17875
+ values[valuesById[1] = "TIMECODE_MODE_WALLCLOCK"] = 1;
17876
+ values[valuesById[2] = "TIMECODE_MODE_SOURCE"] = 2;
17877
+ return values;
17878
+ }();
17879
+ outputs.EncoderConfig = function() {
17880
+ function EncoderConfig(properties) {
17881
+ if (properties) {
17882
+ for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)
17883
+ if (properties[keys[i]] != null)
17884
+ this[keys[i]] = properties[keys[i]];
17885
+ }
17886
+ }
17887
+ EncoderConfig.prototype.codec = 0;
17888
+ EncoderConfig.prototype.bitrateKbps = 0;
17889
+ EncoderConfig.prototype.keyframeInterval = 0;
17890
+ EncoderConfig.prototype.width = 0;
17891
+ EncoderConfig.prototype.height = 0;
17892
+ EncoderConfig.prototype.fps = 0;
17893
+ EncoderConfig.prototype.timecodeMode = 0;
17894
+ EncoderConfig.prototype.timecodeSourceId = "";
17895
+ EncoderConfig.prototype.settings = null;
17896
+ EncoderConfig.create = function create(properties) {
17897
+ return new EncoderConfig(properties);
17898
+ };
17899
+ EncoderConfig.encode = function encode(message, writer) {
17900
+ if (!writer)
17901
+ writer = $Writer.create();
17902
+ if (message.codec != null && Object.hasOwnProperty.call(message, "codec"))
17903
+ writer.uint32(
17904
+ /* id 1, wireType 0 =*/
17905
+ 8
17906
+ ).int32(message.codec);
17907
+ if (message.bitrateKbps != null && Object.hasOwnProperty.call(message, "bitrateKbps"))
17908
+ writer.uint32(
17909
+ /* id 3, wireType 0 =*/
17910
+ 24
17911
+ ).uint32(message.bitrateKbps);
17912
+ if (message.keyframeInterval != null && Object.hasOwnProperty.call(message, "keyframeInterval"))
17913
+ writer.uint32(
17914
+ /* id 4, wireType 0 =*/
17915
+ 32
17916
+ ).uint32(message.keyframeInterval);
17917
+ if (message.width != null && Object.hasOwnProperty.call(message, "width"))
17918
+ writer.uint32(
17919
+ /* id 5, wireType 0 =*/
17920
+ 40
17921
+ ).uint32(message.width);
17922
+ if (message.height != null && Object.hasOwnProperty.call(message, "height"))
17923
+ writer.uint32(
17924
+ /* id 6, wireType 0 =*/
17925
+ 48
17926
+ ).uint32(message.height);
17927
+ if (message.fps != null && Object.hasOwnProperty.call(message, "fps"))
17928
+ writer.uint32(
17929
+ /* id 7, wireType 5 =*/
17930
+ 61
17931
+ ).float(message.fps);
17932
+ if (message.timecodeMode != null && Object.hasOwnProperty.call(message, "timecodeMode"))
17933
+ writer.uint32(
17934
+ /* id 8, wireType 0 =*/
17935
+ 64
17936
+ ).int32(message.timecodeMode);
17937
+ if (message.timecodeSourceId != null && Object.hasOwnProperty.call(message, "timecodeSourceId"))
17938
+ writer.uint32(
17939
+ /* id 9, wireType 2 =*/
17940
+ 74
17941
+ ).string(message.timecodeSourceId);
17942
+ if (message.settings != null && Object.hasOwnProperty.call(message, "settings"))
17943
+ $root.sesame.v1.outputs.EncoderSettings.encode(message.settings, writer.uint32(
17944
+ /* id 10, wireType 2 =*/
17945
+ 82
17946
+ ).fork()).ldelim();
17947
+ return writer;
17948
+ };
17949
+ EncoderConfig.encodeDelimited = function encodeDelimited(message, writer) {
17950
+ return this.encode(message, writer).ldelim();
17951
+ };
17952
+ EncoderConfig.decode = function decode(reader, length, error) {
17953
+ if (!(reader instanceof $Reader))
17954
+ reader = $Reader.create(reader);
17955
+ let end = length === void 0 ? reader.len : reader.pos + length, message = new $root.sesame.v1.outputs.EncoderConfig();
17956
+ while (reader.pos < end) {
17957
+ let tag = reader.uint32();
17958
+ if (tag === error)
17959
+ break;
17960
+ switch (tag >>> 3) {
17961
+ case 1: {
17962
+ message.codec = reader.int32();
17963
+ break;
17964
+ }
17965
+ case 3: {
17966
+ message.bitrateKbps = reader.uint32();
17967
+ break;
17968
+ }
17969
+ case 4: {
17970
+ message.keyframeInterval = reader.uint32();
17971
+ break;
17972
+ }
17973
+ case 5: {
17974
+ message.width = reader.uint32();
17975
+ break;
17976
+ }
17977
+ case 6: {
17978
+ message.height = reader.uint32();
17979
+ break;
17980
+ }
17981
+ case 7: {
17982
+ message.fps = reader.float();
17983
+ break;
17984
+ }
17985
+ case 8: {
17986
+ message.timecodeMode = reader.int32();
17987
+ break;
17988
+ }
17989
+ case 9: {
17990
+ message.timecodeSourceId = reader.string();
17991
+ break;
17992
+ }
17993
+ case 10: {
17994
+ message.settings = $root.sesame.v1.outputs.EncoderSettings.decode(reader, reader.uint32());
17995
+ break;
17996
+ }
17997
+ default:
17998
+ reader.skipType(tag & 7);
17999
+ break;
18000
+ }
18001
+ }
18002
+ return message;
18003
+ };
18004
+ EncoderConfig.decodeDelimited = function decodeDelimited(reader) {
18005
+ if (!(reader instanceof $Reader))
18006
+ reader = new $Reader(reader);
18007
+ return this.decode(reader, reader.uint32());
18008
+ };
18009
+ EncoderConfig.verify = function verify(message) {
18010
+ if (typeof message !== "object" || message === null)
18011
+ return "object expected";
18012
+ if (message.codec != null && message.hasOwnProperty("codec"))
18013
+ switch (message.codec) {
18014
+ default:
18015
+ return "codec: enum value expected";
18016
+ case 0:
18017
+ case 1:
18018
+ case 2:
18019
+ case 3:
18020
+ case 4:
18021
+ case 5:
18022
+ case 6:
18023
+ case 7:
18024
+ case 64:
18025
+ case 65:
18026
+ case 66:
18027
+ case 67:
18028
+ break;
18029
+ }
18030
+ if (message.bitrateKbps != null && message.hasOwnProperty("bitrateKbps")) {
18031
+ if (!$util.isInteger(message.bitrateKbps))
18032
+ return "bitrateKbps: integer expected";
18033
+ }
18034
+ if (message.keyframeInterval != null && message.hasOwnProperty("keyframeInterval")) {
18035
+ if (!$util.isInteger(message.keyframeInterval))
18036
+ return "keyframeInterval: integer expected";
18037
+ }
18038
+ if (message.width != null && message.hasOwnProperty("width")) {
18039
+ if (!$util.isInteger(message.width))
18040
+ return "width: integer expected";
18041
+ }
18042
+ if (message.height != null && message.hasOwnProperty("height")) {
18043
+ if (!$util.isInteger(message.height))
18044
+ return "height: integer expected";
18045
+ }
18046
+ if (message.fps != null && message.hasOwnProperty("fps")) {
18047
+ if (typeof message.fps !== "number")
18048
+ return "fps: number expected";
18049
+ }
18050
+ if (message.timecodeMode != null && message.hasOwnProperty("timecodeMode"))
18051
+ switch (message.timecodeMode) {
18052
+ default:
18053
+ return "timecodeMode: enum value expected";
18054
+ case 0:
18055
+ case 1:
18056
+ case 2:
18057
+ break;
18058
+ }
18059
+ if (message.timecodeSourceId != null && message.hasOwnProperty("timecodeSourceId")) {
18060
+ if (!$util.isString(message.timecodeSourceId))
18061
+ return "timecodeSourceId: string expected";
18062
+ }
18063
+ if (message.settings != null && message.hasOwnProperty("settings")) {
18064
+ let error = $root.sesame.v1.outputs.EncoderSettings.verify(message.settings);
18065
+ if (error)
18066
+ return "settings." + error;
18067
+ }
18068
+ return null;
18069
+ };
18070
+ EncoderConfig.fromObject = function fromObject(object) {
18071
+ if (object instanceof $root.sesame.v1.outputs.EncoderConfig)
18072
+ return object;
18073
+ let message = new $root.sesame.v1.outputs.EncoderConfig();
18074
+ switch (object.codec) {
18075
+ default:
18076
+ if (typeof object.codec === "number") {
18077
+ message.codec = object.codec;
18078
+ break;
18079
+ }
18080
+ break;
18081
+ case "CODEC_TYPE_UNSPECIFIED":
18082
+ case 0:
18083
+ message.codec = 0;
18084
+ break;
18085
+ case "CODEC_TYPE_VIDEO_VP8":
18086
+ case 1:
18087
+ message.codec = 1;
18088
+ break;
18089
+ case "CODEC_TYPE_VIDEO_VP9":
18090
+ case 2:
18091
+ message.codec = 2;
18092
+ break;
18093
+ case "CODEC_TYPE_VIDEO_AVC":
18094
+ case 3:
18095
+ message.codec = 3;
18096
+ break;
18097
+ case "CODEC_TYPE_VIDEO_HEVC":
18098
+ case 4:
18099
+ message.codec = 4;
18100
+ break;
18101
+ case "CODEC_TYPE_VIDEO_AV1":
18102
+ case 5:
18103
+ message.codec = 5;
18104
+ break;
18105
+ case "CODEC_TYPE_VIDEO_PRORES":
18106
+ case 6:
18107
+ message.codec = 6;
17439
18108
  break;
17440
18109
  case "CODEC_TYPE_VIDEO_DNXHR":
17441
18110
  case 7:
@@ -17458,40 +18127,43 @@ var sesame = $root.sesame = (() => {
17458
18127
  message.codec = 67;
17459
18128
  break;
17460
18129
  }
17461
- switch (object.preset) {
18130
+ if (object.bitrateKbps != null)
18131
+ message.bitrateKbps = object.bitrateKbps >>> 0;
18132
+ if (object.keyframeInterval != null)
18133
+ message.keyframeInterval = object.keyframeInterval >>> 0;
18134
+ if (object.width != null)
18135
+ message.width = object.width >>> 0;
18136
+ if (object.height != null)
18137
+ message.height = object.height >>> 0;
18138
+ if (object.fps != null)
18139
+ message.fps = Number(object.fps);
18140
+ switch (object.timecodeMode) {
17462
18141
  default:
17463
- if (typeof object.preset === "number") {
17464
- message.preset = object.preset;
18142
+ if (typeof object.timecodeMode === "number") {
18143
+ message.timecodeMode = object.timecodeMode;
17465
18144
  break;
17466
18145
  }
17467
18146
  break;
17468
- case "ENCODER_PRESET_UNSPECIFIED":
18147
+ case "TIMECODE_MODE_UNSPECIFIED":
17469
18148
  case 0:
17470
- message.preset = 0;
18149
+ message.timecodeMode = 0;
17471
18150
  break;
17472
- case "ENCODER_PRESET_LOW_LATENCY":
18151
+ case "TIMECODE_MODE_WALLCLOCK":
17473
18152
  case 1:
17474
- message.preset = 1;
18153
+ message.timecodeMode = 1;
17475
18154
  break;
17476
- case "ENCODER_PRESET_LOW_LATENCY_IDR_ONLY":
18155
+ case "TIMECODE_MODE_SOURCE":
17477
18156
  case 2:
17478
- message.preset = 2;
17479
- break;
17480
- case "ENCODER_PRESET_HIGH_QUALITY":
17481
- case 3:
17482
- message.preset = 3;
18157
+ message.timecodeMode = 2;
17483
18158
  break;
17484
18159
  }
17485
- if (object.bitrateKbps != null)
17486
- message.bitrateKbps = object.bitrateKbps >>> 0;
17487
- if (object.keyframeInterval != null)
17488
- message.keyframeInterval = object.keyframeInterval >>> 0;
17489
- if (object.width != null)
17490
- message.width = object.width >>> 0;
17491
- if (object.height != null)
17492
- message.height = object.height >>> 0;
17493
- if (object.fps != null)
17494
- message.fps = Number(object.fps);
18160
+ if (object.timecodeSourceId != null)
18161
+ message.timecodeSourceId = String(object.timecodeSourceId);
18162
+ if (object.settings != null) {
18163
+ if (typeof object.settings !== "object")
18164
+ throw TypeError(".sesame.v1.outputs.EncoderConfig.settings: object expected");
18165
+ message.settings = $root.sesame.v1.outputs.EncoderSettings.fromObject(object.settings);
18166
+ }
17495
18167
  return message;
17496
18168
  };
17497
18169
  EncoderConfig.toObject = function toObject(message, options) {
@@ -17500,17 +18172,17 @@ var sesame = $root.sesame = (() => {
17500
18172
  let object = {};
17501
18173
  if (options.defaults) {
17502
18174
  object.codec = options.enums === String ? "CODEC_TYPE_UNSPECIFIED" : 0;
17503
- object.preset = options.enums === String ? "ENCODER_PRESET_UNSPECIFIED" : 0;
17504
18175
  object.bitrateKbps = 0;
17505
18176
  object.keyframeInterval = 0;
17506
18177
  object.width = 0;
17507
18178
  object.height = 0;
17508
18179
  object.fps = 0;
18180
+ object.timecodeMode = options.enums === String ? "TIMECODE_MODE_UNSPECIFIED" : 0;
18181
+ object.timecodeSourceId = "";
18182
+ object.settings = null;
17509
18183
  }
17510
18184
  if (message.codec != null && message.hasOwnProperty("codec"))
17511
18185
  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;
17512
- if (message.preset != null && message.hasOwnProperty("preset"))
17513
- 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;
17514
18186
  if (message.bitrateKbps != null && message.hasOwnProperty("bitrateKbps"))
17515
18187
  object.bitrateKbps = message.bitrateKbps;
17516
18188
  if (message.keyframeInterval != null && message.hasOwnProperty("keyframeInterval"))
@@ -17521,6 +18193,12 @@ var sesame = $root.sesame = (() => {
17521
18193
  object.height = message.height;
17522
18194
  if (message.fps != null && message.hasOwnProperty("fps"))
17523
18195
  object.fps = options.json && !isFinite(message.fps) ? String(message.fps) : message.fps;
18196
+ if (message.timecodeMode != null && message.hasOwnProperty("timecodeMode"))
18197
+ 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;
18198
+ if (message.timecodeSourceId != null && message.hasOwnProperty("timecodeSourceId"))
18199
+ object.timecodeSourceId = message.timecodeSourceId;
18200
+ if (message.settings != null && message.hasOwnProperty("settings"))
18201
+ object.settings = $root.sesame.v1.outputs.EncoderSettings.toObject(message.settings, options);
17524
18202
  return object;
17525
18203
  };
17526
18204
  EncoderConfig.prototype.toJSON = function toJSON() {
@@ -17895,6 +18573,8 @@ var sesame = $root.sesame = (() => {
17895
18573
  DecklinkOutputConfig.prototype.deviceIndex = 0;
17896
18574
  DecklinkOutputConfig.prototype.videoFormat = 0;
17897
18575
  DecklinkOutputConfig.prototype.keyAndFill = false;
18576
+ DecklinkOutputConfig.prototype.timecodeMode = 0;
18577
+ DecklinkOutputConfig.prototype.timecodeSourceId = "";
17898
18578
  DecklinkOutputConfig.create = function create(properties) {
17899
18579
  return new DecklinkOutputConfig(properties);
17900
18580
  };
@@ -17916,6 +18596,16 @@ var sesame = $root.sesame = (() => {
17916
18596
  /* id 3, wireType 0 =*/
17917
18597
  24
17918
18598
  ).bool(message.keyAndFill);
18599
+ if (message.timecodeMode != null && Object.hasOwnProperty.call(message, "timecodeMode"))
18600
+ writer.uint32(
18601
+ /* id 4, wireType 0 =*/
18602
+ 32
18603
+ ).int32(message.timecodeMode);
18604
+ if (message.timecodeSourceId != null && Object.hasOwnProperty.call(message, "timecodeSourceId"))
18605
+ writer.uint32(
18606
+ /* id 5, wireType 2 =*/
18607
+ 42
18608
+ ).string(message.timecodeSourceId);
17919
18609
  return writer;
17920
18610
  };
17921
18611
  DecklinkOutputConfig.encodeDelimited = function encodeDelimited(message, writer) {
@@ -17942,6 +18632,14 @@ var sesame = $root.sesame = (() => {
17942
18632
  message.keyAndFill = reader.bool();
17943
18633
  break;
17944
18634
  }
18635
+ case 4: {
18636
+ message.timecodeMode = reader.int32();
18637
+ break;
18638
+ }
18639
+ case 5: {
18640
+ message.timecodeSourceId = reader.string();
18641
+ break;
18642
+ }
17945
18643
  default:
17946
18644
  reader.skipType(tag & 7);
17947
18645
  break;
@@ -17976,6 +18674,19 @@ var sesame = $root.sesame = (() => {
17976
18674
  if (typeof message.keyAndFill !== "boolean")
17977
18675
  return "keyAndFill: boolean expected";
17978
18676
  }
18677
+ if (message.timecodeMode != null && message.hasOwnProperty("timecodeMode"))
18678
+ switch (message.timecodeMode) {
18679
+ default:
18680
+ return "timecodeMode: enum value expected";
18681
+ case 0:
18682
+ case 1:
18683
+ case 2:
18684
+ break;
18685
+ }
18686
+ if (message.timecodeSourceId != null && message.hasOwnProperty("timecodeSourceId")) {
18687
+ if (!$util.isString(message.timecodeSourceId))
18688
+ return "timecodeSourceId: string expected";
18689
+ }
17979
18690
  return null;
17980
18691
  };
17981
18692
  DecklinkOutputConfig.fromObject = function fromObject(object) {
@@ -18014,6 +18725,28 @@ var sesame = $root.sesame = (() => {
18014
18725
  }
18015
18726
  if (object.keyAndFill != null)
18016
18727
  message.keyAndFill = Boolean(object.keyAndFill);
18728
+ switch (object.timecodeMode) {
18729
+ default:
18730
+ if (typeof object.timecodeMode === "number") {
18731
+ message.timecodeMode = object.timecodeMode;
18732
+ break;
18733
+ }
18734
+ break;
18735
+ case "TIMECODE_MODE_UNSPECIFIED":
18736
+ case 0:
18737
+ message.timecodeMode = 0;
18738
+ break;
18739
+ case "TIMECODE_MODE_WALLCLOCK":
18740
+ case 1:
18741
+ message.timecodeMode = 1;
18742
+ break;
18743
+ case "TIMECODE_MODE_SOURCE":
18744
+ case 2:
18745
+ message.timecodeMode = 2;
18746
+ break;
18747
+ }
18748
+ if (object.timecodeSourceId != null)
18749
+ message.timecodeSourceId = String(object.timecodeSourceId);
18017
18750
  return message;
18018
18751
  };
18019
18752
  DecklinkOutputConfig.toObject = function toObject(message, options) {
@@ -18024,6 +18757,8 @@ var sesame = $root.sesame = (() => {
18024
18757
  object.deviceIndex = 0;
18025
18758
  object.videoFormat = options.enums === String ? "VIDEO_FORMAT_UNSPECIFIED" : 0;
18026
18759
  object.keyAndFill = false;
18760
+ object.timecodeMode = options.enums === String ? "TIMECODE_MODE_UNSPECIFIED" : 0;
18761
+ object.timecodeSourceId = "";
18027
18762
  }
18028
18763
  if (message.deviceIndex != null && message.hasOwnProperty("deviceIndex"))
18029
18764
  object.deviceIndex = message.deviceIndex;
@@ -18031,6 +18766,10 @@ var sesame = $root.sesame = (() => {
18031
18766
  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;
18032
18767
  if (message.keyAndFill != null && message.hasOwnProperty("keyAndFill"))
18033
18768
  object.keyAndFill = message.keyAndFill;
18769
+ if (message.timecodeMode != null && message.hasOwnProperty("timecodeMode"))
18770
+ 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;
18771
+ if (message.timecodeSourceId != null && message.hasOwnProperty("timecodeSourceId"))
18772
+ object.timecodeSourceId = message.timecodeSourceId;
18034
18773
  return object;
18035
18774
  };
18036
18775
  DecklinkOutputConfig.prototype.toJSON = function toJSON() {
@@ -20290,6 +21029,7 @@ var sesame = $root.sesame = (() => {
20290
21029
  EncoderStatus.prototype.state = 0;
20291
21030
  EncoderStatus.prototype.msg = null;
20292
21031
  EncoderStatus.prototype.compositionId = "";
21032
+ EncoderStatus.prototype.droppedFrames = 0;
20293
21033
  let $oneOfFields;
20294
21034
  Object.defineProperty(EncoderStatus.prototype, "_msg", {
20295
21035
  get: $util.oneOfGetter($oneOfFields = ["msg"]),
@@ -20326,6 +21066,11 @@ var sesame = $root.sesame = (() => {
20326
21066
  /* id 5, wireType 2 =*/
20327
21067
  42
20328
21068
  ).string(message.compositionId);
21069
+ if (message.droppedFrames != null && Object.hasOwnProperty.call(message, "droppedFrames"))
21070
+ writer.uint32(
21071
+ /* id 6, wireType 0 =*/
21072
+ 48
21073
+ ).uint32(message.droppedFrames);
20329
21074
  return writer;
20330
21075
  };
20331
21076
  EncoderStatus.encodeDelimited = function encodeDelimited(message, writer) {
@@ -20360,6 +21105,10 @@ var sesame = $root.sesame = (() => {
20360
21105
  message.compositionId = reader.string();
20361
21106
  break;
20362
21107
  }
21108
+ case 6: {
21109
+ message.droppedFrames = reader.uint32();
21110
+ break;
21111
+ }
20363
21112
  default:
20364
21113
  reader.skipType(tag & 7);
20365
21114
  break;
@@ -20410,6 +21159,10 @@ var sesame = $root.sesame = (() => {
20410
21159
  if (!$util.isString(message.compositionId))
20411
21160
  return "compositionId: string expected";
20412
21161
  }
21162
+ if (message.droppedFrames != null && message.hasOwnProperty("droppedFrames")) {
21163
+ if (!$util.isInteger(message.droppedFrames))
21164
+ return "droppedFrames: integer expected";
21165
+ }
20413
21166
  return null;
20414
21167
  };
20415
21168
  EncoderStatus.fromObject = function fromObject(object) {
@@ -20474,6 +21227,8 @@ var sesame = $root.sesame = (() => {
20474
21227
  message.msg = String(object.msg);
20475
21228
  if (object.compositionId != null)
20476
21229
  message.compositionId = String(object.compositionId);
21230
+ if (object.droppedFrames != null)
21231
+ message.droppedFrames = object.droppedFrames >>> 0;
20477
21232
  return message;
20478
21233
  };
20479
21234
  EncoderStatus.toObject = function toObject(message, options) {
@@ -20485,6 +21240,7 @@ var sesame = $root.sesame = (() => {
20485
21240
  object.type = options.enums === String ? "ENCODER_TYPE_UNSPECIFIED" : 0;
20486
21241
  object.state = options.enums === String ? "CONNECTION_STATE_UNSPECIFIED" : 0;
20487
21242
  object.compositionId = "";
21243
+ object.droppedFrames = 0;
20488
21244
  }
20489
21245
  if (message.id != null && message.hasOwnProperty("id"))
20490
21246
  object.id = message.id;
@@ -20499,6 +21255,8 @@ var sesame = $root.sesame = (() => {
20499
21255
  }
20500
21256
  if (message.compositionId != null && message.hasOwnProperty("compositionId"))
20501
21257
  object.compositionId = message.compositionId;
21258
+ if (message.droppedFrames != null && message.hasOwnProperty("droppedFrames"))
21259
+ object.droppedFrames = message.droppedFrames;
20502
21260
  return object;
20503
21261
  };
20504
21262
  EncoderStatus.prototype.toJSON = function toJSON() {
@@ -24767,6 +25525,108 @@ var sesame = $root.sesame = (() => {
24767
25525
  };
24768
25526
  return PublishMetadataRequest;
24769
25527
  }();
25528
+ rpc.SystemOperationRequest = function() {
25529
+ function SystemOperationRequest(properties) {
25530
+ if (properties) {
25531
+ for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)
25532
+ if (properties[keys[i]] != null)
25533
+ this[keys[i]] = properties[keys[i]];
25534
+ }
25535
+ }
25536
+ SystemOperationRequest.prototype.resetFrameDrops = null;
25537
+ let $oneOfFields;
25538
+ Object.defineProperty(SystemOperationRequest.prototype, "operation", {
25539
+ get: $util.oneOfGetter($oneOfFields = ["resetFrameDrops"]),
25540
+ set: $util.oneOfSetter($oneOfFields)
25541
+ });
25542
+ SystemOperationRequest.create = function create(properties) {
25543
+ return new SystemOperationRequest(properties);
25544
+ };
25545
+ SystemOperationRequest.encode = function encode(message, writer) {
25546
+ if (!writer)
25547
+ writer = $Writer.create();
25548
+ if (message.resetFrameDrops != null && Object.hasOwnProperty.call(message, "resetFrameDrops"))
25549
+ $root.sesame.v1.common.Empty.encode(message.resetFrameDrops, writer.uint32(
25550
+ /* id 1, wireType 2 =*/
25551
+ 10
25552
+ ).fork()).ldelim();
25553
+ return writer;
25554
+ };
25555
+ SystemOperationRequest.encodeDelimited = function encodeDelimited(message, writer) {
25556
+ return this.encode(message, writer).ldelim();
25557
+ };
25558
+ SystemOperationRequest.decode = function decode(reader, length, error) {
25559
+ if (!(reader instanceof $Reader))
25560
+ reader = $Reader.create(reader);
25561
+ let end = length === void 0 ? reader.len : reader.pos + length, message = new $root.sesame.v1.rpc.SystemOperationRequest();
25562
+ while (reader.pos < end) {
25563
+ let tag = reader.uint32();
25564
+ if (tag === error)
25565
+ break;
25566
+ switch (tag >>> 3) {
25567
+ case 1: {
25568
+ message.resetFrameDrops = $root.sesame.v1.common.Empty.decode(reader, reader.uint32());
25569
+ break;
25570
+ }
25571
+ default:
25572
+ reader.skipType(tag & 7);
25573
+ break;
25574
+ }
25575
+ }
25576
+ return message;
25577
+ };
25578
+ SystemOperationRequest.decodeDelimited = function decodeDelimited(reader) {
25579
+ if (!(reader instanceof $Reader))
25580
+ reader = new $Reader(reader);
25581
+ return this.decode(reader, reader.uint32());
25582
+ };
25583
+ SystemOperationRequest.verify = function verify(message) {
25584
+ if (typeof message !== "object" || message === null)
25585
+ return "object expected";
25586
+ let properties = {};
25587
+ if (message.resetFrameDrops != null && message.hasOwnProperty("resetFrameDrops")) {
25588
+ properties.operation = 1;
25589
+ {
25590
+ let error = $root.sesame.v1.common.Empty.verify(message.resetFrameDrops);
25591
+ if (error)
25592
+ return "resetFrameDrops." + error;
25593
+ }
25594
+ }
25595
+ return null;
25596
+ };
25597
+ SystemOperationRequest.fromObject = function fromObject(object) {
25598
+ if (object instanceof $root.sesame.v1.rpc.SystemOperationRequest)
25599
+ return object;
25600
+ let message = new $root.sesame.v1.rpc.SystemOperationRequest();
25601
+ if (object.resetFrameDrops != null) {
25602
+ if (typeof object.resetFrameDrops !== "object")
25603
+ throw TypeError(".sesame.v1.rpc.SystemOperationRequest.resetFrameDrops: object expected");
25604
+ message.resetFrameDrops = $root.sesame.v1.common.Empty.fromObject(object.resetFrameDrops);
25605
+ }
25606
+ return message;
25607
+ };
25608
+ SystemOperationRequest.toObject = function toObject(message, options) {
25609
+ if (!options)
25610
+ options = {};
25611
+ let object = {};
25612
+ if (message.resetFrameDrops != null && message.hasOwnProperty("resetFrameDrops")) {
25613
+ object.resetFrameDrops = $root.sesame.v1.common.Empty.toObject(message.resetFrameDrops, options);
25614
+ if (options.oneofs)
25615
+ object.operation = "resetFrameDrops";
25616
+ }
25617
+ return object;
25618
+ };
25619
+ SystemOperationRequest.prototype.toJSON = function toJSON() {
25620
+ return this.constructor.toObject(this, import_minimal.default.util.toJSONOptions);
25621
+ };
25622
+ SystemOperationRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
25623
+ if (typeUrlPrefix === void 0) {
25624
+ typeUrlPrefix = "type.googleapis.com";
25625
+ }
25626
+ return typeUrlPrefix + "/sesame.v1.rpc.SystemOperationRequest";
25627
+ };
25628
+ return SystemOperationRequest;
25629
+ }();
24770
25630
  rpc.SesameAPIService = function() {
24771
25631
  function SesameAPIService(rpcImpl, requestDelimited, responseDelimited) {
24772
25632
  import_minimal.default.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited);
@@ -24814,6 +25674,9 @@ var sesame = $root.sesame = (() => {
24814
25674
  Object.defineProperty(SesameAPIService.prototype.publishMetadata = function publishMetadata(request, callback) {
24815
25675
  return this.rpcCall(publishMetadata, $root.sesame.v1.rpc.PublishMetadataRequest, $root.sesame.v1.common.Empty, request, callback);
24816
25676
  }, "name", { value: "PublishMetadata" });
25677
+ Object.defineProperty(SesameAPIService.prototype.requestSystemOperation = function requestSystemOperation(request, callback) {
25678
+ return this.rpcCall(requestSystemOperation, $root.sesame.v1.rpc.SystemOperationRequest, $root.sesame.v1.common.Empty, request, callback);
25679
+ }, "name", { value: "RequestSystemOperation" });
24817
25680
  return SesameAPIService;
24818
25681
  }();
24819
25682
  return rpc;
@@ -26775,6 +27638,10 @@ var SesameClient = class extends import_events3.EventEmitter {
26775
27638
  async requestKeyframe(outputId) {
26776
27639
  await this.rpc.service.requestKeyframe({ id: outputId });
26777
27640
  }
27641
+ /** Resets the engine's dropped-frame counter shown in status. */
27642
+ async resetFrameDrops() {
27643
+ await this.rpc.service.requestSystemOperation({ resetFrameDrops: {} });
27644
+ }
26778
27645
  async execute(cl) {
26779
27646
  cl.filterCreatedAndDestroyedSources();
26780
27647
  if (cl.getCommandListMsg().commandList.length > 0) {