@eluvio/elv-client-js 4.2.9 → 4.2.11

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.
Files changed (42) hide show
  1. package/dist/ElvClient-min.js +1 -1
  2. package/dist/ElvClient-node-min.js +1 -1
  3. package/dist/ElvFrameClient-min.js +1 -1
  4. package/dist/ElvPermissionsClient-min.js +1 -1
  5. package/dist/ElvWalletClient-min.js +1 -1
  6. package/dist/ElvWalletClient-node-min.js +1 -1
  7. package/dist/src/AuthorizationClient.js +723 -710
  8. package/dist/src/ContentObjectAudit.js +56 -56
  9. package/dist/src/ContentObjectVerification.js +281 -0
  10. package/dist/src/Crypto.js +85 -85
  11. package/dist/src/ElvClient.js +500 -530
  12. package/dist/src/ElvWallet.js +28 -30
  13. package/dist/src/EthClient.js +311 -311
  14. package/dist/src/FrameClient.js +64 -63
  15. package/dist/src/HttpClient.js +60 -60
  16. package/dist/src/Id.js +2 -1
  17. package/dist/src/PermissionsClient.js +487 -499
  18. package/dist/src/RemoteSigner.js +163 -114
  19. package/dist/src/UserProfileClient.js +374 -392
  20. package/dist/src/Utils.js +66 -69
  21. package/dist/src/Validation.js +10 -10
  22. package/dist/src/client/ABRPublishing.js +238 -238
  23. package/dist/src/client/AccessGroups.js +474 -477
  24. package/dist/src/client/ContentAccess.js +1709 -1705
  25. package/dist/src/client/ContentManagement.js +871 -871
  26. package/dist/src/client/Contracts.js +578 -575
  27. package/dist/src/client/Files.js +684 -700
  28. package/dist/src/client/LiveConf.js +6 -1
  29. package/dist/src/client/LiveStream.js +686 -723
  30. package/dist/src/client/NFT.js +14 -14
  31. package/dist/src/client/NTP.js +84 -84
  32. package/dist/src/client/Shares.js +60 -53
  33. package/dist/src/walletClient/ClientMethods.js +951 -977
  34. package/dist/src/walletClient/Notifications.js +14 -14
  35. package/dist/src/walletClient/Profile.js +66 -66
  36. package/dist/src/walletClient/Utils.js +15 -15
  37. package/dist/src/walletClient/index.js +581 -579
  38. package/package.json +1 -1
  39. package/src/RemoteSigner.js +2 -1
  40. package/src/client/LiveConf.js +5 -1
  41. package/src/client/LiveStream.js +9 -39
  42. package/src/walletClient/index.js +2 -1
@@ -22,13 +22,13 @@ var _require2 = require("../Validation"),
22
22
  ValidatePresence = _require2.ValidatePresence;
23
23
  var ContentObjectAudit = require("../ContentObjectAudit");
24
24
  var MakeTxLessToken = /*#__PURE__*/function () {
25
- var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {
25
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {
26
26
  var client, libraryId, objectId, versionHash, tok;
27
- return _regeneratorRuntime.wrap(function (_context) {
27
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
28
28
  while (1) switch (_context.prev = _context.next) {
29
29
  case 0:
30
30
  client = _ref.client, libraryId = _ref.libraryId, objectId = _ref.objectId, versionHash = _ref.versionHash;
31
- _context.next = 1;
31
+ _context.next = 3;
32
32
  return client.authClient.AuthorizationToken({
33
33
  libraryId: libraryId,
34
34
  objectId: objectId,
@@ -37,10 +37,10 @@ var MakeTxLessToken = /*#__PURE__*/function () {
37
37
  noCache: true,
38
38
  noAuth: true
39
39
  });
40
- case 1:
40
+ case 3:
41
41
  tok = _context.sent;
42
42
  return _context.abrupt("return", tok);
43
- case 2:
43
+ case 5:
44
44
  case "end":
45
45
  return _context.stop();
46
46
  }
@@ -56,81 +56,81 @@ var Sleep = function Sleep(ms) {
56
56
  });
57
57
  };
58
58
  var CueInfo = /*#__PURE__*/function () {
59
- var _ref4 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(_ref3) {
60
- var eventId, status, cues, lroStatusResponse, eventStart, eventEnd, _i, _Object$values, value, _i2, _Object$values2, event, _t, _t2, _t3, _t4;
61
- return _regeneratorRuntime.wrap(function (_context2) {
59
+ var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(_ref3) {
60
+ var eventId, status, cues, lroStatusResponse, eventStart, eventEnd, _i, _Object$values, value, _i2, _Object$values2, event;
61
+ return _regeneratorRuntime.wrap(function _callee2$(_context2) {
62
62
  while (1) switch (_context2.prev = _context2.next) {
63
63
  case 0:
64
64
  eventId = _ref3.eventId, status = _ref3.status;
65
65
  _context2.prev = 1;
66
- _t = _this.utils;
67
- _context2.next = 2;
66
+ _context2.t0 = _this.utils;
67
+ _context2.next = 5;
68
68
  return HttpClient.Fetch(status.lro_status_url);
69
- case 2:
70
- _t2 = _context2.sent;
71
- _context2.next = 3;
72
- return _t.ResponseToJson.call(_t, _t2);
73
- case 3:
69
+ case 5:
70
+ _context2.t1 = _context2.sent;
71
+ _context2.next = 8;
72
+ return _context2.t0.ResponseToJson.call(_context2.t0, _context2.t1);
73
+ case 8:
74
74
  lroStatusResponse = _context2.sent;
75
75
  console.log("lroStatusResponse", lroStatusResponse);
76
76
  cues = lroStatusResponse.custom.cues;
77
- _context2.next = 5;
77
+ _context2.next = 17;
78
78
  break;
79
- case 4:
80
- _context2.prev = 4;
81
- _t3 = _context2["catch"](1);
82
- console.log("LRO status failed", _t3);
79
+ case 13:
80
+ _context2.prev = 13;
81
+ _context2.t2 = _context2["catch"](1);
82
+ console.log("LRO status failed", _context2.t2);
83
83
  return _context2.abrupt("return", {
84
84
  error: "failed to retrieve status",
85
85
  eventId: eventId
86
86
  });
87
- case 5:
87
+ case 17:
88
88
  _i = 0, _Object$values = Object.values(cues);
89
- case 6:
89
+ case 18:
90
90
  if (!(_i < _Object$values.length)) {
91
- _context2.next = 12;
91
+ _context2.next = 37;
92
92
  break;
93
93
  }
94
94
  value = _Object$values[_i];
95
95
  _i2 = 0, _Object$values2 = Object.values(value.descriptors);
96
- case 7:
96
+ case 21:
97
97
  if (!(_i2 < _Object$values2.length)) {
98
- _context2.next = 11;
98
+ _context2.next = 34;
99
99
  break;
100
100
  }
101
101
  event = _Object$values2[_i2];
102
102
  if (!(event.id == eventId)) {
103
- _context2.next = 10;
103
+ _context2.next = 31;
104
104
  break;
105
105
  }
106
- _t4 = event.type_id;
107
- _context2.next = _t4 === 32 ? 8 : _t4 === 16 ? 8 : _t4 === 33 ? 9 : _t4 === 17 ? 9 : 10;
106
+ _context2.t3 = event.type_id;
107
+ _context2.next = _context2.t3 === 32 ? 27 : _context2.t3 === 16 ? 27 : _context2.t3 === 33 ? 29 : _context2.t3 === 17 ? 29 : 31;
108
108
  break;
109
- case 8:
109
+ case 27:
110
110
  eventStart = value.insertion_time;
111
- return _context2.abrupt("continue", 10);
112
- case 9:
111
+ return _context2.abrupt("break", 31);
112
+ case 29:
113
113
  eventEnd = value.insertion_time;
114
- return _context2.abrupt("continue", 10);
115
- case 10:
114
+ return _context2.abrupt("break", 31);
115
+ case 31:
116
116
  _i2++;
117
- _context2.next = 7;
117
+ _context2.next = 21;
118
118
  break;
119
- case 11:
119
+ case 34:
120
120
  _i++;
121
- _context2.next = 6;
121
+ _context2.next = 18;
122
122
  break;
123
- case 12:
123
+ case 37:
124
124
  return _context2.abrupt("return", {
125
125
  eventStart: eventStart,
126
126
  eventEnd: eventEnd,
127
127
  eventId: eventId
128
128
  });
129
- case 13:
129
+ case 38:
130
130
  case "end":
131
131
  return _context2.stop();
132
132
  }
133
- }, _callee2, null, [[1, 4]]);
133
+ }, _callee2, null, [[1, 13]]);
134
134
  }));
135
135
  return function CueInfo(_x2) {
136
136
  return _ref4.apply(this, arguments);
@@ -145,6 +145,7 @@ var CueInfo = /*#__PURE__*/function () {
145
145
  * @param {Object} client - The client object
146
146
  * @param {string} libraryId - ID of the library for the new live stream object
147
147
  * @param {string} objectId - ID of the new live stream object
148
+ * @param {string=} writeToken - Write token of the draft
148
149
  * @param {string=} typeAbrMaster - Content type hash
149
150
  * @param {string=} typeLiveStream - Content type hash
150
151
  * @param {string} streamUrl - Live source URL
@@ -166,12 +167,12 @@ var CueInfo = /*#__PURE__*/function () {
166
167
  * @return {Promise<string>} - Final hash of the live stream object
167
168
  */
168
169
  var StreamGenerateOffering = /*#__PURE__*/function () {
169
- var _ref6 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3(_ref5) {
170
- var client, libraryId, objectId, typeAbrMaster, typeLiveStream, streamUrl, abrProfile, aBitRate, aChannels, aSampleRate, aStreamIndex, aTimeBase, aChannelLayout, vBitRate, vHeight, vStreamIndex, vWidth, vDisplayAspectRatio, vFrameRate, vTimeBase, DUMMY_DURATION, aDurationTs, vDurationTs, sourceAudioStream, sourceVideoStream, DUMMY_STREAM, sourceStreams, maxStreamIndex, i, sources, variants, production_master, metadata, editResponse, writeToken, finalizeResponse, masterVersionHash, createResponse, versionHash, finalHash;
171
- return _regeneratorRuntime.wrap(function (_context3) {
170
+ var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(_ref5) {
171
+ var client, libraryId, objectId, writeToken, typeAbrMaster, typeLiveStream, streamUrl, abrProfile, aBitRate, aChannels, aSampleRate, aStreamIndex, aTimeBase, aChannelLayout, vBitRate, vHeight, vStreamIndex, vWidth, vDisplayAspectRatio, vFrameRate, vTimeBase, _ref5$finalize, finalize, DUMMY_DURATION, aDurationTs, vDurationTs, sourceAudioStream, sourceVideoStream, DUMMY_STREAM, sourceStreams, maxStreamIndex, i, sources, variants, production_master, existingWriteToken, metadata, _yield$client$EditCon, finalizeResponse, masterVersionHash, createResponse, versionHash, finalHash;
172
+ return _regeneratorRuntime.wrap(function _callee3$(_context3) {
172
173
  while (1) switch (_context3.prev = _context3.next) {
173
174
  case 0:
174
- client = _ref5.client, libraryId = _ref5.libraryId, objectId = _ref5.objectId, typeAbrMaster = _ref5.typeAbrMaster, typeLiveStream = _ref5.typeLiveStream, streamUrl = _ref5.streamUrl, abrProfile = _ref5.abrProfile, aBitRate = _ref5.aBitRate, aChannels = _ref5.aChannels, aSampleRate = _ref5.aSampleRate, aStreamIndex = _ref5.aStreamIndex, aTimeBase = _ref5.aTimeBase, aChannelLayout = _ref5.aChannelLayout, vBitRate = _ref5.vBitRate, vHeight = _ref5.vHeight, vStreamIndex = _ref5.vStreamIndex, vWidth = _ref5.vWidth, vDisplayAspectRatio = _ref5.vDisplayAspectRatio, vFrameRate = _ref5.vFrameRate, vTimeBase = _ref5.vTimeBase;
175
+ client = _ref5.client, libraryId = _ref5.libraryId, objectId = _ref5.objectId, writeToken = _ref5.writeToken, typeAbrMaster = _ref5.typeAbrMaster, typeLiveStream = _ref5.typeLiveStream, streamUrl = _ref5.streamUrl, abrProfile = _ref5.abrProfile, aBitRate = _ref5.aBitRate, aChannels = _ref5.aChannels, aSampleRate = _ref5.aSampleRate, aStreamIndex = _ref5.aStreamIndex, aTimeBase = _ref5.aTimeBase, aChannelLayout = _ref5.aChannelLayout, vBitRate = _ref5.vBitRate, vHeight = _ref5.vHeight, vStreamIndex = _ref5.vStreamIndex, vWidth = _ref5.vWidth, vDisplayAspectRatio = _ref5.vDisplayAspectRatio, vFrameRate = _ref5.vFrameRate, vTimeBase = _ref5.vTimeBase, _ref5$finalize = _ref5.finalize, finalize = _ref5$finalize === void 0 ? true : _ref5$finalize;
175
176
  // compute duration_ts
176
177
  DUMMY_DURATION = 1001; // should result in integer duration_ts values for both audio and video
177
178
  aDurationTs = Fraction(aTimeBase).inverse().mul(DUMMY_DURATION).valueOf();
@@ -276,21 +277,26 @@ var StreamGenerateOffering = /*#__PURE__*/function () {
276
277
  production_master = {
277
278
  sources: sources,
278
279
  variants: variants
279
- }; // get existing metadata
280
+ };
281
+ existingWriteToken = !!writeToken; // get existing metadata
280
282
  console.log("Retrieving current metadata...");
281
- _context3.next = 1;
283
+ _context3.next = 17;
282
284
  return client.ContentObjectMetadata({
283
285
  libraryId: libraryId,
284
- objectId: objectId
286
+ objectId: objectId,
287
+ writeToken: writeToken
285
288
  });
286
- case 1:
289
+ case 17:
287
290
  metadata = _context3.sent;
288
291
  // add /production_master to metadata
289
292
  metadata.production_master = production_master;
290
293
 
291
294
  // write back to object
292
- console.log("Getting write token...");
293
- _context3.next = 2;
295
+ if (writeToken) {
296
+ _context3.next = 24;
297
+ break;
298
+ }
299
+ _context3.next = 22;
294
300
  return client.EditContentObject({
295
301
  libraryId: libraryId,
296
302
  objectId: objectId,
@@ -298,42 +304,45 @@ var StreamGenerateOffering = /*#__PURE__*/function () {
298
304
  type: typeAbrMaster
299
305
  }
300
306
  });
301
- case 2:
302
- editResponse = _context3.sent;
303
- writeToken = editResponse.write_token;
304
- console.log("New write token: ".concat(writeToken));
307
+ case 22:
308
+ _yield$client$EditCon = _context3.sent;
309
+ writeToken = _yield$client$EditCon.writeToken;
310
+ case 24:
305
311
  console.log("Writing back metadata with /production_master added...");
306
- _context3.next = 3;
312
+ _context3.next = 27;
307
313
  return client.ReplaceMetadata({
308
314
  libraryId: libraryId,
309
315
  metadata: metadata,
310
316
  objectId: objectId,
311
317
  writeToken: writeToken
312
318
  });
313
- case 3:
314
- console.log("Finalizing...");
315
- _context3.next = 4;
319
+ case 27:
320
+ if (existingWriteToken) {
321
+ _context3.next = 32;
322
+ break;
323
+ }
324
+ _context3.next = 30;
316
325
  return client.FinalizeContentObject({
317
326
  libraryId: libraryId,
318
327
  objectId: objectId,
319
328
  writeToken: writeToken
320
329
  });
321
- case 4:
330
+ case 30:
322
331
  finalizeResponse = _context3.sent;
323
332
  masterVersionHash = finalizeResponse.hash;
324
- console.log("Finalized, new version hash: ".concat(masterVersionHash));
325
-
326
- // Generate offering
327
- _context3.next = 5;
333
+ case 32:
334
+ _context3.next = 34;
328
335
  return client.CreateABRMezzanine({
329
336
  libraryId: libraryId,
330
337
  objectId: objectId,
331
- masterVersionHash: masterVersionHash,
338
+ masterVersionHash: existingWriteToken ? undefined : masterVersionHash,
339
+ masterWriteToken: existingWriteToken ? writeToken : undefined,
340
+ writeToken: existingWriteToken ? writeToken : undefined,
332
341
  variant: "default",
333
342
  offeringKey: "default",
334
343
  abrProfile: abrProfile
335
344
  });
336
- case 5:
345
+ case 34:
337
346
  createResponse = _context3.sent;
338
347
  if (createResponse.warnings.length > 0) {
339
348
  console.log("WARNINGS:");
@@ -343,17 +352,16 @@ var StreamGenerateOffering = /*#__PURE__*/function () {
343
352
  console.log("ERRORS:");
344
353
  console.log(JSON.stringify(createResponse.errors, null, 2));
345
354
  }
346
- versionHash = createResponse.hash;
347
- console.log("New version hash: ".concat(versionHash));
348
-
349
- // get new metadata
355
+ versionHash = createResponse.hash; // get new metadata
350
356
  console.log("Retrieving revised metadata with offering...");
351
- _context3.next = 6;
357
+ _context3.next = 41;
352
358
  return client.ContentObjectMetadata({
353
359
  libraryId: libraryId,
354
- versionHash: versionHash
360
+ objectId: objectId,
361
+ writeToken: existingWriteToken ? writeToken : undefined,
362
+ versionHash: existingWriteToken ? undefined : versionHash
355
363
  });
356
- case 6:
364
+ case 41:
357
365
  metadata = _context3.sent;
358
366
  console.log("Moving /abr_mezzanine/offerings to /offerings and removing /abr_mezzanine...");
359
367
  metadata.offerings = metadata.abr_mezzanine.offerings;
@@ -361,43 +369,33 @@ var StreamGenerateOffering = /*#__PURE__*/function () {
361
369
 
362
370
  // add items to media_struct needed to use options.json handler
363
371
  metadata.offerings["default"].media_struct.duration_rat = "".concat(DUMMY_DURATION);
364
-
365
- // write back to object
366
- console.log("Getting write token...");
367
- _context3.next = 7;
368
- return client.EditContentObject({
369
- libraryId: libraryId,
370
- objectId: objectId,
371
- options: {
372
- type: typeLiveStream
373
- }
374
- });
375
- case 7:
376
- editResponse = _context3.sent;
377
- writeToken = editResponse.write_token;
378
- console.log("New write token: ".concat(writeToken));
379
372
  console.log("Writing back metadata with /offerings...");
380
- _context3.next = 8;
373
+ _context3.next = 49;
381
374
  return client.ReplaceMetadata({
382
375
  libraryId: libraryId,
383
376
  metadata: metadata,
384
377
  objectId: objectId,
385
378
  writeToken: writeToken
386
379
  });
387
- case 8:
380
+ case 49:
381
+ if (!finalize) {
382
+ _context3.next = 57;
383
+ break;
384
+ }
388
385
  console.log("Finalizing...");
389
- _context3.next = 9;
386
+ _context3.next = 53;
390
387
  return client.FinalizeContentObject({
391
388
  libraryId: libraryId,
392
389
  objectId: objectId,
393
- writeToken: writeToken
390
+ writeToken: writeToken,
391
+ commitMessage: "Update offering"
394
392
  });
395
- case 9:
393
+ case 53:
396
394
  finalizeResponse = _context3.sent;
397
395
  finalHash = finalizeResponse.hash;
398
396
  console.log("Finalized, new version hash: ".concat(finalHash));
399
397
  return _context3.abrupt("return", finalHash);
400
- case 10:
398
+ case 57:
401
399
  case "end":
402
400
  return _context3.stop();
403
401
  }
@@ -414,7 +412,6 @@ var StreamGenerateOffering = /*#__PURE__*/function () {
414
412
  * @methodGroup Live Stream
415
413
  * @namedParams
416
414
  * @param {string} name - Object ID or name of the live stream object
417
- * @param {boolean=} stopLro - If specified, will stop LRO
418
415
  * @param {boolean=} showParams - If specified, will return recording_params with status
419
416
  * States:
420
417
  * unconfigured - no live_recording_config
@@ -428,57 +425,57 @@ var StreamGenerateOffering = /*#__PURE__*/function () {
428
425
  * @return {Promise<Object>} - The status response for the object, as well as logs, warnings and errors from the master initialization
429
426
  */
430
427
  exports.StreamStatus = /*#__PURE__*/function () {
431
- var _ref8 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee4(_ref7) {
432
- var name, _ref7$stopLro, stopLro, _ref7$showParams, showParams, objectId, status, libraryId, mainMeta, fabURI, edgeWriteToken, edgeMeta, recordings, sequence, period, tlro, videoLastFinalizationTimeEpochSec, videoFinalizedParts, sinceLastFinalize, recording_period, insertions, i, insertionTimeSinceEpoch, state, lroStatus, segDurationMeta, playout_urls, playout_options, hls_clear_enabled, hls_aes128_enabled, hls_sample_aes_enabled, networkInfo, token, embed_net, embed_url, _t5, _t6, _t7, _t8, _t9, _t0, _t1, _t10;
433
- return _regeneratorRuntime.wrap(function (_context4) {
428
+ var _ref8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(_ref7) {
429
+ var name, _ref7$showParams, showParams, objectId, status, libraryId, mainMeta, fabURI, edgeWriteToken, edgeMeta, recordings, sequence, period, tlro, videoLastFinalizationTimeEpochSec, videoFinalizedParts, sinceLastFinalize, recording_period, insertions, i, insertionTimeSinceEpoch, state, lroStatus, playout_urls, playout_options, hls_clear_enabled, hls_aes128_enabled, hls_sample_aes_enabled, networkInfo, token, embed_net, embed_url;
430
+ return _regeneratorRuntime.wrap(function _callee4$(_context4) {
434
431
  while (1) switch (_context4.prev = _context4.next) {
435
432
  case 0:
436
- name = _ref7.name, _ref7$stopLro = _ref7.stopLro, stopLro = _ref7$stopLro === void 0 ? false : _ref7$stopLro, _ref7$showParams = _ref7.showParams, showParams = _ref7$showParams === void 0 ? false : _ref7$showParams;
433
+ name = _ref7.name, _ref7$showParams = _ref7.showParams, showParams = _ref7$showParams === void 0 ? false : _ref7$showParams;
437
434
  objectId = name;
438
435
  status = {
439
436
  name: name
440
437
  };
441
- _context4.prev = 1;
442
- _context4.next = 2;
438
+ _context4.prev = 3;
439
+ _context4.next = 6;
443
440
  return this.ContentObjectLibraryId({
444
441
  objectId: objectId
445
442
  });
446
- case 2:
443
+ case 6:
447
444
  libraryId = _context4.sent;
448
445
  status.library_id = libraryId;
449
446
  status.object_id = objectId;
450
- _context4.next = 3;
447
+ _context4.next = 11;
451
448
  return this.ContentObjectMetadata({
452
449
  libraryId: libraryId,
453
450
  objectId: objectId,
454
451
  select: ["live_recording_config", "live_recording"]
455
452
  });
456
- case 3:
453
+ case 11:
457
454
  mainMeta = _context4.sent;
458
455
  status.reference_url = mainMeta.live_recording_config.reference_url;
459
456
  if (!(mainMeta.live_recording_config == undefined || mainMeta.live_recording_config.url == undefined)) {
460
- _context4.next = 4;
457
+ _context4.next = 16;
461
458
  break;
462
459
  }
463
460
  status.state = "unconfigured";
464
461
  return _context4.abrupt("return", status);
465
- case 4:
462
+ case 16:
466
463
  if (!(mainMeta.live_recording == undefined || mainMeta.live_recording.fabric_config == undefined || mainMeta.live_recording.playout_config == undefined || mainMeta.live_recording.recording_config == undefined)) {
467
- _context4.next = 5;
464
+ _context4.next = 19;
468
465
  break;
469
466
  }
470
467
  status.state = "uninitialized";
471
468
  return _context4.abrupt("return", status);
472
- case 5:
469
+ case 19:
473
470
  fabURI = mainMeta.live_recording.fabric_config.ingress_node_api;
474
471
  if (!(fabURI === undefined)) {
475
- _context4.next = 6;
472
+ _context4.next = 24;
476
473
  break;
477
474
  }
478
475
  console.log("bad fabric config - missing ingress node API");
479
476
  status.state = "uninitialized";
480
477
  return _context4.abrupt("return", status);
481
- case 6:
478
+ case 24:
482
479
  // Support both hostname and URL ingress_node_api
483
480
  if (!fabURI.startsWith("http")) {
484
481
  // Assume https
@@ -488,52 +485,52 @@ exports.StreamStatus = /*#__PURE__*/function () {
488
485
  status.url = mainMeta.live_recording.recording_config.recording_params.origin_url;
489
486
  edgeWriteToken = mainMeta.live_recording.fabric_config.edge_write_token;
490
487
  if (edgeWriteToken) {
491
- _context4.next = 7;
488
+ _context4.next = 31;
492
489
  break;
493
490
  }
494
491
  status.state = "inactive";
495
492
  return _context4.abrupt("return", status);
496
- case 7:
493
+ case 31:
497
494
  this.RecordWriteToken({
498
495
  writeToken: edgeWriteToken,
499
496
  fabricNodeUrl: fabURI
500
497
  });
501
498
  status.edge_write_token = edgeWriteToken;
502
499
  status.stream_id = edgeWriteToken; // By convention the stream ID is its write token
503
- _context4.prev = 8;
504
- _context4.next = 9;
505
- return this.ContentObjectMetadata({
500
+ _context4.prev = 34;
501
+ _context4.next = 37;
502
+ return this.CallBitcodeMethod({
506
503
  libraryId: libraryId,
507
504
  objectId: objectId,
508
- writeToken: edgeWriteToken,
509
- select: ["live_recording"]
505
+ method: "/live/meta",
506
+ constant: true
510
507
  });
511
- case 9:
508
+ case 37:
512
509
  edgeMeta = _context4.sent;
513
- _context4.next = 11;
510
+ _context4.next = 44;
514
511
  break;
515
- case 10:
516
- _context4.prev = 10;
517
- _t5 = _context4["catch"](8);
518
- if (_t5.message && _t5.message.includes("ERR_TOO_MANY_REDIRECTS")) {
512
+ case 40:
513
+ _context4.prev = 40;
514
+ _context4.t0 = _context4["catch"](34);
515
+ if (_context4.t0.message && _context4.t0.message.includes("ERR_TOO_MANY_REDIRECTS")) {
519
516
  console.error("Redirect loop detected when trying to read metadata.");
520
517
  status.state = "unavailable";
521
518
  } else {
522
- console.error("Unable to read edge write token metadata. Has token been deleted?", _t5);
519
+ console.error("Unable to read edge write token metadata. Has token been deleted?", _context4.t0);
523
520
  status.state = "inactive";
524
521
  }
525
522
  return _context4.abrupt("return", status);
526
- case 11:
523
+ case 44:
527
524
  status.edge_meta_size = JSON.stringify(edgeMeta || "").length;
528
525
 
529
526
  // If a stream has never been started return state 'inactive'
530
527
  if (!(edgeMeta.live_recording === undefined || edgeMeta.live_recording.recordings === undefined || edgeMeta.live_recording.recordings.recording_sequence === undefined)) {
531
- _context4.next = 12;
528
+ _context4.next = 48;
532
529
  break;
533
530
  }
534
- status.state = "stopped";
531
+ status.state = "inactive";
535
532
  return _context4.abrupt("return", status);
536
- case 12:
533
+ case 48:
537
534
  recordings = edgeMeta.live_recording.recordings;
538
535
  status.recording_period_sequence = recordings.recording_sequence;
539
536
  sequence = recordings.recording_sequence;
@@ -559,14 +556,14 @@ exports.StreamStatus = /*#__PURE__*/function () {
559
556
  video_since_last_finalize_sec: sinceLastFinalize
560
557
  };
561
558
  status.recording_period = recording_period;
562
- _context4.next = 13;
559
+ _context4.next = 62;
563
560
  return this.FabricUrl({
564
561
  libraryId: libraryId,
565
562
  objectId: objectId,
566
563
  writeToken: edgeWriteToken,
567
- call: "live/status/" + tlro
564
+ call: "live/status"
568
565
  });
569
- case 13:
566
+ case 62:
570
567
  status.lro_status_url = _context4.sent;
571
568
  status.insertions = [];
572
569
  if (edgeMeta.live_recording.playout_config.interleaves != undefined && edgeMeta.live_recording.playout_config.interleaves[sequence] != undefined) {
@@ -586,15 +583,15 @@ exports.StreamStatus = /*#__PURE__*/function () {
586
583
  }
587
584
  state = "stopped";
588
585
  lroStatus = "";
589
- _context4.prev = 14;
590
- _t6 = this.utils;
591
- _context4.next = 15;
586
+ _context4.prev = 68;
587
+ _context4.t1 = this.utils;
588
+ _context4.next = 72;
592
589
  return HttpClient.Fetch(status.lro_status_url);
593
- case 15:
594
- _t7 = _context4.sent;
595
- _context4.next = 16;
596
- return _t6.ResponseToJson.call(_t6, _t7);
597
- case 16:
590
+ case 72:
591
+ _context4.t2 = _context4.sent;
592
+ _context4.next = 75;
593
+ return _context4.t1.ResponseToJson.call(_context4.t1, _context4.t2);
594
+ case 75:
598
595
  lroStatus = _context4.sent;
599
596
  state = lroStatus.state;
600
597
  status.warnings = lroStatus.custom && lroStatus.custom.warnings;
@@ -602,117 +599,82 @@ exports.StreamStatus = /*#__PURE__*/function () {
602
599
  if (lroStatus.custom && lroStatus.custom.status) {
603
600
  status.recording_status = lroStatus.custom.status;
604
601
  }
605
- _context4.next = 18;
602
+ _context4.next = 88;
606
603
  break;
607
- case 17:
608
- _context4.prev = 17;
609
- _t8 = _context4["catch"](14);
610
- console.log("LRO Status (failed): ", _t8.response.statusCode);
604
+ case 82:
605
+ _context4.prev = 82;
606
+ _context4.t3 = _context4["catch"](68);
607
+ console.log("LRO Status (failed): ", _context4.t3.response.statusCode);
611
608
  status.state = "stopped";
612
- status.error = _t8.response;
609
+ status.error = _context4.t3.response;
613
610
  return _context4.abrupt("return", status);
614
- case 18:
615
- segDurationMeta = edgeMeta.live_recording.recording_config.recording_params.xc_params.seg_duration; // Convert LRO 'state' to desired 'state'
611
+ case 88:
612
+ // Convert LRO 'state' to desired 'state'
616
613
  if (state === "running" && videoLastFinalizationTimeEpochSec <= 0) {
617
- state = "starting";
618
- } else if (state === "running" && segDurationMeta !== undefined && sinceLastFinalize > parseInt(segDurationMeta) + 5) {
619
- state = "stalled";
614
+ state = "starting"; // The LRO returns 'running' even if the source hasn't connected
620
615
  } else if (state == "terminated") {
621
- state = "stopped";
622
- }
623
- status.state = state;
624
- if (!((state === "running" || state === "stalled" || state === "starting") && stopLro)) {
625
- _context4.next = 25;
626
- break;
616
+ state = "stopped"; // The LRO reports 'terminated' which for the recording means 'stopped'
627
617
  }
628
- _context4.next = 19;
629
- return this.FabricUrl({
630
- libraryId: libraryId,
631
- objectId: objectId,
632
- writeToken: edgeWriteToken,
633
- call: "live/stop/" + tlro
634
- });
635
- case 19:
636
- lroStopUrl = _context4.sent;
637
- _context4.prev = 20;
638
- _t9 = this.utils;
639
- _context4.next = 21;
640
- return HttpClient.Fetch(lroStopUrl);
641
- case 21:
642
- _t0 = _context4.sent;
643
- _context4.next = 22;
644
- return _t9.ResponseToJson.call(_t9, _t0);
645
- case 22:
646
- console.log("LRO Stop: ", lroStatus.body);
647
- _context4.next = 24;
648
- break;
649
- case 23:
650
- _context4.prev = 23;
651
- _t1 = _context4["catch"](20);
652
- console.log("LRO Stop (failed): ", _t1.response.statusCode);
653
- case 24:
654
- state = "stopped";
618
+
655
619
  status.state = state;
656
- case 25:
657
620
  if (!(state === "running")) {
658
- _context4.next = 35;
621
+ _context4.next = 121;
659
622
  break;
660
623
  }
661
624
  playout_urls = {};
662
- _context4.next = 26;
625
+ _context4.next = 94;
663
626
  return this.PlayoutOptions({
664
- objectId: objectId,
665
- linkPath: "public/asset_metadata/sources/default"
627
+ objectId: objectId
666
628
  });
667
- case 26:
629
+ case 94:
668
630
  playout_options = _context4.sent;
669
631
  hls_clear_enabled = playout_options && playout_options.hls && playout_options.hls.playoutMethods && playout_options.hls.playoutMethods.clear !== undefined;
670
632
  if (!hls_clear_enabled) {
671
- _context4.next = 28;
633
+ _context4.next = 100;
672
634
  break;
673
635
  }
674
- _context4.next = 27;
636
+ _context4.next = 99;
675
637
  return this.FabricUrl({
676
638
  libraryId: libraryId,
677
639
  objectId: objectId,
678
640
  rep: "playout/default/hls-clear/playlist.m3u8"
679
641
  });
680
- case 27:
642
+ case 99:
681
643
  playout_urls.hls_clear = _context4.sent;
682
- case 28:
644
+ case 100:
683
645
  hls_aes128_enabled = playout_options && playout_options.hls && playout_options.hls.playoutMethods && playout_options.hls.playoutMethods["aes-128"] !== undefined;
684
646
  if (!hls_aes128_enabled) {
685
- _context4.next = 30;
647
+ _context4.next = 105;
686
648
  break;
687
649
  }
688
- _context4.next = 29;
650
+ _context4.next = 104;
689
651
  return this.FabricUrl({
690
652
  libraryId: libraryId,
691
653
  objectId: objectId,
692
654
  rep: "playout/default/hls-aes128/playlist.m3u8"
693
655
  });
694
- case 29:
656
+ case 104:
695
657
  playout_urls.hls_aes128 = _context4.sent;
696
- case 30:
658
+ case 105:
697
659
  hls_sample_aes_enabled = playout_options && playout_options.hls && playout_options.hls.playoutMethods && playout_options.hls.playoutMethods["sample-aes"] !== undefined;
698
660
  if (!hls_sample_aes_enabled) {
699
- _context4.next = 32;
661
+ _context4.next = 110;
700
662
  break;
701
663
  }
702
- _context4.next = 31;
664
+ _context4.next = 109;
703
665
  return this.FabricUrl({
704
666
  libraryId: libraryId,
705
667
  objectId: objectId,
706
668
  rep: "playout/default/hls-sample-aes/playlist.m3u8"
707
669
  });
708
- case 31:
670
+ case 109:
709
671
  playout_urls.hls_sample_aes = _context4.sent;
710
- case 32:
711
- _context4.next = 33;
672
+ case 110:
673
+ _context4.next = 112;
712
674
  return this.NetworkInfo();
713
- case 33:
675
+ case 112:
714
676
  networkInfo = _context4.sent;
715
- _context4.next = 34;
677
+ _context4.next = 115;
716
678
  return this.authClient.AuthorizationToken({
717
679
  libraryId: libraryId,
718
680
  objectId: objectId,
@@ -720,7 +682,7 @@ exports.StreamStatus = /*#__PURE__*/function () {
720
682
  noCache: true,
721
683
  noAuth: true
722
684
  });
723
- case 34:
685
+ case 115:
724
686
  token = _context4.sent;
725
687
  embed_net = "main";
726
688
  if (networkInfo.name.includes("demo")) {
@@ -729,20 +691,20 @@ exports.StreamStatus = /*#__PURE__*/function () {
729
691
  embed_url = "https://embed.v3.contentfabric.io/?net=".concat(embed_net, "&p&ct=h&oid=").concat(objectId, "&mt=lv&ath=").concat(token);
730
692
  playout_urls.embed_url = embed_url;
731
693
  status.playout_urls = playout_urls;
732
- case 35:
733
- _context4.next = 37;
694
+ case 121:
695
+ _context4.next = 126;
734
696
  break;
735
- case 36:
736
- _context4.prev = 36;
737
- _t10 = _context4["catch"](1);
738
- console.error(_t10);
739
- case 37:
697
+ case 123:
698
+ _context4.prev = 123;
699
+ _context4.t4 = _context4["catch"](3);
700
+ console.error(_context4.t4);
701
+ case 126:
740
702
  return _context4.abrupt("return", status);
741
- case 38:
703
+ case 127:
742
704
  case "end":
743
705
  return _context4.stop();
744
706
  }
745
- }, _callee4, this, [[1, 36], [8, 10], [14, 17], [20, 23]]);
707
+ }, _callee4, this, [[3, 123], [34, 40], [68, 82]]);
746
708
  }));
747
709
  return function (_x4) {
748
710
  return _ref8.apply(this, arguments);
@@ -761,42 +723,42 @@ exports.StreamStatus = /*#__PURE__*/function () {
761
723
  *
762
724
  */
763
725
  exports.StreamCreate = /*#__PURE__*/function () {
764
- var _ref0 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee5(_ref9) {
726
+ var _ref10 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5(_ref9) {
765
727
  var name, _ref9$start, start, status, objectId, libraryId, liveRecording, fabURI, response, edgeToken, writeToken, objectHash;
766
- return _regeneratorRuntime.wrap(function (_context5) {
728
+ return _regeneratorRuntime.wrap(function _callee5$(_context5) {
767
729
  while (1) switch (_context5.prev = _context5.next) {
768
730
  case 0:
769
731
  name = _ref9.name, _ref9$start = _ref9.start, start = _ref9$start === void 0 ? false : _ref9$start;
770
- _context5.next = 1;
732
+ _context5.next = 3;
771
733
  return this.StreamStatus({
772
734
  name: name
773
735
  });
774
- case 1:
736
+ case 3:
775
737
  status = _context5.sent;
776
738
  if (!(status.state != "uninitialized" && status.state !== "inactive" && status.state !== "terminated" && status.state !== "stopped")) {
777
- _context5.next = 2;
739
+ _context5.next = 6;
778
740
  break;
779
741
  }
780
742
  return _context5.abrupt("return", {
781
743
  state: status.state,
782
744
  error: "stream still active - must terminate first"
783
745
  });
784
- case 2:
746
+ case 6:
785
747
  objectId = status.object_id;
786
748
  console.log("START: ", name, "start", start);
787
- _context5.next = 3;
749
+ _context5.next = 10;
788
750
  return this.ContentObjectLibraryId({
789
751
  objectId: objectId
790
752
  });
791
- case 3:
753
+ case 10:
792
754
  libraryId = _context5.sent;
793
- _context5.next = 4;
755
+ _context5.next = 13;
794
756
  return this.ContentObjectMetadata({
795
757
  libraryId: libraryId,
796
758
  objectId: objectId,
797
759
  metadataSubtree: "/live_recording"
798
760
  });
799
- case 4:
761
+ case 13:
800
762
  liveRecording = _context5.sent;
801
763
  fabURI = liveRecording.fabric_config.ingress_node_api; // Support both hostname and URL ingress_node_api
802
764
  if (!fabURI.startsWith("http")) {
@@ -807,12 +769,12 @@ exports.StreamCreate = /*#__PURE__*/function () {
807
769
  fabricURIs: [fabURI]
808
770
  });
809
771
  console.log("Node URI", fabURI, "ID", liveRecording.fabric_config.ingress_node_id);
810
- _context5.next = 5;
772
+ _context5.next = 20;
811
773
  return this.EditContentObject({
812
774
  libraryId: libraryId,
813
775
  objectId: objectId
814
776
  });
815
- case 5:
777
+ case 20:
816
778
  response = _context5.sent;
817
779
  edgeToken = response.write_token;
818
780
  console.log("Edge token:", edgeToken);
@@ -820,16 +782,16 @@ exports.StreamCreate = /*#__PURE__*/function () {
820
782
  /*
821
783
  * Set the metadata, including the edge token.
822
784
  */
823
- _context5.next = 6;
785
+ _context5.next = 25;
824
786
  return this.EditContentObject({
825
787
  libraryId: libraryId,
826
788
  objectId: objectId
827
789
  });
828
- case 6:
790
+ case 25:
829
791
  response = _context5.sent;
830
792
  writeToken = response.write_token;
831
793
  this.Log("Merging metadata: ", libraryId, objectId, writeToken);
832
- _context5.next = 7;
794
+ _context5.next = 30;
833
795
  return this.MergeMetadata({
834
796
  libraryId: libraryId,
835
797
  objectId: objectId,
@@ -840,22 +802,23 @@ exports.StreamCreate = /*#__PURE__*/function () {
840
802
  edge_write_token: edgeToken,
841
803
  state: "active" // indicates there is an active session (set to 'closed' when done)
842
804
  },
805
+
843
806
  fabric_config: {
844
807
  edge_write_token: edgeToken
845
808
  }
846
809
  }
847
810
  }
848
811
  });
849
- case 7:
812
+ case 30:
850
813
  this.Log("Finalizing content draft: ", libraryId, objectId, writeToken);
851
- _context5.next = 8;
814
+ _context5.next = 33;
852
815
  return this.FinalizeContentObject({
853
816
  libraryId: libraryId,
854
817
  objectId: objectId,
855
818
  writeToken: writeToken,
856
819
  commitMessage: "Create stream edge write token " + edgeToken
857
820
  });
858
- case 8:
821
+ case 33:
859
822
  response = _context5.sent;
860
823
  objectHash = response.hash;
861
824
  this.Log("Finalized object: ", objectHash);
@@ -875,14 +838,14 @@ exports.StreamCreate = /*#__PURE__*/function () {
875
838
  });
876
839
  }
877
840
  return _context5.abrupt("return", status);
878
- case 9:
841
+ case 39:
879
842
  case "end":
880
843
  return _context5.stop();
881
844
  }
882
845
  }, _callee5, this);
883
846
  }));
884
847
  return function (_x5) {
885
- return _ref0.apply(this, arguments);
848
+ return _ref10.apply(this, arguments);
886
849
  };
887
850
  }();
888
851
 
@@ -903,36 +866,36 @@ exports.StreamCreate = /*#__PURE__*/function () {
903
866
  *
904
867
  */
905
868
  exports.StreamStartOrStopOrReset = /*#__PURE__*/function () {
906
- var _ref10 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee6(_ref1) {
907
- var name, op, status, _tries, tries, _t11, _t12, _t13;
908
- return _regeneratorRuntime.wrap(function (_context6) {
869
+ var _ref12 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee6(_ref11) {
870
+ var name, op, status, _tries, tries;
871
+ return _regeneratorRuntime.wrap(function _callee6$(_context6) {
909
872
  while (1) switch (_context6.prev = _context6.next) {
910
873
  case 0:
911
- name = _ref1.name, op = _ref1.op;
874
+ name = _ref11.name, op = _ref11.op;
912
875
  _context6.prev = 1;
913
- _context6.next = 2;
876
+ _context6.next = 4;
914
877
  return this.StreamStatus({
915
878
  name: name
916
879
  });
917
- case 2:
880
+ case 4:
918
881
  status = _context6.sent;
919
882
  if (!(status.state != "stopped")) {
920
- _context6.next = 3;
883
+ _context6.next = 9;
921
884
  break;
922
885
  }
923
886
  if (!(op === "start")) {
924
- _context6.next = 3;
887
+ _context6.next = 9;
925
888
  break;
926
889
  }
927
890
  status.error = "Unable to start stream - state: " + status.state;
928
891
  return _context6.abrupt("return", status);
929
- case 3:
892
+ case 9:
930
893
  if (!(status.state == "running" || status.state == "starting" || status.state == "stalled")) {
931
- _context6.next = 12;
894
+ _context6.next = 31;
932
895
  break;
933
896
  }
934
- _context6.prev = 4;
935
- _context6.next = 5;
897
+ _context6.prev = 10;
898
+ _context6.next = 13;
936
899
  return this.CallBitcodeMethod({
937
900
  libraryId: status.library_id,
938
901
  objectId: status.object_id,
@@ -940,50 +903,50 @@ exports.StreamStartOrStopOrReset = /*#__PURE__*/function () {
940
903
  method: "/live/stop/" + status.tlro,
941
904
  constant: false
942
905
  });
943
- case 5:
944
- _context6.next = 7;
906
+ case 13:
907
+ _context6.next = 17;
945
908
  break;
946
- case 6:
947
- _context6.prev = 6;
948
- _t11 = _context6["catch"](4);
949
- case 7:
909
+ case 15:
910
+ _context6.prev = 15;
911
+ _context6.t0 = _context6["catch"](10);
912
+ case 17:
950
913
  // Wait until LRO is terminated
951
914
  _tries = 10;
952
- case 8:
915
+ case 18:
953
916
  if (!(status.state != "stopped" && _tries-- > 0)) {
954
- _context6.next = 11;
917
+ _context6.next = 27;
955
918
  break;
956
919
  }
957
920
  console.log("Wait to terminate - ", status.state);
958
- _context6.next = 9;
921
+ _context6.next = 22;
959
922
  return Sleep(1000);
960
- case 9:
961
- _context6.next = 10;
923
+ case 22:
924
+ _context6.next = 24;
962
925
  return this.StreamStatus({
963
926
  name: name
964
927
  });
965
- case 10:
928
+ case 24:
966
929
  status = _context6.sent;
967
- _context6.next = 8;
930
+ _context6.next = 18;
968
931
  break;
969
- case 11:
932
+ case 27:
970
933
  console.log("Status after stop - ", status.state);
971
934
  if (!(_tries <= 0)) {
972
- _context6.next = 12;
935
+ _context6.next = 31;
973
936
  break;
974
937
  }
975
938
  console.log("Failed to stop");
976
939
  return _context6.abrupt("return", status);
977
- case 12:
940
+ case 31:
978
941
  if (!(op === "stop")) {
979
- _context6.next = 13;
942
+ _context6.next = 33;
980
943
  break;
981
944
  }
982
945
  return _context6.abrupt("return", status);
983
- case 13:
946
+ case 33:
984
947
  console.log("STARTING", "edge_write_token", status.edge_write_token);
985
- _context6.prev = 14;
986
- _context6.next = 15;
948
+ _context6.prev = 34;
949
+ _context6.next = 37;
987
950
  return this.CallBitcodeMethod({
988
951
  libraryId: status.library_id,
989
952
  objectId: status.object_id,
@@ -991,52 +954,52 @@ exports.StreamStartOrStopOrReset = /*#__PURE__*/function () {
991
954
  method: "/live/start",
992
955
  constant: false
993
956
  });
994
- case 15:
995
- _context6.next = 17;
957
+ case 37:
958
+ _context6.next = 43;
996
959
  break;
997
- case 16:
998
- _context6.prev = 16;
999
- _t12 = _context6["catch"](14);
1000
- console.log("LRO Start (failed): ", _t12);
960
+ case 39:
961
+ _context6.prev = 39;
962
+ _context6.t1 = _context6["catch"](34);
963
+ console.log("LRO Start (failed): ", _context6.t1);
1001
964
  return _context6.abrupt("return", {
1002
965
  state: status.state,
1003
966
  error: "LRO start failed - must create a stream first"
1004
967
  });
1005
- case 17:
968
+ case 43:
1006
969
  // Wait until LRO is 'starting'
1007
970
  tries = 10;
1008
- case 18:
971
+ case 44:
1009
972
  if (!(status.state != "starting" && tries-- > 0)) {
1010
- _context6.next = 21;
973
+ _context6.next = 53;
1011
974
  break;
1012
975
  }
1013
976
  console.log("Wait to start - ", status.state);
1014
- _context6.next = 19;
977
+ _context6.next = 48;
1015
978
  return Sleep(1000);
1016
- case 19:
1017
- _context6.next = 20;
979
+ case 48:
980
+ _context6.next = 50;
1018
981
  return this.StreamStatus({
1019
982
  name: name
1020
983
  });
1021
- case 20:
984
+ case 50:
1022
985
  status = _context6.sent;
1023
- _context6.next = 18;
986
+ _context6.next = 44;
1024
987
  break;
1025
- case 21:
988
+ case 53:
1026
989
  console.log("Status after restart - ", status.state);
1027
990
  return _context6.abrupt("return", status);
1028
- case 22:
1029
- _context6.prev = 22;
1030
- _t13 = _context6["catch"](1);
1031
- console.error(_t13);
1032
- case 23:
991
+ case 57:
992
+ _context6.prev = 57;
993
+ _context6.t2 = _context6["catch"](1);
994
+ console.error(_context6.t2);
995
+ case 60:
1033
996
  case "end":
1034
997
  return _context6.stop();
1035
998
  }
1036
- }, _callee6, this, [[1, 22], [4, 6], [14, 16]]);
999
+ }, _callee6, this, [[1, 57], [10, 15], [34, 39]]);
1037
1000
  }));
1038
1001
  return function (_x6) {
1039
- return _ref10.apply(this, arguments);
1002
+ return _ref12.apply(this, arguments);
1040
1003
  };
1041
1004
  }();
1042
1005
 
@@ -1050,27 +1013,27 @@ exports.StreamStartOrStopOrReset = /*#__PURE__*/function () {
1050
1013
  * @return {Promise<Object>} - The finalize response for the stream object
1051
1014
  */
1052
1015
  exports.StreamStopSession = /*#__PURE__*/function () {
1053
- var _ref12 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee7(_ref11) {
1054
- var name, objectId, libraryId, mainMeta, fabURI, metaEdgeWriteToken, streamMetadata, status, _yield$this$EditConte, writeToken, newState, stopTime, finalizeMetadata, fin, _t14, _t15;
1055
- return _regeneratorRuntime.wrap(function (_context7) {
1016
+ var _ref14 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee7(_ref13) {
1017
+ var name, objectId, libraryId, mainMeta, fabURI, metaEdgeWriteToken, streamMetadata, status, _yield$this$EditConte, writeToken, newState, stopTime, finalizeMetadata, fin;
1018
+ return _regeneratorRuntime.wrap(function _callee7$(_context7) {
1056
1019
  while (1) switch (_context7.prev = _context7.next) {
1057
1020
  case 0:
1058
- name = _ref11.name;
1021
+ name = _ref13.name;
1059
1022
  _context7.prev = 1;
1060
1023
  this.Log("Terminating stream session for: ".concat(name));
1061
1024
  objectId = name;
1062
- _context7.next = 2;
1025
+ _context7.next = 6;
1063
1026
  return this.ContentObjectLibraryId({
1064
1027
  objectId: objectId
1065
1028
  });
1066
- case 2:
1029
+ case 6:
1067
1030
  libraryId = _context7.sent;
1068
- _context7.next = 3;
1031
+ _context7.next = 9;
1069
1032
  return this.ContentObjectMetadata({
1070
1033
  libraryId: libraryId,
1071
1034
  objectId: objectId
1072
1035
  });
1073
- case 3:
1036
+ case 9:
1074
1037
  mainMeta = _context7.sent;
1075
1038
  fabURI = mainMeta.live_recording.fabric_config.ingress_node_api; // Support both hostname and URL ingress_node_api
1076
1039
  if (!fabURI.startsWith("http")) {
@@ -1082,56 +1045,56 @@ exports.StreamStopSession = /*#__PURE__*/function () {
1082
1045
  });
1083
1046
  metaEdgeWriteToken = mainMeta.live_recording.fabric_config.edge_write_token;
1084
1047
  if (metaEdgeWriteToken) {
1085
- _context7.next = 4;
1048
+ _context7.next = 16;
1086
1049
  break;
1087
1050
  }
1088
1051
  return _context7.abrupt("return", {
1089
1052
  state: "inactive",
1090
1053
  error: "The stream is not active"
1091
1054
  });
1092
- case 4:
1093
- _context7.prev = 4;
1094
- _context7.next = 5;
1055
+ case 16:
1056
+ _context7.prev = 16;
1057
+ _context7.next = 19;
1095
1058
  return this.ContentObjectMetadata({
1096
1059
  libraryId: libraryId,
1097
1060
  objectId: objectId,
1098
1061
  writeToken: metaEdgeWriteToken
1099
1062
  });
1100
- case 5:
1063
+ case 19:
1101
1064
  streamMetadata = _context7.sent;
1102
- _context7.next = 6;
1065
+ _context7.next = 22;
1103
1066
  return this.StreamStatus({
1104
1067
  name: name
1105
1068
  });
1106
- case 6:
1069
+ case 22:
1107
1070
  status = _context7.sent;
1108
1071
  if (!(status.state !== "stopped")) {
1109
- _context7.next = 7;
1072
+ _context7.next = 25;
1110
1073
  break;
1111
1074
  }
1112
1075
  return _context7.abrupt("return", {
1113
1076
  state: status.state,
1114
1077
  error: "The stream must be stopped before terminating"
1115
1078
  });
1116
- case 7:
1117
- _context7.next = 8;
1079
+ case 25:
1080
+ _context7.next = 27;
1118
1081
  return this.DeleteWriteToken({
1119
1082
  writeToken: metaEdgeWriteToken
1120
1083
  });
1121
- case 8:
1122
- _context7.next = 10;
1084
+ case 27:
1085
+ _context7.next = 32;
1123
1086
  break;
1124
- case 9:
1125
- _context7.prev = 9;
1126
- _t14 = _context7["catch"](4);
1087
+ case 29:
1088
+ _context7.prev = 29;
1089
+ _context7.t0 = _context7["catch"](16);
1127
1090
  this.Log("Unable to retrieve metadata for edge write token");
1128
- case 10:
1129
- _context7.next = 11;
1091
+ case 32:
1092
+ _context7.next = 34;
1130
1093
  return this.EditContentObject({
1131
1094
  libraryId: libraryId,
1132
1095
  objectId: objectId
1133
1096
  });
1134
- case 11:
1097
+ case 34:
1135
1098
  _yield$this$EditConte = _context7.sent;
1136
1099
  writeToken = _yield$this$EditConte.writeToken;
1137
1100
  // Set stop time and inactive state
@@ -1149,40 +1112,40 @@ exports.StreamStopSession = /*#__PURE__*/function () {
1149
1112
  }
1150
1113
  }
1151
1114
  };
1152
- _context7.next = 12;
1115
+ _context7.next = 41;
1153
1116
  return this.MergeMetadata({
1154
1117
  libraryId: libraryId,
1155
1118
  objectId: objectId,
1156
1119
  writeToken: writeToken,
1157
1120
  metadata: finalizeMetadata
1158
1121
  });
1159
- case 12:
1160
- _context7.next = 13;
1122
+ case 41:
1123
+ _context7.next = 43;
1161
1124
  return this.FinalizeContentObject({
1162
1125
  libraryId: libraryId,
1163
1126
  objectId: objectId,
1164
1127
  writeToken: writeToken,
1165
1128
  commitMessage: "Deactivate live stream - stop time ".concat(stopTime)
1166
1129
  });
1167
- case 13:
1130
+ case 43:
1168
1131
  fin = _context7.sent;
1169
1132
  return _context7.abrupt("return", {
1170
1133
  fin: fin,
1171
1134
  name: name,
1172
1135
  state: newState
1173
1136
  });
1174
- case 14:
1175
- _context7.prev = 14;
1176
- _t15 = _context7["catch"](1);
1177
- console.error(_t15);
1178
- case 15:
1137
+ case 47:
1138
+ _context7.prev = 47;
1139
+ _context7.t1 = _context7["catch"](1);
1140
+ console.error(_context7.t1);
1141
+ case 50:
1179
1142
  case "end":
1180
1143
  return _context7.stop();
1181
1144
  }
1182
- }, _callee7, this, [[1, 14], [4, 9]]);
1145
+ }, _callee7, this, [[1, 47], [16, 29]]);
1183
1146
  }));
1184
1147
  return function (_x7) {
1185
- return _ref12.apply(this, arguments);
1148
+ return _ref14.apply(this, arguments);
1186
1149
  };
1187
1150
  }();
1188
1151
 
@@ -1196,28 +1159,30 @@ exports.StreamStopSession = /*#__PURE__*/function () {
1196
1159
  * @param {string=} format - Specify the list of playout formats and DRM to support,
1197
1160
  comma-separated (hls-clear, hls-aes128, hls-sample-aes,
1198
1161
  hls-fairplay)
1162
+ * @param {string=} writeToken - Write token of the draft
1163
+ * @param {boolean=} finalize - If enabled, target object will be finalized after configuration
1199
1164
  *
1200
1165
  * @return {Promise<Object>} - The name, object ID, and state of the stream
1201
1166
  */
1202
1167
  exports.StreamInitialize = /*#__PURE__*/function () {
1203
- var _ref14 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee8(_ref13) {
1204
- var name, _ref13$drm, drm, format, typeAbrMaster, typeLiveStream, tenantContractId, _yield$this$ContentOb, live_stream, title, res;
1205
- return _regeneratorRuntime.wrap(function (_context8) {
1168
+ var _ref16 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee8(_ref15) {
1169
+ var name, _ref15$drm, drm, format, writeToken, _ref15$finalize, finalize, typeAbrMaster, typeLiveStream, tenantContractId, _yield$this$ContentOb, live_stream, title, res;
1170
+ return _regeneratorRuntime.wrap(function _callee8$(_context8) {
1206
1171
  while (1) switch (_context8.prev = _context8.next) {
1207
1172
  case 0:
1208
- name = _ref13.name, _ref13$drm = _ref13.drm, drm = _ref13$drm === void 0 ? false : _ref13$drm, format = _ref13.format;
1209
- _context8.next = 1;
1173
+ name = _ref15.name, _ref15$drm = _ref15.drm, drm = _ref15$drm === void 0 ? false : _ref15$drm, format = _ref15.format, writeToken = _ref15.writeToken, _ref15$finalize = _ref15.finalize, finalize = _ref15$finalize === void 0 ? true : _ref15$finalize;
1174
+ _context8.next = 3;
1210
1175
  return this.userProfileClient.TenantContractId();
1211
- case 1:
1176
+ case 3:
1212
1177
  tenantContractId = _context8.sent;
1213
- _context8.next = 2;
1178
+ _context8.next = 6;
1214
1179
  return this.ContentObjectMetadata({
1215
1180
  libraryId: tenantContractId.replace("iten", "ilib"),
1216
1181
  objectId: tenantContractId.replace("iten", "iq__"),
1217
1182
  metadataSubtree: "public/content_types",
1218
1183
  select: ["live_stream", "title"]
1219
1184
  });
1220
- case 2:
1185
+ case 6:
1221
1186
  _yield$this$ContentOb = _context8.sent;
1222
1187
  live_stream = _yield$this$ContentOb.live_stream;
1223
1188
  title = _yield$this$ContentOb.title;
@@ -1228,31 +1193,33 @@ exports.StreamInitialize = /*#__PURE__*/function () {
1228
1193
  typeAbrMaster = title;
1229
1194
  }
1230
1195
  if (!(typeAbrMaster === undefined || typeLiveStream === undefined)) {
1231
- _context8.next = 3;
1196
+ _context8.next = 14;
1232
1197
  break;
1233
1198
  }
1234
1199
  console.log("ERROR - unable to find content types", "ABR Master", typeAbrMaster, "Live Stream", typeLiveStream);
1235
1200
  return _context8.abrupt("return", {});
1236
- case 3:
1237
- _context8.next = 4;
1201
+ case 14:
1202
+ _context8.next = 16;
1238
1203
  return this.StreamSetOfferingAndDRM({
1239
1204
  name: name,
1240
1205
  typeAbrMaster: typeAbrMaster,
1241
1206
  typeLiveStream: typeLiveStream,
1242
1207
  drm: drm,
1243
- format: format
1208
+ format: format,
1209
+ writeToken: writeToken,
1210
+ finalize: finalize
1244
1211
  });
1245
- case 4:
1212
+ case 16:
1246
1213
  res = _context8.sent;
1247
1214
  return _context8.abrupt("return", res);
1248
- case 5:
1215
+ case 18:
1249
1216
  case "end":
1250
1217
  return _context8.stop();
1251
1218
  }
1252
1219
  }, _callee8, this);
1253
1220
  }));
1254
1221
  return function (_x8) {
1255
- return _ref14.apply(this, arguments);
1222
+ return _ref16.apply(this, arguments);
1256
1223
  };
1257
1224
  }();
1258
1225
 
@@ -1268,31 +1235,32 @@ exports.StreamInitialize = /*#__PURE__*/function () {
1268
1235
  * @param {string=} format - A list of playout formats and DRM to support, comma-separated
1269
1236
  * (hls-clear, hls-aes128, hls-sample-aes, hls-fairplay). If specified,
1270
1237
  * this will take precedence over the drm value
1238
+ * @param {string=} writeToken - Write token of the draft
1271
1239
  *
1272
1240
  * @return {Promise<Object>} - The name, object ID, and state of the stream
1273
1241
  */
1274
1242
  exports.StreamSetOfferingAndDRM = /*#__PURE__*/function () {
1275
- var _ref16 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee9(_ref15) {
1276
- var name, typeAbrMaster, typeLiveStream, _ref15$drm, drm, format, status, objectId, aBitRate, aChannels, aSampleRate, aStreamIndex, aTimeBase, aChannelLayout, vBitRate, vHeight, vStreamIndex, vWidth, vDisplayAspectRatio, vFrameRate, vTimeBase, abrProfileDefault, playoutFormats, abrProfile, formats, i, libraryId, mainMeta, fabURI, streamUrl, _t16;
1277
- return _regeneratorRuntime.wrap(function (_context9) {
1243
+ var _ref18 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee9(_ref17) {
1244
+ var name, typeAbrMaster, typeLiveStream, _ref17$drm, drm, format, writeToken, _ref17$finalize, finalize, status, objectId, aBitRate, aChannels, aSampleRate, aStreamIndex, aTimeBase, aChannelLayout, vBitRate, vHeight, vStreamIndex, vWidth, vDisplayAspectRatio, vFrameRate, vTimeBase, abrProfileDefault, playoutFormats, abrProfile, formats, i, libraryId, mainMeta, fabURI, streamUrl;
1245
+ return _regeneratorRuntime.wrap(function _callee9$(_context9) {
1278
1246
  while (1) switch (_context9.prev = _context9.next) {
1279
1247
  case 0:
1280
- name = _ref15.name, typeAbrMaster = _ref15.typeAbrMaster, typeLiveStream = _ref15.typeLiveStream, _ref15$drm = _ref15.drm, drm = _ref15$drm === void 0 ? false : _ref15$drm, format = _ref15.format;
1281
- _context9.next = 1;
1248
+ name = _ref17.name, typeAbrMaster = _ref17.typeAbrMaster, typeLiveStream = _ref17.typeLiveStream, _ref17$drm = _ref17.drm, drm = _ref17$drm === void 0 ? false : _ref17$drm, format = _ref17.format, writeToken = _ref17.writeToken, _ref17$finalize = _ref17.finalize, finalize = _ref17$finalize === void 0 ? true : _ref17$finalize;
1249
+ _context9.next = 3;
1282
1250
  return this.StreamStatus({
1283
1251
  name: name
1284
1252
  });
1285
- case 1:
1253
+ case 3:
1286
1254
  status = _context9.sent;
1287
1255
  if (!(status.state != "uninitialized" && status.state != "inactive" && status.state != "stopped")) {
1288
- _context9.next = 2;
1256
+ _context9.next = 6;
1289
1257
  break;
1290
1258
  }
1291
1259
  return _context9.abrupt("return", {
1292
1260
  state: status.state,
1293
1261
  error: "stream still active - must terminate first"
1294
1262
  });
1295
- case 2:
1263
+ case 6:
1296
1264
  objectId = status.object_id;
1297
1265
  console.log("INIT: ", name, objectId);
1298
1266
  aBitRate = 128000;
@@ -1311,20 +1279,20 @@ exports.StreamSetOfferingAndDRM = /*#__PURE__*/function () {
1311
1279
  abrProfileDefault = require("../abr_profiles/abr_profile_live_drm.js");
1312
1280
  abrProfile = JSON.parse(JSON.stringify(abrProfileDefault));
1313
1281
  if (!format) {
1314
- _context9.next = 8;
1282
+ _context9.next = 43;
1315
1283
  break;
1316
1284
  }
1317
1285
  drm = true; // Override DRM parameter
1318
1286
  playoutFormats = {};
1319
1287
  formats = format.split(",");
1320
1288
  i = 0;
1321
- case 3:
1289
+ case 28:
1322
1290
  if (!(i < formats.length)) {
1323
- _context9.next = 7;
1291
+ _context9.next = 41;
1324
1292
  break;
1325
1293
  }
1326
1294
  if (!(formats[i] === "hls-clear")) {
1327
- _context9.next = 4;
1295
+ _context9.next = 33;
1328
1296
  break;
1329
1297
  }
1330
1298
  abrProfile.drm_optional = true;
@@ -1334,10 +1302,10 @@ exports.StreamSetOfferingAndDRM = /*#__PURE__*/function () {
1334
1302
  "type": "ProtoHls"
1335
1303
  }
1336
1304
  };
1337
- return _context9.abrupt("continue", 6);
1338
- case 4:
1305
+ return _context9.abrupt("continue", 38);
1306
+ case 33:
1339
1307
  if (!(formats[i] === "dash-clear")) {
1340
- _context9.next = 5;
1308
+ _context9.next = 37;
1341
1309
  break;
1342
1310
  }
1343
1311
  abrProfile.drm_optional = true;
@@ -1348,17 +1316,17 @@ exports.StreamSetOfferingAndDRM = /*#__PURE__*/function () {
1348
1316
  "type": "ProtoDash"
1349
1317
  }
1350
1318
  };
1351
- return _context9.abrupt("continue", 6);
1352
- case 5:
1319
+ return _context9.abrupt("continue", 38);
1320
+ case 37:
1353
1321
  playoutFormats[formats[i]] = abrProfile.playout_formats[formats[i]];
1354
- case 6:
1322
+ case 38:
1355
1323
  i++;
1356
- _context9.next = 3;
1324
+ _context9.next = 28;
1357
1325
  break;
1358
- case 7:
1359
- _context9.next = 9;
1326
+ case 41:
1327
+ _context9.next = 44;
1360
1328
  break;
1361
- case 8:
1329
+ case 43:
1362
1330
  if (!drm) {
1363
1331
  abrProfile.drm_optional = true;
1364
1332
  playoutFormats = {
@@ -1379,21 +1347,22 @@ exports.StreamSetOfferingAndDRM = /*#__PURE__*/function () {
1379
1347
  } else {
1380
1348
  playoutFormats = Object.assign({}, abrProfile.playout_formats);
1381
1349
  }
1382
- case 9:
1350
+ case 44:
1383
1351
  abrProfile.playout_formats = playoutFormats;
1384
- _context9.next = 10;
1352
+ _context9.next = 47;
1385
1353
  return this.ContentObjectLibraryId({
1386
1354
  objectId: objectId
1387
1355
  });
1388
- case 10:
1356
+ case 47:
1389
1357
  libraryId = _context9.sent;
1390
- _context9.prev = 11;
1391
- _context9.next = 12;
1358
+ _context9.prev = 48;
1359
+ _context9.next = 51;
1392
1360
  return this.ContentObjectMetadata({
1393
1361
  libraryId: libraryId,
1394
- objectId: objectId
1362
+ objectId: objectId,
1363
+ writeToken: writeToken
1395
1364
  });
1396
- case 12:
1365
+ case 51:
1397
1366
  mainMeta = _context9.sent;
1398
1367
  fabURI = mainMeta.live_recording.fabric_config.ingress_node_api; // Support both hostname and URL ingress_node_api
1399
1368
  if (!fabURI.startsWith("http")) {
@@ -1404,7 +1373,7 @@ exports.StreamSetOfferingAndDRM = /*#__PURE__*/function () {
1404
1373
  fabricURIs: [fabURI]
1405
1374
  });
1406
1375
  streamUrl = mainMeta.live_recording.recording_config.recording_params.origin_url;
1407
- _context9.next = 13;
1376
+ _context9.next = 58;
1408
1377
  return StreamGenerateOffering({
1409
1378
  client: this,
1410
1379
  libraryId: libraryId,
@@ -1425,27 +1394,29 @@ exports.StreamSetOfferingAndDRM = /*#__PURE__*/function () {
1425
1394
  vWidth: vWidth,
1426
1395
  vDisplayAspectRatio: vDisplayAspectRatio,
1427
1396
  vFrameRate: vFrameRate,
1428
- vTimeBase: vTimeBase
1397
+ vTimeBase: vTimeBase,
1398
+ writeToken: writeToken,
1399
+ finalize: finalize
1429
1400
  });
1430
- case 13:
1401
+ case 58:
1431
1402
  console.log("Finished generating offering");
1432
1403
  return _context9.abrupt("return", {
1433
1404
  name: name,
1434
1405
  object_id: objectId,
1435
1406
  state: "initialized"
1436
1407
  });
1437
- case 14:
1438
- _context9.prev = 14;
1439
- _t16 = _context9["catch"](11);
1440
- console.error(_t16);
1441
- case 15:
1408
+ case 62:
1409
+ _context9.prev = 62;
1410
+ _context9.t0 = _context9["catch"](48);
1411
+ console.error(_context9.t0);
1412
+ case 65:
1442
1413
  case "end":
1443
1414
  return _context9.stop();
1444
1415
  }
1445
- }, _callee9, this, [[11, 14]]);
1416
+ }, _callee9, this, [[48, 62]]);
1446
1417
  }));
1447
1418
  return function (_x9) {
1448
- return _ref16.apply(this, arguments);
1419
+ return _ref18.apply(this, arguments);
1449
1420
  };
1450
1421
  }();
1451
1422
 
@@ -1465,22 +1436,23 @@ exports.StreamSetOfferingAndDRM = /*#__PURE__*/function () {
1465
1436
  * @return {Promise<Object>} - Insertions, as well as any errors from bad insertions
1466
1437
  */
1467
1438
  exports.StreamInsertion = /*#__PURE__*/function () {
1468
- var _ref18 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee0(_ref17) {
1469
- var name, insertionTime, _ref17$sinceStart, sinceStart, duration, targetHash, _ref17$remove, remove, offeringMeta, insertionInfo, audioAbrDuration, videoAbrDuration, objectId, libraryId, mainMeta, fabURI, edgeWriteToken, edgeMeta, recordings, sequence, streamStartTime, period, playoutConfig, insertions, res, errs, currentTime, insertionDone, newInsertion, i;
1470
- return _regeneratorRuntime.wrap(function (_context0) {
1471
- while (1) switch (_context0.prev = _context0.next) {
1439
+ var _ref20 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee10(_ref19) {
1440
+ var name, insertionTime, _ref19$sinceStart, sinceStart, duration, targetHash, _ref19$remove, remove, offeringMeta, insertionInfo, audioAbrDuration, videoAbrDuration, objectId, libraryId, mainMeta, fabURI, edgeWriteToken, edgeMeta, recordings, sequence, streamStartTime, period, playoutConfig, insertions, res, errs, currentTime, insertionDone, newInsertion, i;
1441
+ return _regeneratorRuntime.wrap(function _callee10$(_context10) {
1442
+ while (1) switch (_context10.prev = _context10.next) {
1472
1443
  case 0:
1473
- name = _ref17.name, insertionTime = _ref17.insertionTime, _ref17$sinceStart = _ref17.sinceStart, sinceStart = _ref17$sinceStart === void 0 ? false : _ref17$sinceStart, duration = _ref17.duration, targetHash = _ref17.targetHash, _ref17$remove = _ref17.remove, remove = _ref17$remove === void 0 ? false : _ref17$remove;
1474
- _context0.next = 1;
1444
+ name = _ref19.name, insertionTime = _ref19.insertionTime, _ref19$sinceStart = _ref19.sinceStart, sinceStart = _ref19$sinceStart === void 0 ? false : _ref19$sinceStart, duration = _ref19.duration, targetHash = _ref19.targetHash, _ref19$remove = _ref19.remove, remove = _ref19$remove === void 0 ? false : _ref19$remove;
1445
+ _context10.next = 3;
1475
1446
  return this.ContentObjectMetadata({
1476
1447
  versionHash: targetHash,
1477
1448
  metadataSubtree: "/offerings/default"
1478
1449
  });
1479
- case 1:
1480
- offeringMeta = _context0.sent;
1450
+ case 3:
1451
+ offeringMeta = _context10.sent;
1481
1452
  insertionInfo = {
1482
1453
  duration_sec: 0 // Minimum of video and audio duration
1483
1454
  };
1455
+
1484
1456
  ["video", "audio"].forEach(function (mt) {
1485
1457
  var stream = offeringMeta.media_struct.streams[mt];
1486
1458
  insertionInfo[mt] = {
@@ -1495,39 +1467,39 @@ exports.StreamInsertion = /*#__PURE__*/function () {
1495
1467
  audioAbrDuration = insertionInfo.audio.seg_duration_sec;
1496
1468
  videoAbrDuration = insertionInfo.video.seg_duration_sec;
1497
1469
  if (!(audioAbrDuration === 0 || videoAbrDuration === 0)) {
1498
- _context0.next = 2;
1470
+ _context10.next = 10;
1499
1471
  break;
1500
1472
  }
1501
1473
  throw new Error("Bad segment duration hash:", targetHash);
1502
- case 2:
1474
+ case 10:
1503
1475
  if (!(duration === undefined)) {
1504
- _context0.next = 3;
1476
+ _context10.next = 14;
1505
1477
  break;
1506
1478
  }
1507
1479
  duration = insertionInfo.duration_sec; // Use full duration of the insertion
1508
- _context0.next = 4;
1480
+ _context10.next = 16;
1509
1481
  break;
1510
- case 3:
1482
+ case 14:
1511
1483
  if (!(duration > insertionInfo.duration_sec)) {
1512
- _context0.next = 4;
1484
+ _context10.next = 16;
1513
1485
  break;
1514
1486
  }
1515
1487
  throw new Error("Bad duration - larger than insertion object duration", insertionInfo.duration_sec);
1516
- case 4:
1488
+ case 16:
1517
1489
  objectId = name;
1518
- _context0.next = 5;
1490
+ _context10.next = 19;
1519
1491
  return this.ContentObjectLibraryId({
1520
1492
  objectId: objectId
1521
1493
  });
1522
- case 5:
1523
- libraryId = _context0.sent;
1524
- _context0.next = 6;
1494
+ case 19:
1495
+ libraryId = _context10.sent;
1496
+ _context10.next = 22;
1525
1497
  return this.ContentObjectMetadata({
1526
1498
  libraryId: libraryId,
1527
1499
  objectId: objectId
1528
1500
  });
1529
- case 6:
1530
- mainMeta = _context0.sent;
1501
+ case 22:
1502
+ mainMeta = _context10.sent;
1531
1503
  fabURI = mainMeta.live_recording.fabric_config.ingress_node_api; // Support both hostname and URL ingress_node_api
1532
1504
  if (!fabURI.startsWith("http")) {
1533
1505
  // Assume https
@@ -1537,14 +1509,14 @@ exports.StreamInsertion = /*#__PURE__*/function () {
1537
1509
  fabricURIs: [fabURI]
1538
1510
  });
1539
1511
  edgeWriteToken = mainMeta.live_recording.fabric_config.edge_write_token;
1540
- _context0.next = 7;
1512
+ _context10.next = 29;
1541
1513
  return this.ContentObjectMetadata({
1542
1514
  libraryId: libraryId,
1543
1515
  objectId: objectId,
1544
1516
  writeToken: edgeWriteToken
1545
1517
  });
1546
- case 7:
1547
- edgeMeta = _context0.sent;
1518
+ case 29:
1519
+ edgeMeta = _context10.sent;
1548
1520
  // Find stream start time (from the most recent recording section)
1549
1521
  recordings = edgeMeta.live_recording.recordings;
1550
1522
  sequence = 1;
@@ -1562,15 +1534,15 @@ exports.StreamInsertion = /*#__PURE__*/function () {
1562
1534
  }
1563
1535
  }
1564
1536
  if (!(streamStartTime === 0)) {
1565
- _context0.next = 8;
1537
+ _context10.next = 37;
1566
1538
  break;
1567
1539
  }
1568
1540
  if (!(sinceStart === false)) {
1569
- _context0.next = 8;
1541
+ _context10.next = 37;
1570
1542
  break;
1571
1543
  }
1572
1544
  throw new Error("Stream not running - must use 'time since start'");
1573
- case 8:
1545
+ case 37:
1574
1546
  // Find the current period playout configuration
1575
1547
  if (edgeMeta.live_recording.playout_config.interleaves === undefined) {
1576
1548
  edgeMeta.live_recording.playout_config.interleaves = {};
@@ -1597,9 +1569,9 @@ exports.StreamInsertion = /*#__PURE__*/function () {
1597
1569
  playout: "/qfab/" + targetHash + "/rep/playout" // TO FIX - should be a link
1598
1570
  };
1599
1571
  i = 0;
1600
- case 9:
1572
+ case 48:
1601
1573
  if (!(i < insertions.length)) {
1602
- _context0.next = 13;
1574
+ _context10.next = 63;
1603
1575
  break;
1604
1576
  }
1605
1577
  if (insertions[i].insertion_time <= currentTime) {
@@ -1607,21 +1579,21 @@ exports.StreamInsertion = /*#__PURE__*/function () {
1607
1579
  append(errs, "Bad insertion - time:", insertions[i].insertion_time);
1608
1580
  }
1609
1581
  if (!remove) {
1610
- _context0.next = 11;
1582
+ _context10.next = 56;
1611
1583
  break;
1612
1584
  }
1613
1585
  if (!(insertions[i].insertion_time === insertionTime)) {
1614
- _context0.next = 10;
1586
+ _context10.next = 54;
1615
1587
  break;
1616
1588
  }
1617
1589
  insertions.splice(i, 1);
1618
- return _context0.abrupt("continue", 13);
1619
- case 10:
1620
- _context0.next = 12;
1590
+ return _context10.abrupt("break", 63);
1591
+ case 54:
1592
+ _context10.next = 60;
1621
1593
  break;
1622
- case 11:
1594
+ case 56:
1623
1595
  if (!(insertions[i].insertion_time > insertionTime)) {
1624
- _context0.next = 12;
1596
+ _context10.next = 60;
1625
1597
  break;
1626
1598
  }
1627
1599
  if (i > 0) {
@@ -1630,12 +1602,12 @@ exports.StreamInsertion = /*#__PURE__*/function () {
1630
1602
  insertions = [newInsertion].concat(_toConsumableArray(insertions.splice(i)));
1631
1603
  }
1632
1604
  insertionDone = true;
1633
- return _context0.abrupt("continue", 13);
1634
- case 12:
1605
+ return _context10.abrupt("break", 63);
1606
+ case 60:
1635
1607
  i++;
1636
- _context0.next = 9;
1608
+ _context10.next = 48;
1637
1609
  break;
1638
- case 13:
1610
+ case 63:
1639
1611
  if (!remove && !insertionDone) {
1640
1612
  // Add to the end of the insertions list
1641
1613
  console.log("Add insertion at the end");
@@ -1644,7 +1616,7 @@ exports.StreamInsertion = /*#__PURE__*/function () {
1644
1616
  playoutConfig.interleaves[sequence] = insertions;
1645
1617
 
1646
1618
  // Store the new insertions in the write token
1647
- _context0.next = 14;
1619
+ _context10.next = 67;
1648
1620
  return this.ReplaceMetadata({
1649
1621
  libraryId: libraryId,
1650
1622
  objectId: objectId,
@@ -1652,18 +1624,18 @@ exports.StreamInsertion = /*#__PURE__*/function () {
1652
1624
  metadataSubtree: "/live_recording/playout_config",
1653
1625
  metadata: edgeMeta.live_recording.playout_config
1654
1626
  });
1655
- case 14:
1627
+ case 67:
1656
1628
  res.errors = errs;
1657
1629
  res.insertions = insertions;
1658
- return _context0.abrupt("return", res);
1659
- case 15:
1630
+ return _context10.abrupt("return", res);
1631
+ case 70:
1660
1632
  case "end":
1661
- return _context0.stop();
1633
+ return _context10.stop();
1662
1634
  }
1663
- }, _callee0, this);
1635
+ }, _callee10, this);
1664
1636
  }));
1665
- return function (_x0) {
1666
- return _ref18.apply(this, arguments);
1637
+ return function (_x10) {
1638
+ return _ref20.apply(this, arguments);
1667
1639
  };
1668
1640
  }();
1669
1641
 
@@ -1701,32 +1673,32 @@ exports.StreamInsertion = /*#__PURE__*/function () {
1701
1673
  *
1702
1674
  */
1703
1675
  exports.StreamConfig = /*#__PURE__*/function () {
1704
- var _ref20 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee1(_ref19) {
1705
- var name, _ref19$customSettings, customSettings, _ref19$customMetaValu, customMetaValues, probeMetadata, writeToken, _ref19$finalize, finalize, objectId, status, libraryId, probe, mainMeta, userConfig, parsedName, hostName, streamUrl, nodes, node, endpoint, probeUrl, lc, liveRecordingConfig, e, _t17, _t18, _t19;
1706
- return _regeneratorRuntime.wrap(function (_context1) {
1707
- while (1) switch (_context1.prev = _context1.next) {
1676
+ var _ref22 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee11(_ref21) {
1677
+ var name, _ref21$customSettings, customSettings, _ref21$customMetaValu, customMetaValues, probeMetadata, writeToken, _ref21$finalize, finalize, objectId, status, libraryId, probe, mainMeta, userConfig, parsedName, hostName, streamUrl, nodes, node, endpoint, probeUrl, lc, liveRecordingConfig, e;
1678
+ return _regeneratorRuntime.wrap(function _callee11$(_context11) {
1679
+ while (1) switch (_context11.prev = _context11.next) {
1708
1680
  case 0:
1709
- name = _ref19.name, _ref19$customSettings = _ref19.customSettings, customSettings = _ref19$customSettings === void 0 ? {} : _ref19$customSettings, _ref19$customMetaValu = _ref19.customMetaValues, customMetaValues = _ref19$customMetaValu === void 0 ? {} : _ref19$customMetaValu, probeMetadata = _ref19.probeMetadata, writeToken = _ref19.writeToken, _ref19$finalize = _ref19.finalize, finalize = _ref19$finalize === void 0 ? true : _ref19$finalize;
1681
+ name = _ref21.name, _ref21$customSettings = _ref21.customSettings, customSettings = _ref21$customSettings === void 0 ? {} : _ref21$customSettings, _ref21$customMetaValu = _ref21.customMetaValues, customMetaValues = _ref21$customMetaValu === void 0 ? {} : _ref21$customMetaValu, probeMetadata = _ref21.probeMetadata, writeToken = _ref21.writeToken, _ref21$finalize = _ref21.finalize, finalize = _ref21$finalize === void 0 ? true : _ref21$finalize;
1710
1682
  objectId = name;
1711
1683
  status = {
1712
1684
  name: name
1713
1685
  };
1714
- _context1.next = 1;
1686
+ _context11.next = 5;
1715
1687
  return this.ContentObjectLibraryId({
1716
1688
  objectId: objectId
1717
1689
  });
1718
- case 1:
1719
- libraryId = _context1.sent;
1690
+ case 5:
1691
+ libraryId = _context11.sent;
1720
1692
  status.library_id = libraryId;
1721
1693
  status.object_id = objectId;
1722
1694
  probe = probeMetadata;
1723
- _context1.next = 2;
1695
+ _context11.next = 11;
1724
1696
  return this.ContentObjectMetadata({
1725
1697
  libraryId: libraryId,
1726
1698
  objectId: objectId
1727
1699
  });
1728
- case 2:
1729
- mainMeta = _context1.sent;
1700
+ case 11:
1701
+ mainMeta = _context11.sent;
1730
1702
  userConfig = mainMeta.live_recording_config;
1731
1703
  status.user_config = userConfig;
1732
1704
 
@@ -1735,19 +1707,19 @@ exports.StreamConfig = /*#__PURE__*/function () {
1735
1707
  hostName = new URL(parsedName).hostname;
1736
1708
  streamUrl = new URL(userConfig.url);
1737
1709
  this.Log("Retrieving nodes - matching: ".concat(hostName));
1738
- _context1.next = 3;
1710
+ _context11.next = 20;
1739
1711
  return this.SpaceNodes({
1740
1712
  matchEndpoint: hostName
1741
1713
  });
1742
- case 3:
1743
- nodes = _context1.sent;
1714
+ case 20:
1715
+ nodes = _context11.sent;
1744
1716
  if (!(nodes.length < 1)) {
1745
- _context1.next = 4;
1717
+ _context11.next = 24;
1746
1718
  break;
1747
1719
  }
1748
1720
  status.error = "No node matching stream URL " + streamUrl.href;
1749
- return _context1.abrupt("return", status);
1750
- case 4:
1721
+ return _context11.abrupt("return", status);
1722
+ case 24:
1751
1723
  node = {
1752
1724
  endpoints: nodes[0].services.fabric_api.urls,
1753
1725
  id: nodes[0].id
@@ -1755,7 +1727,7 @@ exports.StreamConfig = /*#__PURE__*/function () {
1755
1727
  status.node = node;
1756
1728
  endpoint = node.endpoints[0];
1757
1729
  if (probe) {
1758
- _context1.next = 13;
1730
+ _context11.next = 53;
1759
1731
  break;
1760
1732
  }
1761
1733
  this.SetNodes({
@@ -1764,17 +1736,17 @@ exports.StreamConfig = /*#__PURE__*/function () {
1764
1736
 
1765
1737
  // Probe the stream
1766
1738
  probe = {};
1767
- _context1.prev = 5;
1768
- _context1.next = 6;
1739
+ _context11.prev = 30;
1740
+ _context11.next = 33;
1769
1741
  return this.Rep({
1770
1742
  libraryId: libraryId,
1771
1743
  objectId: objectId,
1772
1744
  rep: "probe"
1773
1745
  });
1774
- case 6:
1775
- probeUrl = _context1.sent;
1776
- _t17 = this.utils;
1777
- _context1.next = 7;
1746
+ case 33:
1747
+ probeUrl = _context11.sent;
1748
+ _context11.t0 = this.utils;
1749
+ _context11.next = 37;
1778
1750
  return HttpClient.Fetch(probeUrl, {
1779
1751
  body: JSON.stringify({
1780
1752
  "filename": streamUrl.href,
@@ -1782,52 +1754,52 @@ exports.StreamConfig = /*#__PURE__*/function () {
1782
1754
  }),
1783
1755
  method: "POST"
1784
1756
  });
1785
- case 7:
1786
- _t18 = _context1.sent;
1787
- _context1.next = 8;
1788
- return _t17.ResponseToJson.call(_t17, _t18);
1789
- case 8:
1790
- probe = _context1.sent;
1757
+ case 37:
1758
+ _context11.t1 = _context11.sent;
1759
+ _context11.next = 40;
1760
+ return _context11.t0.ResponseToJson.call(_context11.t0, _context11.t1);
1761
+ case 40:
1762
+ probe = _context11.sent;
1791
1763
  if (!probe.errors) {
1792
- _context1.next = 9;
1764
+ _context11.next = 43;
1793
1765
  break;
1794
1766
  }
1795
1767
  throw probe.errors[0];
1796
- case 9:
1797
- _context1.next = 12;
1768
+ case 43:
1769
+ _context11.next = 52;
1798
1770
  break;
1799
- case 10:
1800
- _context1.prev = 10;
1801
- _t19 = _context1["catch"](5);
1802
- if (!(_t19.code === "ETIMEDOUT")) {
1803
- _context1.next = 11;
1771
+ case 45:
1772
+ _context11.prev = 45;
1773
+ _context11.t2 = _context11["catch"](30);
1774
+ if (!(_context11.t2.code === "ETIMEDOUT")) {
1775
+ _context11.next = 51;
1804
1776
  break;
1805
1777
  }
1806
1778
  throw "Stream probe time out - make sure the stream source is available";
1807
- case 11:
1808
- throw _t19;
1809
- case 12:
1779
+ case 51:
1780
+ throw _context11.t2;
1781
+ case 52:
1810
1782
  probe.format.filename = streamUrl.href;
1811
- case 13:
1783
+ case 53:
1812
1784
  // Create live recording config
1813
1785
  lc = new LiveConf(probe, node.id, endpoint, false, false, true);
1814
1786
  liveRecordingConfig = lc.generateLiveConf({
1815
1787
  customSettings: customSettings
1816
1788
  }); // Store live recording config into the stream object
1817
1789
  if (writeToken) {
1818
- _context1.next = 15;
1790
+ _context11.next = 60;
1819
1791
  break;
1820
1792
  }
1821
- _context1.next = 14;
1793
+ _context11.next = 58;
1822
1794
  return this.EditContentObject({
1823
1795
  libraryId: libraryId,
1824
1796
  objectId: objectId
1825
1797
  });
1826
- case 14:
1827
- e = _context1.sent;
1798
+ case 58:
1799
+ e = _context11.sent;
1828
1800
  writeToken = e.write_token;
1829
- case 15:
1830
- _context1.next = 16;
1801
+ case 60:
1802
+ _context11.next = 62;
1831
1803
  return this.ReplaceMetadata({
1832
1804
  libraryId: libraryId,
1833
1805
  objectId: objectId,
@@ -1835,8 +1807,8 @@ exports.StreamConfig = /*#__PURE__*/function () {
1835
1807
  metadataSubtree: "live_recording",
1836
1808
  metadata: liveRecordingConfig.live_recording
1837
1809
  });
1838
- case 16:
1839
- _context1.next = 17;
1810
+ case 62:
1811
+ _context11.next = 64;
1840
1812
  return this.ReplaceMetadata({
1841
1813
  libraryId: libraryId,
1842
1814
  objectId: objectId,
@@ -1844,30 +1816,30 @@ exports.StreamConfig = /*#__PURE__*/function () {
1844
1816
  metadataSubtree: "live_recording_config/probe_info",
1845
1817
  metadata: probe
1846
1818
  });
1847
- case 17:
1819
+ case 64:
1848
1820
  if (!finalize) {
1849
- _context1.next = 19;
1821
+ _context11.next = 68;
1850
1822
  break;
1851
1823
  }
1852
- _context1.next = 18;
1824
+ _context11.next = 67;
1853
1825
  return this.FinalizeContentObject({
1854
1826
  libraryId: libraryId,
1855
1827
  objectId: objectId,
1856
1828
  writeToken: writeToken,
1857
1829
  commitMessage: "Apply live stream configuration"
1858
1830
  });
1859
- case 18:
1860
- status.fin = _context1.sent;
1861
- case 19:
1862
- return _context1.abrupt("return", status);
1863
- case 20:
1831
+ case 67:
1832
+ status.fin = _context11.sent;
1833
+ case 68:
1834
+ return _context11.abrupt("return", status);
1835
+ case 69:
1864
1836
  case "end":
1865
- return _context1.stop();
1837
+ return _context11.stop();
1866
1838
  }
1867
- }, _callee1, this, [[5, 10]]);
1839
+ }, _callee11, this, [[30, 45]]);
1868
1840
  }));
1869
- return function (_x1) {
1870
- return _ref20.apply(this, arguments);
1841
+ return function (_x11) {
1842
+ return _ref22.apply(this, arguments);
1871
1843
  };
1872
1844
  }();
1873
1845
 
@@ -1880,9 +1852,9 @@ exports.StreamConfig = /*#__PURE__*/function () {
1880
1852
  *
1881
1853
  * @return {Promise<Object>} - The list of stream URLs
1882
1854
  */
1883
- exports.StreamListUrls = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee11() {
1855
+ exports.StreamListUrls = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee13() {
1884
1856
  var _this2 = this;
1885
- var _ref22,
1857
+ var _ref24,
1886
1858
  siteId,
1887
1859
  STATUS_MAP,
1888
1860
  tenantContractId,
@@ -1890,21 +1862,12 @@ exports.StreamListUrls = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerato
1890
1862
  activeUrlMap,
1891
1863
  streamUrlStatus,
1892
1864
  streamUrls,
1893
- _args11 = arguments,
1894
- _t20,
1895
- _t21,
1896
- _t22,
1897
- _t23,
1898
- _t24,
1899
- _t25,
1900
- _t26,
1901
- _t27,
1902
- _t28;
1903
- return _regeneratorRuntime.wrap(function (_context11) {
1904
- while (1) switch (_context11.prev = _context11.next) {
1865
+ _args13 = arguments;
1866
+ return _regeneratorRuntime.wrap(function _callee13$(_context13) {
1867
+ while (1) switch (_context13.prev = _context13.next) {
1905
1868
  case 0:
1906
- _ref22 = _args11.length > 0 && _args11[0] !== undefined ? _args11[0] : {}, siteId = _ref22.siteId;
1907
- _context11.prev = 1;
1869
+ _ref24 = _args13.length > 0 && _args13[0] !== undefined ? _args13[0] : {}, siteId = _ref24.siteId;
1870
+ _context13.prev = 1;
1908
1871
  STATUS_MAP = {
1909
1872
  UNCONFIGURED: "unconfigured",
1910
1873
  UNINITIALIZED: "uninitialized",
@@ -1915,78 +1878,78 @@ exports.StreamListUrls = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerato
1915
1878
  STALLED: "stalled"
1916
1879
  };
1917
1880
  if (siteId) {
1918
- _context11.next = 5;
1881
+ _context13.next = 12;
1919
1882
  break;
1920
1883
  }
1921
- _context11.next = 2;
1884
+ _context13.next = 6;
1922
1885
  return this.userProfileClient.TenantContractId();
1923
- case 2:
1924
- tenantContractId = _context11.sent;
1886
+ case 6:
1887
+ tenantContractId = _context13.sent;
1925
1888
  if (tenantContractId) {
1926
- _context11.next = 3;
1889
+ _context13.next = 9;
1927
1890
  break;
1928
1891
  }
1929
1892
  throw Error("No tenant contract ID configured");
1930
- case 3:
1931
- _context11.next = 4;
1893
+ case 9:
1894
+ _context13.next = 11;
1932
1895
  return this.ContentObjectMetadata({
1933
1896
  libraryId: tenantContractId.replace("iten", "ilib"),
1934
1897
  objectId: tenantContractId.replace("iten", "iq__"),
1935
1898
  metadataSubtree: "public/sites/live_streams"
1936
1899
  });
1937
- case 4:
1938
- siteId = _context11.sent;
1939
- case 5:
1940
- _t20 = this;
1941
- _context11.next = 6;
1900
+ case 11:
1901
+ siteId = _context13.sent;
1902
+ case 12:
1903
+ _context13.t0 = this;
1904
+ _context13.next = 15;
1942
1905
  return this.ContentObjectLibraryId({
1943
1906
  objectId: siteId
1944
1907
  });
1945
- case 6:
1946
- _t21 = _context11.sent;
1947
- _t22 = siteId;
1948
- _t23 = {
1949
- libraryId: _t21,
1950
- objectId: _t22,
1908
+ case 15:
1909
+ _context13.t1 = _context13.sent;
1910
+ _context13.t2 = siteId;
1911
+ _context13.t3 = {
1912
+ libraryId: _context13.t1,
1913
+ objectId: _context13.t2,
1951
1914
  metadataSubtree: "public/asset_metadata/live_streams",
1952
1915
  resolveLinks: true,
1953
1916
  resolveIgnoreErrors: true,
1954
1917
  resolveIncludeSource: true
1955
1918
  };
1956
- _context11.next = 7;
1957
- return _t20.ContentObjectMetadata.call(_t20, _t23);
1958
- case 7:
1959
- streamMetadata = _context11.sent;
1919
+ _context13.next = 20;
1920
+ return _context13.t0.ContentObjectMetadata.call(_context13.t0, _context13.t3);
1921
+ case 20:
1922
+ streamMetadata = _context13.sent;
1960
1923
  activeUrlMap = {};
1961
- _context11.next = 8;
1924
+ _context13.next = 24;
1962
1925
  return this.utils.LimitedMap(10, Object.keys(streamMetadata || {}), /*#__PURE__*/function () {
1963
- var _ref23 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee10(slug) {
1926
+ var _ref25 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee12(slug) {
1964
1927
  var stream, versionHash, objectId, libraryId, status, streamMeta, url, isActive;
1965
- return _regeneratorRuntime.wrap(function (_context10) {
1966
- while (1) switch (_context10.prev = _context10.next) {
1928
+ return _regeneratorRuntime.wrap(function _callee12$(_context12) {
1929
+ while (1) switch (_context12.prev = _context12.next) {
1967
1930
  case 0:
1968
1931
  stream = streamMetadata[slug];
1969
1932
  if (stream && stream["."] && stream["."].source) {
1970
1933
  versionHash = stream["."].source;
1971
1934
  }
1972
1935
  if (!versionHash) {
1973
- _context10.next = 4;
1936
+ _context12.next = 16;
1974
1937
  break;
1975
1938
  }
1976
1939
  objectId = _this2.utils.DecodeVersionHash(versionHash).objectId;
1977
- _context10.next = 1;
1940
+ _context12.next = 6;
1978
1941
  return _this2.ContentObjectLibraryId({
1979
1942
  objectId: objectId
1980
1943
  });
1981
- case 1:
1982
- libraryId = _context10.sent;
1983
- _context10.next = 2;
1944
+ case 6:
1945
+ libraryId = _context12.sent;
1946
+ _context12.next = 9;
1984
1947
  return _this2.StreamStatus({
1985
1948
  name: objectId
1986
1949
  });
1987
- case 2:
1988
- status = _context10.sent;
1989
- _context10.next = 3;
1950
+ case 9:
1951
+ status = _context12.sent;
1952
+ _context12.next = 12;
1990
1953
  return _this2.ContentObjectMetadata({
1991
1954
  objectId: objectId,
1992
1955
  libraryId: libraryId,
@@ -1994,50 +1957,50 @@ exports.StreamListUrls = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerato
1994
1957
  // live_recording_config/url is the old path
1995
1958
  "live_recording_config/url"]
1996
1959
  });
1997
- case 3:
1998
- streamMeta = _context10.sent;
1960
+ case 12:
1961
+ streamMeta = _context12.sent;
1999
1962
  url = streamMeta.live_recording_config.reference_url || streamMeta.live_recording_config.url;
2000
1963
  isActive = [STATUS_MAP.STARTING, STATUS_MAP.RUNNING, STATUS_MAP.STALLED, STATUS_MAP.STOPPED].includes(status.state);
2001
1964
  if (url && isActive) {
2002
1965
  activeUrlMap[url] = true;
2003
1966
  }
2004
- case 4:
1967
+ case 16:
2005
1968
  case "end":
2006
- return _context10.stop();
1969
+ return _context12.stop();
2007
1970
  }
2008
- }, _callee10);
1971
+ }, _callee12);
2009
1972
  }));
2010
- return function (_x10) {
2011
- return _ref23.apply(this, arguments);
1973
+ return function (_x12) {
1974
+ return _ref25.apply(this, arguments);
2012
1975
  };
2013
1976
  }());
2014
- case 8:
1977
+ case 24:
2015
1978
  streamUrlStatus = {};
2016
- _t24 = this;
2017
- _context11.next = 9;
1979
+ _context13.t4 = this;
1980
+ _context13.next = 28;
2018
1981
  return this.ContentObjectLibraryId({
2019
1982
  objectId: siteId
2020
1983
  });
2021
- case 9:
2022
- _t25 = _context11.sent;
2023
- _t26 = siteId;
2024
- _t27 = {
2025
- libraryId: _t25,
2026
- objectId: _t26,
1984
+ case 28:
1985
+ _context13.t5 = _context13.sent;
1986
+ _context13.t6 = siteId;
1987
+ _context13.t7 = {
1988
+ libraryId: _context13.t5,
1989
+ objectId: _context13.t6,
2027
1990
  metadataSubtree: "/live_stream_urls",
2028
1991
  resolveLinks: true,
2029
1992
  resolveIgnoreErrors: true
2030
1993
  };
2031
- _context11.next = 10;
2032
- return _t24.ContentObjectMetadata.call(_t24, _t27);
2033
- case 10:
2034
- streamUrls = _context11.sent;
1994
+ _context13.next = 33;
1995
+ return _context13.t4.ContentObjectMetadata.call(_context13.t4, _context13.t7);
1996
+ case 33:
1997
+ streamUrls = _context13.sent;
2035
1998
  if (streamUrls) {
2036
- _context11.next = 11;
1999
+ _context13.next = 36;
2037
2000
  break;
2038
2001
  }
2039
2002
  throw Error("No pre-allocated URLs configured");
2040
- case 11:
2003
+ case 36:
2041
2004
  Object.keys(streamUrls || {}).forEach(function (protocol) {
2042
2005
  streamUrlStatus[protocol] = streamUrls[protocol].map(function (url) {
2043
2006
  return {
@@ -2046,16 +2009,16 @@ exports.StreamListUrls = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerato
2046
2009
  };
2047
2010
  });
2048
2011
  });
2049
- return _context11.abrupt("return", streamUrlStatus);
2050
- case 12:
2051
- _context11.prev = 12;
2052
- _t28 = _context11["catch"](1);
2053
- console.error(_t28);
2054
- case 13:
2012
+ return _context13.abrupt("return", streamUrlStatus);
2013
+ case 40:
2014
+ _context13.prev = 40;
2015
+ _context13.t8 = _context13["catch"](1);
2016
+ console.error(_context13.t8);
2017
+ case 43:
2055
2018
  case "end":
2056
- return _context11.stop();
2019
+ return _context13.stop();
2057
2020
  }
2058
- }, _callee11, this, [[1, 12]]);
2021
+ }, _callee13, this, [[1, 40]]);
2059
2022
  }));
2060
2023
 
2061
2024
  /**
@@ -2114,89 +2077,89 @@ exports.StreamListUrls = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerato
2114
2077
  */
2115
2078
 
2116
2079
  exports.StreamCopyToVod = /*#__PURE__*/function () {
2117
- var _ref25 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee12(_ref24) {
2118
- var name, targetObjectId, eventId, _ref24$streams, streams, _ref24$finalize, finalize, _ref24$recordingPerio, recordingPeriod, _ref24$startTime, startTime, _ref24$endTime, endTime, objectId, abrProfile, status, libraryId, targetLibraryId, kmsAddress, kmsCapId, kmsCap, liveHash, event, _yield$this$EditConte2, writeToken, abrMezInitBody, finalizeResponse, _t29, _t30;
2119
- return _regeneratorRuntime.wrap(function (_context12) {
2120
- while (1) switch (_context12.prev = _context12.next) {
2080
+ var _ref27 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee14(_ref26) {
2081
+ var name, targetObjectId, eventId, _ref26$streams, streams, _ref26$finalize, finalize, _ref26$recordingPerio, recordingPeriod, _ref26$startTime, startTime, _ref26$endTime, endTime, objectId, abrProfile, status, libraryId, targetLibraryId, kmsAddress, kmsCapId, kmsCap, liveHash, event, _yield$this$EditConte2, writeToken, abrMezInitBody, finalizeResponse;
2082
+ return _regeneratorRuntime.wrap(function _callee14$(_context14) {
2083
+ while (1) switch (_context14.prev = _context14.next) {
2121
2084
  case 0:
2122
- name = _ref24.name, targetObjectId = _ref24.targetObjectId, eventId = _ref24.eventId, _ref24$streams = _ref24.streams, streams = _ref24$streams === void 0 ? null : _ref24$streams, _ref24$finalize = _ref24.finalize, finalize = _ref24$finalize === void 0 ? true : _ref24$finalize, _ref24$recordingPerio = _ref24.recordingPeriod, recordingPeriod = _ref24$recordingPerio === void 0 ? -1 : _ref24$recordingPerio, _ref24$startTime = _ref24.startTime, startTime = _ref24$startTime === void 0 ? "" : _ref24$startTime, _ref24$endTime = _ref24.endTime, endTime = _ref24$endTime === void 0 ? "" : _ref24$endTime;
2085
+ name = _ref26.name, targetObjectId = _ref26.targetObjectId, eventId = _ref26.eventId, _ref26$streams = _ref26.streams, streams = _ref26$streams === void 0 ? null : _ref26$streams, _ref26$finalize = _ref26.finalize, finalize = _ref26$finalize === void 0 ? true : _ref26$finalize, _ref26$recordingPerio = _ref26.recordingPeriod, recordingPeriod = _ref26$recordingPerio === void 0 ? -1 : _ref26$recordingPerio, _ref26$startTime = _ref26.startTime, startTime = _ref26$startTime === void 0 ? "" : _ref26$startTime, _ref26$endTime = _ref26.endTime, endTime = _ref26$endTime === void 0 ? "" : _ref26$endTime;
2123
2086
  objectId = name;
2124
2087
  abrProfile = require("../abr_profiles/abr_profile_live_to_vod.js");
2125
- _context12.next = 1;
2088
+ _context14.next = 5;
2126
2089
  return this.StreamStatus({
2127
2090
  name: name
2128
2091
  });
2129
- case 1:
2130
- status = _context12.sent;
2092
+ case 5:
2093
+ status = _context14.sent;
2131
2094
  libraryId = status.library_id;
2132
2095
  this.Log("Copying stream ".concat(name, " to target ").concat(targetObjectId));
2133
2096
  ValidateObject(targetObjectId);
2134
- _context12.next = 2;
2097
+ _context14.next = 11;
2135
2098
  return this.ContentObjectLibraryId({
2136
2099
  objectId: targetObjectId
2137
2100
  });
2138
- case 2:
2139
- targetLibraryId = _context12.sent;
2140
- _context12.next = 3;
2101
+ case 11:
2102
+ targetLibraryId = _context14.sent;
2103
+ _context14.next = 14;
2141
2104
  return this.authClient.KMSAddress({
2142
2105
  objectId: targetObjectId
2143
2106
  });
2144
- case 3:
2145
- kmsAddress = _context12.sent;
2107
+ case 14:
2108
+ kmsAddress = _context14.sent;
2146
2109
  kmsCapId = "eluv.caps.ikms".concat(this.utils.AddressToHash(kmsAddress));
2147
- _context12.next = 4;
2110
+ _context14.next = 18;
2148
2111
  return this.ContentObjectMetadata({
2149
2112
  libraryId: targetLibraryId,
2150
2113
  objectId: targetObjectId,
2151
2114
  metadataSubtree: kmsCapId
2152
2115
  });
2153
- case 4:
2154
- kmsCap = _context12.sent;
2116
+ case 18:
2117
+ kmsCap = _context14.sent;
2155
2118
  if (kmsCap) {
2156
- _context12.next = 5;
2119
+ _context14.next = 21;
2157
2120
  break;
2158
2121
  }
2159
2122
  throw Error("No content encryption key set for object ".concat(targetObjectId));
2160
- case 5:
2161
- _context12.prev = 5;
2123
+ case 21:
2124
+ _context14.prev = 21;
2162
2125
  status.live_object_id = objectId;
2163
- _context12.next = 6;
2126
+ _context14.next = 25;
2164
2127
  return this.LatestVersionHash({
2165
2128
  objectId: objectId,
2166
2129
  libraryId: libraryId
2167
2130
  });
2168
- case 6:
2169
- liveHash = _context12.sent;
2131
+ case 25:
2132
+ liveHash = _context14.sent;
2170
2133
  status.live_hash = liveHash;
2171
2134
  if (!eventId) {
2172
- _context12.next = 8;
2135
+ _context14.next = 32;
2173
2136
  break;
2174
2137
  }
2175
- _context12.next = 7;
2138
+ _context14.next = 30;
2176
2139
  return this.CueInfo({
2177
2140
  eventId: eventId,
2178
2141
  status: status
2179
2142
  });
2180
- case 7:
2181
- event = _context12.sent;
2143
+ case 30:
2144
+ event = _context14.sent;
2182
2145
  if (event.eventStart && event.eventEnd) {
2183
2146
  startTime = event.eventStart;
2184
2147
  endTime = event.eventEnd;
2185
2148
  }
2186
- case 8:
2187
- _context12.next = 9;
2149
+ case 32:
2150
+ _context14.next = 34;
2188
2151
  return this.EditContentObject({
2189
2152
  objectId: targetObjectId,
2190
2153
  libraryId: targetLibraryId
2191
2154
  });
2192
- case 9:
2193
- _yield$this$EditConte2 = _context12.sent;
2155
+ case 34:
2156
+ _yield$this$EditConte2 = _context14.sent;
2194
2157
  writeToken = _yield$this$EditConte2.writeToken;
2195
2158
  status.target_object_id = targetObjectId;
2196
2159
  status.target_library_id = targetLibraryId;
2197
2160
  status.target_write_token = writeToken;
2198
2161
  this.Log("Process live source (takes around 20 sec per hour of content)");
2199
- _context12.next = 10;
2162
+ _context14.next = 42;
2200
2163
  return this.CallBitcodeMethod({
2201
2164
  libraryId: targetLibraryId,
2202
2165
  objectId: targetObjectId,
@@ -2215,7 +2178,7 @@ exports.StreamCopyToVod = /*#__PURE__*/function () {
2215
2178
  constant: false,
2216
2179
  format: "text"
2217
2180
  });
2218
- case 10:
2181
+ case 42:
2219
2182
  abrMezInitBody = {
2220
2183
  abr_profile: abrProfile,
2221
2184
  "offering_key": "default",
@@ -2223,7 +2186,7 @@ exports.StreamCopyToVod = /*#__PURE__*/function () {
2223
2186
  "variant_key": "default",
2224
2187
  "keep_other_streams": false
2225
2188
  };
2226
- _context12.next = 11;
2189
+ _context14.next = 45;
2227
2190
  return this.CallBitcodeMethod({
2228
2191
  libraryId: targetLibraryId,
2229
2192
  objectId: targetObjectId,
@@ -2233,9 +2196,9 @@ exports.StreamCopyToVod = /*#__PURE__*/function () {
2233
2196
  constant: false,
2234
2197
  format: "text"
2235
2198
  });
2236
- case 11:
2237
- _context12.prev = 11;
2238
- _context12.next = 12;
2199
+ case 45:
2200
+ _context14.prev = 45;
2201
+ _context14.next = 48;
2239
2202
  return this.CallBitcodeMethod({
2240
2203
  libraryId: targetLibraryId,
2241
2204
  objectId: targetObjectId,
@@ -2245,16 +2208,16 @@ exports.StreamCopyToVod = /*#__PURE__*/function () {
2245
2208
  constant: false,
2246
2209
  format: "text"
2247
2210
  });
2248
- case 12:
2249
- _context12.next = 14;
2211
+ case 48:
2212
+ _context14.next = 54;
2250
2213
  break;
2251
- case 13:
2252
- _context12.prev = 13;
2253
- _t29 = _context12["catch"](11);
2254
- console.error("Unable to call /media/live_to_vod/copy", _t29);
2255
- throw _t29;
2256
- case 14:
2257
- _context12.next = 15;
2214
+ case 50:
2215
+ _context14.prev = 50;
2216
+ _context14.t0 = _context14["catch"](45);
2217
+ console.error("Unable to call /media/live_to_vod/copy", _context14.t0);
2218
+ throw _context14.t0;
2219
+ case 54:
2220
+ _context14.next = 56;
2258
2221
  return this.CallBitcodeMethod({
2259
2222
  libraryId: targetLibraryId,
2260
2223
  objectId: targetObjectId,
@@ -2264,22 +2227,22 @@ exports.StreamCopyToVod = /*#__PURE__*/function () {
2264
2227
  constant: false,
2265
2228
  format: "text"
2266
2229
  });
2267
- case 15:
2230
+ case 56:
2268
2231
  if (!finalize) {
2269
- _context12.next = 17;
2232
+ _context14.next = 61;
2270
2233
  break;
2271
2234
  }
2272
- _context12.next = 16;
2235
+ _context14.next = 59;
2273
2236
  return this.FinalizeContentObject({
2274
2237
  libraryId: targetLibraryId,
2275
2238
  objectId: targetObjectId,
2276
2239
  writeToken: writeToken,
2277
2240
  commitMessage: "Live Stream to VoD"
2278
2241
  });
2279
- case 16:
2280
- finalizeResponse = _context12.sent;
2242
+ case 59:
2243
+ finalizeResponse = _context14.sent;
2281
2244
  status.target_hash = finalizeResponse.hash;
2282
- case 17:
2245
+ case 61:
2283
2246
  // Clean up unnecessary status items
2284
2247
  delete status.playout_urls;
2285
2248
  delete status.lro_status_url;
@@ -2287,20 +2250,20 @@ exports.StreamCopyToVod = /*#__PURE__*/function () {
2287
2250
  delete status.recording_period_sequence;
2288
2251
  delete status.edge_meta_size;
2289
2252
  delete status.insertions;
2290
- return _context12.abrupt("return", status);
2291
- case 18:
2292
- _context12.prev = 18;
2293
- _t30 = _context12["catch"](5);
2294
- this.Log(_t30, true);
2295
- throw _t30;
2296
- case 19:
2253
+ return _context14.abrupt("return", status);
2254
+ case 70:
2255
+ _context14.prev = 70;
2256
+ _context14.t1 = _context14["catch"](21);
2257
+ this.Log(_context14.t1, true);
2258
+ throw _context14.t1;
2259
+ case 74:
2297
2260
  case "end":
2298
- return _context12.stop();
2261
+ return _context14.stop();
2299
2262
  }
2300
- }, _callee12, this, [[5, 18], [11, 13]]);
2263
+ }, _callee14, this, [[21, 70], [45, 50]]);
2301
2264
  }));
2302
- return function (_x11) {
2303
- return _ref25.apply(this, arguments);
2265
+ return function (_x13) {
2266
+ return _ref27.apply(this, arguments);
2304
2267
  };
2305
2268
  }();
2306
2269
 
@@ -2321,48 +2284,48 @@ exports.StreamCopyToVod = /*#__PURE__*/function () {
2321
2284
  * @return {Promise<Object>} - The finalize response
2322
2285
  */
2323
2286
  exports.StreamRemoveWatermark = /*#__PURE__*/function () {
2324
- var _ref27 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee13(_ref26) {
2325
- var libraryId, objectId, writeToken, types, _ref26$finalize, finalize, _yield$this$EditConte3, edgeWriteToken, metadataPath, objectMetadata, finalizeResponse;
2326
- return _regeneratorRuntime.wrap(function (_context13) {
2327
- while (1) switch (_context13.prev = _context13.next) {
2287
+ var _ref29 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee15(_ref28) {
2288
+ var libraryId, objectId, writeToken, types, _ref28$finalize, finalize, _yield$this$EditConte3, edgeWriteToken, metadataPath, objectMetadata, finalizeResponse;
2289
+ return _regeneratorRuntime.wrap(function _callee15$(_context15) {
2290
+ while (1) switch (_context15.prev = _context15.next) {
2328
2291
  case 0:
2329
- libraryId = _ref26.libraryId, objectId = _ref26.objectId, writeToken = _ref26.writeToken, types = _ref26.types, _ref26$finalize = _ref26.finalize, finalize = _ref26$finalize === void 0 ? true : _ref26$finalize;
2292
+ libraryId = _ref28.libraryId, objectId = _ref28.objectId, writeToken = _ref28.writeToken, types = _ref28.types, _ref28$finalize = _ref28.finalize, finalize = _ref28$finalize === void 0 ? true : _ref28$finalize;
2330
2293
  ValidateObject(objectId);
2331
2294
  if (libraryId) {
2332
- _context13.next = 2;
2295
+ _context15.next = 6;
2333
2296
  break;
2334
2297
  }
2335
- _context13.next = 1;
2298
+ _context15.next = 5;
2336
2299
  return this.ContentObjectLibraryId({
2337
2300
  objectId: objectId
2338
2301
  });
2339
- case 1:
2340
- libraryId = _context13.sent;
2341
- case 2:
2302
+ case 5:
2303
+ libraryId = _context15.sent;
2304
+ case 6:
2342
2305
  if (writeToken) {
2343
- _context13.next = 4;
2306
+ _context15.next = 11;
2344
2307
  break;
2345
2308
  }
2346
- _context13.next = 3;
2309
+ _context15.next = 9;
2347
2310
  return this.EditContentObject({
2348
2311
  objectId: objectId,
2349
2312
  libraryId: libraryId
2350
2313
  });
2351
- case 3:
2352
- _yield$this$EditConte3 = _context13.sent;
2314
+ case 9:
2315
+ _yield$this$EditConte3 = _context15.sent;
2353
2316
  writeToken = _yield$this$EditConte3.writeToken;
2354
- case 4:
2317
+ case 11:
2355
2318
  this.Log("Removing watermark types: ".concat(types.join(", "), " ").concat(libraryId, " ").concat(objectId));
2356
- _context13.next = 5;
2319
+ _context15.next = 14;
2357
2320
  return this.ContentObjectMetadata({
2358
2321
  objectId: objectId,
2359
2322
  libraryId: libraryId,
2360
2323
  metadataSubtree: "/live_recording/fabric_config/edge_write_token"
2361
2324
  });
2362
- case 5:
2363
- edgeWriteToken = _context13.sent;
2325
+ case 14:
2326
+ edgeWriteToken = _context15.sent;
2364
2327
  metadataPath = "live_recording/playout_config";
2365
- _context13.next = 6;
2328
+ _context15.next = 18;
2366
2329
  return this.ContentObjectMetadata({
2367
2330
  libraryId: libraryId,
2368
2331
  objectId: objectId,
@@ -2370,14 +2333,14 @@ exports.StreamRemoveWatermark = /*#__PURE__*/function () {
2370
2333
  metadataSubtree: metadataPath,
2371
2334
  resolveLinks: false
2372
2335
  });
2373
- case 6:
2374
- objectMetadata = _context13.sent;
2336
+ case 18:
2337
+ objectMetadata = _context15.sent;
2375
2338
  if (objectMetadata) {
2376
- _context13.next = 7;
2339
+ _context15.next = 21;
2377
2340
  break;
2378
2341
  }
2379
2342
  throw Error("Stream object must be configured before removing a watermark");
2380
- case 7:
2343
+ case 21:
2381
2344
  types.forEach(function (type) {
2382
2345
  if (type === "text") {
2383
2346
  delete objectMetadata.simple_watermark;
@@ -2387,7 +2350,7 @@ exports.StreamRemoveWatermark = /*#__PURE__*/function () {
2387
2350
  delete objectMetadata.forensic_watermark;
2388
2351
  }
2389
2352
  });
2390
- _context13.next = 8;
2353
+ _context15.next = 24;
2391
2354
  return this.ReplaceMetadata({
2392
2355
  libraryId: libraryId,
2393
2356
  objectId: objectId,
@@ -2395,12 +2358,12 @@ exports.StreamRemoveWatermark = /*#__PURE__*/function () {
2395
2358
  metadataSubtree: metadataPath,
2396
2359
  metadata: objectMetadata
2397
2360
  });
2398
- case 8:
2361
+ case 24:
2399
2362
  if (!edgeWriteToken) {
2400
- _context13.next = 9;
2363
+ _context15.next = 27;
2401
2364
  break;
2402
2365
  }
2403
- _context13.next = 9;
2366
+ _context15.next = 27;
2404
2367
  return this.ReplaceMetadata({
2405
2368
  libraryId: libraryId,
2406
2369
  objectId: objectId,
@@ -2408,29 +2371,29 @@ exports.StreamRemoveWatermark = /*#__PURE__*/function () {
2408
2371
  metadataSubtree: metadataPath,
2409
2372
  metadata: objectMetadata
2410
2373
  });
2411
- case 9:
2374
+ case 27:
2412
2375
  if (!finalize) {
2413
- _context13.next = 11;
2376
+ _context15.next = 32;
2414
2377
  break;
2415
2378
  }
2416
- _context13.next = 10;
2379
+ _context15.next = 30;
2417
2380
  return this.FinalizeContentObject({
2418
2381
  libraryId: libraryId,
2419
2382
  objectId: objectId,
2420
2383
  writeToken: writeToken,
2421
2384
  commitMessage: "Watermark removed"
2422
2385
  });
2423
- case 10:
2424
- finalizeResponse = _context13.sent;
2425
- return _context13.abrupt("return", finalizeResponse);
2426
- case 11:
2386
+ case 30:
2387
+ finalizeResponse = _context15.sent;
2388
+ return _context15.abrupt("return", finalizeResponse);
2389
+ case 32:
2427
2390
  case "end":
2428
- return _context13.stop();
2391
+ return _context15.stop();
2429
2392
  }
2430
- }, _callee13, this);
2393
+ }, _callee15, this);
2431
2394
  }));
2432
- return function (_x12) {
2433
- return _ref27.apply(this, arguments);
2395
+ return function (_x14) {
2396
+ return _ref29.apply(this, arguments);
2434
2397
  };
2435
2398
  }();
2436
2399
 
@@ -2485,49 +2448,49 @@ exports.StreamRemoveWatermark = /*#__PURE__*/function () {
2485
2448
  * @return {Promise<Object>} - The finalize response
2486
2449
  */
2487
2450
  exports.StreamAddWatermark = /*#__PURE__*/function () {
2488
- var _ref29 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee14(_ref28) {
2489
- var libraryId, objectId, writeToken, simpleWatermark, imageWatermark, forensicWatermark, _ref28$finalize, finalize, _yield$this$EditConte4, edgeWriteToken, watermarkType, metadataPath, objectMetadata, watermarkArgCount, response, finalizeResponse;
2490
- return _regeneratorRuntime.wrap(function (_context14) {
2491
- while (1) switch (_context14.prev = _context14.next) {
2451
+ var _ref31 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee16(_ref30) {
2452
+ var libraryId, objectId, writeToken, simpleWatermark, imageWatermark, forensicWatermark, _ref30$finalize, finalize, _yield$this$EditConte4, edgeWriteToken, watermarkType, metadataPath, objectMetadata, watermarkArgCount, response, finalizeResponse;
2453
+ return _regeneratorRuntime.wrap(function _callee16$(_context16) {
2454
+ while (1) switch (_context16.prev = _context16.next) {
2492
2455
  case 0:
2493
- libraryId = _ref28.libraryId, objectId = _ref28.objectId, writeToken = _ref28.writeToken, simpleWatermark = _ref28.simpleWatermark, imageWatermark = _ref28.imageWatermark, forensicWatermark = _ref28.forensicWatermark, _ref28$finalize = _ref28.finalize, finalize = _ref28$finalize === void 0 ? true : _ref28$finalize;
2456
+ libraryId = _ref30.libraryId, objectId = _ref30.objectId, writeToken = _ref30.writeToken, simpleWatermark = _ref30.simpleWatermark, imageWatermark = _ref30.imageWatermark, forensicWatermark = _ref30.forensicWatermark, _ref30$finalize = _ref30.finalize, finalize = _ref30$finalize === void 0 ? true : _ref30$finalize;
2494
2457
  ValidateObject(objectId);
2495
2458
  if (libraryId) {
2496
- _context14.next = 2;
2459
+ _context16.next = 6;
2497
2460
  break;
2498
2461
  }
2499
- _context14.next = 1;
2462
+ _context16.next = 5;
2500
2463
  return this.ContentObjectLibraryId({
2501
2464
  objectId: objectId
2502
2465
  });
2503
- case 1:
2504
- libraryId = _context14.sent;
2505
- case 2:
2466
+ case 5:
2467
+ libraryId = _context16.sent;
2468
+ case 6:
2506
2469
  if (writeToken) {
2507
- _context14.next = 4;
2470
+ _context16.next = 11;
2508
2471
  break;
2509
2472
  }
2510
- _context14.next = 3;
2473
+ _context16.next = 9;
2511
2474
  return this.EditContentObject({
2512
2475
  objectId: objectId,
2513
2476
  libraryId: libraryId
2514
2477
  });
2515
- case 3:
2516
- _yield$this$EditConte4 = _context14.sent;
2478
+ case 9:
2479
+ _yield$this$EditConte4 = _context16.sent;
2517
2480
  writeToken = _yield$this$EditConte4.writeToken;
2518
- case 4:
2519
- _context14.next = 5;
2481
+ case 11:
2482
+ _context16.next = 13;
2520
2483
  return this.ContentObjectMetadata({
2521
2484
  objectId: objectId,
2522
2485
  libraryId: libraryId,
2523
2486
  metadataSubtree: "/live_recording/fabric_config/edge_write_token"
2524
2487
  });
2525
- case 5:
2526
- edgeWriteToken = _context14.sent;
2488
+ case 13:
2489
+ edgeWriteToken = _context16.sent;
2527
2490
  watermarkType = imageWatermark ? "image" : forensicWatermark ? "forensic" : "text";
2528
2491
  metadataPath = "live_recording/playout_config";
2529
2492
  this.Log("Adding watermarking type: ".concat(watermarkType, " ").concat(libraryId, " ").concat(objectId));
2530
- _context14.next = 6;
2493
+ _context16.next = 19;
2531
2494
  return this.ContentObjectMetadata({
2532
2495
  libraryId: libraryId,
2533
2496
  objectId: objectId,
@@ -2535,30 +2498,30 @@ exports.StreamAddWatermark = /*#__PURE__*/function () {
2535
2498
  metadataSubtree: metadataPath,
2536
2499
  resolveLinks: false
2537
2500
  });
2538
- case 6:
2539
- objectMetadata = _context14.sent;
2501
+ case 19:
2502
+ objectMetadata = _context16.sent;
2540
2503
  if (objectMetadata) {
2541
- _context14.next = 7;
2504
+ _context16.next = 22;
2542
2505
  break;
2543
2506
  }
2544
2507
  throw Error("Stream object must be configured before adding a watermark");
2545
- case 7:
2508
+ case 22:
2546
2509
  watermarkArgCount = [simpleWatermark, imageWatermark, forensicWatermark].filter(function (i) {
2547
2510
  return !!i;
2548
2511
  }).length;
2549
2512
  console.log("watermark arg count", watermarkArgCount);
2550
2513
  if (!(watermarkArgCount === 0)) {
2551
- _context14.next = 8;
2514
+ _context16.next = 28;
2552
2515
  break;
2553
2516
  }
2554
2517
  throw Error("No watermark was provided");
2555
- case 8:
2518
+ case 28:
2556
2519
  if (!(watermarkArgCount > 1)) {
2557
- _context14.next = 9;
2520
+ _context16.next = 30;
2558
2521
  break;
2559
2522
  }
2560
2523
  throw Error("Only one watermark is allowed");
2561
- case 9:
2524
+ case 30:
2562
2525
  if (simpleWatermark) {
2563
2526
  objectMetadata.simple_watermark = simpleWatermark;
2564
2527
  } else if (imageWatermark) {
@@ -2566,7 +2529,7 @@ exports.StreamAddWatermark = /*#__PURE__*/function () {
2566
2529
  } else if (forensicWatermark) {
2567
2530
  objectMetadata.forensic_watermark = forensicWatermark;
2568
2531
  }
2569
- _context14.next = 10;
2532
+ _context16.next = 33;
2570
2533
  return this.ReplaceMetadata({
2571
2534
  libraryId: libraryId,
2572
2535
  objectId: objectId,
@@ -2574,12 +2537,12 @@ exports.StreamAddWatermark = /*#__PURE__*/function () {
2574
2537
  metadataSubtree: metadataPath,
2575
2538
  metadata: objectMetadata
2576
2539
  });
2577
- case 10:
2540
+ case 33:
2578
2541
  if (!edgeWriteToken) {
2579
- _context14.next = 11;
2542
+ _context16.next = 36;
2580
2543
  break;
2581
2544
  }
2582
- _context14.next = 11;
2545
+ _context16.next = 36;
2583
2546
  return this.ReplaceMetadata({
2584
2547
  libraryId: libraryId,
2585
2548
  objectId: objectId,
@@ -2587,36 +2550,36 @@ exports.StreamAddWatermark = /*#__PURE__*/function () {
2587
2550
  metadataSubtree: metadataPath,
2588
2551
  metadata: objectMetadata
2589
2552
  });
2590
- case 11:
2553
+ case 36:
2591
2554
  response = {
2592
2555
  "imageWatermark": objectMetadata.image_watermark,
2593
2556
  "textWatermark": objectMetadata.simple_watermark,
2594
2557
  "forensicWatermark": objectMetadata.forensic_watermark
2595
2558
  };
2596
2559
  if (!finalize) {
2597
- _context14.next = 13;
2560
+ _context16.next = 42;
2598
2561
  break;
2599
2562
  }
2600
- _context14.next = 12;
2563
+ _context16.next = 40;
2601
2564
  return this.FinalizeContentObject({
2602
2565
  libraryId: libraryId,
2603
2566
  objectId: objectId,
2604
2567
  writeToken: writeToken,
2605
2568
  commitMessage: "Watermark set"
2606
2569
  });
2607
- case 12:
2608
- finalizeResponse = _context14.sent;
2570
+ case 40:
2571
+ finalizeResponse = _context16.sent;
2609
2572
  response.hash = finalizeResponse.hash;
2610
- case 13:
2611
- return _context14.abrupt("return", response);
2612
- case 14:
2573
+ case 42:
2574
+ return _context16.abrupt("return", response);
2575
+ case 43:
2613
2576
  case "end":
2614
- return _context14.stop();
2577
+ return _context16.stop();
2615
2578
  }
2616
- }, _callee14, this);
2579
+ }, _callee16, this);
2617
2580
  }));
2618
- return function (_x13) {
2619
- return _ref29.apply(this, arguments);
2581
+ return function (_x15) {
2582
+ return _ref31.apply(this, arguments);
2620
2583
  };
2621
2584
  }();
2622
2585
 
@@ -2634,13 +2597,13 @@ exports.StreamAddWatermark = /*#__PURE__*/function () {
2634
2597
  * @returns {Promise<Object>} - Response describing audit results
2635
2598
  */
2636
2599
  exports.AuditStream = /*#__PURE__*/function () {
2637
- var _ref31 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee15(_ref30) {
2600
+ var _ref33 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee17(_ref32) {
2638
2601
  var objectId, versionHash, salt, samples, authorizationToken;
2639
- return _regeneratorRuntime.wrap(function (_context15) {
2640
- while (1) switch (_context15.prev = _context15.next) {
2602
+ return _regeneratorRuntime.wrap(function _callee17$(_context17) {
2603
+ while (1) switch (_context17.prev = _context17.next) {
2641
2604
  case 0:
2642
- objectId = _ref30.objectId, versionHash = _ref30.versionHash, salt = _ref30.salt, samples = _ref30.samples, authorizationToken = _ref30.authorizationToken;
2643
- _context15.next = 1;
2605
+ objectId = _ref32.objectId, versionHash = _ref32.versionHash, salt = _ref32.salt, samples = _ref32.samples, authorizationToken = _ref32.authorizationToken;
2606
+ _context17.next = 3;
2644
2607
  return ContentObjectAudit.AuditContentObject({
2645
2608
  client: this,
2646
2609
  objectId: objectId,
@@ -2650,15 +2613,15 @@ exports.AuditStream = /*#__PURE__*/function () {
2650
2613
  live: true,
2651
2614
  authorizationToken: authorizationToken
2652
2615
  });
2653
- case 1:
2654
- return _context15.abrupt("return", _context15.sent);
2655
- case 2:
2616
+ case 3:
2617
+ return _context17.abrupt("return", _context17.sent);
2618
+ case 4:
2656
2619
  case "end":
2657
- return _context15.stop();
2620
+ return _context17.stop();
2658
2621
  }
2659
- }, _callee15, this);
2622
+ }, _callee17, this);
2660
2623
  }));
2661
- return function (_x14) {
2662
- return _ref31.apply(this, arguments);
2624
+ return function (_x16) {
2625
+ return _ref33.apply(this, arguments);
2663
2626
  };
2664
2627
  }();