@eluvio/elv-client-js 4.2.10 → 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.
- package/dist/ElvClient-min.js +1 -1
- package/dist/ElvClient-node-min.js +1 -1
- package/dist/ElvFrameClient-min.js +1 -1
- package/dist/ElvPermissionsClient-min.js +1 -1
- package/dist/ElvWalletClient-min.js +1 -1
- package/dist/ElvWalletClient-node-min.js +1 -1
- package/dist/src/AuthorizationClient.js +723 -710
- package/dist/src/ContentObjectAudit.js +56 -56
- package/dist/src/ContentObjectVerification.js +281 -0
- package/dist/src/Crypto.js +85 -85
- package/dist/src/ElvClient.js +500 -530
- package/dist/src/ElvWallet.js +28 -30
- package/dist/src/EthClient.js +311 -311
- package/dist/src/FrameClient.js +64 -63
- package/dist/src/HttpClient.js +60 -60
- package/dist/src/Id.js +2 -1
- package/dist/src/PermissionsClient.js +487 -499
- package/dist/src/RemoteSigner.js +163 -114
- package/dist/src/UserProfileClient.js +374 -392
- package/dist/src/Utils.js +66 -69
- package/dist/src/Validation.js +10 -10
- package/dist/src/client/ABRPublishing.js +238 -238
- package/dist/src/client/AccessGroups.js +474 -477
- package/dist/src/client/ContentAccess.js +1709 -1705
- package/dist/src/client/ContentManagement.js +871 -871
- package/dist/src/client/Contracts.js +578 -575
- package/dist/src/client/Files.js +684 -700
- package/dist/src/client/LiveConf.js +6 -1
- package/dist/src/client/LiveStream.js +686 -723
- package/dist/src/client/NFT.js +14 -14
- package/dist/src/client/NTP.js +84 -84
- package/dist/src/client/Shares.js +60 -53
- package/dist/src/walletClient/ClientMethods.js +951 -977
- package/dist/src/walletClient/Notifications.js +14 -14
- package/dist/src/walletClient/Profile.js +66 -66
- package/dist/src/walletClient/Utils.js +15 -15
- package/dist/src/walletClient/index.js +581 -579
- package/package.json +1 -1
- package/src/client/LiveConf.js +5 -1
- package/src/client/LiveStream.js +9 -39
|
@@ -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 =
|
|
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
|
|
40
|
+
case 3:
|
|
41
41
|
tok = _context.sent;
|
|
42
42
|
return _context.abrupt("return", tok);
|
|
43
|
-
case
|
|
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
|
|
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
|
-
|
|
67
|
-
_context2.next =
|
|
66
|
+
_context2.t0 = _this.utils;
|
|
67
|
+
_context2.next = 5;
|
|
68
68
|
return HttpClient.Fetch(status.lro_status_url);
|
|
69
|
-
case
|
|
70
|
-
|
|
71
|
-
_context2.next =
|
|
72
|
-
return
|
|
73
|
-
case
|
|
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 =
|
|
77
|
+
_context2.next = 17;
|
|
78
78
|
break;
|
|
79
|
-
case
|
|
80
|
-
_context2.prev =
|
|
81
|
-
|
|
82
|
-
console.log("LRO status failed",
|
|
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
|
|
87
|
+
case 17:
|
|
88
88
|
_i = 0, _Object$values = Object.values(cues);
|
|
89
|
-
case
|
|
89
|
+
case 18:
|
|
90
90
|
if (!(_i < _Object$values.length)) {
|
|
91
|
-
_context2.next =
|
|
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
|
|
96
|
+
case 21:
|
|
97
97
|
if (!(_i2 < _Object$values2.length)) {
|
|
98
|
-
_context2.next =
|
|
98
|
+
_context2.next = 34;
|
|
99
99
|
break;
|
|
100
100
|
}
|
|
101
101
|
event = _Object$values2[_i2];
|
|
102
102
|
if (!(event.id == eventId)) {
|
|
103
|
-
_context2.next =
|
|
103
|
+
_context2.next = 31;
|
|
104
104
|
break;
|
|
105
105
|
}
|
|
106
|
-
|
|
107
|
-
_context2.next =
|
|
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
|
|
109
|
+
case 27:
|
|
110
110
|
eventStart = value.insertion_time;
|
|
111
|
-
return _context2.abrupt("
|
|
112
|
-
case
|
|
111
|
+
return _context2.abrupt("break", 31);
|
|
112
|
+
case 29:
|
|
113
113
|
eventEnd = value.insertion_time;
|
|
114
|
-
return _context2.abrupt("
|
|
115
|
-
case
|
|
114
|
+
return _context2.abrupt("break", 31);
|
|
115
|
+
case 31:
|
|
116
116
|
_i2++;
|
|
117
|
-
_context2.next =
|
|
117
|
+
_context2.next = 21;
|
|
118
118
|
break;
|
|
119
|
-
case
|
|
119
|
+
case 34:
|
|
120
120
|
_i++;
|
|
121
|
-
_context2.next =
|
|
121
|
+
_context2.next = 18;
|
|
122
122
|
break;
|
|
123
|
-
case
|
|
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
|
|
129
|
+
case 38:
|
|
130
130
|
case "end":
|
|
131
131
|
return _context2.stop();
|
|
132
132
|
}
|
|
133
|
-
}, _callee2, null, [[1,
|
|
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,
|
|
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
|
-
};
|
|
280
|
+
};
|
|
281
|
+
existingWriteToken = !!writeToken; // get existing metadata
|
|
280
282
|
console.log("Retrieving current metadata...");
|
|
281
|
-
_context3.next =
|
|
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
|
|
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
|
-
|
|
293
|
-
|
|
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
|
|
302
|
-
|
|
303
|
-
writeToken =
|
|
304
|
-
|
|
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 =
|
|
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
|
|
314
|
-
|
|
315
|
-
|
|
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
|
|
330
|
+
case 30:
|
|
322
331
|
finalizeResponse = _context3.sent;
|
|
323
332
|
masterVersionHash = finalizeResponse.hash;
|
|
324
|
-
|
|
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
|
|
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 =
|
|
357
|
+
_context3.next = 41;
|
|
352
358
|
return client.ContentObjectMetadata({
|
|
353
359
|
libraryId: libraryId,
|
|
354
|
-
|
|
360
|
+
objectId: objectId,
|
|
361
|
+
writeToken: existingWriteToken ? writeToken : undefined,
|
|
362
|
+
versionHash: existingWriteToken ? undefined : versionHash
|
|
355
363
|
});
|
|
356
|
-
case
|
|
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 =
|
|
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
|
|
380
|
+
case 49:
|
|
381
|
+
if (!finalize) {
|
|
382
|
+
_context3.next = 57;
|
|
383
|
+
break;
|
|
384
|
+
}
|
|
388
385
|
console.log("Finalizing...");
|
|
389
|
-
_context3.next =
|
|
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
|
|
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
|
|
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$
|
|
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$
|
|
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 =
|
|
442
|
-
_context4.next =
|
|
438
|
+
_context4.prev = 3;
|
|
439
|
+
_context4.next = 6;
|
|
443
440
|
return this.ContentObjectLibraryId({
|
|
444
441
|
objectId: objectId
|
|
445
442
|
});
|
|
446
|
-
case
|
|
443
|
+
case 6:
|
|
447
444
|
libraryId = _context4.sent;
|
|
448
445
|
status.library_id = libraryId;
|
|
449
446
|
status.object_id = objectId;
|
|
450
|
-
_context4.next =
|
|
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
|
|
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 =
|
|
457
|
+
_context4.next = 16;
|
|
461
458
|
break;
|
|
462
459
|
}
|
|
463
460
|
status.state = "unconfigured";
|
|
464
461
|
return _context4.abrupt("return", status);
|
|
465
|
-
case
|
|
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 =
|
|
464
|
+
_context4.next = 19;
|
|
468
465
|
break;
|
|
469
466
|
}
|
|
470
467
|
status.state = "uninitialized";
|
|
471
468
|
return _context4.abrupt("return", status);
|
|
472
|
-
case
|
|
469
|
+
case 19:
|
|
473
470
|
fabURI = mainMeta.live_recording.fabric_config.ingress_node_api;
|
|
474
471
|
if (!(fabURI === undefined)) {
|
|
475
|
-
_context4.next =
|
|
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
|
|
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 =
|
|
488
|
+
_context4.next = 31;
|
|
492
489
|
break;
|
|
493
490
|
}
|
|
494
491
|
status.state = "inactive";
|
|
495
492
|
return _context4.abrupt("return", status);
|
|
496
|
-
case
|
|
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 =
|
|
504
|
-
_context4.next =
|
|
505
|
-
return this.
|
|
500
|
+
_context4.prev = 34;
|
|
501
|
+
_context4.next = 37;
|
|
502
|
+
return this.CallBitcodeMethod({
|
|
506
503
|
libraryId: libraryId,
|
|
507
504
|
objectId: objectId,
|
|
508
|
-
|
|
509
|
-
|
|
505
|
+
method: "/live/meta",
|
|
506
|
+
constant: true
|
|
510
507
|
});
|
|
511
|
-
case
|
|
508
|
+
case 37:
|
|
512
509
|
edgeMeta = _context4.sent;
|
|
513
|
-
_context4.next =
|
|
510
|
+
_context4.next = 44;
|
|
514
511
|
break;
|
|
515
|
-
case
|
|
516
|
-
_context4.prev =
|
|
517
|
-
|
|
518
|
-
if (
|
|
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?",
|
|
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
|
|
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 =
|
|
528
|
+
_context4.next = 48;
|
|
532
529
|
break;
|
|
533
530
|
}
|
|
534
|
-
status.state = "
|
|
531
|
+
status.state = "inactive";
|
|
535
532
|
return _context4.abrupt("return", status);
|
|
536
|
-
case
|
|
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 =
|
|
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
|
|
564
|
+
call: "live/status"
|
|
568
565
|
});
|
|
569
|
-
case
|
|
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 =
|
|
590
|
-
|
|
591
|
-
_context4.next =
|
|
586
|
+
_context4.prev = 68;
|
|
587
|
+
_context4.t1 = this.utils;
|
|
588
|
+
_context4.next = 72;
|
|
592
589
|
return HttpClient.Fetch(status.lro_status_url);
|
|
593
|
-
case
|
|
594
|
-
|
|
595
|
-
_context4.next =
|
|
596
|
-
return
|
|
597
|
-
case
|
|
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 =
|
|
602
|
+
_context4.next = 88;
|
|
606
603
|
break;
|
|
607
|
-
case
|
|
608
|
-
_context4.prev =
|
|
609
|
-
|
|
610
|
-
console.log("LRO Status (failed): ",
|
|
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 =
|
|
609
|
+
status.error = _context4.t3.response;
|
|
613
610
|
return _context4.abrupt("return", status);
|
|
614
|
-
case
|
|
615
|
-
|
|
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
|
-
|
|
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 =
|
|
621
|
+
_context4.next = 121;
|
|
659
622
|
break;
|
|
660
623
|
}
|
|
661
624
|
playout_urls = {};
|
|
662
|
-
_context4.next =
|
|
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
|
|
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 =
|
|
633
|
+
_context4.next = 100;
|
|
672
634
|
break;
|
|
673
635
|
}
|
|
674
|
-
_context4.next =
|
|
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
|
|
642
|
+
case 99:
|
|
681
643
|
playout_urls.hls_clear = _context4.sent;
|
|
682
|
-
case
|
|
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 =
|
|
647
|
+
_context4.next = 105;
|
|
686
648
|
break;
|
|
687
649
|
}
|
|
688
|
-
_context4.next =
|
|
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
|
|
656
|
+
case 104:
|
|
695
657
|
playout_urls.hls_aes128 = _context4.sent;
|
|
696
|
-
case
|
|
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 =
|
|
661
|
+
_context4.next = 110;
|
|
700
662
|
break;
|
|
701
663
|
}
|
|
702
|
-
_context4.next =
|
|
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
|
|
670
|
+
case 109:
|
|
709
671
|
playout_urls.hls_sample_aes = _context4.sent;
|
|
710
|
-
case
|
|
711
|
-
_context4.next =
|
|
672
|
+
case 110:
|
|
673
|
+
_context4.next = 112;
|
|
712
674
|
return this.NetworkInfo();
|
|
713
|
-
case
|
|
675
|
+
case 112:
|
|
714
676
|
networkInfo = _context4.sent;
|
|
715
|
-
_context4.next =
|
|
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
|
|
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
|
|
733
|
-
_context4.next =
|
|
694
|
+
case 121:
|
|
695
|
+
_context4.next = 126;
|
|
734
696
|
break;
|
|
735
|
-
case
|
|
736
|
-
_context4.prev =
|
|
737
|
-
|
|
738
|
-
console.error(
|
|
739
|
-
case
|
|
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
|
|
703
|
+
case 127:
|
|
742
704
|
case "end":
|
|
743
705
|
return _context4.stop();
|
|
744
706
|
}
|
|
745
|
-
}, _callee4, this, [[
|
|
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
|
|
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 =
|
|
732
|
+
_context5.next = 3;
|
|
771
733
|
return this.StreamStatus({
|
|
772
734
|
name: name
|
|
773
735
|
});
|
|
774
|
-
case
|
|
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 =
|
|
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
|
|
746
|
+
case 6:
|
|
785
747
|
objectId = status.object_id;
|
|
786
748
|
console.log("START: ", name, "start", start);
|
|
787
|
-
_context5.next =
|
|
749
|
+
_context5.next = 10;
|
|
788
750
|
return this.ContentObjectLibraryId({
|
|
789
751
|
objectId: objectId
|
|
790
752
|
});
|
|
791
|
-
case
|
|
753
|
+
case 10:
|
|
792
754
|
libraryId = _context5.sent;
|
|
793
|
-
_context5.next =
|
|
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
|
|
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 =
|
|
772
|
+
_context5.next = 20;
|
|
811
773
|
return this.EditContentObject({
|
|
812
774
|
libraryId: libraryId,
|
|
813
775
|
objectId: objectId
|
|
814
776
|
});
|
|
815
|
-
case
|
|
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 =
|
|
785
|
+
_context5.next = 25;
|
|
824
786
|
return this.EditContentObject({
|
|
825
787
|
libraryId: libraryId,
|
|
826
788
|
objectId: objectId
|
|
827
789
|
});
|
|
828
|
-
case
|
|
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 =
|
|
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
|
|
812
|
+
case 30:
|
|
850
813
|
this.Log("Finalizing content draft: ", libraryId, objectId, writeToken);
|
|
851
|
-
_context5.next =
|
|
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
|
|
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
|
|
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
|
|
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
|
|
907
|
-
var name, op, status, _tries, tries
|
|
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 =
|
|
874
|
+
name = _ref11.name, op = _ref11.op;
|
|
912
875
|
_context6.prev = 1;
|
|
913
|
-
_context6.next =
|
|
876
|
+
_context6.next = 4;
|
|
914
877
|
return this.StreamStatus({
|
|
915
878
|
name: name
|
|
916
879
|
});
|
|
917
|
-
case
|
|
880
|
+
case 4:
|
|
918
881
|
status = _context6.sent;
|
|
919
882
|
if (!(status.state != "stopped")) {
|
|
920
|
-
_context6.next =
|
|
883
|
+
_context6.next = 9;
|
|
921
884
|
break;
|
|
922
885
|
}
|
|
923
886
|
if (!(op === "start")) {
|
|
924
|
-
_context6.next =
|
|
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
|
|
892
|
+
case 9:
|
|
930
893
|
if (!(status.state == "running" || status.state == "starting" || status.state == "stalled")) {
|
|
931
|
-
_context6.next =
|
|
894
|
+
_context6.next = 31;
|
|
932
895
|
break;
|
|
933
896
|
}
|
|
934
|
-
_context6.prev =
|
|
935
|
-
_context6.next =
|
|
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
|
|
944
|
-
_context6.next =
|
|
906
|
+
case 13:
|
|
907
|
+
_context6.next = 17;
|
|
945
908
|
break;
|
|
946
|
-
case
|
|
947
|
-
_context6.prev =
|
|
948
|
-
|
|
949
|
-
case
|
|
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
|
|
915
|
+
case 18:
|
|
953
916
|
if (!(status.state != "stopped" && _tries-- > 0)) {
|
|
954
|
-
_context6.next =
|
|
917
|
+
_context6.next = 27;
|
|
955
918
|
break;
|
|
956
919
|
}
|
|
957
920
|
console.log("Wait to terminate - ", status.state);
|
|
958
|
-
_context6.next =
|
|
921
|
+
_context6.next = 22;
|
|
959
922
|
return Sleep(1000);
|
|
960
|
-
case
|
|
961
|
-
_context6.next =
|
|
923
|
+
case 22:
|
|
924
|
+
_context6.next = 24;
|
|
962
925
|
return this.StreamStatus({
|
|
963
926
|
name: name
|
|
964
927
|
});
|
|
965
|
-
case
|
|
928
|
+
case 24:
|
|
966
929
|
status = _context6.sent;
|
|
967
|
-
_context6.next =
|
|
930
|
+
_context6.next = 18;
|
|
968
931
|
break;
|
|
969
|
-
case
|
|
932
|
+
case 27:
|
|
970
933
|
console.log("Status after stop - ", status.state);
|
|
971
934
|
if (!(_tries <= 0)) {
|
|
972
|
-
_context6.next =
|
|
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
|
|
940
|
+
case 31:
|
|
978
941
|
if (!(op === "stop")) {
|
|
979
|
-
_context6.next =
|
|
942
|
+
_context6.next = 33;
|
|
980
943
|
break;
|
|
981
944
|
}
|
|
982
945
|
return _context6.abrupt("return", status);
|
|
983
|
-
case
|
|
946
|
+
case 33:
|
|
984
947
|
console.log("STARTING", "edge_write_token", status.edge_write_token);
|
|
985
|
-
_context6.prev =
|
|
986
|
-
_context6.next =
|
|
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
|
|
995
|
-
_context6.next =
|
|
957
|
+
case 37:
|
|
958
|
+
_context6.next = 43;
|
|
996
959
|
break;
|
|
997
|
-
case
|
|
998
|
-
_context6.prev =
|
|
999
|
-
|
|
1000
|
-
console.log("LRO Start (failed): ",
|
|
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
|
|
968
|
+
case 43:
|
|
1006
969
|
// Wait until LRO is 'starting'
|
|
1007
970
|
tries = 10;
|
|
1008
|
-
case
|
|
971
|
+
case 44:
|
|
1009
972
|
if (!(status.state != "starting" && tries-- > 0)) {
|
|
1010
|
-
_context6.next =
|
|
973
|
+
_context6.next = 53;
|
|
1011
974
|
break;
|
|
1012
975
|
}
|
|
1013
976
|
console.log("Wait to start - ", status.state);
|
|
1014
|
-
_context6.next =
|
|
977
|
+
_context6.next = 48;
|
|
1015
978
|
return Sleep(1000);
|
|
1016
|
-
case
|
|
1017
|
-
_context6.next =
|
|
979
|
+
case 48:
|
|
980
|
+
_context6.next = 50;
|
|
1018
981
|
return this.StreamStatus({
|
|
1019
982
|
name: name
|
|
1020
983
|
});
|
|
1021
|
-
case
|
|
984
|
+
case 50:
|
|
1022
985
|
status = _context6.sent;
|
|
1023
|
-
_context6.next =
|
|
986
|
+
_context6.next = 44;
|
|
1024
987
|
break;
|
|
1025
|
-
case
|
|
988
|
+
case 53:
|
|
1026
989
|
console.log("Status after restart - ", status.state);
|
|
1027
990
|
return _context6.abrupt("return", status);
|
|
1028
|
-
case
|
|
1029
|
-
_context6.prev =
|
|
1030
|
-
|
|
1031
|
-
console.error(
|
|
1032
|
-
case
|
|
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,
|
|
999
|
+
}, _callee6, this, [[1, 57], [10, 15], [34, 39]]);
|
|
1037
1000
|
}));
|
|
1038
1001
|
return function (_x6) {
|
|
1039
|
-
return
|
|
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
|
|
1054
|
-
var name, objectId, libraryId, mainMeta, fabURI, metaEdgeWriteToken, streamMetadata, status, _yield$this$EditConte, writeToken, newState, stopTime, finalizeMetadata, fin
|
|
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 =
|
|
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 =
|
|
1025
|
+
_context7.next = 6;
|
|
1063
1026
|
return this.ContentObjectLibraryId({
|
|
1064
1027
|
objectId: objectId
|
|
1065
1028
|
});
|
|
1066
|
-
case
|
|
1029
|
+
case 6:
|
|
1067
1030
|
libraryId = _context7.sent;
|
|
1068
|
-
_context7.next =
|
|
1031
|
+
_context7.next = 9;
|
|
1069
1032
|
return this.ContentObjectMetadata({
|
|
1070
1033
|
libraryId: libraryId,
|
|
1071
1034
|
objectId: objectId
|
|
1072
1035
|
});
|
|
1073
|
-
case
|
|
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 =
|
|
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
|
|
1093
|
-
_context7.prev =
|
|
1094
|
-
_context7.next =
|
|
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
|
|
1063
|
+
case 19:
|
|
1101
1064
|
streamMetadata = _context7.sent;
|
|
1102
|
-
_context7.next =
|
|
1065
|
+
_context7.next = 22;
|
|
1103
1066
|
return this.StreamStatus({
|
|
1104
1067
|
name: name
|
|
1105
1068
|
});
|
|
1106
|
-
case
|
|
1069
|
+
case 22:
|
|
1107
1070
|
status = _context7.sent;
|
|
1108
1071
|
if (!(status.state !== "stopped")) {
|
|
1109
|
-
_context7.next =
|
|
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
|
|
1117
|
-
_context7.next =
|
|
1079
|
+
case 25:
|
|
1080
|
+
_context7.next = 27;
|
|
1118
1081
|
return this.DeleteWriteToken({
|
|
1119
1082
|
writeToken: metaEdgeWriteToken
|
|
1120
1083
|
});
|
|
1121
|
-
case
|
|
1122
|
-
_context7.next =
|
|
1084
|
+
case 27:
|
|
1085
|
+
_context7.next = 32;
|
|
1123
1086
|
break;
|
|
1124
|
-
case
|
|
1125
|
-
_context7.prev =
|
|
1126
|
-
|
|
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
|
|
1129
|
-
_context7.next =
|
|
1091
|
+
case 32:
|
|
1092
|
+
_context7.next = 34;
|
|
1130
1093
|
return this.EditContentObject({
|
|
1131
1094
|
libraryId: libraryId,
|
|
1132
1095
|
objectId: objectId
|
|
1133
1096
|
});
|
|
1134
|
-
case
|
|
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 =
|
|
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
|
|
1160
|
-
_context7.next =
|
|
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
|
|
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
|
|
1175
|
-
_context7.prev =
|
|
1176
|
-
|
|
1177
|
-
console.error(
|
|
1178
|
-
case
|
|
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,
|
|
1145
|
+
}, _callee7, this, [[1, 47], [16, 29]]);
|
|
1183
1146
|
}));
|
|
1184
1147
|
return function (_x7) {
|
|
1185
|
-
return
|
|
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
|
|
1204
|
-
var name,
|
|
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 =
|
|
1209
|
-
_context8.next =
|
|
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
|
|
1176
|
+
case 3:
|
|
1212
1177
|
tenantContractId = _context8.sent;
|
|
1213
|
-
_context8.next =
|
|
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
|
|
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 =
|
|
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
|
|
1237
|
-
_context8.next =
|
|
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
|
|
1212
|
+
case 16:
|
|
1246
1213
|
res = _context8.sent;
|
|
1247
1214
|
return _context8.abrupt("return", res);
|
|
1248
|
-
case
|
|
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
|
|
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
|
|
1276
|
-
var name, typeAbrMaster, typeLiveStream,
|
|
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 =
|
|
1281
|
-
_context9.next =
|
|
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
|
|
1253
|
+
case 3:
|
|
1286
1254
|
status = _context9.sent;
|
|
1287
1255
|
if (!(status.state != "uninitialized" && status.state != "inactive" && status.state != "stopped")) {
|
|
1288
|
-
_context9.next =
|
|
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
|
|
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 =
|
|
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
|
|
1289
|
+
case 28:
|
|
1322
1290
|
if (!(i < formats.length)) {
|
|
1323
|
-
_context9.next =
|
|
1291
|
+
_context9.next = 41;
|
|
1324
1292
|
break;
|
|
1325
1293
|
}
|
|
1326
1294
|
if (!(formats[i] === "hls-clear")) {
|
|
1327
|
-
_context9.next =
|
|
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",
|
|
1338
|
-
case
|
|
1305
|
+
return _context9.abrupt("continue", 38);
|
|
1306
|
+
case 33:
|
|
1339
1307
|
if (!(formats[i] === "dash-clear")) {
|
|
1340
|
-
_context9.next =
|
|
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",
|
|
1352
|
-
case
|
|
1319
|
+
return _context9.abrupt("continue", 38);
|
|
1320
|
+
case 37:
|
|
1353
1321
|
playoutFormats[formats[i]] = abrProfile.playout_formats[formats[i]];
|
|
1354
|
-
case
|
|
1322
|
+
case 38:
|
|
1355
1323
|
i++;
|
|
1356
|
-
_context9.next =
|
|
1324
|
+
_context9.next = 28;
|
|
1357
1325
|
break;
|
|
1358
|
-
case
|
|
1359
|
-
_context9.next =
|
|
1326
|
+
case 41:
|
|
1327
|
+
_context9.next = 44;
|
|
1360
1328
|
break;
|
|
1361
|
-
case
|
|
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
|
|
1350
|
+
case 44:
|
|
1383
1351
|
abrProfile.playout_formats = playoutFormats;
|
|
1384
|
-
_context9.next =
|
|
1352
|
+
_context9.next = 47;
|
|
1385
1353
|
return this.ContentObjectLibraryId({
|
|
1386
1354
|
objectId: objectId
|
|
1387
1355
|
});
|
|
1388
|
-
case
|
|
1356
|
+
case 47:
|
|
1389
1357
|
libraryId = _context9.sent;
|
|
1390
|
-
_context9.prev =
|
|
1391
|
-
_context9.next =
|
|
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
|
|
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 =
|
|
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
|
|
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
|
|
1438
|
-
_context9.prev =
|
|
1439
|
-
|
|
1440
|
-
console.error(
|
|
1441
|
-
case
|
|
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, [[
|
|
1416
|
+
}, _callee9, this, [[48, 62]]);
|
|
1446
1417
|
}));
|
|
1447
1418
|
return function (_x9) {
|
|
1448
|
-
return
|
|
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
|
|
1469
|
-
var name, insertionTime,
|
|
1470
|
-
return _regeneratorRuntime.wrap(function (
|
|
1471
|
-
while (1) switch (
|
|
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 =
|
|
1474
|
-
|
|
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
|
|
1480
|
-
offeringMeta =
|
|
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
|
-
|
|
1470
|
+
_context10.next = 10;
|
|
1499
1471
|
break;
|
|
1500
1472
|
}
|
|
1501
1473
|
throw new Error("Bad segment duration hash:", targetHash);
|
|
1502
|
-
case
|
|
1474
|
+
case 10:
|
|
1503
1475
|
if (!(duration === undefined)) {
|
|
1504
|
-
|
|
1476
|
+
_context10.next = 14;
|
|
1505
1477
|
break;
|
|
1506
1478
|
}
|
|
1507
1479
|
duration = insertionInfo.duration_sec; // Use full duration of the insertion
|
|
1508
|
-
|
|
1480
|
+
_context10.next = 16;
|
|
1509
1481
|
break;
|
|
1510
|
-
case
|
|
1482
|
+
case 14:
|
|
1511
1483
|
if (!(duration > insertionInfo.duration_sec)) {
|
|
1512
|
-
|
|
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
|
|
1488
|
+
case 16:
|
|
1517
1489
|
objectId = name;
|
|
1518
|
-
|
|
1490
|
+
_context10.next = 19;
|
|
1519
1491
|
return this.ContentObjectLibraryId({
|
|
1520
1492
|
objectId: objectId
|
|
1521
1493
|
});
|
|
1522
|
-
case
|
|
1523
|
-
libraryId =
|
|
1524
|
-
|
|
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
|
|
1530
|
-
mainMeta =
|
|
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
|
-
|
|
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
|
|
1547
|
-
edgeMeta =
|
|
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
|
-
|
|
1537
|
+
_context10.next = 37;
|
|
1566
1538
|
break;
|
|
1567
1539
|
}
|
|
1568
1540
|
if (!(sinceStart === false)) {
|
|
1569
|
-
|
|
1541
|
+
_context10.next = 37;
|
|
1570
1542
|
break;
|
|
1571
1543
|
}
|
|
1572
1544
|
throw new Error("Stream not running - must use 'time since start'");
|
|
1573
|
-
case
|
|
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
|
|
1572
|
+
case 48:
|
|
1601
1573
|
if (!(i < insertions.length)) {
|
|
1602
|
-
|
|
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
|
-
|
|
1582
|
+
_context10.next = 56;
|
|
1611
1583
|
break;
|
|
1612
1584
|
}
|
|
1613
1585
|
if (!(insertions[i].insertion_time === insertionTime)) {
|
|
1614
|
-
|
|
1586
|
+
_context10.next = 54;
|
|
1615
1587
|
break;
|
|
1616
1588
|
}
|
|
1617
1589
|
insertions.splice(i, 1);
|
|
1618
|
-
return
|
|
1619
|
-
case
|
|
1620
|
-
|
|
1590
|
+
return _context10.abrupt("break", 63);
|
|
1591
|
+
case 54:
|
|
1592
|
+
_context10.next = 60;
|
|
1621
1593
|
break;
|
|
1622
|
-
case
|
|
1594
|
+
case 56:
|
|
1623
1595
|
if (!(insertions[i].insertion_time > insertionTime)) {
|
|
1624
|
-
|
|
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
|
|
1634
|
-
case
|
|
1605
|
+
return _context10.abrupt("break", 63);
|
|
1606
|
+
case 60:
|
|
1635
1607
|
i++;
|
|
1636
|
-
|
|
1608
|
+
_context10.next = 48;
|
|
1637
1609
|
break;
|
|
1638
|
-
case
|
|
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
|
-
|
|
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
|
|
1627
|
+
case 67:
|
|
1656
1628
|
res.errors = errs;
|
|
1657
1629
|
res.insertions = insertions;
|
|
1658
|
-
return
|
|
1659
|
-
case
|
|
1630
|
+
return _context10.abrupt("return", res);
|
|
1631
|
+
case 70:
|
|
1660
1632
|
case "end":
|
|
1661
|
-
return
|
|
1633
|
+
return _context10.stop();
|
|
1662
1634
|
}
|
|
1663
|
-
},
|
|
1635
|
+
}, _callee10, this);
|
|
1664
1636
|
}));
|
|
1665
|
-
return function (
|
|
1666
|
-
return
|
|
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
|
|
1705
|
-
var name,
|
|
1706
|
-
return _regeneratorRuntime.wrap(function (
|
|
1707
|
-
while (1) switch (
|
|
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 =
|
|
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
|
-
|
|
1686
|
+
_context11.next = 5;
|
|
1715
1687
|
return this.ContentObjectLibraryId({
|
|
1716
1688
|
objectId: objectId
|
|
1717
1689
|
});
|
|
1718
|
-
case
|
|
1719
|
-
libraryId =
|
|
1690
|
+
case 5:
|
|
1691
|
+
libraryId = _context11.sent;
|
|
1720
1692
|
status.library_id = libraryId;
|
|
1721
1693
|
status.object_id = objectId;
|
|
1722
1694
|
probe = probeMetadata;
|
|
1723
|
-
|
|
1695
|
+
_context11.next = 11;
|
|
1724
1696
|
return this.ContentObjectMetadata({
|
|
1725
1697
|
libraryId: libraryId,
|
|
1726
1698
|
objectId: objectId
|
|
1727
1699
|
});
|
|
1728
|
-
case
|
|
1729
|
-
mainMeta =
|
|
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
|
-
|
|
1710
|
+
_context11.next = 20;
|
|
1739
1711
|
return this.SpaceNodes({
|
|
1740
1712
|
matchEndpoint: hostName
|
|
1741
1713
|
});
|
|
1742
|
-
case
|
|
1743
|
-
nodes =
|
|
1714
|
+
case 20:
|
|
1715
|
+
nodes = _context11.sent;
|
|
1744
1716
|
if (!(nodes.length < 1)) {
|
|
1745
|
-
|
|
1717
|
+
_context11.next = 24;
|
|
1746
1718
|
break;
|
|
1747
1719
|
}
|
|
1748
1720
|
status.error = "No node matching stream URL " + streamUrl.href;
|
|
1749
|
-
return
|
|
1750
|
-
case
|
|
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
|
-
|
|
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
|
-
|
|
1768
|
-
|
|
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
|
|
1775
|
-
probeUrl =
|
|
1776
|
-
|
|
1777
|
-
|
|
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
|
|
1786
|
-
|
|
1787
|
-
|
|
1788
|
-
return
|
|
1789
|
-
case
|
|
1790
|
-
probe =
|
|
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
|
-
|
|
1764
|
+
_context11.next = 43;
|
|
1793
1765
|
break;
|
|
1794
1766
|
}
|
|
1795
1767
|
throw probe.errors[0];
|
|
1796
|
-
case
|
|
1797
|
-
|
|
1768
|
+
case 43:
|
|
1769
|
+
_context11.next = 52;
|
|
1798
1770
|
break;
|
|
1799
|
-
case
|
|
1800
|
-
|
|
1801
|
-
|
|
1802
|
-
if (!(
|
|
1803
|
-
|
|
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
|
|
1808
|
-
throw
|
|
1809
|
-
case
|
|
1779
|
+
case 51:
|
|
1780
|
+
throw _context11.t2;
|
|
1781
|
+
case 52:
|
|
1810
1782
|
probe.format.filename = streamUrl.href;
|
|
1811
|
-
case
|
|
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
|
-
|
|
1790
|
+
_context11.next = 60;
|
|
1819
1791
|
break;
|
|
1820
1792
|
}
|
|
1821
|
-
|
|
1793
|
+
_context11.next = 58;
|
|
1822
1794
|
return this.EditContentObject({
|
|
1823
1795
|
libraryId: libraryId,
|
|
1824
1796
|
objectId: objectId
|
|
1825
1797
|
});
|
|
1826
|
-
case
|
|
1827
|
-
e =
|
|
1798
|
+
case 58:
|
|
1799
|
+
e = _context11.sent;
|
|
1828
1800
|
writeToken = e.write_token;
|
|
1829
|
-
case
|
|
1830
|
-
|
|
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
|
|
1839
|
-
|
|
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
|
|
1819
|
+
case 64:
|
|
1848
1820
|
if (!finalize) {
|
|
1849
|
-
|
|
1821
|
+
_context11.next = 68;
|
|
1850
1822
|
break;
|
|
1851
1823
|
}
|
|
1852
|
-
|
|
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
|
|
1860
|
-
status.fin =
|
|
1861
|
-
case
|
|
1862
|
-
return
|
|
1863
|
-
case
|
|
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
|
|
1837
|
+
return _context11.stop();
|
|
1866
1838
|
}
|
|
1867
|
-
},
|
|
1839
|
+
}, _callee11, this, [[30, 45]]);
|
|
1868
1840
|
}));
|
|
1869
|
-
return function (
|
|
1870
|
-
return
|
|
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
|
|
1855
|
+
exports.StreamListUrls = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee13() {
|
|
1884
1856
|
var _this2 = this;
|
|
1885
|
-
var
|
|
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
|
-
|
|
1894
|
-
|
|
1895
|
-
|
|
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
|
-
|
|
1907
|
-
|
|
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
|
-
|
|
1881
|
+
_context13.next = 12;
|
|
1919
1882
|
break;
|
|
1920
1883
|
}
|
|
1921
|
-
|
|
1884
|
+
_context13.next = 6;
|
|
1922
1885
|
return this.userProfileClient.TenantContractId();
|
|
1923
|
-
case
|
|
1924
|
-
tenantContractId =
|
|
1886
|
+
case 6:
|
|
1887
|
+
tenantContractId = _context13.sent;
|
|
1925
1888
|
if (tenantContractId) {
|
|
1926
|
-
|
|
1889
|
+
_context13.next = 9;
|
|
1927
1890
|
break;
|
|
1928
1891
|
}
|
|
1929
1892
|
throw Error("No tenant contract ID configured");
|
|
1930
|
-
case
|
|
1931
|
-
|
|
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
|
|
1938
|
-
siteId =
|
|
1939
|
-
case
|
|
1940
|
-
|
|
1941
|
-
|
|
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
|
|
1946
|
-
|
|
1947
|
-
|
|
1948
|
-
|
|
1949
|
-
libraryId:
|
|
1950
|
-
objectId:
|
|
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
|
-
|
|
1957
|
-
return
|
|
1958
|
-
case
|
|
1959
|
-
streamMetadata =
|
|
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
|
-
|
|
1924
|
+
_context13.next = 24;
|
|
1962
1925
|
return this.utils.LimitedMap(10, Object.keys(streamMetadata || {}), /*#__PURE__*/function () {
|
|
1963
|
-
var
|
|
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 (
|
|
1966
|
-
while (1) switch (
|
|
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
|
-
|
|
1936
|
+
_context12.next = 16;
|
|
1974
1937
|
break;
|
|
1975
1938
|
}
|
|
1976
1939
|
objectId = _this2.utils.DecodeVersionHash(versionHash).objectId;
|
|
1977
|
-
|
|
1940
|
+
_context12.next = 6;
|
|
1978
1941
|
return _this2.ContentObjectLibraryId({
|
|
1979
1942
|
objectId: objectId
|
|
1980
1943
|
});
|
|
1981
|
-
case
|
|
1982
|
-
libraryId =
|
|
1983
|
-
|
|
1944
|
+
case 6:
|
|
1945
|
+
libraryId = _context12.sent;
|
|
1946
|
+
_context12.next = 9;
|
|
1984
1947
|
return _this2.StreamStatus({
|
|
1985
1948
|
name: objectId
|
|
1986
1949
|
});
|
|
1987
|
-
case
|
|
1988
|
-
status =
|
|
1989
|
-
|
|
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
|
|
1998
|
-
streamMeta =
|
|
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
|
|
1967
|
+
case 16:
|
|
2005
1968
|
case "end":
|
|
2006
|
-
return
|
|
1969
|
+
return _context12.stop();
|
|
2007
1970
|
}
|
|
2008
|
-
},
|
|
1971
|
+
}, _callee12);
|
|
2009
1972
|
}));
|
|
2010
|
-
return function (
|
|
2011
|
-
return
|
|
1973
|
+
return function (_x12) {
|
|
1974
|
+
return _ref25.apply(this, arguments);
|
|
2012
1975
|
};
|
|
2013
1976
|
}());
|
|
2014
|
-
case
|
|
1977
|
+
case 24:
|
|
2015
1978
|
streamUrlStatus = {};
|
|
2016
|
-
|
|
2017
|
-
|
|
1979
|
+
_context13.t4 = this;
|
|
1980
|
+
_context13.next = 28;
|
|
2018
1981
|
return this.ContentObjectLibraryId({
|
|
2019
1982
|
objectId: siteId
|
|
2020
1983
|
});
|
|
2021
|
-
case
|
|
2022
|
-
|
|
2023
|
-
|
|
2024
|
-
|
|
2025
|
-
libraryId:
|
|
2026
|
-
objectId:
|
|
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
|
-
|
|
2032
|
-
return
|
|
2033
|
-
case
|
|
2034
|
-
streamUrls =
|
|
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
|
-
|
|
1999
|
+
_context13.next = 36;
|
|
2037
2000
|
break;
|
|
2038
2001
|
}
|
|
2039
2002
|
throw Error("No pre-allocated URLs configured");
|
|
2040
|
-
case
|
|
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
|
|
2050
|
-
case
|
|
2051
|
-
|
|
2052
|
-
|
|
2053
|
-
console.error(
|
|
2054
|
-
case
|
|
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
|
|
2019
|
+
return _context13.stop();
|
|
2057
2020
|
}
|
|
2058
|
-
},
|
|
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
|
|
2118
|
-
var name, targetObjectId, eventId,
|
|
2119
|
-
return _regeneratorRuntime.wrap(function (
|
|
2120
|
-
while (1) switch (
|
|
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 =
|
|
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
|
-
|
|
2088
|
+
_context14.next = 5;
|
|
2126
2089
|
return this.StreamStatus({
|
|
2127
2090
|
name: name
|
|
2128
2091
|
});
|
|
2129
|
-
case
|
|
2130
|
-
status =
|
|
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
|
-
|
|
2097
|
+
_context14.next = 11;
|
|
2135
2098
|
return this.ContentObjectLibraryId({
|
|
2136
2099
|
objectId: targetObjectId
|
|
2137
2100
|
});
|
|
2138
|
-
case
|
|
2139
|
-
targetLibraryId =
|
|
2140
|
-
|
|
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
|
|
2145
|
-
kmsAddress =
|
|
2107
|
+
case 14:
|
|
2108
|
+
kmsAddress = _context14.sent;
|
|
2146
2109
|
kmsCapId = "eluv.caps.ikms".concat(this.utils.AddressToHash(kmsAddress));
|
|
2147
|
-
|
|
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
|
|
2154
|
-
kmsCap =
|
|
2116
|
+
case 18:
|
|
2117
|
+
kmsCap = _context14.sent;
|
|
2155
2118
|
if (kmsCap) {
|
|
2156
|
-
|
|
2119
|
+
_context14.next = 21;
|
|
2157
2120
|
break;
|
|
2158
2121
|
}
|
|
2159
2122
|
throw Error("No content encryption key set for object ".concat(targetObjectId));
|
|
2160
|
-
case
|
|
2161
|
-
|
|
2123
|
+
case 21:
|
|
2124
|
+
_context14.prev = 21;
|
|
2162
2125
|
status.live_object_id = objectId;
|
|
2163
|
-
|
|
2126
|
+
_context14.next = 25;
|
|
2164
2127
|
return this.LatestVersionHash({
|
|
2165
2128
|
objectId: objectId,
|
|
2166
2129
|
libraryId: libraryId
|
|
2167
2130
|
});
|
|
2168
|
-
case
|
|
2169
|
-
liveHash =
|
|
2131
|
+
case 25:
|
|
2132
|
+
liveHash = _context14.sent;
|
|
2170
2133
|
status.live_hash = liveHash;
|
|
2171
2134
|
if (!eventId) {
|
|
2172
|
-
|
|
2135
|
+
_context14.next = 32;
|
|
2173
2136
|
break;
|
|
2174
2137
|
}
|
|
2175
|
-
|
|
2138
|
+
_context14.next = 30;
|
|
2176
2139
|
return this.CueInfo({
|
|
2177
2140
|
eventId: eventId,
|
|
2178
2141
|
status: status
|
|
2179
2142
|
});
|
|
2180
|
-
case
|
|
2181
|
-
event =
|
|
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
|
|
2187
|
-
|
|
2149
|
+
case 32:
|
|
2150
|
+
_context14.next = 34;
|
|
2188
2151
|
return this.EditContentObject({
|
|
2189
2152
|
objectId: targetObjectId,
|
|
2190
2153
|
libraryId: targetLibraryId
|
|
2191
2154
|
});
|
|
2192
|
-
case
|
|
2193
|
-
_yield$this$EditConte2 =
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
2237
|
-
|
|
2238
|
-
|
|
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
|
|
2249
|
-
|
|
2211
|
+
case 48:
|
|
2212
|
+
_context14.next = 54;
|
|
2250
2213
|
break;
|
|
2251
|
-
case
|
|
2252
|
-
|
|
2253
|
-
|
|
2254
|
-
console.error("Unable to call /media/live_to_vod/copy",
|
|
2255
|
-
throw
|
|
2256
|
-
case
|
|
2257
|
-
|
|
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
|
|
2230
|
+
case 56:
|
|
2268
2231
|
if (!finalize) {
|
|
2269
|
-
|
|
2232
|
+
_context14.next = 61;
|
|
2270
2233
|
break;
|
|
2271
2234
|
}
|
|
2272
|
-
|
|
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
|
|
2280
|
-
finalizeResponse =
|
|
2242
|
+
case 59:
|
|
2243
|
+
finalizeResponse = _context14.sent;
|
|
2281
2244
|
status.target_hash = finalizeResponse.hash;
|
|
2282
|
-
case
|
|
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
|
|
2291
|
-
case
|
|
2292
|
-
|
|
2293
|
-
|
|
2294
|
-
this.Log(
|
|
2295
|
-
throw
|
|
2296
|
-
case
|
|
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
|
|
2261
|
+
return _context14.stop();
|
|
2299
2262
|
}
|
|
2300
|
-
},
|
|
2263
|
+
}, _callee14, this, [[21, 70], [45, 50]]);
|
|
2301
2264
|
}));
|
|
2302
|
-
return function (
|
|
2303
|
-
return
|
|
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
|
|
2325
|
-
var libraryId, objectId, writeToken, types,
|
|
2326
|
-
return _regeneratorRuntime.wrap(function (
|
|
2327
|
-
while (1) switch (
|
|
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 =
|
|
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
|
-
|
|
2295
|
+
_context15.next = 6;
|
|
2333
2296
|
break;
|
|
2334
2297
|
}
|
|
2335
|
-
|
|
2298
|
+
_context15.next = 5;
|
|
2336
2299
|
return this.ContentObjectLibraryId({
|
|
2337
2300
|
objectId: objectId
|
|
2338
2301
|
});
|
|
2339
|
-
case
|
|
2340
|
-
libraryId =
|
|
2341
|
-
case
|
|
2302
|
+
case 5:
|
|
2303
|
+
libraryId = _context15.sent;
|
|
2304
|
+
case 6:
|
|
2342
2305
|
if (writeToken) {
|
|
2343
|
-
|
|
2306
|
+
_context15.next = 11;
|
|
2344
2307
|
break;
|
|
2345
2308
|
}
|
|
2346
|
-
|
|
2309
|
+
_context15.next = 9;
|
|
2347
2310
|
return this.EditContentObject({
|
|
2348
2311
|
objectId: objectId,
|
|
2349
2312
|
libraryId: libraryId
|
|
2350
2313
|
});
|
|
2351
|
-
case
|
|
2352
|
-
_yield$this$EditConte3 =
|
|
2314
|
+
case 9:
|
|
2315
|
+
_yield$this$EditConte3 = _context15.sent;
|
|
2353
2316
|
writeToken = _yield$this$EditConte3.writeToken;
|
|
2354
|
-
case
|
|
2317
|
+
case 11:
|
|
2355
2318
|
this.Log("Removing watermark types: ".concat(types.join(", "), " ").concat(libraryId, " ").concat(objectId));
|
|
2356
|
-
|
|
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
|
|
2363
|
-
edgeWriteToken =
|
|
2325
|
+
case 14:
|
|
2326
|
+
edgeWriteToken = _context15.sent;
|
|
2364
2327
|
metadataPath = "live_recording/playout_config";
|
|
2365
|
-
|
|
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
|
|
2374
|
-
objectMetadata =
|
|
2336
|
+
case 18:
|
|
2337
|
+
objectMetadata = _context15.sent;
|
|
2375
2338
|
if (objectMetadata) {
|
|
2376
|
-
|
|
2339
|
+
_context15.next = 21;
|
|
2377
2340
|
break;
|
|
2378
2341
|
}
|
|
2379
2342
|
throw Error("Stream object must be configured before removing a watermark");
|
|
2380
|
-
case
|
|
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
|
-
|
|
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
|
|
2361
|
+
case 24:
|
|
2399
2362
|
if (!edgeWriteToken) {
|
|
2400
|
-
|
|
2363
|
+
_context15.next = 27;
|
|
2401
2364
|
break;
|
|
2402
2365
|
}
|
|
2403
|
-
|
|
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
|
|
2374
|
+
case 27:
|
|
2412
2375
|
if (!finalize) {
|
|
2413
|
-
|
|
2376
|
+
_context15.next = 32;
|
|
2414
2377
|
break;
|
|
2415
2378
|
}
|
|
2416
|
-
|
|
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
|
|
2424
|
-
finalizeResponse =
|
|
2425
|
-
return
|
|
2426
|
-
case
|
|
2386
|
+
case 30:
|
|
2387
|
+
finalizeResponse = _context15.sent;
|
|
2388
|
+
return _context15.abrupt("return", finalizeResponse);
|
|
2389
|
+
case 32:
|
|
2427
2390
|
case "end":
|
|
2428
|
-
return
|
|
2391
|
+
return _context15.stop();
|
|
2429
2392
|
}
|
|
2430
|
-
},
|
|
2393
|
+
}, _callee15, this);
|
|
2431
2394
|
}));
|
|
2432
|
-
return function (
|
|
2433
|
-
return
|
|
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
|
|
2489
|
-
var libraryId, objectId, writeToken, simpleWatermark, imageWatermark, forensicWatermark,
|
|
2490
|
-
return _regeneratorRuntime.wrap(function (
|
|
2491
|
-
while (1) switch (
|
|
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 =
|
|
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
|
-
|
|
2459
|
+
_context16.next = 6;
|
|
2497
2460
|
break;
|
|
2498
2461
|
}
|
|
2499
|
-
|
|
2462
|
+
_context16.next = 5;
|
|
2500
2463
|
return this.ContentObjectLibraryId({
|
|
2501
2464
|
objectId: objectId
|
|
2502
2465
|
});
|
|
2503
|
-
case
|
|
2504
|
-
libraryId =
|
|
2505
|
-
case
|
|
2466
|
+
case 5:
|
|
2467
|
+
libraryId = _context16.sent;
|
|
2468
|
+
case 6:
|
|
2506
2469
|
if (writeToken) {
|
|
2507
|
-
|
|
2470
|
+
_context16.next = 11;
|
|
2508
2471
|
break;
|
|
2509
2472
|
}
|
|
2510
|
-
|
|
2473
|
+
_context16.next = 9;
|
|
2511
2474
|
return this.EditContentObject({
|
|
2512
2475
|
objectId: objectId,
|
|
2513
2476
|
libraryId: libraryId
|
|
2514
2477
|
});
|
|
2515
|
-
case
|
|
2516
|
-
_yield$this$EditConte4 =
|
|
2478
|
+
case 9:
|
|
2479
|
+
_yield$this$EditConte4 = _context16.sent;
|
|
2517
2480
|
writeToken = _yield$this$EditConte4.writeToken;
|
|
2518
|
-
case
|
|
2519
|
-
|
|
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
|
|
2526
|
-
edgeWriteToken =
|
|
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
|
-
|
|
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
|
|
2539
|
-
objectMetadata =
|
|
2501
|
+
case 19:
|
|
2502
|
+
objectMetadata = _context16.sent;
|
|
2540
2503
|
if (objectMetadata) {
|
|
2541
|
-
|
|
2504
|
+
_context16.next = 22;
|
|
2542
2505
|
break;
|
|
2543
2506
|
}
|
|
2544
2507
|
throw Error("Stream object must be configured before adding a watermark");
|
|
2545
|
-
case
|
|
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
|
-
|
|
2514
|
+
_context16.next = 28;
|
|
2552
2515
|
break;
|
|
2553
2516
|
}
|
|
2554
2517
|
throw Error("No watermark was provided");
|
|
2555
|
-
case
|
|
2518
|
+
case 28:
|
|
2556
2519
|
if (!(watermarkArgCount > 1)) {
|
|
2557
|
-
|
|
2520
|
+
_context16.next = 30;
|
|
2558
2521
|
break;
|
|
2559
2522
|
}
|
|
2560
2523
|
throw Error("Only one watermark is allowed");
|
|
2561
|
-
case
|
|
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
|
-
|
|
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
|
|
2540
|
+
case 33:
|
|
2578
2541
|
if (!edgeWriteToken) {
|
|
2579
|
-
|
|
2542
|
+
_context16.next = 36;
|
|
2580
2543
|
break;
|
|
2581
2544
|
}
|
|
2582
|
-
|
|
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
|
|
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
|
-
|
|
2560
|
+
_context16.next = 42;
|
|
2598
2561
|
break;
|
|
2599
2562
|
}
|
|
2600
|
-
|
|
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
|
|
2608
|
-
finalizeResponse =
|
|
2570
|
+
case 40:
|
|
2571
|
+
finalizeResponse = _context16.sent;
|
|
2609
2572
|
response.hash = finalizeResponse.hash;
|
|
2610
|
-
case
|
|
2611
|
-
return
|
|
2612
|
-
case
|
|
2573
|
+
case 42:
|
|
2574
|
+
return _context16.abrupt("return", response);
|
|
2575
|
+
case 43:
|
|
2613
2576
|
case "end":
|
|
2614
|
-
return
|
|
2577
|
+
return _context16.stop();
|
|
2615
2578
|
}
|
|
2616
|
-
},
|
|
2579
|
+
}, _callee16, this);
|
|
2617
2580
|
}));
|
|
2618
|
-
return function (
|
|
2619
|
-
return
|
|
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
|
|
2600
|
+
var _ref33 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee17(_ref32) {
|
|
2638
2601
|
var objectId, versionHash, salt, samples, authorizationToken;
|
|
2639
|
-
return _regeneratorRuntime.wrap(function (
|
|
2640
|
-
while (1) switch (
|
|
2602
|
+
return _regeneratorRuntime.wrap(function _callee17$(_context17) {
|
|
2603
|
+
while (1) switch (_context17.prev = _context17.next) {
|
|
2641
2604
|
case 0:
|
|
2642
|
-
objectId =
|
|
2643
|
-
|
|
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
|
|
2654
|
-
return
|
|
2655
|
-
case
|
|
2616
|
+
case 3:
|
|
2617
|
+
return _context17.abrupt("return", _context17.sent);
|
|
2618
|
+
case 4:
|
|
2656
2619
|
case "end":
|
|
2657
|
-
return
|
|
2620
|
+
return _context17.stop();
|
|
2658
2621
|
}
|
|
2659
|
-
},
|
|
2622
|
+
}, _callee17, this);
|
|
2660
2623
|
}));
|
|
2661
|
-
return function (
|
|
2662
|
-
return
|
|
2624
|
+
return function (_x16) {
|
|
2625
|
+
return _ref33.apply(this, arguments);
|
|
2663
2626
|
};
|
|
2664
2627
|
}();
|