@stinkycomputing/sesame-api-client 1.9.0-alpha.1 → 1.10.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/proto/api.js CHANGED
@@ -10231,6 +10231,7 @@ export const sesame = $root.sesame = (() => {
10231
10231
  * @property {number} SOURCE_TYPE_SRT_STREAM=8 SOURCE_TYPE_SRT_STREAM value
10232
10232
  * @property {number} SOURCE_TYPE_WEBSOCKET=9 SOURCE_TYPE_WEBSOCKET value
10233
10233
  * @property {number} SOURCE_TYPE_MOQ=10 SOURCE_TYPE_MOQ value
10234
+ * @property {number} SOURCE_TYPE_SCOPE=11 SOURCE_TYPE_SCOPE value
10234
10235
  */
10235
10236
  sources.SourceType = (function() {
10236
10237
  const valuesById = {}, values = Object.create(valuesById);
@@ -10245,6 +10246,7 @@ export const sesame = $root.sesame = (() => {
10245
10246
  values[valuesById[8] = "SOURCE_TYPE_SRT_STREAM"] = 8;
10246
10247
  values[valuesById[9] = "SOURCE_TYPE_WEBSOCKET"] = 9;
10247
10248
  values[valuesById[10] = "SOURCE_TYPE_MOQ"] = 10;
10249
+ values[valuesById[11] = "SOURCE_TYPE_SCOPE"] = 11;
10248
10250
  return values;
10249
10251
  })();
10250
10252
 
@@ -10351,16 +10353,16 @@ export const sesame = $root.sesame = (() => {
10351
10353
  * @name sesame.v1.sources.PreprocessStep
10352
10354
  * @enum {number}
10353
10355
  * @property {number} PREPROCESS_STEP_UNSPECIFIED=0 PREPROCESS_STEP_UNSPECIFIED value
10354
- * @property {number} PREPROCESS_STEP_VIDEO_SCOPES=1 PREPROCESS_STEP_VIDEO_SCOPES value
10355
10356
  * @property {number} PREPROCESS_STEP_CHROMA_KEY=2 PREPROCESS_STEP_CHROMA_KEY value
10356
10357
  * @property {number} PREPROCESS_STEP_BLUR=3 PREPROCESS_STEP_BLUR value
10358
+ * @property {number} PREPROCESS_STEP_COLOR_CORRECT=4 PREPROCESS_STEP_COLOR_CORRECT value
10357
10359
  */
10358
10360
  sources.PreprocessStep = (function() {
10359
10361
  const valuesById = {}, values = Object.create(valuesById);
10360
10362
  values[valuesById[0] = "PREPROCESS_STEP_UNSPECIFIED"] = 0;
10361
- values[valuesById[1] = "PREPROCESS_STEP_VIDEO_SCOPES"] = 1;
10362
10363
  values[valuesById[2] = "PREPROCESS_STEP_CHROMA_KEY"] = 2;
10363
10364
  values[valuesById[3] = "PREPROCESS_STEP_BLUR"] = 3;
10365
+ values[valuesById[4] = "PREPROCESS_STEP_COLOR_CORRECT"] = 4;
10364
10366
  return values;
10365
10367
  })();
10366
10368
 
@@ -10768,9 +10770,9 @@ export const sesame = $root.sesame = (() => {
10768
10770
  default:
10769
10771
  return "type: enum value expected";
10770
10772
  case 0:
10771
- case 1:
10772
10773
  case 2:
10773
10774
  case 3:
10775
+ case 4:
10774
10776
  break;
10775
10777
  }
10776
10778
  if (message.params != null && message.hasOwnProperty("params")) {
@@ -10810,10 +10812,6 @@ export const sesame = $root.sesame = (() => {
10810
10812
  case 0:
10811
10813
  message.type = 0;
10812
10814
  break;
10813
- case "PREPROCESS_STEP_VIDEO_SCOPES":
10814
- case 1:
10815
- message.type = 1;
10816
- break;
10817
10815
  case "PREPROCESS_STEP_CHROMA_KEY":
10818
10816
  case 2:
10819
10817
  message.type = 2;
@@ -10822,6 +10820,10 @@ export const sesame = $root.sesame = (() => {
10822
10820
  case 3:
10823
10821
  message.type = 3;
10824
10822
  break;
10823
+ case "PREPROCESS_STEP_COLOR_CORRECT":
10824
+ case 4:
10825
+ message.type = 4;
10826
+ break;
10825
10827
  }
10826
10828
  if (object.params) {
10827
10829
  if (!Array.isArray(object.params))
@@ -12442,6 +12444,312 @@ export const sesame = $root.sesame = (() => {
12442
12444
  return RTTSourceConfig;
12443
12445
  })();
12444
12446
 
12447
+ /**
12448
+ * ScopeMode enum.
12449
+ * @name sesame.v1.sources.ScopeMode
12450
+ * @enum {number}
12451
+ * @property {number} SCOPE_MODE_UNSPECIFIED=0 SCOPE_MODE_UNSPECIFIED value
12452
+ * @property {number} SCOPE_MODE_WAVEFORM=1 SCOPE_MODE_WAVEFORM value
12453
+ * @property {number} SCOPE_MODE_RGB_PARADE=2 SCOPE_MODE_RGB_PARADE value
12454
+ * @property {number} SCOPE_MODE_VECTORSCOPE=3 SCOPE_MODE_VECTORSCOPE value
12455
+ * @property {number} SCOPE_MODE_AUDIO_PHASE=4 SCOPE_MODE_AUDIO_PHASE value
12456
+ */
12457
+ sources.ScopeMode = (function() {
12458
+ const valuesById = {}, values = Object.create(valuesById);
12459
+ values[valuesById[0] = "SCOPE_MODE_UNSPECIFIED"] = 0;
12460
+ values[valuesById[1] = "SCOPE_MODE_WAVEFORM"] = 1;
12461
+ values[valuesById[2] = "SCOPE_MODE_RGB_PARADE"] = 2;
12462
+ values[valuesById[3] = "SCOPE_MODE_VECTORSCOPE"] = 3;
12463
+ values[valuesById[4] = "SCOPE_MODE_AUDIO_PHASE"] = 4;
12464
+ return values;
12465
+ })();
12466
+
12467
+ sources.ScopeSourceConfig = (function() {
12468
+
12469
+ /**
12470
+ * Properties of a ScopeSourceConfig.
12471
+ * @memberof sesame.v1.sources
12472
+ * @interface IScopeSourceConfig
12473
+ * @property {string|null} [compositorId] ScopeSourceConfig compositorId
12474
+ * @property {string|null} [audioMix] ScopeSourceConfig audioMix
12475
+ * @property {sesame.v1.sources.ScopeMode|null} [mode] ScopeSourceConfig mode
12476
+ */
12477
+
12478
+ /**
12479
+ * Constructs a new ScopeSourceConfig.
12480
+ * @memberof sesame.v1.sources
12481
+ * @classdesc Represents a ScopeSourceConfig.
12482
+ * @implements IScopeSourceConfig
12483
+ * @constructor
12484
+ * @param {sesame.v1.sources.IScopeSourceConfig=} [properties] Properties to set
12485
+ */
12486
+ function ScopeSourceConfig(properties) {
12487
+ if (properties)
12488
+ for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)
12489
+ if (properties[keys[i]] != null)
12490
+ this[keys[i]] = properties[keys[i]];
12491
+ }
12492
+
12493
+ /**
12494
+ * ScopeSourceConfig compositorId.
12495
+ * @member {string} compositorId
12496
+ * @memberof sesame.v1.sources.ScopeSourceConfig
12497
+ * @instance
12498
+ */
12499
+ ScopeSourceConfig.prototype.compositorId = "";
12500
+
12501
+ /**
12502
+ * ScopeSourceConfig audioMix.
12503
+ * @member {string} audioMix
12504
+ * @memberof sesame.v1.sources.ScopeSourceConfig
12505
+ * @instance
12506
+ */
12507
+ ScopeSourceConfig.prototype.audioMix = "";
12508
+
12509
+ /**
12510
+ * ScopeSourceConfig mode.
12511
+ * @member {sesame.v1.sources.ScopeMode} mode
12512
+ * @memberof sesame.v1.sources.ScopeSourceConfig
12513
+ * @instance
12514
+ */
12515
+ ScopeSourceConfig.prototype.mode = 0;
12516
+
12517
+ /**
12518
+ * Creates a new ScopeSourceConfig instance using the specified properties.
12519
+ * @function create
12520
+ * @memberof sesame.v1.sources.ScopeSourceConfig
12521
+ * @static
12522
+ * @param {sesame.v1.sources.IScopeSourceConfig=} [properties] Properties to set
12523
+ * @returns {sesame.v1.sources.ScopeSourceConfig} ScopeSourceConfig instance
12524
+ */
12525
+ ScopeSourceConfig.create = function create(properties) {
12526
+ return new ScopeSourceConfig(properties);
12527
+ };
12528
+
12529
+ /**
12530
+ * Encodes the specified ScopeSourceConfig message. Does not implicitly {@link sesame.v1.sources.ScopeSourceConfig.verify|verify} messages.
12531
+ * @function encode
12532
+ * @memberof sesame.v1.sources.ScopeSourceConfig
12533
+ * @static
12534
+ * @param {sesame.v1.sources.IScopeSourceConfig} message ScopeSourceConfig message or plain object to encode
12535
+ * @param {$protobuf.Writer} [writer] Writer to encode to
12536
+ * @returns {$protobuf.Writer} Writer
12537
+ */
12538
+ ScopeSourceConfig.encode = function encode(message, writer) {
12539
+ if (!writer)
12540
+ writer = $Writer.create();
12541
+ if (message.compositorId != null && Object.hasOwnProperty.call(message, "compositorId"))
12542
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.compositorId);
12543
+ if (message.audioMix != null && Object.hasOwnProperty.call(message, "audioMix"))
12544
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.audioMix);
12545
+ if (message.mode != null && Object.hasOwnProperty.call(message, "mode"))
12546
+ writer.uint32(/* id 3, wireType 0 =*/24).int32(message.mode);
12547
+ return writer;
12548
+ };
12549
+
12550
+ /**
12551
+ * Encodes the specified ScopeSourceConfig message, length delimited. Does not implicitly {@link sesame.v1.sources.ScopeSourceConfig.verify|verify} messages.
12552
+ * @function encodeDelimited
12553
+ * @memberof sesame.v1.sources.ScopeSourceConfig
12554
+ * @static
12555
+ * @param {sesame.v1.sources.IScopeSourceConfig} message ScopeSourceConfig message or plain object to encode
12556
+ * @param {$protobuf.Writer} [writer] Writer to encode to
12557
+ * @returns {$protobuf.Writer} Writer
12558
+ */
12559
+ ScopeSourceConfig.encodeDelimited = function encodeDelimited(message, writer) {
12560
+ return this.encode(message, writer).ldelim();
12561
+ };
12562
+
12563
+ /**
12564
+ * Decodes a ScopeSourceConfig message from the specified reader or buffer.
12565
+ * @function decode
12566
+ * @memberof sesame.v1.sources.ScopeSourceConfig
12567
+ * @static
12568
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
12569
+ * @param {number} [length] Message length if known beforehand
12570
+ * @returns {sesame.v1.sources.ScopeSourceConfig} ScopeSourceConfig
12571
+ * @throws {Error} If the payload is not a reader or valid buffer
12572
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
12573
+ */
12574
+ ScopeSourceConfig.decode = function decode(reader, length, error) {
12575
+ if (!(reader instanceof $Reader))
12576
+ reader = $Reader.create(reader);
12577
+ let end = length === undefined ? reader.len : reader.pos + length, message = new $root.sesame.v1.sources.ScopeSourceConfig();
12578
+ while (reader.pos < end) {
12579
+ let tag = reader.uint32();
12580
+ if (tag === error)
12581
+ break;
12582
+ switch (tag >>> 3) {
12583
+ case 1: {
12584
+ message.compositorId = reader.string();
12585
+ break;
12586
+ }
12587
+ case 2: {
12588
+ message.audioMix = reader.string();
12589
+ break;
12590
+ }
12591
+ case 3: {
12592
+ message.mode = reader.int32();
12593
+ break;
12594
+ }
12595
+ default:
12596
+ reader.skipType(tag & 7);
12597
+ break;
12598
+ }
12599
+ }
12600
+ return message;
12601
+ };
12602
+
12603
+ /**
12604
+ * Decodes a ScopeSourceConfig message from the specified reader or buffer, length delimited.
12605
+ * @function decodeDelimited
12606
+ * @memberof sesame.v1.sources.ScopeSourceConfig
12607
+ * @static
12608
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
12609
+ * @returns {sesame.v1.sources.ScopeSourceConfig} ScopeSourceConfig
12610
+ * @throws {Error} If the payload is not a reader or valid buffer
12611
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
12612
+ */
12613
+ ScopeSourceConfig.decodeDelimited = function decodeDelimited(reader) {
12614
+ if (!(reader instanceof $Reader))
12615
+ reader = new $Reader(reader);
12616
+ return this.decode(reader, reader.uint32());
12617
+ };
12618
+
12619
+ /**
12620
+ * Verifies a ScopeSourceConfig message.
12621
+ * @function verify
12622
+ * @memberof sesame.v1.sources.ScopeSourceConfig
12623
+ * @static
12624
+ * @param {Object.<string,*>} message Plain object to verify
12625
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
12626
+ */
12627
+ ScopeSourceConfig.verify = function verify(message) {
12628
+ if (typeof message !== "object" || message === null)
12629
+ return "object expected";
12630
+ if (message.compositorId != null && message.hasOwnProperty("compositorId"))
12631
+ if (!$util.isString(message.compositorId))
12632
+ return "compositorId: string expected";
12633
+ if (message.audioMix != null && message.hasOwnProperty("audioMix"))
12634
+ if (!$util.isString(message.audioMix))
12635
+ return "audioMix: string expected";
12636
+ if (message.mode != null && message.hasOwnProperty("mode"))
12637
+ switch (message.mode) {
12638
+ default:
12639
+ return "mode: enum value expected";
12640
+ case 0:
12641
+ case 1:
12642
+ case 2:
12643
+ case 3:
12644
+ case 4:
12645
+ break;
12646
+ }
12647
+ return null;
12648
+ };
12649
+
12650
+ /**
12651
+ * Creates a ScopeSourceConfig message from a plain object. Also converts values to their respective internal types.
12652
+ * @function fromObject
12653
+ * @memberof sesame.v1.sources.ScopeSourceConfig
12654
+ * @static
12655
+ * @param {Object.<string,*>} object Plain object
12656
+ * @returns {sesame.v1.sources.ScopeSourceConfig} ScopeSourceConfig
12657
+ */
12658
+ ScopeSourceConfig.fromObject = function fromObject(object) {
12659
+ if (object instanceof $root.sesame.v1.sources.ScopeSourceConfig)
12660
+ return object;
12661
+ let message = new $root.sesame.v1.sources.ScopeSourceConfig();
12662
+ if (object.compositorId != null)
12663
+ message.compositorId = String(object.compositorId);
12664
+ if (object.audioMix != null)
12665
+ message.audioMix = String(object.audioMix);
12666
+ switch (object.mode) {
12667
+ default:
12668
+ if (typeof object.mode === "number") {
12669
+ message.mode = object.mode;
12670
+ break;
12671
+ }
12672
+ break;
12673
+ case "SCOPE_MODE_UNSPECIFIED":
12674
+ case 0:
12675
+ message.mode = 0;
12676
+ break;
12677
+ case "SCOPE_MODE_WAVEFORM":
12678
+ case 1:
12679
+ message.mode = 1;
12680
+ break;
12681
+ case "SCOPE_MODE_RGB_PARADE":
12682
+ case 2:
12683
+ message.mode = 2;
12684
+ break;
12685
+ case "SCOPE_MODE_VECTORSCOPE":
12686
+ case 3:
12687
+ message.mode = 3;
12688
+ break;
12689
+ case "SCOPE_MODE_AUDIO_PHASE":
12690
+ case 4:
12691
+ message.mode = 4;
12692
+ break;
12693
+ }
12694
+ return message;
12695
+ };
12696
+
12697
+ /**
12698
+ * Creates a plain object from a ScopeSourceConfig message. Also converts values to other types if specified.
12699
+ * @function toObject
12700
+ * @memberof sesame.v1.sources.ScopeSourceConfig
12701
+ * @static
12702
+ * @param {sesame.v1.sources.ScopeSourceConfig} message ScopeSourceConfig
12703
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
12704
+ * @returns {Object.<string,*>} Plain object
12705
+ */
12706
+ ScopeSourceConfig.toObject = function toObject(message, options) {
12707
+ if (!options)
12708
+ options = {};
12709
+ let object = {};
12710
+ if (options.defaults) {
12711
+ object.compositorId = "";
12712
+ object.audioMix = "";
12713
+ object.mode = options.enums === String ? "SCOPE_MODE_UNSPECIFIED" : 0;
12714
+ }
12715
+ if (message.compositorId != null && message.hasOwnProperty("compositorId"))
12716
+ object.compositorId = message.compositorId;
12717
+ if (message.audioMix != null && message.hasOwnProperty("audioMix"))
12718
+ object.audioMix = message.audioMix;
12719
+ if (message.mode != null && message.hasOwnProperty("mode"))
12720
+ object.mode = options.enums === String ? $root.sesame.v1.sources.ScopeMode[message.mode] === undefined ? message.mode : $root.sesame.v1.sources.ScopeMode[message.mode] : message.mode;
12721
+ return object;
12722
+ };
12723
+
12724
+ /**
12725
+ * Converts this ScopeSourceConfig to JSON.
12726
+ * @function toJSON
12727
+ * @memberof sesame.v1.sources.ScopeSourceConfig
12728
+ * @instance
12729
+ * @returns {Object.<string,*>} JSON object
12730
+ */
12731
+ ScopeSourceConfig.prototype.toJSON = function toJSON() {
12732
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
12733
+ };
12734
+
12735
+ /**
12736
+ * Gets the default type url for ScopeSourceConfig
12737
+ * @function getTypeUrl
12738
+ * @memberof sesame.v1.sources.ScopeSourceConfig
12739
+ * @static
12740
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
12741
+ * @returns {string} The default type url
12742
+ */
12743
+ ScopeSourceConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
12744
+ if (typeUrlPrefix === undefined) {
12745
+ typeUrlPrefix = "type.googleapis.com";
12746
+ }
12747
+ return typeUrlPrefix + "/sesame.v1.sources.ScopeSourceConfig";
12748
+ };
12749
+
12750
+ return ScopeSourceConfig;
12751
+ })();
12752
+
12445
12753
  sources.DecklinkSourceConfig = (function() {
12446
12754
 
12447
12755
  /**
@@ -14209,6 +14517,7 @@ export const sesame = $root.sesame = (() => {
14209
14517
  * @property {sesame.v1.sources.ISrtSourceConfig|null} [srtStream] SourceConfig srtStream
14210
14518
  * @property {sesame.v1.sources.IWebsocketSourceConfig|null} [websocket] SourceConfig websocket
14211
14519
  * @property {sesame.v1.sources.IMoqSourceConfig|null} [moq] SourceConfig moq
14520
+ * @property {sesame.v1.sources.IScopeSourceConfig|null} [scope] SourceConfig scope
14212
14521
  */
14213
14522
 
14214
14523
  /**
@@ -14314,17 +14623,25 @@ export const sesame = $root.sesame = (() => {
14314
14623
  */
14315
14624
  SourceConfig.prototype.moq = null;
14316
14625
 
14626
+ /**
14627
+ * SourceConfig scope.
14628
+ * @member {sesame.v1.sources.IScopeSourceConfig|null|undefined} scope
14629
+ * @memberof sesame.v1.sources.SourceConfig
14630
+ * @instance
14631
+ */
14632
+ SourceConfig.prototype.scope = null;
14633
+
14317
14634
  // OneOf field names bound to virtual getters and setters
14318
14635
  let $oneOfFields;
14319
14636
 
14320
14637
  /**
14321
14638
  * SourceConfig details.
14322
- * @member {"file"|"recorder"|"browser"|"rtt"|"decklink"|"signalGenerator"|"systemAudio"|"srtStream"|"websocket"|"moq"|undefined} details
14639
+ * @member {"file"|"recorder"|"browser"|"rtt"|"decklink"|"signalGenerator"|"systemAudio"|"srtStream"|"websocket"|"moq"|"scope"|undefined} details
14323
14640
  * @memberof sesame.v1.sources.SourceConfig
14324
14641
  * @instance
14325
14642
  */
14326
14643
  Object.defineProperty(SourceConfig.prototype, "details", {
14327
- get: $util.oneOfGetter($oneOfFields = ["file", "recorder", "browser", "rtt", "decklink", "signalGenerator", "systemAudio", "srtStream", "websocket", "moq"]),
14644
+ get: $util.oneOfGetter($oneOfFields = ["file", "recorder", "browser", "rtt", "decklink", "signalGenerator", "systemAudio", "srtStream", "websocket", "moq", "scope"]),
14328
14645
  set: $util.oneOfSetter($oneOfFields)
14329
14646
  });
14330
14647
 
@@ -14374,6 +14691,8 @@ export const sesame = $root.sesame = (() => {
14374
14691
  $root.sesame.v1.sources.WebsocketSourceConfig.encode(message.websocket, writer.uint32(/* id 18, wireType 2 =*/146).fork()).ldelim();
14375
14692
  if (message.moq != null && Object.hasOwnProperty.call(message, "moq"))
14376
14693
  $root.sesame.v1.sources.MoqSourceConfig.encode(message.moq, writer.uint32(/* id 19, wireType 2 =*/154).fork()).ldelim();
14694
+ if (message.scope != null && Object.hasOwnProperty.call(message, "scope"))
14695
+ $root.sesame.v1.sources.ScopeSourceConfig.encode(message.scope, writer.uint32(/* id 20, wireType 2 =*/162).fork()).ldelim();
14377
14696
  return writer;
14378
14697
  };
14379
14698
 
@@ -14454,6 +14773,10 @@ export const sesame = $root.sesame = (() => {
14454
14773
  message.moq = $root.sesame.v1.sources.MoqSourceConfig.decode(reader, reader.uint32());
14455
14774
  break;
14456
14775
  }
14776
+ case 20: {
14777
+ message.scope = $root.sesame.v1.sources.ScopeSourceConfig.decode(reader, reader.uint32());
14778
+ break;
14779
+ }
14457
14780
  default:
14458
14781
  reader.skipType(tag & 7);
14459
14782
  break;
@@ -14593,6 +14916,16 @@ export const sesame = $root.sesame = (() => {
14593
14916
  return "moq." + error;
14594
14917
  }
14595
14918
  }
14919
+ if (message.scope != null && message.hasOwnProperty("scope")) {
14920
+ if (properties.details === 1)
14921
+ return "details: multiple values";
14922
+ properties.details = 1;
14923
+ {
14924
+ let error = $root.sesame.v1.sources.ScopeSourceConfig.verify(message.scope);
14925
+ if (error)
14926
+ return "scope." + error;
14927
+ }
14928
+ }
14596
14929
  return null;
14597
14930
  };
14598
14931
 
@@ -14663,6 +14996,11 @@ export const sesame = $root.sesame = (() => {
14663
14996
  throw TypeError(".sesame.v1.sources.SourceConfig.moq: object expected");
14664
14997
  message.moq = $root.sesame.v1.sources.MoqSourceConfig.fromObject(object.moq);
14665
14998
  }
14999
+ if (object.scope != null) {
15000
+ if (typeof object.scope !== "object")
15001
+ throw TypeError(".sesame.v1.sources.SourceConfig.scope: object expected");
15002
+ message.scope = $root.sesame.v1.sources.ScopeSourceConfig.fromObject(object.scope);
15003
+ }
14666
15004
  return message;
14667
15005
  };
14668
15006
 
@@ -14733,6 +15071,11 @@ export const sesame = $root.sesame = (() => {
14733
15071
  if (options.oneofs)
14734
15072
  object.details = "moq";
14735
15073
  }
15074
+ if (message.scope != null && message.hasOwnProperty("scope")) {
15075
+ object.scope = $root.sesame.v1.sources.ScopeSourceConfig.toObject(message.scope, options);
15076
+ if (options.oneofs)
15077
+ object.details = "scope";
15078
+ }
14736
15079
  return object;
14737
15080
  };
14738
15081
 
@@ -15465,6 +15808,7 @@ export const sesame = $root.sesame = (() => {
15465
15808
  * @property {sesame.v1.status.IFrameTiming|null} [decodeTiming] SourceStatus decodeTiming
15466
15809
  * @property {number|null} [videoBufAvg] SourceStatus videoBufAvg
15467
15810
  * @property {sesame.v1.status.ISRTReceiveStatistics|null} [srtStats] SourceStatus srtStats
15811
+ * @property {Array.<sesame.v1.sources.IVideoProcessor>|null} [videoProcessors] SourceStatus videoProcessors
15468
15812
  */
15469
15813
 
15470
15814
  /**
@@ -15476,6 +15820,7 @@ export const sesame = $root.sesame = (() => {
15476
15820
  * @param {sesame.v1.sources.ISourceStatus=} [properties] Properties to set
15477
15821
  */
15478
15822
  function SourceStatus(properties) {
15823
+ this.videoProcessors = [];
15479
15824
  if (properties)
15480
15825
  for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)
15481
15826
  if (properties[keys[i]] != null)
@@ -15650,6 +15995,14 @@ export const sesame = $root.sesame = (() => {
15650
15995
  */
15651
15996
  SourceStatus.prototype.srtStats = null;
15652
15997
 
15998
+ /**
15999
+ * SourceStatus videoProcessors.
16000
+ * @member {Array.<sesame.v1.sources.IVideoProcessor>} videoProcessors
16001
+ * @memberof sesame.v1.sources.SourceStatus
16002
+ * @instance
16003
+ */
16004
+ SourceStatus.prototype.videoProcessors = $util.emptyArray;
16005
+
15653
16006
  // OneOf field names bound to virtual getters and setters
15654
16007
  let $oneOfFields;
15655
16008
 
@@ -15731,6 +16084,9 @@ export const sesame = $root.sesame = (() => {
15731
16084
  writer.uint32(/* id 20, wireType 1 =*/161).double(message.videoBufAvg);
15732
16085
  if (message.srtStats != null && Object.hasOwnProperty.call(message, "srtStats"))
15733
16086
  $root.sesame.v1.status.SRTReceiveStatistics.encode(message.srtStats, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim();
16087
+ if (message.videoProcessors != null && message.videoProcessors.length)
16088
+ for (let i = 0; i < message.videoProcessors.length; ++i)
16089
+ $root.sesame.v1.sources.VideoProcessor.encode(message.videoProcessors[i], writer.uint32(/* id 22, wireType 2 =*/178).fork()).ldelim();
15734
16090
  return writer;
15735
16091
  };
15736
16092
 
@@ -15851,6 +16207,12 @@ export const sesame = $root.sesame = (() => {
15851
16207
  message.srtStats = $root.sesame.v1.status.SRTReceiveStatistics.decode(reader, reader.uint32());
15852
16208
  break;
15853
16209
  }
16210
+ case 22: {
16211
+ if (!(message.videoProcessors && message.videoProcessors.length))
16212
+ message.videoProcessors = [];
16213
+ message.videoProcessors.push($root.sesame.v1.sources.VideoProcessor.decode(reader, reader.uint32()));
16214
+ break;
16215
+ }
15854
16216
  default:
15855
16217
  reader.skipType(tag & 7);
15856
16218
  break;
@@ -15905,6 +16267,7 @@ export const sesame = $root.sesame = (() => {
15905
16267
  case 8:
15906
16268
  case 9:
15907
16269
  case 10:
16270
+ case 11:
15908
16271
  break;
15909
16272
  }
15910
16273
  if (message.userId != null && message.hasOwnProperty("userId"))
@@ -15992,6 +16355,15 @@ export const sesame = $root.sesame = (() => {
15992
16355
  return "srtStats." + error;
15993
16356
  }
15994
16357
  }
16358
+ if (message.videoProcessors != null && message.hasOwnProperty("videoProcessors")) {
16359
+ if (!Array.isArray(message.videoProcessors))
16360
+ return "videoProcessors: array expected";
16361
+ for (let i = 0; i < message.videoProcessors.length; ++i) {
16362
+ let error = $root.sesame.v1.sources.VideoProcessor.verify(message.videoProcessors[i]);
16363
+ if (error)
16364
+ return "videoProcessors." + error;
16365
+ }
16366
+ }
15995
16367
  return null;
15996
16368
  };
15997
16369
 
@@ -16060,6 +16432,10 @@ export const sesame = $root.sesame = (() => {
16060
16432
  case 10:
16061
16433
  message.type = 10;
16062
16434
  break;
16435
+ case "SOURCE_TYPE_SCOPE":
16436
+ case 11:
16437
+ message.type = 11;
16438
+ break;
16063
16439
  }
16064
16440
  if (object.userId != null)
16065
16441
  message.userId = String(object.userId);
@@ -16190,6 +16566,16 @@ export const sesame = $root.sesame = (() => {
16190
16566
  throw TypeError(".sesame.v1.sources.SourceStatus.srtStats: object expected");
16191
16567
  message.srtStats = $root.sesame.v1.status.SRTReceiveStatistics.fromObject(object.srtStats);
16192
16568
  }
16569
+ if (object.videoProcessors) {
16570
+ if (!Array.isArray(object.videoProcessors))
16571
+ throw TypeError(".sesame.v1.sources.SourceStatus.videoProcessors: array expected");
16572
+ message.videoProcessors = [];
16573
+ for (let i = 0; i < object.videoProcessors.length; ++i) {
16574
+ if (typeof object.videoProcessors[i] !== "object")
16575
+ throw TypeError(".sesame.v1.sources.SourceStatus.videoProcessors: object expected");
16576
+ message.videoProcessors[i] = $root.sesame.v1.sources.VideoProcessor.fromObject(object.videoProcessors[i]);
16577
+ }
16578
+ }
16193
16579
  return message;
16194
16580
  };
16195
16581
 
@@ -16206,6 +16592,8 @@ export const sesame = $root.sesame = (() => {
16206
16592
  if (!options)
16207
16593
  options = {};
16208
16594
  let object = {};
16595
+ if (options.arrays || options.defaults)
16596
+ object.videoProcessors = [];
16209
16597
  if (options.defaults) {
16210
16598
  object.id = "";
16211
16599
  object.type = options.enums === String ? "SOURCE_TYPE_UNSPECIFIED" : 0;
@@ -16296,6 +16684,11 @@ export const sesame = $root.sesame = (() => {
16296
16684
  if (options.oneofs)
16297
16685
  object._srtStats = "srtStats";
16298
16686
  }
16687
+ if (message.videoProcessors && message.videoProcessors.length) {
16688
+ object.videoProcessors = [];
16689
+ for (let j = 0; j < message.videoProcessors.length; ++j)
16690
+ object.videoProcessors[j] = $root.sesame.v1.sources.VideoProcessor.toObject(message.videoProcessors[j], options);
16691
+ }
16299
16692
  return object;
16300
16693
  };
16301
16694
 
@@ -18570,6 +18963,583 @@ export const sesame = $root.sesame = (() => {
18570
18963
  return TransportControlRequest;
18571
18964
  })();
18572
18965
 
18966
+ sources.VideoProcessorControlRequest = (function() {
18967
+
18968
+ /**
18969
+ * Properties of a VideoProcessorControlRequest.
18970
+ * @memberof sesame.v1.sources
18971
+ * @interface IVideoProcessorControlRequest
18972
+ * @property {string|null} [processorId] VideoProcessorControlRequest processorId
18973
+ * @property {Array.<sesame.v1.sources.IVideoProcessorParam>|null} [params] VideoProcessorControlRequest params
18974
+ */
18975
+
18976
+ /**
18977
+ * Constructs a new VideoProcessorControlRequest.
18978
+ * @memberof sesame.v1.sources
18979
+ * @classdesc Represents a VideoProcessorControlRequest.
18980
+ * @implements IVideoProcessorControlRequest
18981
+ * @constructor
18982
+ * @param {sesame.v1.sources.IVideoProcessorControlRequest=} [properties] Properties to set
18983
+ */
18984
+ function VideoProcessorControlRequest(properties) {
18985
+ this.params = [];
18986
+ if (properties)
18987
+ for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)
18988
+ if (properties[keys[i]] != null)
18989
+ this[keys[i]] = properties[keys[i]];
18990
+ }
18991
+
18992
+ /**
18993
+ * VideoProcessorControlRequest processorId.
18994
+ * @member {string} processorId
18995
+ * @memberof sesame.v1.sources.VideoProcessorControlRequest
18996
+ * @instance
18997
+ */
18998
+ VideoProcessorControlRequest.prototype.processorId = "";
18999
+
19000
+ /**
19001
+ * VideoProcessorControlRequest params.
19002
+ * @member {Array.<sesame.v1.sources.IVideoProcessorParam>} params
19003
+ * @memberof sesame.v1.sources.VideoProcessorControlRequest
19004
+ * @instance
19005
+ */
19006
+ VideoProcessorControlRequest.prototype.params = $util.emptyArray;
19007
+
19008
+ /**
19009
+ * Creates a new VideoProcessorControlRequest instance using the specified properties.
19010
+ * @function create
19011
+ * @memberof sesame.v1.sources.VideoProcessorControlRequest
19012
+ * @static
19013
+ * @param {sesame.v1.sources.IVideoProcessorControlRequest=} [properties] Properties to set
19014
+ * @returns {sesame.v1.sources.VideoProcessorControlRequest} VideoProcessorControlRequest instance
19015
+ */
19016
+ VideoProcessorControlRequest.create = function create(properties) {
19017
+ return new VideoProcessorControlRequest(properties);
19018
+ };
19019
+
19020
+ /**
19021
+ * Encodes the specified VideoProcessorControlRequest message. Does not implicitly {@link sesame.v1.sources.VideoProcessorControlRequest.verify|verify} messages.
19022
+ * @function encode
19023
+ * @memberof sesame.v1.sources.VideoProcessorControlRequest
19024
+ * @static
19025
+ * @param {sesame.v1.sources.IVideoProcessorControlRequest} message VideoProcessorControlRequest message or plain object to encode
19026
+ * @param {$protobuf.Writer} [writer] Writer to encode to
19027
+ * @returns {$protobuf.Writer} Writer
19028
+ */
19029
+ VideoProcessorControlRequest.encode = function encode(message, writer) {
19030
+ if (!writer)
19031
+ writer = $Writer.create();
19032
+ if (message.processorId != null && Object.hasOwnProperty.call(message, "processorId"))
19033
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.processorId);
19034
+ if (message.params != null && message.params.length)
19035
+ for (let i = 0; i < message.params.length; ++i)
19036
+ $root.sesame.v1.sources.VideoProcessorParam.encode(message.params[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
19037
+ return writer;
19038
+ };
19039
+
19040
+ /**
19041
+ * Encodes the specified VideoProcessorControlRequest message, length delimited. Does not implicitly {@link sesame.v1.sources.VideoProcessorControlRequest.verify|verify} messages.
19042
+ * @function encodeDelimited
19043
+ * @memberof sesame.v1.sources.VideoProcessorControlRequest
19044
+ * @static
19045
+ * @param {sesame.v1.sources.IVideoProcessorControlRequest} message VideoProcessorControlRequest message or plain object to encode
19046
+ * @param {$protobuf.Writer} [writer] Writer to encode to
19047
+ * @returns {$protobuf.Writer} Writer
19048
+ */
19049
+ VideoProcessorControlRequest.encodeDelimited = function encodeDelimited(message, writer) {
19050
+ return this.encode(message, writer).ldelim();
19051
+ };
19052
+
19053
+ /**
19054
+ * Decodes a VideoProcessorControlRequest message from the specified reader or buffer.
19055
+ * @function decode
19056
+ * @memberof sesame.v1.sources.VideoProcessorControlRequest
19057
+ * @static
19058
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
19059
+ * @param {number} [length] Message length if known beforehand
19060
+ * @returns {sesame.v1.sources.VideoProcessorControlRequest} VideoProcessorControlRequest
19061
+ * @throws {Error} If the payload is not a reader or valid buffer
19062
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
19063
+ */
19064
+ VideoProcessorControlRequest.decode = function decode(reader, length, error) {
19065
+ if (!(reader instanceof $Reader))
19066
+ reader = $Reader.create(reader);
19067
+ let end = length === undefined ? reader.len : reader.pos + length, message = new $root.sesame.v1.sources.VideoProcessorControlRequest();
19068
+ while (reader.pos < end) {
19069
+ let tag = reader.uint32();
19070
+ if (tag === error)
19071
+ break;
19072
+ switch (tag >>> 3) {
19073
+ case 1: {
19074
+ message.processorId = reader.string();
19075
+ break;
19076
+ }
19077
+ case 2: {
19078
+ if (!(message.params && message.params.length))
19079
+ message.params = [];
19080
+ message.params.push($root.sesame.v1.sources.VideoProcessorParam.decode(reader, reader.uint32()));
19081
+ break;
19082
+ }
19083
+ default:
19084
+ reader.skipType(tag & 7);
19085
+ break;
19086
+ }
19087
+ }
19088
+ return message;
19089
+ };
19090
+
19091
+ /**
19092
+ * Decodes a VideoProcessorControlRequest message from the specified reader or buffer, length delimited.
19093
+ * @function decodeDelimited
19094
+ * @memberof sesame.v1.sources.VideoProcessorControlRequest
19095
+ * @static
19096
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
19097
+ * @returns {sesame.v1.sources.VideoProcessorControlRequest} VideoProcessorControlRequest
19098
+ * @throws {Error} If the payload is not a reader or valid buffer
19099
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
19100
+ */
19101
+ VideoProcessorControlRequest.decodeDelimited = function decodeDelimited(reader) {
19102
+ if (!(reader instanceof $Reader))
19103
+ reader = new $Reader(reader);
19104
+ return this.decode(reader, reader.uint32());
19105
+ };
19106
+
19107
+ /**
19108
+ * Verifies a VideoProcessorControlRequest message.
19109
+ * @function verify
19110
+ * @memberof sesame.v1.sources.VideoProcessorControlRequest
19111
+ * @static
19112
+ * @param {Object.<string,*>} message Plain object to verify
19113
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
19114
+ */
19115
+ VideoProcessorControlRequest.verify = function verify(message) {
19116
+ if (typeof message !== "object" || message === null)
19117
+ return "object expected";
19118
+ if (message.processorId != null && message.hasOwnProperty("processorId"))
19119
+ if (!$util.isString(message.processorId))
19120
+ return "processorId: string expected";
19121
+ if (message.params != null && message.hasOwnProperty("params")) {
19122
+ if (!Array.isArray(message.params))
19123
+ return "params: array expected";
19124
+ for (let i = 0; i < message.params.length; ++i) {
19125
+ let error = $root.sesame.v1.sources.VideoProcessorParam.verify(message.params[i]);
19126
+ if (error)
19127
+ return "params." + error;
19128
+ }
19129
+ }
19130
+ return null;
19131
+ };
19132
+
19133
+ /**
19134
+ * Creates a VideoProcessorControlRequest message from a plain object. Also converts values to their respective internal types.
19135
+ * @function fromObject
19136
+ * @memberof sesame.v1.sources.VideoProcessorControlRequest
19137
+ * @static
19138
+ * @param {Object.<string,*>} object Plain object
19139
+ * @returns {sesame.v1.sources.VideoProcessorControlRequest} VideoProcessorControlRequest
19140
+ */
19141
+ VideoProcessorControlRequest.fromObject = function fromObject(object) {
19142
+ if (object instanceof $root.sesame.v1.sources.VideoProcessorControlRequest)
19143
+ return object;
19144
+ let message = new $root.sesame.v1.sources.VideoProcessorControlRequest();
19145
+ if (object.processorId != null)
19146
+ message.processorId = String(object.processorId);
19147
+ if (object.params) {
19148
+ if (!Array.isArray(object.params))
19149
+ throw TypeError(".sesame.v1.sources.VideoProcessorControlRequest.params: array expected");
19150
+ message.params = [];
19151
+ for (let i = 0; i < object.params.length; ++i) {
19152
+ if (typeof object.params[i] !== "object")
19153
+ throw TypeError(".sesame.v1.sources.VideoProcessorControlRequest.params: object expected");
19154
+ message.params[i] = $root.sesame.v1.sources.VideoProcessorParam.fromObject(object.params[i]);
19155
+ }
19156
+ }
19157
+ return message;
19158
+ };
19159
+
19160
+ /**
19161
+ * Creates a plain object from a VideoProcessorControlRequest message. Also converts values to other types if specified.
19162
+ * @function toObject
19163
+ * @memberof sesame.v1.sources.VideoProcessorControlRequest
19164
+ * @static
19165
+ * @param {sesame.v1.sources.VideoProcessorControlRequest} message VideoProcessorControlRequest
19166
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
19167
+ * @returns {Object.<string,*>} Plain object
19168
+ */
19169
+ VideoProcessorControlRequest.toObject = function toObject(message, options) {
19170
+ if (!options)
19171
+ options = {};
19172
+ let object = {};
19173
+ if (options.arrays || options.defaults)
19174
+ object.params = [];
19175
+ if (options.defaults)
19176
+ object.processorId = "";
19177
+ if (message.processorId != null && message.hasOwnProperty("processorId"))
19178
+ object.processorId = message.processorId;
19179
+ if (message.params && message.params.length) {
19180
+ object.params = [];
19181
+ for (let j = 0; j < message.params.length; ++j)
19182
+ object.params[j] = $root.sesame.v1.sources.VideoProcessorParam.toObject(message.params[j], options);
19183
+ }
19184
+ return object;
19185
+ };
19186
+
19187
+ /**
19188
+ * Converts this VideoProcessorControlRequest to JSON.
19189
+ * @function toJSON
19190
+ * @memberof sesame.v1.sources.VideoProcessorControlRequest
19191
+ * @instance
19192
+ * @returns {Object.<string,*>} JSON object
19193
+ */
19194
+ VideoProcessorControlRequest.prototype.toJSON = function toJSON() {
19195
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
19196
+ };
19197
+
19198
+ /**
19199
+ * Gets the default type url for VideoProcessorControlRequest
19200
+ * @function getTypeUrl
19201
+ * @memberof sesame.v1.sources.VideoProcessorControlRequest
19202
+ * @static
19203
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
19204
+ * @returns {string} The default type url
19205
+ */
19206
+ VideoProcessorControlRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
19207
+ if (typeUrlPrefix === undefined) {
19208
+ typeUrlPrefix = "type.googleapis.com";
19209
+ }
19210
+ return typeUrlPrefix + "/sesame.v1.sources.VideoProcessorControlRequest";
19211
+ };
19212
+
19213
+ return VideoProcessorControlRequest;
19214
+ })();
19215
+
19216
+ sources.SourceControlRequest = (function() {
19217
+
19218
+ /**
19219
+ * Properties of a SourceControlRequest.
19220
+ * @memberof sesame.v1.sources
19221
+ * @interface ISourceControlRequest
19222
+ * @property {Array.<sesame.v1.sources.IVideoProcessorControlRequest>|null} [videoProcessors] SourceControlRequest videoProcessors
19223
+ * @property {number|null} [audioLevel] SourceControlRequest audioLevel
19224
+ * @property {Array.<string>|null} [resetProcessors] SourceControlRequest resetProcessors
19225
+ * @property {string|null} [sourceId] SourceControlRequest sourceId
19226
+ */
19227
+
19228
+ /**
19229
+ * Constructs a new SourceControlRequest.
19230
+ * @memberof sesame.v1.sources
19231
+ * @classdesc Represents a SourceControlRequest.
19232
+ * @implements ISourceControlRequest
19233
+ * @constructor
19234
+ * @param {sesame.v1.sources.ISourceControlRequest=} [properties] Properties to set
19235
+ */
19236
+ function SourceControlRequest(properties) {
19237
+ this.videoProcessors = [];
19238
+ this.resetProcessors = [];
19239
+ if (properties)
19240
+ for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)
19241
+ if (properties[keys[i]] != null)
19242
+ this[keys[i]] = properties[keys[i]];
19243
+ }
19244
+
19245
+ /**
19246
+ * SourceControlRequest videoProcessors.
19247
+ * @member {Array.<sesame.v1.sources.IVideoProcessorControlRequest>} videoProcessors
19248
+ * @memberof sesame.v1.sources.SourceControlRequest
19249
+ * @instance
19250
+ */
19251
+ SourceControlRequest.prototype.videoProcessors = $util.emptyArray;
19252
+
19253
+ /**
19254
+ * SourceControlRequest audioLevel.
19255
+ * @member {number|null|undefined} audioLevel
19256
+ * @memberof sesame.v1.sources.SourceControlRequest
19257
+ * @instance
19258
+ */
19259
+ SourceControlRequest.prototype.audioLevel = null;
19260
+
19261
+ /**
19262
+ * SourceControlRequest resetProcessors.
19263
+ * @member {Array.<string>} resetProcessors
19264
+ * @memberof sesame.v1.sources.SourceControlRequest
19265
+ * @instance
19266
+ */
19267
+ SourceControlRequest.prototype.resetProcessors = $util.emptyArray;
19268
+
19269
+ /**
19270
+ * SourceControlRequest sourceId.
19271
+ * @member {string} sourceId
19272
+ * @memberof sesame.v1.sources.SourceControlRequest
19273
+ * @instance
19274
+ */
19275
+ SourceControlRequest.prototype.sourceId = "";
19276
+
19277
+ // OneOf field names bound to virtual getters and setters
19278
+ let $oneOfFields;
19279
+
19280
+ // Virtual OneOf for proto3 optional field
19281
+ Object.defineProperty(SourceControlRequest.prototype, "_audioLevel", {
19282
+ get: $util.oneOfGetter($oneOfFields = ["audioLevel"]),
19283
+ set: $util.oneOfSetter($oneOfFields)
19284
+ });
19285
+
19286
+ /**
19287
+ * Creates a new SourceControlRequest instance using the specified properties.
19288
+ * @function create
19289
+ * @memberof sesame.v1.sources.SourceControlRequest
19290
+ * @static
19291
+ * @param {sesame.v1.sources.ISourceControlRequest=} [properties] Properties to set
19292
+ * @returns {sesame.v1.sources.SourceControlRequest} SourceControlRequest instance
19293
+ */
19294
+ SourceControlRequest.create = function create(properties) {
19295
+ return new SourceControlRequest(properties);
19296
+ };
19297
+
19298
+ /**
19299
+ * Encodes the specified SourceControlRequest message. Does not implicitly {@link sesame.v1.sources.SourceControlRequest.verify|verify} messages.
19300
+ * @function encode
19301
+ * @memberof sesame.v1.sources.SourceControlRequest
19302
+ * @static
19303
+ * @param {sesame.v1.sources.ISourceControlRequest} message SourceControlRequest message or plain object to encode
19304
+ * @param {$protobuf.Writer} [writer] Writer to encode to
19305
+ * @returns {$protobuf.Writer} Writer
19306
+ */
19307
+ SourceControlRequest.encode = function encode(message, writer) {
19308
+ if (!writer)
19309
+ writer = $Writer.create();
19310
+ if (message.videoProcessors != null && message.videoProcessors.length)
19311
+ for (let i = 0; i < message.videoProcessors.length; ++i)
19312
+ $root.sesame.v1.sources.VideoProcessorControlRequest.encode(message.videoProcessors[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
19313
+ if (message.audioLevel != null && Object.hasOwnProperty.call(message, "audioLevel"))
19314
+ writer.uint32(/* id 2, wireType 5 =*/21).float(message.audioLevel);
19315
+ if (message.resetProcessors != null && message.resetProcessors.length)
19316
+ for (let i = 0; i < message.resetProcessors.length; ++i)
19317
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.resetProcessors[i]);
19318
+ if (message.sourceId != null && Object.hasOwnProperty.call(message, "sourceId"))
19319
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.sourceId);
19320
+ return writer;
19321
+ };
19322
+
19323
+ /**
19324
+ * Encodes the specified SourceControlRequest message, length delimited. Does not implicitly {@link sesame.v1.sources.SourceControlRequest.verify|verify} messages.
19325
+ * @function encodeDelimited
19326
+ * @memberof sesame.v1.sources.SourceControlRequest
19327
+ * @static
19328
+ * @param {sesame.v1.sources.ISourceControlRequest} message SourceControlRequest message or plain object to encode
19329
+ * @param {$protobuf.Writer} [writer] Writer to encode to
19330
+ * @returns {$protobuf.Writer} Writer
19331
+ */
19332
+ SourceControlRequest.encodeDelimited = function encodeDelimited(message, writer) {
19333
+ return this.encode(message, writer).ldelim();
19334
+ };
19335
+
19336
+ /**
19337
+ * Decodes a SourceControlRequest message from the specified reader or buffer.
19338
+ * @function decode
19339
+ * @memberof sesame.v1.sources.SourceControlRequest
19340
+ * @static
19341
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
19342
+ * @param {number} [length] Message length if known beforehand
19343
+ * @returns {sesame.v1.sources.SourceControlRequest} SourceControlRequest
19344
+ * @throws {Error} If the payload is not a reader or valid buffer
19345
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
19346
+ */
19347
+ SourceControlRequest.decode = function decode(reader, length, error) {
19348
+ if (!(reader instanceof $Reader))
19349
+ reader = $Reader.create(reader);
19350
+ let end = length === undefined ? reader.len : reader.pos + length, message = new $root.sesame.v1.sources.SourceControlRequest();
19351
+ while (reader.pos < end) {
19352
+ let tag = reader.uint32();
19353
+ if (tag === error)
19354
+ break;
19355
+ switch (tag >>> 3) {
19356
+ case 1: {
19357
+ if (!(message.videoProcessors && message.videoProcessors.length))
19358
+ message.videoProcessors = [];
19359
+ message.videoProcessors.push($root.sesame.v1.sources.VideoProcessorControlRequest.decode(reader, reader.uint32()));
19360
+ break;
19361
+ }
19362
+ case 2: {
19363
+ message.audioLevel = reader.float();
19364
+ break;
19365
+ }
19366
+ case 3: {
19367
+ if (!(message.resetProcessors && message.resetProcessors.length))
19368
+ message.resetProcessors = [];
19369
+ message.resetProcessors.push(reader.string());
19370
+ break;
19371
+ }
19372
+ case 4: {
19373
+ message.sourceId = reader.string();
19374
+ break;
19375
+ }
19376
+ default:
19377
+ reader.skipType(tag & 7);
19378
+ break;
19379
+ }
19380
+ }
19381
+ return message;
19382
+ };
19383
+
19384
+ /**
19385
+ * Decodes a SourceControlRequest message from the specified reader or buffer, length delimited.
19386
+ * @function decodeDelimited
19387
+ * @memberof sesame.v1.sources.SourceControlRequest
19388
+ * @static
19389
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
19390
+ * @returns {sesame.v1.sources.SourceControlRequest} SourceControlRequest
19391
+ * @throws {Error} If the payload is not a reader or valid buffer
19392
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
19393
+ */
19394
+ SourceControlRequest.decodeDelimited = function decodeDelimited(reader) {
19395
+ if (!(reader instanceof $Reader))
19396
+ reader = new $Reader(reader);
19397
+ return this.decode(reader, reader.uint32());
19398
+ };
19399
+
19400
+ /**
19401
+ * Verifies a SourceControlRequest message.
19402
+ * @function verify
19403
+ * @memberof sesame.v1.sources.SourceControlRequest
19404
+ * @static
19405
+ * @param {Object.<string,*>} message Plain object to verify
19406
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
19407
+ */
19408
+ SourceControlRequest.verify = function verify(message) {
19409
+ if (typeof message !== "object" || message === null)
19410
+ return "object expected";
19411
+ let properties = {};
19412
+ if (message.videoProcessors != null && message.hasOwnProperty("videoProcessors")) {
19413
+ if (!Array.isArray(message.videoProcessors))
19414
+ return "videoProcessors: array expected";
19415
+ for (let i = 0; i < message.videoProcessors.length; ++i) {
19416
+ let error = $root.sesame.v1.sources.VideoProcessorControlRequest.verify(message.videoProcessors[i]);
19417
+ if (error)
19418
+ return "videoProcessors." + error;
19419
+ }
19420
+ }
19421
+ if (message.audioLevel != null && message.hasOwnProperty("audioLevel")) {
19422
+ properties._audioLevel = 1;
19423
+ if (typeof message.audioLevel !== "number")
19424
+ return "audioLevel: number expected";
19425
+ }
19426
+ if (message.resetProcessors != null && message.hasOwnProperty("resetProcessors")) {
19427
+ if (!Array.isArray(message.resetProcessors))
19428
+ return "resetProcessors: array expected";
19429
+ for (let i = 0; i < message.resetProcessors.length; ++i)
19430
+ if (!$util.isString(message.resetProcessors[i]))
19431
+ return "resetProcessors: string[] expected";
19432
+ }
19433
+ if (message.sourceId != null && message.hasOwnProperty("sourceId"))
19434
+ if (!$util.isString(message.sourceId))
19435
+ return "sourceId: string expected";
19436
+ return null;
19437
+ };
19438
+
19439
+ /**
19440
+ * Creates a SourceControlRequest message from a plain object. Also converts values to their respective internal types.
19441
+ * @function fromObject
19442
+ * @memberof sesame.v1.sources.SourceControlRequest
19443
+ * @static
19444
+ * @param {Object.<string,*>} object Plain object
19445
+ * @returns {sesame.v1.sources.SourceControlRequest} SourceControlRequest
19446
+ */
19447
+ SourceControlRequest.fromObject = function fromObject(object) {
19448
+ if (object instanceof $root.sesame.v1.sources.SourceControlRequest)
19449
+ return object;
19450
+ let message = new $root.sesame.v1.sources.SourceControlRequest();
19451
+ if (object.videoProcessors) {
19452
+ if (!Array.isArray(object.videoProcessors))
19453
+ throw TypeError(".sesame.v1.sources.SourceControlRequest.videoProcessors: array expected");
19454
+ message.videoProcessors = [];
19455
+ for (let i = 0; i < object.videoProcessors.length; ++i) {
19456
+ if (typeof object.videoProcessors[i] !== "object")
19457
+ throw TypeError(".sesame.v1.sources.SourceControlRequest.videoProcessors: object expected");
19458
+ message.videoProcessors[i] = $root.sesame.v1.sources.VideoProcessorControlRequest.fromObject(object.videoProcessors[i]);
19459
+ }
19460
+ }
19461
+ if (object.audioLevel != null)
19462
+ message.audioLevel = Number(object.audioLevel);
19463
+ if (object.resetProcessors) {
19464
+ if (!Array.isArray(object.resetProcessors))
19465
+ throw TypeError(".sesame.v1.sources.SourceControlRequest.resetProcessors: array expected");
19466
+ message.resetProcessors = [];
19467
+ for (let i = 0; i < object.resetProcessors.length; ++i)
19468
+ message.resetProcessors[i] = String(object.resetProcessors[i]);
19469
+ }
19470
+ if (object.sourceId != null)
19471
+ message.sourceId = String(object.sourceId);
19472
+ return message;
19473
+ };
19474
+
19475
+ /**
19476
+ * Creates a plain object from a SourceControlRequest message. Also converts values to other types if specified.
19477
+ * @function toObject
19478
+ * @memberof sesame.v1.sources.SourceControlRequest
19479
+ * @static
19480
+ * @param {sesame.v1.sources.SourceControlRequest} message SourceControlRequest
19481
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
19482
+ * @returns {Object.<string,*>} Plain object
19483
+ */
19484
+ SourceControlRequest.toObject = function toObject(message, options) {
19485
+ if (!options)
19486
+ options = {};
19487
+ let object = {};
19488
+ if (options.arrays || options.defaults) {
19489
+ object.videoProcessors = [];
19490
+ object.resetProcessors = [];
19491
+ }
19492
+ if (options.defaults)
19493
+ object.sourceId = "";
19494
+ if (message.videoProcessors && message.videoProcessors.length) {
19495
+ object.videoProcessors = [];
19496
+ for (let j = 0; j < message.videoProcessors.length; ++j)
19497
+ object.videoProcessors[j] = $root.sesame.v1.sources.VideoProcessorControlRequest.toObject(message.videoProcessors[j], options);
19498
+ }
19499
+ if (message.audioLevel != null && message.hasOwnProperty("audioLevel")) {
19500
+ object.audioLevel = options.json && !isFinite(message.audioLevel) ? String(message.audioLevel) : message.audioLevel;
19501
+ if (options.oneofs)
19502
+ object._audioLevel = "audioLevel";
19503
+ }
19504
+ if (message.resetProcessors && message.resetProcessors.length) {
19505
+ object.resetProcessors = [];
19506
+ for (let j = 0; j < message.resetProcessors.length; ++j)
19507
+ object.resetProcessors[j] = message.resetProcessors[j];
19508
+ }
19509
+ if (message.sourceId != null && message.hasOwnProperty("sourceId"))
19510
+ object.sourceId = message.sourceId;
19511
+ return object;
19512
+ };
19513
+
19514
+ /**
19515
+ * Converts this SourceControlRequest to JSON.
19516
+ * @function toJSON
19517
+ * @memberof sesame.v1.sources.SourceControlRequest
19518
+ * @instance
19519
+ * @returns {Object.<string,*>} JSON object
19520
+ */
19521
+ SourceControlRequest.prototype.toJSON = function toJSON() {
19522
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
19523
+ };
19524
+
19525
+ /**
19526
+ * Gets the default type url for SourceControlRequest
19527
+ * @function getTypeUrl
19528
+ * @memberof sesame.v1.sources.SourceControlRequest
19529
+ * @static
19530
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
19531
+ * @returns {string} The default type url
19532
+ */
19533
+ SourceControlRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
19534
+ if (typeUrlPrefix === undefined) {
19535
+ typeUrlPrefix = "type.googleapis.com";
19536
+ }
19537
+ return typeUrlPrefix + "/sesame.v1.sources.SourceControlRequest";
19538
+ };
19539
+
19540
+ return SourceControlRequest;
19541
+ })();
19542
+
18573
19543
  return sources;
18574
19544
  })();
18575
19545
 
@@ -45326,6 +46296,8 @@ export const sesame = $root.sesame = (() => {
45326
46296
  case 7:
45327
46297
  case 8:
45328
46298
  case 9:
46299
+ case 10:
46300
+ case 11:
45329
46301
  break;
45330
46302
  }
45331
46303
  return null;
@@ -45399,6 +46371,14 @@ export const sesame = $root.sesame = (() => {
45399
46371
  case 9:
45400
46372
  message.dataType = 9;
45401
46373
  break;
46374
+ case "DATA_TYPE_SOURCE_CONTROL":
46375
+ case 10:
46376
+ message.dataType = 10;
46377
+ break;
46378
+ case "DATA_TYPE_SOURCE_STATUS":
46379
+ case 11:
46380
+ message.dataType = 11;
46381
+ break;
45402
46382
  }
45403
46383
  return message;
45404
46384
  };
@@ -47025,6 +48005,8 @@ export const sesame = $root.sesame = (() => {
47025
48005
  * @property {number} DATA_TYPE_OUTPUT_STATUS=7 DATA_TYPE_OUTPUT_STATUS value
47026
48006
  * @property {number} DATA_TYPE_OUTPUT_CONTROL=8 DATA_TYPE_OUTPUT_CONTROL value
47027
48007
  * @property {number} DATA_TYPE_ENGINE_STATUS=9 DATA_TYPE_ENGINE_STATUS value
48008
+ * @property {number} DATA_TYPE_SOURCE_CONTROL=10 DATA_TYPE_SOURCE_CONTROL value
48009
+ * @property {number} DATA_TYPE_SOURCE_STATUS=11 DATA_TYPE_SOURCE_STATUS value
47028
48010
  */
47029
48011
  wire.DataType = (function() {
47030
48012
  const valuesById = {}, values = Object.create(valuesById);
@@ -47038,6 +48020,8 @@ export const sesame = $root.sesame = (() => {
47038
48020
  values[valuesById[7] = "DATA_TYPE_OUTPUT_STATUS"] = 7;
47039
48021
  values[valuesById[8] = "DATA_TYPE_OUTPUT_CONTROL"] = 8;
47040
48022
  values[valuesById[9] = "DATA_TYPE_ENGINE_STATUS"] = 9;
48023
+ values[valuesById[10] = "DATA_TYPE_SOURCE_CONTROL"] = 10;
48024
+ values[valuesById[11] = "DATA_TYPE_SOURCE_STATUS"] = 11;
47041
48025
  return values;
47042
48026
  })();
47043
48027
 
@@ -47203,6 +48187,8 @@ export const sesame = $root.sesame = (() => {
47203
48187
  case 7:
47204
48188
  case 8:
47205
48189
  case 9:
48190
+ case 10:
48191
+ case 11:
47206
48192
  break;
47207
48193
  }
47208
48194
  if (message.trackName != null && message.hasOwnProperty("trackName"))
@@ -47270,6 +48256,14 @@ export const sesame = $root.sesame = (() => {
47270
48256
  case 9:
47271
48257
  message.dataType = 9;
47272
48258
  break;
48259
+ case "DATA_TYPE_SOURCE_CONTROL":
48260
+ case 10:
48261
+ message.dataType = 10;
48262
+ break;
48263
+ case "DATA_TYPE_SOURCE_STATUS":
48264
+ case 11:
48265
+ message.dataType = 11;
48266
+ break;
47273
48267
  }
47274
48268
  if (object.trackName != null)
47275
48269
  message.trackName = String(object.trackName);