@eluvio/elv-client-js 4.0.103 → 4.0.105

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/dist/ElvClient-min.js +15 -14
  2. package/dist/ElvClient-node-min.js +14 -13
  3. package/dist/ElvFrameClient-min.js +10 -10
  4. package/dist/ElvPermissionsClient-min.js +9 -9
  5. package/dist/ElvWalletClient-min.js +15 -14
  6. package/dist/ElvWalletClient-node-min.js +14 -13
  7. package/dist/src/AuthorizationClient.js +9 -12
  8. package/dist/src/ContentObjectAudit.js +3 -3
  9. package/dist/src/ContentObjectVerification.js +3 -3
  10. package/dist/src/Crypto.js +2 -2
  11. package/dist/src/ElvClient.js +47 -28
  12. package/dist/src/ElvWallet.js +7 -5
  13. package/dist/src/EthClient.js +8 -9
  14. package/dist/src/FrameClient.js +8 -9
  15. package/dist/src/HttpClient.js +1 -2
  16. package/dist/src/Id.js +1 -2
  17. package/dist/src/PermissionsClient.js +31 -19
  18. package/dist/src/RemoteSigner.js +10 -11
  19. package/dist/src/UserProfileClient.js +35 -19
  20. package/dist/src/Utils.js +2 -3
  21. package/dist/src/abr_profiles/abr_profile_live_drm.js +22 -0
  22. package/dist/src/client/ABRPublishing.js +2 -2
  23. package/dist/src/client/AccessGroups.js +2 -2
  24. package/dist/src/client/ContentAccess.js +9 -6
  25. package/dist/src/client/ContentManagement.js +3 -3
  26. package/dist/src/client/Contracts.js +2 -2
  27. package/dist/src/client/Files.js +2 -2
  28. package/dist/src/client/LiveConf.js +60 -78
  29. package/dist/src/client/LiveStream.js +41 -22
  30. package/dist/src/client/NFT.js +2 -2
  31. package/dist/src/walletClient/ClientMethods.js +2 -2
  32. package/dist/src/walletClient/Profile.js +2 -2
  33. package/dist/src/walletClient/Utils.js +2 -2
  34. package/dist/src/walletClient/index.js +19 -16
  35. package/package.json +1 -1
  36. package/src/abr_profiles/abr_profile_live_drm.js +22 -0
  37. package/src/client/ContentAccess.js +2 -1
  38. package/src/client/LiveConf.js +86 -111
  39. package/src/client/LiveStream.js +19 -0
  40. package/src/walletClient/index.js +4 -8
@@ -2,8 +2,8 @@ var _defineProperty = require("@babel/runtime/helpers/defineProperty");
2
2
  var _toConsumableArray = require("@babel/runtime/helpers/toConsumableArray");
3
3
  var _regeneratorRuntime = require("@babel/runtime/regenerator");
4
4
  var _asyncToGenerator = require("@babel/runtime/helpers/asyncToGenerator");
5
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
6
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
5
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
6
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
7
7
  /**
8
8
  * Methods for accessing and managing access groups
9
9
  *
@@ -3,8 +3,8 @@ var _typeof = require("@babel/runtime/helpers/typeof");
3
3
  var _defineProperty = require("@babel/runtime/helpers/defineProperty");
4
4
  var _regeneratorRuntime = require("@babel/runtime/regenerator");
5
5
  var _asyncToGenerator = require("@babel/runtime/helpers/asyncToGenerator");
6
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
7
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
7
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
8
8
  /**
9
9
  * Methods for accessing content types, libraries and objects
10
10
  *
@@ -2949,11 +2949,11 @@ exports.GlobalUrl = /*#__PURE__*/function () {
2949
2949
  }();
2950
2950
  exports.MakeFileServiceRequest = /*#__PURE__*/function () {
2951
2951
  var _ref65 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee37(_ref64) {
2952
- var libraryId, objectId, versionHash, writeToken, path, _ref64$method, method, _ref64$queryParams, queryParams, body, _ref64$bodyType, bodyType, _ref64$format, format, _ref64$headers, headers, authorizationToken, queryPath, authorization;
2952
+ var libraryId, objectId, versionHash, writeToken, path, _ref64$method, method, _ref64$queryParams, queryParams, body, _ref64$bodyType, bodyType, _ref64$format, format, encryption, _ref64$headers, headers, authorizationToken, queryPath, authorization;
2953
2953
  return _regeneratorRuntime.wrap(function _callee37$(_context37) {
2954
2954
  while (1) switch (_context37.prev = _context37.next) {
2955
2955
  case 0:
2956
- libraryId = _ref64.libraryId, objectId = _ref64.objectId, versionHash = _ref64.versionHash, writeToken = _ref64.writeToken, path = _ref64.path, _ref64$method = _ref64.method, method = _ref64$method === void 0 ? "GET" : _ref64$method, _ref64$queryParams = _ref64.queryParams, queryParams = _ref64$queryParams === void 0 ? {} : _ref64$queryParams, body = _ref64.body, _ref64$bodyType = _ref64.bodyType, bodyType = _ref64$bodyType === void 0 ? "JSON" : _ref64$bodyType, _ref64$format = _ref64.format, format = _ref64$format === void 0 ? "json" : _ref64$format, _ref64$headers = _ref64.headers, headers = _ref64$headers === void 0 ? {} : _ref64$headers, authorizationToken = _ref64.authorizationToken;
2956
+ libraryId = _ref64.libraryId, objectId = _ref64.objectId, versionHash = _ref64.versionHash, writeToken = _ref64.writeToken, path = _ref64.path, _ref64$method = _ref64.method, method = _ref64$method === void 0 ? "GET" : _ref64$method, _ref64$queryParams = _ref64.queryParams, queryParams = _ref64$queryParams === void 0 ? {} : _ref64$queryParams, body = _ref64.body, _ref64$bodyType = _ref64.bodyType, bodyType = _ref64$bodyType === void 0 ? "JSON" : _ref64$bodyType, _ref64$format = _ref64.format, format = _ref64$format === void 0 ? "json" : _ref64$format, encryption = _ref64.encryption, _ref64$headers = _ref64.headers, headers = _ref64$headers === void 0 ? {} : _ref64$headers, authorizationToken = _ref64.authorizationToken;
2957
2957
  if (versionHash) {
2958
2958
  objectId = this.utils.DecodeVersionHash(versionHash).objectId;
2959
2959
  }
@@ -2980,7 +2980,11 @@ exports.MakeFileServiceRequest = /*#__PURE__*/function () {
2980
2980
  _context37.t0 = authorizationToken;
2981
2981
  _context37.next = 12;
2982
2982
  return this.authClient.AuthorizationToken({
2983
- objectId: objectId
2983
+ libraryId: libraryId,
2984
+ objectId: objectId,
2985
+ versionHash: versionHash,
2986
+ encryption: encryption,
2987
+ makeAccessRequest: encryption === "cgck"
2984
2988
  });
2985
2989
  case 12:
2986
2990
  _context37.t1 = _context37.sent;
@@ -4656,7 +4660,6 @@ exports.AccessInfo = /*#__PURE__*/function () {
4656
4660
  [] // Stakeholders
4657
4661
  ];
4658
4662
  }
4659
-
4660
4663
  this.Log("Retrieving access info: ".concat(objectId));
4661
4664
  _context55.next = 6;
4662
4665
  return this.ethClient.CallContractMethod({
@@ -2,8 +2,8 @@ var _typeof = require("@babel/runtime/helpers/typeof");
2
2
  var _defineProperty = require("@babel/runtime/helpers/defineProperty");
3
3
  var _regeneratorRuntime = require("@babel/runtime/regenerator");
4
4
  var _asyncToGenerator = require("@babel/runtime/helpers/asyncToGenerator");
5
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
6
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
5
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
6
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
7
7
  /**
8
8
  * Methods for managing content types, libraries and objects
9
9
  *
@@ -2303,7 +2303,7 @@ exports.UpdateContentObjectGraph = /*#__PURE__*/function () {
2303
2303
  return _context30.delegateYield(_loop(), "t0", 8);
2304
2304
  case 8:
2305
2305
  _ret = _context30.t0;
2306
- if (!(_typeof(_ret) === "object")) {
2306
+ if (!_ret) {
2307
2307
  _context30.next = 11;
2308
2308
  break;
2309
2309
  }
@@ -2,8 +2,8 @@ var _defineProperty = require("@babel/runtime/helpers/defineProperty");
2
2
  var _typeof = require("@babel/runtime/helpers/typeof");
3
3
  var _regeneratorRuntime = require("@babel/runtime/regenerator");
4
4
  var _asyncToGenerator = require("@babel/runtime/helpers/asyncToGenerator");
5
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
6
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
5
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
6
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
7
7
  /**
8
8
  * Methods for deploying and interacting with contracts
9
9
  *
@@ -2,8 +2,8 @@ var _toConsumableArray = require("@babel/runtime/helpers/toConsumableArray");
2
2
  var _defineProperty = require("@babel/runtime/helpers/defineProperty");
3
3
  var _regeneratorRuntime = require("@babel/runtime/regenerator");
4
4
  var _asyncToGenerator = require("@babel/runtime/helpers/asyncToGenerator");
5
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
6
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
5
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
6
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
7
7
  /**
8
8
  * Methods for accessing and managing access groups
9
9
  *
@@ -1,58 +1,44 @@
1
1
  var _defineProperty = require("@babel/runtime/helpers/defineProperty");
2
2
  var _classCallCheck = require("@babel/runtime/helpers/classCallCheck");
3
3
  var _createClass = require("@babel/runtime/helpers/createClass");
4
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
5
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6
- var LadderTemplate = {
7
- "2160": {
4
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
5
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
6
+ var DefaultABRLadder = {
7
+ "video": [{
8
8
  bit_rate: 14000000,
9
9
  codecs: "avc1.640028,mp4a.40.2",
10
10
  height: 2160,
11
- media_type: 1,
12
- representation: "videovideo_3840x2160_h264@14000000",
13
- stream_name: "video",
14
11
  width: 3840
15
- },
16
- "1080": {
12
+ }, {
17
13
  bit_rate: 9500000,
18
14
  codecs: "avc1.640028,mp4a.40.2",
19
15
  height: 1080,
20
- media_type: 1,
21
- representation: "videovideo_1920x1080_h264@9500000",
22
- stream_name: "video",
23
- stream_index: 0,
24
16
  width: 1920
25
- },
26
- "720": {
17
+ }, {
27
18
  bit_rate: 4500000,
28
19
  codecs: "avc1.640028,mp4a.40.2",
29
20
  height: 720,
30
- media_type: 1,
31
- representation: "videovideo_1280x720_h264@4500000",
32
- stream_name: "video",
33
- stream_index: 0,
34
21
  width: 1280
35
- },
36
- "540": {
22
+ }, {
37
23
  bit_rate: 2000000,
38
24
  codecs: "avc1.640028,mp4a.40.2",
39
25
  height: 540,
40
- media_type: 1,
41
- representation: "videovideo_960x540_h264@2000000",
42
- stream_name: "video",
43
- stream_index: 0,
44
26
  width: 960
45
- },
46
- "540_low": {
27
+ }, {
47
28
  bit_rate: 900000,
48
29
  codecs: "avc1.640028,mp4a.40.2",
49
30
  height: 540,
50
- media_type: 1,
51
- representation: "videovideo_960x540_h264@900000",
52
- stream_name: "video",
53
- stream_index: 0,
54
31
  width: 960
55
- }
32
+ }],
33
+ "audio": [{
34
+ bit_rate: 192000,
35
+ channels: 2,
36
+ codecs: "mp4a.40.2"
37
+ }, {
38
+ bit_rate: 384000,
39
+ channels: 6,
40
+ codecs: "mp4a.40.2"
41
+ }]
56
42
  };
57
43
  var LiveconfTemplate = {
58
44
  live_recording: {
@@ -109,15 +95,6 @@ var LiveconfTemplate = {
109
95
  }
110
96
  }
111
97
  };
112
- var LadderSpecAudio = {
113
- bit_rate: 384000,
114
- channels: 2,
115
- codecs: "mp4a.40.2",
116
- media_type: 2,
117
- representation: "audioaudio_aac@384000",
118
- stream_name: "audio",
119
- stream_index: 0
120
- };
121
98
  var LiveConf = /*#__PURE__*/function () {
122
99
  "use strict";
123
100
 
@@ -130,7 +107,7 @@ var LiveConf = /*#__PURE__*/function () {
130
107
  this.overwriteOriginUrl = overwriteOriginUrl;
131
108
  this.syncAudioToVideo = syncAudioToVideo;
132
109
  }
133
- _createClass(LiveConf, [{
110
+ return _createClass(LiveConf, [{
134
111
  key: "probeKind",
135
112
  value: function probeKind() {
136
113
  var fileNameSplit = this.probeData.format.filename.split(":");
@@ -245,7 +222,6 @@ var LiveConf = /*#__PURE__*/function () {
245
222
  } else {
246
223
  seg.audio = 29.76 * 48000; // Other codecs are resampled @48000
247
224
  }
248
-
249
225
  return seg;
250
226
  }
251
227
 
@@ -410,7 +386,7 @@ var LiveConf = /*#__PURE__*/function () {
410
386
  value: function generateAudioStreamsConfig(_ref4) {
411
387
  var customSettings = _ref4.customSettings;
412
388
  var audioStreams = {};
413
- if (customSettings && customSettings.audio) {
389
+ if (customSettings && customSettings.audio && Object.keys(customSettings.audio).length > 0) {
414
390
  for (var i = 0; i < Object.keys(customSettings.audio).length; i++) {
415
391
  var audioIdx = Object.keys(customSettings.audio)[i];
416
392
  var audio = customSettings.audio[audioIdx];
@@ -425,7 +401,7 @@ var LiveConf = /*#__PURE__*/function () {
425
401
  }
426
402
 
427
403
  // If no audio streams specified in custom config, set up all the suitable audio streams in the probe
428
- if (!customSettings.audio) {
404
+ if (!customSettings.audio || Object.keys(customSettings.audio).length == 0) {
429
405
  audioStreams = this.getAudioStreamsFromProbe();
430
406
  }
431
407
  return audioStreams;
@@ -525,46 +501,53 @@ var LiveConf = /*#__PURE__*/function () {
525
501
  if (segDurations.videoFrameDurationTs) {
526
502
  conf.live_recording.recording_config.recording_params.xc_params.video_frame_duration_ts = segDurations.videoFrameDurationTs;
527
503
  }
528
- switch (videoStream.height) {
529
- case 2160:
530
- conf.live_recording.recording_config.recording_params.ladder_specs.unshift(LadderTemplate[2160], LadderTemplate[1080], LadderTemplate[720], LadderTemplate[540], LadderTemplate["540_low"]);
531
- conf.live_recording.recording_config.recording_params.xc_params.video_bitrate = LadderTemplate[2160].bit_rate;
532
- conf.live_recording.recording_config.recording_params.xc_params.enc_height = 2160;
533
- conf.live_recording.recording_config.recording_params.xc_params.enc_width = 3840;
534
- break;
535
- case 1080:
536
- conf.live_recording.recording_config.recording_params.ladder_specs.unshift(LadderTemplate[1080], LadderTemplate[720], LadderTemplate[540], LadderTemplate["540_low"]);
537
- conf.live_recording.recording_config.recording_params.xc_params.video_bitrate = LadderTemplate[1080].bit_rate;
538
- conf.live_recording.recording_config.recording_params.xc_params.enc_height = 1080;
539
- conf.live_recording.recording_config.recording_params.xc_params.enc_width = 1920;
540
- break;
541
- case 720:
542
- conf.live_recording.recording_config.recording_params.ladder_specs.unshift(LadderTemplate[720], LadderTemplate[540], LadderTemplate["540_low"]);
543
- conf.live_recording.recording_config.recording_params.xc_params.video_bitrate = LadderTemplate[720].bit_rate;
544
- conf.live_recording.recording_config.recording_params.xc_params.enc_height = 720;
545
- conf.live_recording.recording_config.recording_params.xc_params.enc_width = 1280;
546
- break;
547
- case 540:
548
- conf.live_recording.recording_config.recording_params.ladder_specs.unshift(LadderTemplate[540], LadderTemplate["540_low"]);
549
- conf.live_recording.recording_config.recording_params.xc_params.video_bitrate = LadderTemplate[540].bit_rate;
550
- conf.live_recording.recording_config.recording_params.xc_params.enc_height = 540;
551
- conf.live_recording.recording_config.recording_params.xc_params.enc_width = 960;
552
- break;
553
- default:
554
- throw new Error("ERROR: Probed stream does not conform to one of the following built in resolution ladders [4096, 2160], [1920, 1080] [1280, 720], [960, 540]");
504
+ var ladderProfile = customSettings.ladder_profile || DefaultABRLadder;
505
+ conf.live_recording.recording_config.recording_params.xc_params.enc_height = videoStream.height;
506
+ conf.live_recording.recording_config.recording_params.xc_params.enc_width = videoStream.width;
507
+
508
+ // Determine video recording bitrate and ABR ladder
509
+ var topLadderRate = 0;
510
+ for (var _i = 0; _i < ladderProfile.video.length; _i++) {
511
+ var elem = ladderProfile.video[_i];
512
+ if (elem.height > videoStream.height) continue;
513
+ if (elem.bit_rate > topLadderRate) {
514
+ topLadderRate = elem.bit_rate;
515
+ }
516
+ elem.media_type = 1;
517
+ elem.stream_name = "video";
518
+ elem.stream_index = 0;
519
+ elem.representation = "videovideo_" + videoStream.width + "x" + videoStream.height + "_h264@" + elem.bit_rate;
520
+ conf.live_recording.recording_config.recording_params.ladder_specs.push(elem);
555
521
  }
522
+ // Currently the recording bitrate is the top bitrate of the ladder (it will be configurable separately in the future)
523
+ conf.live_recording.recording_config.recording_params.xc_params.video_bitrate = topLadderRate;
524
+
525
+ // Determine audio recording bitrate and ABR ladder
556
526
  var globalAudioBitrate = 0;
557
527
  var nAudio = 0;
558
- for (var _i = 0; _i < Object.keys(audioStreams).length; _i++) {
559
- var audioLadderSpec = _objectSpread({}, LadderSpecAudio);
560
- var audioIndex = Object.keys(audioStreams)[_i];
528
+ for (var _i2 = 0; _i2 < Object.keys(audioStreams).length; _i2++) {
529
+ var audioLadderSpec = {};
530
+ var audioIndex = Object.keys(audioStreams)[_i2];
561
531
  var audio = audioStreams[audioIndex];
562
- audioLadderSpec.bit_rate = audio.recordingBitrate;
563
- audioLadderSpec.representation = "audioaudio_aac@".concat(audio.recordingBitrate);
532
+
533
+ // Find ladder rung for the specific channel layout (2 or 6 channels)
534
+ for (var j = 0; j < ladderProfile.audio.length; j++) {
535
+ var _elem = ladderProfile.audio[j];
536
+ if (_elem.channels == audio.recordingChannels) {
537
+ audioLadderSpec = _objectSpread({}, _elem);
538
+ break;
539
+ }
540
+ }
541
+ if (Object.keys(audioLadderSpec).length === 0) {
542
+ // If no channels layout match, just use the first element in the ladder
543
+ audioLadderSpec = _objectSpread({}, ladderProfile.audio[0]);
544
+ }
545
+ audioLadderSpec.representation = "audioaudio_aac@".concat(audioLadderSpec.bit_rate);
564
546
  audioLadderSpec.channels = audio.recordingChannels;
565
547
  audioLadderSpec.stream_index = parseInt(audioIndex);
566
548
  audioLadderSpec.stream_name = "audio_".concat(audioIndex);
567
549
  audioLadderSpec.stream_label = audio.playoutLabel ? audio.playoutLabel : null;
550
+ audioLadderSpec.media_type = 2;
568
551
  conf.live_recording.recording_config.recording_params.ladder_specs.push(audioLadderSpec);
569
552
  if (audio.recordingBitrate > globalAudioBitrate) {
570
553
  globalAudioBitrate = audio.recordingBitrate;
@@ -578,6 +561,5 @@ var LiveConf = /*#__PURE__*/function () {
578
561
  return conf;
579
562
  }
580
563
  }]);
581
- return LiveConf;
582
564
  }();
583
565
  exports.LiveConf = LiveConf;
@@ -823,7 +823,6 @@ exports.StreamCreate = /*#__PURE__*/function () {
823
823
  edge_write_token: edgeToken,
824
824
  state: "active" // indicates there is an active session (set to 'closed' when done)
825
825
  },
826
-
827
826
  fabric_config: {
828
827
  edge_write_token: edgeToken
829
828
  }
@@ -1296,7 +1295,7 @@ exports.StreamSetOfferingAndDRM = /*#__PURE__*/function () {
1296
1295
  abrProfileDefault = require("../abr_profiles/abr_profile_live_drm.js");
1297
1296
  abrProfile = JSON.parse(JSON.stringify(abrProfileDefault));
1298
1297
  if (!format) {
1299
- _context9.next = 39;
1298
+ _context9.next = 43;
1300
1299
  break;
1301
1300
  }
1302
1301
  drm = true; // Override DRM parameter
@@ -1305,7 +1304,7 @@ exports.StreamSetOfferingAndDRM = /*#__PURE__*/function () {
1305
1304
  i = 0;
1306
1305
  case 28:
1307
1306
  if (!(i < formats.length)) {
1308
- _context9.next = 37;
1307
+ _context9.next = 41;
1309
1308
  break;
1310
1309
  }
1311
1310
  if (!(formats[i] === "hls-clear")) {
@@ -1319,17 +1318,31 @@ exports.StreamSetOfferingAndDRM = /*#__PURE__*/function () {
1319
1318
  "type": "ProtoHls"
1320
1319
  }
1321
1320
  };
1322
- return _context9.abrupt("continue", 34);
1321
+ return _context9.abrupt("continue", 38);
1323
1322
  case 33:
1323
+ if (!(formats[i] === "dash-clear")) {
1324
+ _context9.next = 37;
1325
+ break;
1326
+ }
1327
+ abrProfile.drm_optional = true;
1328
+ playoutFormats["dash-clear"] = {
1329
+ "drm": null,
1330
+ "protocol": {
1331
+ "min_buffer_length": 2,
1332
+ "type": "ProtoDash"
1333
+ }
1334
+ };
1335
+ return _context9.abrupt("continue", 38);
1336
+ case 37:
1324
1337
  playoutFormats[formats[i]] = abrProfile.playout_formats[formats[i]];
1325
- case 34:
1338
+ case 38:
1326
1339
  i++;
1327
1340
  _context9.next = 28;
1328
1341
  break;
1329
- case 37:
1330
- _context9.next = 40;
1342
+ case 41:
1343
+ _context9.next = 44;
1331
1344
  break;
1332
- case 39:
1345
+ case 43:
1333
1346
  if (!drm) {
1334
1347
  abrProfile.drm_optional = true;
1335
1348
  playoutFormats = {
@@ -1338,26 +1351,33 @@ exports.StreamSetOfferingAndDRM = /*#__PURE__*/function () {
1338
1351
  "protocol": {
1339
1352
  "type": "ProtoHls"
1340
1353
  }
1354
+ },
1355
+ "dash-clear": {
1356
+ "drm": null,
1357
+ "protocol": {
1358
+ "min_buffer_length": 2,
1359
+ "type": "ProtoDash"
1360
+ }
1341
1361
  }
1342
1362
  };
1343
1363
  } else {
1344
1364
  playoutFormats = Object.assign({}, abrProfile.playout_formats);
1345
1365
  }
1346
- case 40:
1366
+ case 44:
1347
1367
  abrProfile.playout_formats = playoutFormats;
1348
- _context9.next = 43;
1368
+ _context9.next = 47;
1349
1369
  return this.ContentObjectLibraryId({
1350
1370
  objectId: objectId
1351
1371
  });
1352
- case 43:
1372
+ case 47:
1353
1373
  libraryId = _context9.sent;
1354
- _context9.prev = 44;
1355
- _context9.next = 47;
1374
+ _context9.prev = 48;
1375
+ _context9.next = 51;
1356
1376
  return this.ContentObjectMetadata({
1357
1377
  libraryId: libraryId,
1358
1378
  objectId: objectId
1359
1379
  });
1360
- case 47:
1380
+ case 51:
1361
1381
  mainMeta = _context9.sent;
1362
1382
  fabURI = mainMeta.live_recording.fabric_config.ingress_node_api; // Support both hostname and URL ingress_node_api
1363
1383
  if (!fabURI.startsWith("http")) {
@@ -1368,7 +1388,7 @@ exports.StreamSetOfferingAndDRM = /*#__PURE__*/function () {
1368
1388
  fabricURIs: [fabURI]
1369
1389
  });
1370
1390
  streamUrl = mainMeta.live_recording.recording_config.recording_params.origin_url;
1371
- _context9.next = 54;
1391
+ _context9.next = 58;
1372
1392
  return StreamGenerateOffering({
1373
1393
  client: this,
1374
1394
  libraryId: libraryId,
@@ -1391,22 +1411,22 @@ exports.StreamSetOfferingAndDRM = /*#__PURE__*/function () {
1391
1411
  vFrameRate: vFrameRate,
1392
1412
  vTimeBase: vTimeBase
1393
1413
  });
1394
- case 54:
1414
+ case 58:
1395
1415
  console.log("Finished generating offering");
1396
1416
  return _context9.abrupt("return", {
1397
1417
  name: name,
1398
1418
  object_id: objectId,
1399
1419
  state: "initialized"
1400
1420
  });
1401
- case 58:
1402
- _context9.prev = 58;
1403
- _context9.t0 = _context9["catch"](44);
1421
+ case 62:
1422
+ _context9.prev = 62;
1423
+ _context9.t0 = _context9["catch"](48);
1404
1424
  console.error(_context9.t0);
1405
- case 61:
1425
+ case 65:
1406
1426
  case "end":
1407
1427
  return _context9.stop();
1408
1428
  }
1409
- }, _callee9, this, [[44, 58]]);
1429
+ }, _callee9, this, [[48, 62]]);
1410
1430
  }));
1411
1431
  return function (_x9) {
1412
1432
  return _ref18.apply(this, arguments);
@@ -1445,7 +1465,6 @@ exports.StreamInsertion = /*#__PURE__*/function () {
1445
1465
  insertionInfo = {
1446
1466
  duration_sec: 0 // Minimum of video and audio duration
1447
1467
  };
1448
-
1449
1468
  ["video", "audio"].forEach(function (mt) {
1450
1469
  var stream = offeringMeta.media_struct.streams[mt];
1451
1470
  insertionInfo[mt] = {
@@ -1,8 +1,8 @@
1
1
  var _regeneratorRuntime = require("@babel/runtime/regenerator");
2
2
  var _defineProperty = require("@babel/runtime/helpers/defineProperty");
3
3
  var _asyncToGenerator = require("@babel/runtime/helpers/asyncToGenerator");
4
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
5
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
5
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
6
6
  /**
7
7
  * Methods for creating and managing NFTs
8
8
  *
@@ -1,8 +1,8 @@
1
1
  var _defineProperty = require("@babel/runtime/helpers/defineProperty");
2
2
  var _regeneratorRuntime = require("@babel/runtime/regenerator");
3
3
  var _asyncToGenerator = require("@babel/runtime/helpers/asyncToGenerator");
4
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
5
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
5
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
6
6
  var Utils = require("../Utils");
7
7
  var UrlJoin = require("url-join");
8
8
  var _require = require("./Utils"),
@@ -2,8 +2,8 @@ var _defineProperty = require("@babel/runtime/helpers/defineProperty");
2
2
  var _typeof = require("@babel/runtime/helpers/typeof");
3
3
  var _regeneratorRuntime = require("@babel/runtime/regenerator");
4
4
  var _asyncToGenerator = require("@babel/runtime/helpers/asyncToGenerator");
5
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
6
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
5
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
6
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
7
7
  var Utils = require("../Utils");
8
8
  var UrlJoin = require("url-join");
9
9
  var StateStorePath = function StateStorePath(_ref) {
@@ -2,8 +2,8 @@ var _regeneratorRuntime = require("@babel/runtime/regenerator");
2
2
  var _asyncToGenerator = require("@babel/runtime/helpers/asyncToGenerator");
3
3
  var _defineProperty = require("@babel/runtime/helpers/defineProperty");
4
4
  var _slicedToArray = require("@babel/runtime/helpers/slicedToArray");
5
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
6
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
5
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
6
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
7
7
  var Utils = require("../Utils");
8
8
  var RarityToPercentage = function RarityToPercentage(rarity) {
9
9
  if (!rarity) {