@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
package/package.json
CHANGED
package/src/client/LiveConf.js
CHANGED
|
@@ -508,7 +508,7 @@ class LiveConf {
|
|
|
508
508
|
let globalAudioBitrate = 0;
|
|
509
509
|
let nAudio = 0;
|
|
510
510
|
|
|
511
|
-
for(let i = 0; i < Object.keys(audioStreams).length; i
|
|
511
|
+
for(let i = 0; i < Object.keys(audioStreams).length; i++) {
|
|
512
512
|
let audioLadderSpec = {};
|
|
513
513
|
const audioIndex = Object.keys(audioStreams)[i];
|
|
514
514
|
const audio = audioStreams[audioIndex];
|
|
@@ -533,6 +533,10 @@ class LiveConf {
|
|
|
533
533
|
audioLadderSpec.stream_label = audio.playoutLabel ? audio.playoutLabel : null;
|
|
534
534
|
audioLadderSpec.media_type = 2;
|
|
535
535
|
|
|
536
|
+
if(Object.keys(audioStreams).length === 1) {
|
|
537
|
+
audioLadderSpec.default = true;
|
|
538
|
+
}
|
|
539
|
+
|
|
536
540
|
conf.live_recording.recording_config.recording_params.ladder_specs.push(audioLadderSpec);
|
|
537
541
|
if(audio.recordingBitrate > globalAudioBitrate) {
|
|
538
542
|
globalAudioBitrate = audio.recordingBitrate;
|
package/src/client/LiveStream.js
CHANGED
|
@@ -346,7 +346,6 @@ const StreamGenerateOffering = async({
|
|
|
346
346
|
* @methodGroup Live Stream
|
|
347
347
|
* @namedParams
|
|
348
348
|
* @param {string} name - Object ID or name of the live stream object
|
|
349
|
-
* @param {boolean=} stopLro - If specified, will stop LRO
|
|
350
349
|
* @param {boolean=} showParams - If specified, will return recording_params with status
|
|
351
350
|
* States:
|
|
352
351
|
* unconfigured - no live_recording_config
|
|
@@ -359,7 +358,7 @@ const StreamGenerateOffering = async({
|
|
|
359
358
|
*
|
|
360
359
|
* @return {Promise<Object>} - The status response for the object, as well as logs, warnings and errors from the master initialization
|
|
361
360
|
*/
|
|
362
|
-
exports.StreamStatus = async function({name,
|
|
361
|
+
exports.StreamStatus = async function({name, showParams=false}) {
|
|
363
362
|
let objectId = name;
|
|
364
363
|
let status = {name: name};
|
|
365
364
|
|
|
@@ -418,13 +417,11 @@ exports.StreamStatus = async function({name, stopLro=false, showParams=false}) {
|
|
|
418
417
|
status.stream_id = edgeWriteToken; // By convention the stream ID is its write token
|
|
419
418
|
let edgeMeta;
|
|
420
419
|
try {
|
|
421
|
-
edgeMeta = await this.
|
|
420
|
+
edgeMeta = await this.CallBitcodeMethod({
|
|
422
421
|
libraryId: libraryId,
|
|
423
422
|
objectId: objectId,
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
"live_recording"
|
|
427
|
-
]
|
|
423
|
+
method: "/live/meta",
|
|
424
|
+
constant: true
|
|
428
425
|
});
|
|
429
426
|
} catch(error) {
|
|
430
427
|
if(error.message && error.message.includes("ERR_TOO_MANY_REDIRECTS")) {
|
|
@@ -444,7 +441,7 @@ exports.StreamStatus = async function({name, stopLro=false, showParams=false}) {
|
|
|
444
441
|
if(edgeMeta.live_recording === undefined ||
|
|
445
442
|
edgeMeta.live_recording.recordings === undefined ||
|
|
446
443
|
edgeMeta.live_recording.recordings.recording_sequence === undefined) {
|
|
447
|
-
status.state = "
|
|
444
|
+
status.state = "inactive";
|
|
448
445
|
return status;
|
|
449
446
|
}
|
|
450
447
|
|
|
@@ -482,7 +479,7 @@ exports.StreamStatus = async function({name, stopLro=false, showParams=false}) {
|
|
|
482
479
|
libraryId: libraryId,
|
|
483
480
|
objectId: objectId,
|
|
484
481
|
writeToken: edgeWriteToken,
|
|
485
|
-
call: "live/status
|
|
482
|
+
call: "live/status"
|
|
486
483
|
});
|
|
487
484
|
|
|
488
485
|
status.insertions = [];
|
|
@@ -522,45 +519,18 @@ exports.StreamStatus = async function({name, stopLro=false, showParams=false}) {
|
|
|
522
519
|
return status;
|
|
523
520
|
}
|
|
524
521
|
|
|
525
|
-
const segDurationMeta = edgeMeta.live_recording.recording_config.recording_params.xc_params.seg_duration;
|
|
526
|
-
|
|
527
522
|
// Convert LRO 'state' to desired 'state'
|
|
528
523
|
if(state === "running" && videoLastFinalizationTimeEpochSec <= 0) {
|
|
529
|
-
state = "starting";
|
|
530
|
-
} else if(state === "running" && segDurationMeta !== undefined && sinceLastFinalize > (parseInt(segDurationMeta) + 5)) {
|
|
531
|
-
state = "stalled";
|
|
524
|
+
state = "starting"; // The LRO returns 'running' even if the source hasn't connected
|
|
532
525
|
} else if(state == "terminated") {
|
|
533
|
-
state = "stopped";
|
|
526
|
+
state = "stopped"; // The LRO reports 'terminated' which for the recording means 'stopped'
|
|
534
527
|
}
|
|
535
528
|
status.state = state;
|
|
536
529
|
|
|
537
|
-
if((state === "running" || state === "stalled" || state === "starting") && stopLro) {
|
|
538
|
-
lroStopUrl = await this.FabricUrl({
|
|
539
|
-
libraryId,
|
|
540
|
-
objectId,
|
|
541
|
-
writeToken: edgeWriteToken,
|
|
542
|
-
call: "live/stop/" + tlro
|
|
543
|
-
});
|
|
544
|
-
|
|
545
|
-
try {
|
|
546
|
-
await this.utils.ResponseToJson(
|
|
547
|
-
await HttpClient.Fetch(lroStopUrl)
|
|
548
|
-
);
|
|
549
|
-
|
|
550
|
-
console.log("LRO Stop: ", lroStatus.body);
|
|
551
|
-
} catch(error) {
|
|
552
|
-
console.log("LRO Stop (failed): ", error.response.statusCode);
|
|
553
|
-
}
|
|
554
|
-
|
|
555
|
-
state = "stopped";
|
|
556
|
-
status.state = state;
|
|
557
|
-
}
|
|
558
|
-
|
|
559
530
|
if(state === "running") {
|
|
560
531
|
let playout_urls = {};
|
|
561
532
|
let playout_options = await this.PlayoutOptions({
|
|
562
|
-
objectId
|
|
563
|
-
linkPath: "public/asset_metadata/sources/default"
|
|
533
|
+
objectId
|
|
564
534
|
});
|
|
565
535
|
|
|
566
536
|
let hls_clear_enabled = (
|