@stinkycomputing/sesame-api-client 1.5.8 → 1.5.10

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
@@ -5991,6 +5991,7 @@ export const sesame = $root.sesame = (() => {
5991
5991
  * @property {sesame.v1.outputs.IEncoderAddRequest|null} [addEncoder] CommandListItem addEncoder
5992
5992
  * @property {sesame.v1.outputs.IEncoderUpdateRequest|null} [updateEncoder] CommandListItem updateEncoder
5993
5993
  * @property {sesame.v1.outputs.IEncoderRemoveRequest|null} [removeEncoder] CommandListItem removeEncoder
5994
+ * @property {sesame.v1.sources.ITakePlaylistRequest|null} [takePlaylist] CommandListItem takePlaylist
5994
5995
  * @property {number|null} [transactionId] CommandListItem transactionId
5995
5996
  * @property {Array.<number>|null} [transactionDeps] CommandListItem transactionDeps
5996
5997
  */
@@ -6235,6 +6236,14 @@ export const sesame = $root.sesame = (() => {
6235
6236
  */
6236
6237
  CommandListItem.prototype.removeEncoder = null;
6237
6238
 
6239
+ /**
6240
+ * CommandListItem takePlaylist.
6241
+ * @member {sesame.v1.sources.ITakePlaylistRequest|null|undefined} takePlaylist
6242
+ * @memberof sesame.v1.commands.CommandListItem
6243
+ * @instance
6244
+ */
6245
+ CommandListItem.prototype.takePlaylist = null;
6246
+
6238
6247
  /**
6239
6248
  * CommandListItem transactionId.
6240
6249
  * @member {number|null|undefined} transactionId
@@ -6256,12 +6265,12 @@ export const sesame = $root.sesame = (() => {
6256
6265
 
6257
6266
  /**
6258
6267
  * CommandListItem item.
6259
- * @member {"addSource"|"updateSource"|"removeSource"|"addOutput"|"updateOutput"|"removeOutput"|"addCompositor"|"removeCompositor"|"clearCompositor"|"addNode"|"removeNode"|"setProperty"|"animateProperty"|"addAudioMixer"|"updateAudioMixer"|"removeAudioMixer"|"addAudioChannel"|"removeAudioChannel"|"updateSourceTransport"|"loadPlaylist"|"ejectPlaylist"|"callback"|"setSourceMetadata"|"setMetadataBindings"|"addEncoder"|"updateEncoder"|"removeEncoder"|undefined} item
6268
+ * @member {"addSource"|"updateSource"|"removeSource"|"addOutput"|"updateOutput"|"removeOutput"|"addCompositor"|"removeCompositor"|"clearCompositor"|"addNode"|"removeNode"|"setProperty"|"animateProperty"|"addAudioMixer"|"updateAudioMixer"|"removeAudioMixer"|"addAudioChannel"|"removeAudioChannel"|"updateSourceTransport"|"loadPlaylist"|"ejectPlaylist"|"callback"|"setSourceMetadata"|"setMetadataBindings"|"addEncoder"|"updateEncoder"|"removeEncoder"|"takePlaylist"|undefined} item
6260
6269
  * @memberof sesame.v1.commands.CommandListItem
6261
6270
  * @instance
6262
6271
  */
6263
6272
  Object.defineProperty(CommandListItem.prototype, "item", {
6264
- get: $util.oneOfGetter($oneOfFields = ["addSource", "updateSource", "removeSource", "addOutput", "updateOutput", "removeOutput", "addCompositor", "removeCompositor", "clearCompositor", "addNode", "removeNode", "setProperty", "animateProperty", "addAudioMixer", "updateAudioMixer", "removeAudioMixer", "addAudioChannel", "removeAudioChannel", "updateSourceTransport", "loadPlaylist", "ejectPlaylist", "callback", "setSourceMetadata", "setMetadataBindings", "addEncoder", "updateEncoder", "removeEncoder"]),
6273
+ get: $util.oneOfGetter($oneOfFields = ["addSource", "updateSource", "removeSource", "addOutput", "updateOutput", "removeOutput", "addCompositor", "removeCompositor", "clearCompositor", "addNode", "removeNode", "setProperty", "animateProperty", "addAudioMixer", "updateAudioMixer", "removeAudioMixer", "addAudioChannel", "removeAudioChannel", "updateSourceTransport", "loadPlaylist", "ejectPlaylist", "callback", "setSourceMetadata", "setMetadataBindings", "addEncoder", "updateEncoder", "removeEncoder", "takePlaylist"]),
6265
6274
  set: $util.oneOfSetter($oneOfFields)
6266
6275
  });
6267
6276
 
@@ -6359,6 +6368,8 @@ export const sesame = $root.sesame = (() => {
6359
6368
  $root.sesame.v1.outputs.EncoderUpdateRequest.encode(message.updateEncoder, writer.uint32(/* id 29, wireType 2 =*/234).fork()).ldelim();
6360
6369
  if (message.removeEncoder != null && Object.hasOwnProperty.call(message, "removeEncoder"))
6361
6370
  $root.sesame.v1.outputs.EncoderRemoveRequest.encode(message.removeEncoder, writer.uint32(/* id 30, wireType 2 =*/242).fork()).ldelim();
6371
+ if (message.takePlaylist != null && Object.hasOwnProperty.call(message, "takePlaylist"))
6372
+ $root.sesame.v1.sources.TakePlaylistRequest.encode(message.takePlaylist, writer.uint32(/* id 31, wireType 2 =*/250).fork()).ldelim();
6362
6373
  return writer;
6363
6374
  };
6364
6375
 
@@ -6507,6 +6518,10 @@ export const sesame = $root.sesame = (() => {
6507
6518
  message.removeEncoder = $root.sesame.v1.outputs.EncoderRemoveRequest.decode(reader, reader.uint32());
6508
6519
  break;
6509
6520
  }
6521
+ case 31: {
6522
+ message.takePlaylist = $root.sesame.v1.sources.TakePlaylistRequest.decode(reader, reader.uint32());
6523
+ break;
6524
+ }
6510
6525
  case 25: {
6511
6526
  message.transactionId = reader.uint32();
6512
6527
  break;
@@ -6829,6 +6844,16 @@ export const sesame = $root.sesame = (() => {
6829
6844
  return "removeEncoder." + error;
6830
6845
  }
6831
6846
  }
6847
+ if (message.takePlaylist != null && message.hasOwnProperty("takePlaylist")) {
6848
+ if (properties.item === 1)
6849
+ return "item: multiple values";
6850
+ properties.item = 1;
6851
+ {
6852
+ let error = $root.sesame.v1.sources.TakePlaylistRequest.verify(message.takePlaylist);
6853
+ if (error)
6854
+ return "takePlaylist." + error;
6855
+ }
6856
+ }
6832
6857
  if (message.transactionId != null && message.hasOwnProperty("transactionId")) {
6833
6858
  properties._transactionId = 1;
6834
6859
  if (!$util.isInteger(message.transactionId))
@@ -7000,6 +7025,11 @@ export const sesame = $root.sesame = (() => {
7000
7025
  throw TypeError(".sesame.v1.commands.CommandListItem.removeEncoder: object expected");
7001
7026
  message.removeEncoder = $root.sesame.v1.outputs.EncoderRemoveRequest.fromObject(object.removeEncoder);
7002
7027
  }
7028
+ if (object.takePlaylist != null) {
7029
+ if (typeof object.takePlaylist !== "object")
7030
+ throw TypeError(".sesame.v1.commands.CommandListItem.takePlaylist: object expected");
7031
+ message.takePlaylist = $root.sesame.v1.sources.TakePlaylistRequest.fromObject(object.takePlaylist);
7032
+ }
7003
7033
  if (object.transactionId != null)
7004
7034
  message.transactionId = object.transactionId >>> 0;
7005
7035
  if (object.transactionDeps) {
@@ -7183,6 +7213,11 @@ export const sesame = $root.sesame = (() => {
7183
7213
  if (options.oneofs)
7184
7214
  object.item = "removeEncoder";
7185
7215
  }
7216
+ if (message.takePlaylist != null && message.hasOwnProperty("takePlaylist")) {
7217
+ object.takePlaylist = $root.sesame.v1.sources.TakePlaylistRequest.toObject(message.takePlaylist, options);
7218
+ if (options.oneofs)
7219
+ object.item = "takePlaylist";
7220
+ }
7186
7221
  return object;
7187
7222
  };
7188
7223
 
@@ -17152,6 +17187,489 @@ export const sesame = $root.sesame = (() => {
17152
17187
  return LoadPlaylistRequest;
17153
17188
  })();
17154
17189
 
17190
+ sources.TakePlaylistRequest = (function() {
17191
+
17192
+ /**
17193
+ * Properties of a TakePlaylistRequest.
17194
+ * @memberof sesame.v1.sources
17195
+ * @interface ITakePlaylistRequest
17196
+ * @property {string|null} [sourceId] TakePlaylistRequest sourceId
17197
+ * @property {string|null} [userPlaylistId] TakePlaylistRequest userPlaylistId
17198
+ * @property {Array.<sesame.v1.recorder.IPlaylistItem>|null} [items] TakePlaylistRequest items
17199
+ * @property {number|Long|null} [startTimeUs] TakePlaylistRequest startTimeUs
17200
+ * @property {number|Long|null} [startIndex] TakePlaylistRequest startIndex
17201
+ * @property {number|Long|null} [materialPosUs] TakePlaylistRequest materialPosUs
17202
+ * @property {number|Long|null} [transitionTimeUs] TakePlaylistRequest transitionTimeUs
17203
+ * @property {number|null} [playbackSpeed] TakePlaylistRequest playbackSpeed
17204
+ */
17205
+
17206
+ /**
17207
+ * Constructs a new TakePlaylistRequest.
17208
+ * @memberof sesame.v1.sources
17209
+ * @classdesc Represents a TakePlaylistRequest.
17210
+ * @implements ITakePlaylistRequest
17211
+ * @constructor
17212
+ * @param {sesame.v1.sources.ITakePlaylistRequest=} [properties] Properties to set
17213
+ */
17214
+ function TakePlaylistRequest(properties) {
17215
+ this.items = [];
17216
+ if (properties)
17217
+ for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)
17218
+ if (properties[keys[i]] != null)
17219
+ this[keys[i]] = properties[keys[i]];
17220
+ }
17221
+
17222
+ /**
17223
+ * TakePlaylistRequest sourceId.
17224
+ * @member {string} sourceId
17225
+ * @memberof sesame.v1.sources.TakePlaylistRequest
17226
+ * @instance
17227
+ */
17228
+ TakePlaylistRequest.prototype.sourceId = "";
17229
+
17230
+ /**
17231
+ * TakePlaylistRequest userPlaylistId.
17232
+ * @member {string} userPlaylistId
17233
+ * @memberof sesame.v1.sources.TakePlaylistRequest
17234
+ * @instance
17235
+ */
17236
+ TakePlaylistRequest.prototype.userPlaylistId = "";
17237
+
17238
+ /**
17239
+ * TakePlaylistRequest items.
17240
+ * @member {Array.<sesame.v1.recorder.IPlaylistItem>} items
17241
+ * @memberof sesame.v1.sources.TakePlaylistRequest
17242
+ * @instance
17243
+ */
17244
+ TakePlaylistRequest.prototype.items = $util.emptyArray;
17245
+
17246
+ /**
17247
+ * TakePlaylistRequest startTimeUs.
17248
+ * @member {number|Long|null|undefined} startTimeUs
17249
+ * @memberof sesame.v1.sources.TakePlaylistRequest
17250
+ * @instance
17251
+ */
17252
+ TakePlaylistRequest.prototype.startTimeUs = null;
17253
+
17254
+ /**
17255
+ * TakePlaylistRequest startIndex.
17256
+ * @member {number|Long|null|undefined} startIndex
17257
+ * @memberof sesame.v1.sources.TakePlaylistRequest
17258
+ * @instance
17259
+ */
17260
+ TakePlaylistRequest.prototype.startIndex = null;
17261
+
17262
+ /**
17263
+ * TakePlaylistRequest materialPosUs.
17264
+ * @member {number|Long|null|undefined} materialPosUs
17265
+ * @memberof sesame.v1.sources.TakePlaylistRequest
17266
+ * @instance
17267
+ */
17268
+ TakePlaylistRequest.prototype.materialPosUs = null;
17269
+
17270
+ /**
17271
+ * TakePlaylistRequest transitionTimeUs.
17272
+ * @member {number|Long|null|undefined} transitionTimeUs
17273
+ * @memberof sesame.v1.sources.TakePlaylistRequest
17274
+ * @instance
17275
+ */
17276
+ TakePlaylistRequest.prototype.transitionTimeUs = null;
17277
+
17278
+ /**
17279
+ * TakePlaylistRequest playbackSpeed.
17280
+ * @member {number|null|undefined} playbackSpeed
17281
+ * @memberof sesame.v1.sources.TakePlaylistRequest
17282
+ * @instance
17283
+ */
17284
+ TakePlaylistRequest.prototype.playbackSpeed = null;
17285
+
17286
+ // OneOf field names bound to virtual getters and setters
17287
+ let $oneOfFields;
17288
+
17289
+ // Virtual OneOf for proto3 optional field
17290
+ Object.defineProperty(TakePlaylistRequest.prototype, "_startTimeUs", {
17291
+ get: $util.oneOfGetter($oneOfFields = ["startTimeUs"]),
17292
+ set: $util.oneOfSetter($oneOfFields)
17293
+ });
17294
+
17295
+ // Virtual OneOf for proto3 optional field
17296
+ Object.defineProperty(TakePlaylistRequest.prototype, "_startIndex", {
17297
+ get: $util.oneOfGetter($oneOfFields = ["startIndex"]),
17298
+ set: $util.oneOfSetter($oneOfFields)
17299
+ });
17300
+
17301
+ // Virtual OneOf for proto3 optional field
17302
+ Object.defineProperty(TakePlaylistRequest.prototype, "_materialPosUs", {
17303
+ get: $util.oneOfGetter($oneOfFields = ["materialPosUs"]),
17304
+ set: $util.oneOfSetter($oneOfFields)
17305
+ });
17306
+
17307
+ // Virtual OneOf for proto3 optional field
17308
+ Object.defineProperty(TakePlaylistRequest.prototype, "_transitionTimeUs", {
17309
+ get: $util.oneOfGetter($oneOfFields = ["transitionTimeUs"]),
17310
+ set: $util.oneOfSetter($oneOfFields)
17311
+ });
17312
+
17313
+ // Virtual OneOf for proto3 optional field
17314
+ Object.defineProperty(TakePlaylistRequest.prototype, "_playbackSpeed", {
17315
+ get: $util.oneOfGetter($oneOfFields = ["playbackSpeed"]),
17316
+ set: $util.oneOfSetter($oneOfFields)
17317
+ });
17318
+
17319
+ /**
17320
+ * Creates a new TakePlaylistRequest instance using the specified properties.
17321
+ * @function create
17322
+ * @memberof sesame.v1.sources.TakePlaylistRequest
17323
+ * @static
17324
+ * @param {sesame.v1.sources.ITakePlaylistRequest=} [properties] Properties to set
17325
+ * @returns {sesame.v1.sources.TakePlaylistRequest} TakePlaylistRequest instance
17326
+ */
17327
+ TakePlaylistRequest.create = function create(properties) {
17328
+ return new TakePlaylistRequest(properties);
17329
+ };
17330
+
17331
+ /**
17332
+ * Encodes the specified TakePlaylistRequest message. Does not implicitly {@link sesame.v1.sources.TakePlaylistRequest.verify|verify} messages.
17333
+ * @function encode
17334
+ * @memberof sesame.v1.sources.TakePlaylistRequest
17335
+ * @static
17336
+ * @param {sesame.v1.sources.ITakePlaylistRequest} message TakePlaylistRequest message or plain object to encode
17337
+ * @param {$protobuf.Writer} [writer] Writer to encode to
17338
+ * @returns {$protobuf.Writer} Writer
17339
+ */
17340
+ TakePlaylistRequest.encode = function encode(message, writer) {
17341
+ if (!writer)
17342
+ writer = $Writer.create();
17343
+ if (message.sourceId != null && Object.hasOwnProperty.call(message, "sourceId"))
17344
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.sourceId);
17345
+ if (message.userPlaylistId != null && Object.hasOwnProperty.call(message, "userPlaylistId"))
17346
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.userPlaylistId);
17347
+ if (message.items != null && message.items.length)
17348
+ for (let i = 0; i < message.items.length; ++i)
17349
+ $root.sesame.v1.recorder.PlaylistItem.encode(message.items[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
17350
+ if (message.startTimeUs != null && Object.hasOwnProperty.call(message, "startTimeUs"))
17351
+ writer.uint32(/* id 4, wireType 0 =*/32).int64(message.startTimeUs);
17352
+ if (message.startIndex != null && Object.hasOwnProperty.call(message, "startIndex"))
17353
+ writer.uint32(/* id 5, wireType 0 =*/40).int64(message.startIndex);
17354
+ if (message.materialPosUs != null && Object.hasOwnProperty.call(message, "materialPosUs"))
17355
+ writer.uint32(/* id 6, wireType 0 =*/48).int64(message.materialPosUs);
17356
+ if (message.transitionTimeUs != null && Object.hasOwnProperty.call(message, "transitionTimeUs"))
17357
+ writer.uint32(/* id 7, wireType 0 =*/56).int64(message.transitionTimeUs);
17358
+ if (message.playbackSpeed != null && Object.hasOwnProperty.call(message, "playbackSpeed"))
17359
+ writer.uint32(/* id 8, wireType 5 =*/69).float(message.playbackSpeed);
17360
+ return writer;
17361
+ };
17362
+
17363
+ /**
17364
+ * Encodes the specified TakePlaylistRequest message, length delimited. Does not implicitly {@link sesame.v1.sources.TakePlaylistRequest.verify|verify} messages.
17365
+ * @function encodeDelimited
17366
+ * @memberof sesame.v1.sources.TakePlaylistRequest
17367
+ * @static
17368
+ * @param {sesame.v1.sources.ITakePlaylistRequest} message TakePlaylistRequest message or plain object to encode
17369
+ * @param {$protobuf.Writer} [writer] Writer to encode to
17370
+ * @returns {$protobuf.Writer} Writer
17371
+ */
17372
+ TakePlaylistRequest.encodeDelimited = function encodeDelimited(message, writer) {
17373
+ return this.encode(message, writer).ldelim();
17374
+ };
17375
+
17376
+ /**
17377
+ * Decodes a TakePlaylistRequest message from the specified reader or buffer.
17378
+ * @function decode
17379
+ * @memberof sesame.v1.sources.TakePlaylistRequest
17380
+ * @static
17381
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
17382
+ * @param {number} [length] Message length if known beforehand
17383
+ * @returns {sesame.v1.sources.TakePlaylistRequest} TakePlaylistRequest
17384
+ * @throws {Error} If the payload is not a reader or valid buffer
17385
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
17386
+ */
17387
+ TakePlaylistRequest.decode = function decode(reader, length, error) {
17388
+ if (!(reader instanceof $Reader))
17389
+ reader = $Reader.create(reader);
17390
+ let end = length === undefined ? reader.len : reader.pos + length, message = new $root.sesame.v1.sources.TakePlaylistRequest();
17391
+ while (reader.pos < end) {
17392
+ let tag = reader.uint32();
17393
+ if (tag === error)
17394
+ break;
17395
+ switch (tag >>> 3) {
17396
+ case 1: {
17397
+ message.sourceId = reader.string();
17398
+ break;
17399
+ }
17400
+ case 2: {
17401
+ message.userPlaylistId = reader.string();
17402
+ break;
17403
+ }
17404
+ case 3: {
17405
+ if (!(message.items && message.items.length))
17406
+ message.items = [];
17407
+ message.items.push($root.sesame.v1.recorder.PlaylistItem.decode(reader, reader.uint32()));
17408
+ break;
17409
+ }
17410
+ case 4: {
17411
+ message.startTimeUs = reader.int64();
17412
+ break;
17413
+ }
17414
+ case 5: {
17415
+ message.startIndex = reader.int64();
17416
+ break;
17417
+ }
17418
+ case 6: {
17419
+ message.materialPosUs = reader.int64();
17420
+ break;
17421
+ }
17422
+ case 7: {
17423
+ message.transitionTimeUs = reader.int64();
17424
+ break;
17425
+ }
17426
+ case 8: {
17427
+ message.playbackSpeed = reader.float();
17428
+ break;
17429
+ }
17430
+ default:
17431
+ reader.skipType(tag & 7);
17432
+ break;
17433
+ }
17434
+ }
17435
+ return message;
17436
+ };
17437
+
17438
+ /**
17439
+ * Decodes a TakePlaylistRequest message from the specified reader or buffer, length delimited.
17440
+ * @function decodeDelimited
17441
+ * @memberof sesame.v1.sources.TakePlaylistRequest
17442
+ * @static
17443
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
17444
+ * @returns {sesame.v1.sources.TakePlaylistRequest} TakePlaylistRequest
17445
+ * @throws {Error} If the payload is not a reader or valid buffer
17446
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
17447
+ */
17448
+ TakePlaylistRequest.decodeDelimited = function decodeDelimited(reader) {
17449
+ if (!(reader instanceof $Reader))
17450
+ reader = new $Reader(reader);
17451
+ return this.decode(reader, reader.uint32());
17452
+ };
17453
+
17454
+ /**
17455
+ * Verifies a TakePlaylistRequest message.
17456
+ * @function verify
17457
+ * @memberof sesame.v1.sources.TakePlaylistRequest
17458
+ * @static
17459
+ * @param {Object.<string,*>} message Plain object to verify
17460
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
17461
+ */
17462
+ TakePlaylistRequest.verify = function verify(message) {
17463
+ if (typeof message !== "object" || message === null)
17464
+ return "object expected";
17465
+ let properties = {};
17466
+ if (message.sourceId != null && message.hasOwnProperty("sourceId"))
17467
+ if (!$util.isString(message.sourceId))
17468
+ return "sourceId: string expected";
17469
+ if (message.userPlaylistId != null && message.hasOwnProperty("userPlaylistId"))
17470
+ if (!$util.isString(message.userPlaylistId))
17471
+ return "userPlaylistId: string expected";
17472
+ if (message.items != null && message.hasOwnProperty("items")) {
17473
+ if (!Array.isArray(message.items))
17474
+ return "items: array expected";
17475
+ for (let i = 0; i < message.items.length; ++i) {
17476
+ let error = $root.sesame.v1.recorder.PlaylistItem.verify(message.items[i]);
17477
+ if (error)
17478
+ return "items." + error;
17479
+ }
17480
+ }
17481
+ if (message.startTimeUs != null && message.hasOwnProperty("startTimeUs")) {
17482
+ properties._startTimeUs = 1;
17483
+ if (!$util.isInteger(message.startTimeUs) && !(message.startTimeUs && $util.isInteger(message.startTimeUs.low) && $util.isInteger(message.startTimeUs.high)))
17484
+ return "startTimeUs: integer|Long expected";
17485
+ }
17486
+ if (message.startIndex != null && message.hasOwnProperty("startIndex")) {
17487
+ properties._startIndex = 1;
17488
+ if (!$util.isInteger(message.startIndex) && !(message.startIndex && $util.isInteger(message.startIndex.low) && $util.isInteger(message.startIndex.high)))
17489
+ return "startIndex: integer|Long expected";
17490
+ }
17491
+ if (message.materialPosUs != null && message.hasOwnProperty("materialPosUs")) {
17492
+ properties._materialPosUs = 1;
17493
+ if (!$util.isInteger(message.materialPosUs) && !(message.materialPosUs && $util.isInteger(message.materialPosUs.low) && $util.isInteger(message.materialPosUs.high)))
17494
+ return "materialPosUs: integer|Long expected";
17495
+ }
17496
+ if (message.transitionTimeUs != null && message.hasOwnProperty("transitionTimeUs")) {
17497
+ properties._transitionTimeUs = 1;
17498
+ if (!$util.isInteger(message.transitionTimeUs) && !(message.transitionTimeUs && $util.isInteger(message.transitionTimeUs.low) && $util.isInteger(message.transitionTimeUs.high)))
17499
+ return "transitionTimeUs: integer|Long expected";
17500
+ }
17501
+ if (message.playbackSpeed != null && message.hasOwnProperty("playbackSpeed")) {
17502
+ properties._playbackSpeed = 1;
17503
+ if (typeof message.playbackSpeed !== "number")
17504
+ return "playbackSpeed: number expected";
17505
+ }
17506
+ return null;
17507
+ };
17508
+
17509
+ /**
17510
+ * Creates a TakePlaylistRequest message from a plain object. Also converts values to their respective internal types.
17511
+ * @function fromObject
17512
+ * @memberof sesame.v1.sources.TakePlaylistRequest
17513
+ * @static
17514
+ * @param {Object.<string,*>} object Plain object
17515
+ * @returns {sesame.v1.sources.TakePlaylistRequest} TakePlaylistRequest
17516
+ */
17517
+ TakePlaylistRequest.fromObject = function fromObject(object) {
17518
+ if (object instanceof $root.sesame.v1.sources.TakePlaylistRequest)
17519
+ return object;
17520
+ let message = new $root.sesame.v1.sources.TakePlaylistRequest();
17521
+ if (object.sourceId != null)
17522
+ message.sourceId = String(object.sourceId);
17523
+ if (object.userPlaylistId != null)
17524
+ message.userPlaylistId = String(object.userPlaylistId);
17525
+ if (object.items) {
17526
+ if (!Array.isArray(object.items))
17527
+ throw TypeError(".sesame.v1.sources.TakePlaylistRequest.items: array expected");
17528
+ message.items = [];
17529
+ for (let i = 0; i < object.items.length; ++i) {
17530
+ if (typeof object.items[i] !== "object")
17531
+ throw TypeError(".sesame.v1.sources.TakePlaylistRequest.items: object expected");
17532
+ message.items[i] = $root.sesame.v1.recorder.PlaylistItem.fromObject(object.items[i]);
17533
+ }
17534
+ }
17535
+ if (object.startTimeUs != null)
17536
+ if ($util.Long)
17537
+ (message.startTimeUs = $util.Long.fromValue(object.startTimeUs)).unsigned = false;
17538
+ else if (typeof object.startTimeUs === "string")
17539
+ message.startTimeUs = parseInt(object.startTimeUs, 10);
17540
+ else if (typeof object.startTimeUs === "number")
17541
+ message.startTimeUs = object.startTimeUs;
17542
+ else if (typeof object.startTimeUs === "object")
17543
+ message.startTimeUs = new $util.LongBits(object.startTimeUs.low >>> 0, object.startTimeUs.high >>> 0).toNumber();
17544
+ if (object.startIndex != null)
17545
+ if ($util.Long)
17546
+ (message.startIndex = $util.Long.fromValue(object.startIndex)).unsigned = false;
17547
+ else if (typeof object.startIndex === "string")
17548
+ message.startIndex = parseInt(object.startIndex, 10);
17549
+ else if (typeof object.startIndex === "number")
17550
+ message.startIndex = object.startIndex;
17551
+ else if (typeof object.startIndex === "object")
17552
+ message.startIndex = new $util.LongBits(object.startIndex.low >>> 0, object.startIndex.high >>> 0).toNumber();
17553
+ if (object.materialPosUs != null)
17554
+ if ($util.Long)
17555
+ (message.materialPosUs = $util.Long.fromValue(object.materialPosUs)).unsigned = false;
17556
+ else if (typeof object.materialPosUs === "string")
17557
+ message.materialPosUs = parseInt(object.materialPosUs, 10);
17558
+ else if (typeof object.materialPosUs === "number")
17559
+ message.materialPosUs = object.materialPosUs;
17560
+ else if (typeof object.materialPosUs === "object")
17561
+ message.materialPosUs = new $util.LongBits(object.materialPosUs.low >>> 0, object.materialPosUs.high >>> 0).toNumber();
17562
+ if (object.transitionTimeUs != null)
17563
+ if ($util.Long)
17564
+ (message.transitionTimeUs = $util.Long.fromValue(object.transitionTimeUs)).unsigned = false;
17565
+ else if (typeof object.transitionTimeUs === "string")
17566
+ message.transitionTimeUs = parseInt(object.transitionTimeUs, 10);
17567
+ else if (typeof object.transitionTimeUs === "number")
17568
+ message.transitionTimeUs = object.transitionTimeUs;
17569
+ else if (typeof object.transitionTimeUs === "object")
17570
+ message.transitionTimeUs = new $util.LongBits(object.transitionTimeUs.low >>> 0, object.transitionTimeUs.high >>> 0).toNumber();
17571
+ if (object.playbackSpeed != null)
17572
+ message.playbackSpeed = Number(object.playbackSpeed);
17573
+ return message;
17574
+ };
17575
+
17576
+ /**
17577
+ * Creates a plain object from a TakePlaylistRequest message. Also converts values to other types if specified.
17578
+ * @function toObject
17579
+ * @memberof sesame.v1.sources.TakePlaylistRequest
17580
+ * @static
17581
+ * @param {sesame.v1.sources.TakePlaylistRequest} message TakePlaylistRequest
17582
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
17583
+ * @returns {Object.<string,*>} Plain object
17584
+ */
17585
+ TakePlaylistRequest.toObject = function toObject(message, options) {
17586
+ if (!options)
17587
+ options = {};
17588
+ let object = {};
17589
+ if (options.arrays || options.defaults)
17590
+ object.items = [];
17591
+ if (options.defaults) {
17592
+ object.sourceId = "";
17593
+ object.userPlaylistId = "";
17594
+ }
17595
+ if (message.sourceId != null && message.hasOwnProperty("sourceId"))
17596
+ object.sourceId = message.sourceId;
17597
+ if (message.userPlaylistId != null && message.hasOwnProperty("userPlaylistId"))
17598
+ object.userPlaylistId = message.userPlaylistId;
17599
+ if (message.items && message.items.length) {
17600
+ object.items = [];
17601
+ for (let j = 0; j < message.items.length; ++j)
17602
+ object.items[j] = $root.sesame.v1.recorder.PlaylistItem.toObject(message.items[j], options);
17603
+ }
17604
+ if (message.startTimeUs != null && message.hasOwnProperty("startTimeUs")) {
17605
+ if (typeof message.startTimeUs === "number")
17606
+ object.startTimeUs = options.longs === String ? String(message.startTimeUs) : message.startTimeUs;
17607
+ else
17608
+ object.startTimeUs = options.longs === String ? $util.Long.prototype.toString.call(message.startTimeUs) : options.longs === Number ? new $util.LongBits(message.startTimeUs.low >>> 0, message.startTimeUs.high >>> 0).toNumber() : message.startTimeUs;
17609
+ if (options.oneofs)
17610
+ object._startTimeUs = "startTimeUs";
17611
+ }
17612
+ if (message.startIndex != null && message.hasOwnProperty("startIndex")) {
17613
+ if (typeof message.startIndex === "number")
17614
+ object.startIndex = options.longs === String ? String(message.startIndex) : message.startIndex;
17615
+ else
17616
+ object.startIndex = options.longs === String ? $util.Long.prototype.toString.call(message.startIndex) : options.longs === Number ? new $util.LongBits(message.startIndex.low >>> 0, message.startIndex.high >>> 0).toNumber() : message.startIndex;
17617
+ if (options.oneofs)
17618
+ object._startIndex = "startIndex";
17619
+ }
17620
+ if (message.materialPosUs != null && message.hasOwnProperty("materialPosUs")) {
17621
+ if (typeof message.materialPosUs === "number")
17622
+ object.materialPosUs = options.longs === String ? String(message.materialPosUs) : message.materialPosUs;
17623
+ else
17624
+ object.materialPosUs = options.longs === String ? $util.Long.prototype.toString.call(message.materialPosUs) : options.longs === Number ? new $util.LongBits(message.materialPosUs.low >>> 0, message.materialPosUs.high >>> 0).toNumber() : message.materialPosUs;
17625
+ if (options.oneofs)
17626
+ object._materialPosUs = "materialPosUs";
17627
+ }
17628
+ if (message.transitionTimeUs != null && message.hasOwnProperty("transitionTimeUs")) {
17629
+ if (typeof message.transitionTimeUs === "number")
17630
+ object.transitionTimeUs = options.longs === String ? String(message.transitionTimeUs) : message.transitionTimeUs;
17631
+ else
17632
+ object.transitionTimeUs = options.longs === String ? $util.Long.prototype.toString.call(message.transitionTimeUs) : options.longs === Number ? new $util.LongBits(message.transitionTimeUs.low >>> 0, message.transitionTimeUs.high >>> 0).toNumber() : message.transitionTimeUs;
17633
+ if (options.oneofs)
17634
+ object._transitionTimeUs = "transitionTimeUs";
17635
+ }
17636
+ if (message.playbackSpeed != null && message.hasOwnProperty("playbackSpeed")) {
17637
+ object.playbackSpeed = options.json && !isFinite(message.playbackSpeed) ? String(message.playbackSpeed) : message.playbackSpeed;
17638
+ if (options.oneofs)
17639
+ object._playbackSpeed = "playbackSpeed";
17640
+ }
17641
+ return object;
17642
+ };
17643
+
17644
+ /**
17645
+ * Converts this TakePlaylistRequest to JSON.
17646
+ * @function toJSON
17647
+ * @memberof sesame.v1.sources.TakePlaylistRequest
17648
+ * @instance
17649
+ * @returns {Object.<string,*>} JSON object
17650
+ */
17651
+ TakePlaylistRequest.prototype.toJSON = function toJSON() {
17652
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
17653
+ };
17654
+
17655
+ /**
17656
+ * Gets the default type url for TakePlaylistRequest
17657
+ * @function getTypeUrl
17658
+ * @memberof sesame.v1.sources.TakePlaylistRequest
17659
+ * @static
17660
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
17661
+ * @returns {string} The default type url
17662
+ */
17663
+ TakePlaylistRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
17664
+ if (typeUrlPrefix === undefined) {
17665
+ typeUrlPrefix = "type.googleapis.com";
17666
+ }
17667
+ return typeUrlPrefix + "/sesame.v1.sources.TakePlaylistRequest";
17668
+ };
17669
+
17670
+ return TakePlaylistRequest;
17671
+ })();
17672
+
17155
17673
  sources.EjectPlaylistRequest = (function() {
17156
17674
 
17157
17675
  /**