@eluvio/elv-client-js 4.0.99 → 4.0.101
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 +15 -14
- package/dist/ElvClient-node-min.js +14 -13
- package/dist/ElvFrameClient-min.js +10 -10
- package/dist/ElvPermissionsClient-min.js +9 -9
- package/dist/ElvWalletClient-min.js +15 -14
- package/dist/ElvWalletClient-node-min.js +14 -13
- package/dist/src/AuthorizationClient.js +9 -12
- package/dist/src/ContentObjectAudit.js +3 -3
- package/dist/src/ContentObjectVerification.js +3 -3
- package/dist/src/Crypto.js +2 -2
- package/dist/src/ElvClient.js +47 -28
- package/dist/src/ElvWallet.js +7 -5
- package/dist/src/EthClient.js +8 -9
- package/dist/src/FrameClient.js +8 -9
- package/dist/src/HttpClient.js +1 -2
- package/dist/src/Id.js +1 -2
- package/dist/src/PermissionsClient.js +31 -19
- package/dist/src/RemoteSigner.js +6 -8
- package/dist/src/UserProfileClient.js +35 -19
- package/dist/src/Utils.js +2 -3
- package/dist/src/abr_profiles/abr_profile_live_drm.js +18 -0
- package/dist/src/client/ABRPublishing.js +2 -2
- package/dist/src/client/AccessGroups.js +2 -2
- package/dist/src/client/ContentAccess.js +700 -563
- package/dist/src/client/ContentManagement.js +3 -3
- package/dist/src/client/Contracts.js +2 -2
- package/dist/src/client/Files.js +2 -2
- package/dist/src/client/LiveConf.js +13 -6
- package/dist/src/client/LiveStream.js +31 -41
- package/dist/src/client/NFT.js +2 -2
- package/dist/src/walletClient/ClientMethods.js +2 -2
- package/dist/src/walletClient/Profile.js +2 -2
- package/dist/src/walletClient/Utils.js +4 -4
- package/dist/src/walletClient/index.js +18 -15
- package/package.json +1 -1
- package/src/abr_profiles/abr_profile_live_drm.js +18 -0
- package/src/client/LiveConf.js +9 -0
- package/src/client/LiveStream.js +2 -10
|
@@ -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(
|
|
6
|
-
function _objectSpread(
|
|
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 (!
|
|
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(
|
|
6
|
-
function _objectSpread(
|
|
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
|
*
|
package/dist/src/client/Files.js
CHANGED
|
@@ -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(
|
|
6
|
-
function _objectSpread(
|
|
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,8 +1,8 @@
|
|
|
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(
|
|
5
|
-
function _objectSpread(
|
|
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 LadderTemplate = {
|
|
7
7
|
"2160": {
|
|
8
8
|
bit_rate: 14000000,
|
|
@@ -61,6 +61,8 @@ var LiveconfTemplate = {
|
|
|
61
61
|
ingress_node_id: ""
|
|
62
62
|
},
|
|
63
63
|
playout_config: {
|
|
64
|
+
dvr_enabled: true,
|
|
65
|
+
dvr_max_duration: 0,
|
|
64
66
|
rebroadcast_start_time_sec_epoch: 0,
|
|
65
67
|
vod_enabled: false
|
|
66
68
|
},
|
|
@@ -76,11 +78,12 @@ var LiveconfTemplate = {
|
|
|
76
78
|
part_ttl: 3600,
|
|
77
79
|
playout_type: "live",
|
|
78
80
|
source_timescale: null,
|
|
81
|
+
reconnect_timeout: 600,
|
|
79
82
|
xc_params: {
|
|
80
83
|
audio_bitrate: 384000,
|
|
81
84
|
audio_index: [0, 0, 0, 0, 0, 0, 0, 0],
|
|
82
85
|
audio_seg_duration_ts: null,
|
|
83
|
-
connection_timeout:
|
|
86
|
+
connection_timeout: 600,
|
|
84
87
|
ecodec2: "aac",
|
|
85
88
|
enc_height: null,
|
|
86
89
|
enc_width: null,
|
|
@@ -127,7 +130,7 @@ var LiveConf = /*#__PURE__*/function () {
|
|
|
127
130
|
this.overwriteOriginUrl = overwriteOriginUrl;
|
|
128
131
|
this.syncAudioToVideo = syncAudioToVideo;
|
|
129
132
|
}
|
|
130
|
-
_createClass(LiveConf, [{
|
|
133
|
+
return _createClass(LiveConf, [{
|
|
131
134
|
key: "probeKind",
|
|
132
135
|
value: function probeKind() {
|
|
133
136
|
var fileNameSplit = this.probeData.format.filename.split(":");
|
|
@@ -242,7 +245,6 @@ var LiveConf = /*#__PURE__*/function () {
|
|
|
242
245
|
} else {
|
|
243
246
|
seg.audio = 29.76 * 48000; // Other codecs are resampled @48000
|
|
244
247
|
}
|
|
245
|
-
|
|
246
248
|
return seg;
|
|
247
249
|
}
|
|
248
250
|
|
|
@@ -471,6 +473,12 @@ var LiveConf = /*#__PURE__*/function () {
|
|
|
471
473
|
if (customSettings.part_ttl) {
|
|
472
474
|
conf.live_recording.recording_config.recording_params.part_ttl = customSettings.part_ttl;
|
|
473
475
|
}
|
|
476
|
+
if (customSettings.connection_timeout) {
|
|
477
|
+
conf.live_recording.recording_config.recording_params.xc_params.connection_timeout = customSettings.connection_timeout;
|
|
478
|
+
}
|
|
479
|
+
if (customSettings.reconnect_timeout) {
|
|
480
|
+
conf.live_recording.recording_config.recording_params.reconnect_timeout = customSettings.reconnect_timeout;
|
|
481
|
+
}
|
|
474
482
|
|
|
475
483
|
// Fill in specifics for protocol
|
|
476
484
|
switch (this.probeKind()) {
|
|
@@ -569,6 +577,5 @@ var LiveConf = /*#__PURE__*/function () {
|
|
|
569
577
|
return conf;
|
|
570
578
|
}
|
|
571
579
|
}]);
|
|
572
|
-
return LiveConf;
|
|
573
580
|
}();
|
|
574
581
|
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
|
}
|
|
@@ -1445,7 +1444,6 @@ exports.StreamInsertion = /*#__PURE__*/function () {
|
|
|
1445
1444
|
insertionInfo = {
|
|
1446
1445
|
duration_sec: 0 // Minimum of video and audio duration
|
|
1447
1446
|
};
|
|
1448
|
-
|
|
1449
1447
|
["video", "audio"].forEach(function (mt) {
|
|
1450
1448
|
var stream = offeringMeta.media_struct.streams[mt];
|
|
1451
1449
|
insertionInfo[mt] = {
|
|
@@ -1664,7 +1662,7 @@ exports.StreamInsertion = /*#__PURE__*/function () {
|
|
|
1664
1662
|
*/
|
|
1665
1663
|
exports.StreamConfig = /*#__PURE__*/function () {
|
|
1666
1664
|
var _ref22 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee11(_ref21) {
|
|
1667
|
-
var name, _ref21$customSettings, customSettings, probeMetadata, objectId, status, libraryId, probe, mainMeta, userConfig, parsedName, hostName, streamUrl, nodes, node, endpoint,
|
|
1665
|
+
var name, _ref21$customSettings, customSettings, probeMetadata, objectId, status, libraryId, probe, mainMeta, userConfig, parsedName, hostName, streamUrl, nodes, node, endpoint, probeUrl, lc, liveRecordingConfig, e, writeToken;
|
|
1668
1666
|
return _regeneratorRuntime.wrap(function _callee11$(_context11) {
|
|
1669
1667
|
while (1) switch (_context11.prev = _context11.next) {
|
|
1670
1668
|
case 0:
|
|
@@ -1696,7 +1694,7 @@ exports.StreamConfig = /*#__PURE__*/function () {
|
|
|
1696
1694
|
parsedName = userConfig.url.replace("udp://", "https://").replace("rtmp://", "https://").replace("srt://", "https://");
|
|
1697
1695
|
hostName = new URL(parsedName).hostname;
|
|
1698
1696
|
streamUrl = new URL(userConfig.url);
|
|
1699
|
-
|
|
1697
|
+
this.Log("Retrieving nodes - matching: ".concat(hostName));
|
|
1700
1698
|
_context11.next = 20;
|
|
1701
1699
|
return this.SpaceNodes({
|
|
1702
1700
|
matchEndpoint: hostName
|
|
@@ -1717,7 +1715,7 @@ exports.StreamConfig = /*#__PURE__*/function () {
|
|
|
1717
1715
|
status.node = node;
|
|
1718
1716
|
endpoint = node.endpoints[0];
|
|
1719
1717
|
if (probe) {
|
|
1720
|
-
_context11.next =
|
|
1718
|
+
_context11.next = 53;
|
|
1721
1719
|
break;
|
|
1722
1720
|
}
|
|
1723
1721
|
this.SetNodes({
|
|
@@ -1726,73 +1724,65 @@ exports.StreamConfig = /*#__PURE__*/function () {
|
|
|
1726
1724
|
|
|
1727
1725
|
// Probe the stream
|
|
1728
1726
|
probe = {};
|
|
1729
|
-
|
|
1730
|
-
|
|
1731
|
-
controller.abort();
|
|
1732
|
-
}, 60 * 1000); // milliseconds
|
|
1733
|
-
_context11.prev = 32;
|
|
1734
|
-
_context11.next = 35;
|
|
1727
|
+
_context11.prev = 30;
|
|
1728
|
+
_context11.next = 33;
|
|
1735
1729
|
return this.Rep({
|
|
1736
1730
|
libraryId: libraryId,
|
|
1737
1731
|
objectId: objectId,
|
|
1738
1732
|
rep: "probe"
|
|
1739
1733
|
});
|
|
1740
|
-
case
|
|
1734
|
+
case 33:
|
|
1741
1735
|
probeUrl = _context11.sent;
|
|
1742
1736
|
_context11.t0 = this.utils;
|
|
1743
|
-
_context11.next =
|
|
1737
|
+
_context11.next = 37;
|
|
1744
1738
|
return HttpClient.Fetch(probeUrl, {
|
|
1745
1739
|
body: JSON.stringify({
|
|
1746
1740
|
"filename": streamUrl.href,
|
|
1747
1741
|
"listen": true
|
|
1748
1742
|
}),
|
|
1749
|
-
method: "POST"
|
|
1750
|
-
signal: controller.signal
|
|
1743
|
+
method: "POST"
|
|
1751
1744
|
});
|
|
1752
|
-
case
|
|
1745
|
+
case 37:
|
|
1753
1746
|
_context11.t1 = _context11.sent;
|
|
1754
|
-
_context11.next =
|
|
1747
|
+
_context11.next = 40;
|
|
1755
1748
|
return _context11.t0.ResponseToJson.call(_context11.t0, _context11.t1);
|
|
1756
|
-
case
|
|
1749
|
+
case 40:
|
|
1757
1750
|
probe = _context11.sent;
|
|
1758
|
-
if (probe) {
|
|
1759
|
-
clearTimeout(timeoutId);
|
|
1760
|
-
}
|
|
1761
1751
|
if (!probe.errors) {
|
|
1762
|
-
_context11.next =
|
|
1752
|
+
_context11.next = 43;
|
|
1763
1753
|
break;
|
|
1764
1754
|
}
|
|
1765
1755
|
throw probe.errors[0];
|
|
1766
|
-
case
|
|
1767
|
-
_context11.next =
|
|
1756
|
+
case 43:
|
|
1757
|
+
_context11.next = 52;
|
|
1768
1758
|
break;
|
|
1769
|
-
case
|
|
1770
|
-
_context11.prev =
|
|
1771
|
-
_context11.t2 = _context11["catch"](
|
|
1759
|
+
case 45:
|
|
1760
|
+
_context11.prev = 45;
|
|
1761
|
+
_context11.t2 = _context11["catch"](30);
|
|
1772
1762
|
if (!(_context11.t2.code === "ETIMEDOUT")) {
|
|
1773
|
-
_context11.next =
|
|
1763
|
+
_context11.next = 51;
|
|
1774
1764
|
break;
|
|
1775
1765
|
}
|
|
1776
1766
|
throw "Stream probe time out - make sure the stream source is available";
|
|
1777
|
-
case
|
|
1767
|
+
case 51:
|
|
1778
1768
|
throw _context11.t2;
|
|
1779
|
-
case
|
|
1769
|
+
case 52:
|
|
1780
1770
|
probe.format.filename = streamUrl.href;
|
|
1781
|
-
case
|
|
1771
|
+
case 53:
|
|
1782
1772
|
// Create live recording config
|
|
1783
1773
|
lc = new LiveConf(probe, node.id, endpoint, false, false, true);
|
|
1784
1774
|
liveRecordingConfig = lc.generateLiveConf({
|
|
1785
1775
|
customSettings: customSettings
|
|
1786
1776
|
}); // Store live recording config into the stream object
|
|
1787
|
-
_context11.next =
|
|
1777
|
+
_context11.next = 57;
|
|
1788
1778
|
return this.EditContentObject({
|
|
1789
1779
|
libraryId: libraryId,
|
|
1790
1780
|
objectId: objectId
|
|
1791
1781
|
});
|
|
1792
|
-
case
|
|
1782
|
+
case 57:
|
|
1793
1783
|
e = _context11.sent;
|
|
1794
1784
|
writeToken = e.write_token;
|
|
1795
|
-
_context11.next =
|
|
1785
|
+
_context11.next = 61;
|
|
1796
1786
|
return this.ReplaceMetadata({
|
|
1797
1787
|
libraryId: libraryId,
|
|
1798
1788
|
objectId: objectId,
|
|
@@ -1800,8 +1790,8 @@ exports.StreamConfig = /*#__PURE__*/function () {
|
|
|
1800
1790
|
metadataSubtree: "live_recording",
|
|
1801
1791
|
metadata: liveRecordingConfig.live_recording
|
|
1802
1792
|
});
|
|
1803
|
-
case
|
|
1804
|
-
_context11.next =
|
|
1793
|
+
case 61:
|
|
1794
|
+
_context11.next = 63;
|
|
1805
1795
|
return this.ReplaceMetadata({
|
|
1806
1796
|
libraryId: libraryId,
|
|
1807
1797
|
objectId: objectId,
|
|
@@ -1809,22 +1799,22 @@ exports.StreamConfig = /*#__PURE__*/function () {
|
|
|
1809
1799
|
metadataSubtree: "live_recording_config/probe_info",
|
|
1810
1800
|
metadata: probe
|
|
1811
1801
|
});
|
|
1812
|
-
case
|
|
1813
|
-
_context11.next =
|
|
1802
|
+
case 63:
|
|
1803
|
+
_context11.next = 65;
|
|
1814
1804
|
return this.FinalizeContentObject({
|
|
1815
1805
|
libraryId: libraryId,
|
|
1816
1806
|
objectId: objectId,
|
|
1817
1807
|
writeToken: writeToken,
|
|
1818
1808
|
commitMessage: "Apply live stream configuration"
|
|
1819
1809
|
});
|
|
1820
|
-
case
|
|
1810
|
+
case 65:
|
|
1821
1811
|
status.fin = _context11.sent;
|
|
1822
1812
|
return _context11.abrupt("return", status);
|
|
1823
|
-
case
|
|
1813
|
+
case 67:
|
|
1824
1814
|
case "end":
|
|
1825
1815
|
return _context11.stop();
|
|
1826
1816
|
}
|
|
1827
|
-
}, _callee11, this, [[
|
|
1817
|
+
}, _callee11, this, [[30, 45]]);
|
|
1828
1818
|
}));
|
|
1829
1819
|
return function (_x11) {
|
|
1830
1820
|
return _ref22.apply(this, arguments);
|
package/dist/src/client/NFT.js
CHANGED
|
@@ -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(
|
|
5
|
-
function _objectSpread(
|
|
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(
|
|
5
|
-
function _objectSpread(
|
|
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(
|
|
6
|
-
function _objectSpread(
|
|
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(
|
|
6
|
-
function _objectSpread(
|
|
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) {
|
|
@@ -136,7 +136,7 @@ var FormatNFTMetadata = function FormatNFTMetadata(walletClient, nft) {
|
|
|
136
136
|
var mediaType = (media.media_type || "").toLowerCase();
|
|
137
137
|
if (mediaType === "image") {
|
|
138
138
|
return _objectSpread(_objectSpread({}, media), {}, {
|
|
139
|
-
embed_url: media.media_file.url
|
|
139
|
+
embed_url: media.media_file && media.media_file.url
|
|
140
140
|
});
|
|
141
141
|
}
|
|
142
142
|
var embedUrl = new URL("https://embed.v3.contentfabric.io");
|
|
@@ -149,7 +149,7 @@ var FormatNFTMetadata = function FormatNFTMetadata(walletClient, nft) {
|
|
|
149
149
|
embedUrl.searchParams.set("vid", LinkTargetHash(media.media_link));
|
|
150
150
|
embedUrl.searchParams.set("ct", "h");
|
|
151
151
|
embedUrl.searchParams.set("ap", "");
|
|
152
|
-
} else if (mediaType === "ebook") {
|
|
152
|
+
} else if (mediaType === "ebook" && media.media_file) {
|
|
153
153
|
embedUrl.searchParams.set("type", "ebook");
|
|
154
154
|
embedUrl.searchParams.set("vid", media.media_file["."].container);
|
|
155
155
|
embedUrl.searchParams.set("murl", btoa(media.media_file.url));
|
|
@@ -7,8 +7,8 @@ var _asyncToGenerator = require("@babel/runtime/helpers/asyncToGenerator");
|
|
|
7
7
|
var _classCallCheck = require("@babel/runtime/helpers/classCallCheck");
|
|
8
8
|
var _createClass = require("@babel/runtime/helpers/createClass");
|
|
9
9
|
var _excluded = ["code", "address", "type", "authToken", "expiresAt"];
|
|
10
|
-
function ownKeys(
|
|
11
|
-
function _objectSpread(
|
|
10
|
+
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; }
|
|
11
|
+
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; }
|
|
12
12
|
var _require = require("../ElvClient"),
|
|
13
13
|
ElvClient = _require.ElvClient;
|
|
14
14
|
var Configuration = require("./Configuration");
|
|
@@ -79,7 +79,7 @@ var ElvWalletClient = /*#__PURE__*/function () {
|
|
|
79
79
|
this.utils = client.utils;
|
|
80
80
|
this.ForbiddenMethods = ElvWalletClient.ForbiddenMethods;
|
|
81
81
|
}
|
|
82
|
-
_createClass(ElvWalletClient, [{
|
|
82
|
+
return _createClass(ElvWalletClient, [{
|
|
83
83
|
key: "Log",
|
|
84
84
|
value: function Log(message) {
|
|
85
85
|
var error = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
@@ -136,7 +136,7 @@ var ElvWalletClient = /*#__PURE__*/function () {
|
|
|
136
136
|
*/
|
|
137
137
|
}, {
|
|
138
138
|
key: "PersonalSign",
|
|
139
|
-
value: function () {
|
|
139
|
+
value: (function () {
|
|
140
140
|
var _PersonalSign = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(_ref2) {
|
|
141
141
|
var message, parameters, url;
|
|
142
142
|
return _regeneratorRuntime.wrap(function _callee3$(_context3) {
|
|
@@ -265,7 +265,7 @@ var ElvWalletClient = /*#__PURE__*/function () {
|
|
|
265
265
|
return _PersonalSign.apply(this, arguments);
|
|
266
266
|
}
|
|
267
267
|
return PersonalSign;
|
|
268
|
-
}()
|
|
268
|
+
}())
|
|
269
269
|
}, {
|
|
270
270
|
key: "LogInURL",
|
|
271
271
|
value: function () {
|
|
@@ -344,7 +344,7 @@ var ElvWalletClient = /*#__PURE__*/function () {
|
|
|
344
344
|
*/
|
|
345
345
|
}, {
|
|
346
346
|
key: "LogIn",
|
|
347
|
-
value: function () {
|
|
347
|
+
value: (function () {
|
|
348
348
|
var _LogIn = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee7(_ref5) {
|
|
349
349
|
var _this = this;
|
|
350
350
|
var _ref5$method, method, provider, _ref5$mode, mode, callbackUrl, marketplaceParams, _ref5$clearLogin, clearLogin, callback, loginUrl;
|
|
@@ -463,14 +463,15 @@ var ElvWalletClient = /*#__PURE__*/function () {
|
|
|
463
463
|
*
|
|
464
464
|
* @methodGroup Login
|
|
465
465
|
*/
|
|
466
|
+
)
|
|
466
467
|
}, {
|
|
467
468
|
key: "LogOut",
|
|
468
|
-
value: function () {
|
|
469
|
+
value: (function () {
|
|
469
470
|
var _LogOut = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee8() {
|
|
470
471
|
return _regeneratorRuntime.wrap(function _callee8$(_context8) {
|
|
471
472
|
while (1) switch (_context8.prev = _context8.next) {
|
|
472
473
|
case 0:
|
|
473
|
-
if (!this.__authorization.nonce) {
|
|
474
|
+
if (!(this.__authorization && this.__authorization.nonce)) {
|
|
474
475
|
_context8.next = 9;
|
|
475
476
|
break;
|
|
476
477
|
}
|
|
@@ -508,7 +509,7 @@ var ElvWalletClient = /*#__PURE__*/function () {
|
|
|
508
509
|
return _LogOut.apply(this, arguments);
|
|
509
510
|
}
|
|
510
511
|
return LogOut;
|
|
511
|
-
}()
|
|
512
|
+
}())
|
|
512
513
|
}, {
|
|
513
514
|
key: "TokenStatus",
|
|
514
515
|
value: function () {
|
|
@@ -548,7 +549,7 @@ var ElvWalletClient = /*#__PURE__*/function () {
|
|
|
548
549
|
*/
|
|
549
550
|
}, {
|
|
550
551
|
key: "Authenticate",
|
|
551
|
-
value: function () {
|
|
552
|
+
value: (function () {
|
|
552
553
|
var _Authenticate = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee10(_ref7) {
|
|
553
554
|
var token, decodedToken;
|
|
554
555
|
return _regeneratorRuntime.wrap(function _callee10$(_context10) {
|
|
@@ -614,9 +615,10 @@ var ElvWalletClient = /*#__PURE__*/function () {
|
|
|
614
615
|
* - signingToken - Identical to `authToken`, but also includes the ability to perform arbitrary signatures with the custodial wallet. This token should be protected and should not be
|
|
615
616
|
* shared with third parties.
|
|
616
617
|
*/
|
|
618
|
+
)
|
|
617
619
|
}, {
|
|
618
620
|
key: "AuthenticateOAuth",
|
|
619
|
-
value: function () {
|
|
621
|
+
value: (function () {
|
|
620
622
|
var _AuthenticateOAuth = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee11(_ref8) {
|
|
621
623
|
var idToken, tenantId, email, signerURIs, _ref8$shareEmail, shareEmail, _ref8$extraData, extraData, nonce, _ref8$createRemoteTok, createRemoteToken, _ref8$force, force, tokenDuration, fabricToken, expiresAt, tokenResponse, address, decodedToken;
|
|
622
624
|
return _regeneratorRuntime.wrap(function _callee11$(_context11) {
|
|
@@ -743,9 +745,10 @@ var ElvWalletClient = /*#__PURE__*/function () {
|
|
|
743
745
|
* @returns {Promise<string>} - Returns an authorization token that can be used to initialize the client using <a href="#Authenticate">Authenticate</a>.
|
|
744
746
|
* Save this token to avoid having to reauthenticate. This token expires after 24 hours.
|
|
745
747
|
*/
|
|
748
|
+
)
|
|
746
749
|
}, {
|
|
747
750
|
key: "AuthenticateExternalWallet",
|
|
748
|
-
value: function () {
|
|
751
|
+
value: (function () {
|
|
749
752
|
var _AuthenticateExternalWallet = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee13(_ref9) {
|
|
750
753
|
var _this2 = this;
|
|
751
754
|
var address, _ref9$tokenDuration, tokenDuration, _ref9$walletName, walletName, Sign, expiresAt, fabricToken;
|
|
@@ -814,6 +817,7 @@ var ElvWalletClient = /*#__PURE__*/function () {
|
|
|
814
817
|
*
|
|
815
818
|
* @returns {string} - The client auth token
|
|
816
819
|
*/
|
|
820
|
+
)
|
|
817
821
|
}, {
|
|
818
822
|
key: "ClientAuthToken",
|
|
819
823
|
value: function ClientAuthToken() {
|
|
@@ -1978,7 +1982,7 @@ var ElvWalletClient = /*#__PURE__*/function () {
|
|
|
1978
1982
|
*/
|
|
1979
1983
|
}, {
|
|
1980
1984
|
key: "Initialize",
|
|
1981
|
-
value: function () {
|
|
1985
|
+
value: (function () {
|
|
1982
1986
|
var _Initialize = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee25(_ref24) {
|
|
1983
1987
|
var client, _ref24$appId, appId, _ref24$network, network, _ref24$mode, mode, localization, marketplaceParams, previewMarketplaceId, _ref24$storeAuthToken, storeAuthToken, _ref24$skipMarketplac, skipMarketplaceLoad, _ref25, tenantSlug, marketplaceSlug, marketplaceId, marketplaceHash, previewMarketplaceHash, walletClient, url, savedToken;
|
|
1984
1988
|
return _regeneratorRuntime.wrap(function _callee25$(_context25) {
|
|
@@ -2096,9 +2100,8 @@ var ElvWalletClient = /*#__PURE__*/function () {
|
|
|
2096
2100
|
return _Initialize.apply(this, arguments);
|
|
2097
2101
|
}
|
|
2098
2102
|
return Initialize;
|
|
2099
|
-
}()
|
|
2103
|
+
}())
|
|
2100
2104
|
}]);
|
|
2101
|
-
return ElvWalletClient;
|
|
2102
2105
|
}();
|
|
2103
2106
|
Object.assign(ElvWalletClient.prototype, require("./ClientMethods"));
|
|
2104
2107
|
Object.assign(ElvWalletClient.prototype, require("./Profile"));
|
package/package.json
CHANGED
|
@@ -1890,6 +1890,24 @@ const AbrProfileLiveDrm = {
|
|
|
1890
1890
|
"protocol": {
|
|
1891
1891
|
"type": "ProtoHls"
|
|
1892
1892
|
}
|
|
1893
|
+
},
|
|
1894
|
+
"hls-widevine-cenc": {
|
|
1895
|
+
"drm": {
|
|
1896
|
+
"enc_scheme_name": "cenc",
|
|
1897
|
+
"type": "DrmWidevine"
|
|
1898
|
+
},
|
|
1899
|
+
"protocol": {
|
|
1900
|
+
"type": "ProtoHls"
|
|
1901
|
+
}
|
|
1902
|
+
},
|
|
1903
|
+
"hls-playready-cenc": {
|
|
1904
|
+
"drm": {
|
|
1905
|
+
"enc_scheme_name": "cenc",
|
|
1906
|
+
"type": "DrmPlayReady"
|
|
1907
|
+
},
|
|
1908
|
+
"protocol": {
|
|
1909
|
+
"type": "ProtoHls"
|
|
1910
|
+
}
|
|
1893
1911
|
}
|
|
1894
1912
|
},
|
|
1895
1913
|
"segment_specs": {
|
package/src/client/LiveConf.js
CHANGED
|
@@ -74,6 +74,7 @@ const LiveconfTemplate = {
|
|
|
74
74
|
part_ttl: 3600,
|
|
75
75
|
playout_type: "live",
|
|
76
76
|
source_timescale: null,
|
|
77
|
+
reconnect_timeout: 600,
|
|
77
78
|
xc_params: {
|
|
78
79
|
audio_bitrate: 384000,
|
|
79
80
|
audio_index: [
|
|
@@ -455,6 +456,14 @@ class LiveConf {
|
|
|
455
456
|
conf.live_recording.recording_config.recording_params.part_ttl = customSettings.part_ttl;
|
|
456
457
|
}
|
|
457
458
|
|
|
459
|
+
if(customSettings.connection_timeout) {
|
|
460
|
+
conf.live_recording.recording_config.recording_params.xc_params.connection_timeout = customSettings.connection_timeout;
|
|
461
|
+
}
|
|
462
|
+
|
|
463
|
+
if(customSettings.reconnect_timeout) {
|
|
464
|
+
conf.live_recording.recording_config.recording_params.reconnect_timeout = customSettings.reconnect_timeout;
|
|
465
|
+
}
|
|
466
|
+
|
|
458
467
|
// Fill in specifics for protocol
|
|
459
468
|
switch(this.probeKind()) {
|
|
460
469
|
case "udp":
|
package/src/client/LiveStream.js
CHANGED
|
@@ -1357,7 +1357,7 @@ exports.StreamConfig = async function({name, customSettings={}, probeMetadata})
|
|
|
1357
1357
|
const hostName = new URL(parsedName).hostname;
|
|
1358
1358
|
const streamUrl = new URL(userConfig.url);
|
|
1359
1359
|
|
|
1360
|
-
|
|
1360
|
+
this.Log(`Retrieving nodes - matching: ${hostName}`);
|
|
1361
1361
|
let nodes = await this.SpaceNodes({matchEndpoint: hostName});
|
|
1362
1362
|
if(nodes.length < 1) {
|
|
1363
1363
|
status.error = "No node matching stream URL " + streamUrl.href;
|
|
@@ -1375,12 +1375,7 @@ exports.StreamConfig = async function({name, customSettings={}, probeMetadata})
|
|
|
1375
1375
|
|
|
1376
1376
|
// Probe the stream
|
|
1377
1377
|
probe = {};
|
|
1378
|
-
const controller = new AbortController();
|
|
1379
|
-
const timeoutId = setTimeout(() => {
|
|
1380
|
-
controller.abort();
|
|
1381
|
-
}, 60 * 1000); // milliseconds
|
|
1382
1378
|
try {
|
|
1383
|
-
|
|
1384
1379
|
let probeUrl = await this.Rep({
|
|
1385
1380
|
libraryId,
|
|
1386
1381
|
objectId,
|
|
@@ -1393,13 +1388,10 @@ exports.StreamConfig = async function({name, customSettings={}, probeMetadata})
|
|
|
1393
1388
|
"filename": streamUrl.href,
|
|
1394
1389
|
"listen": true
|
|
1395
1390
|
}),
|
|
1396
|
-
method: "POST"
|
|
1397
|
-
signal: controller.signal
|
|
1391
|
+
method: "POST"
|
|
1398
1392
|
})
|
|
1399
1393
|
);
|
|
1400
1394
|
|
|
1401
|
-
if(probe) { clearTimeout(timeoutId); }
|
|
1402
|
-
|
|
1403
1395
|
if(probe.errors) {
|
|
1404
1396
|
throw probe.errors[0];
|
|
1405
1397
|
}
|