@srgssr/pillarbox-web 1.29.0 → 1.31.0
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/pillarbox-core.cjs +1 -1
- package/dist/pillarbox-core.es.js +1 -1
- package/dist/pillarbox.cjs +79 -25
- package/dist/pillarbox.cjs.map +1 -1
- package/dist/pillarbox.es.js +79 -25
- package/dist/pillarbox.es.js.map +1 -1
- package/dist/pillarbox.umd.js +79 -25
- package/dist/pillarbox.umd.js.map +1 -1
- package/dist/pillarbox.umd.min.js +1 -1
- package/dist/pillarbox.umd.min.js.map +1 -1
- package/dist/types/src/middleware/srgssr.d.ts +44 -2
- package/dist/types/src/middleware/srgssr.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/pillarbox.es.js
CHANGED
|
@@ -90,7 +90,7 @@ function _toPropertyKey(t) {
|
|
|
90
90
|
return "symbol" == typeof i ? i : i + "";
|
|
91
91
|
}
|
|
92
92
|
|
|
93
|
-
const version = "1.
|
|
93
|
+
const version = "1.30.0";
|
|
94
94
|
|
|
95
95
|
/** @import VJSPlayer from 'video.js/dist/types/player' */
|
|
96
96
|
/** @import AudioTrack from 'video.js/dist/types/tracks/audio-track' */
|
|
@@ -3649,13 +3649,8 @@ class SrgSsr {
|
|
|
3649
3649
|
static addBlockedSegments(_x) {
|
|
3650
3650
|
return _asyncToGenerator(function* (player, segments = []) {
|
|
3651
3651
|
const trackId = 'srgssr-blocked-segments';
|
|
3652
|
-
const
|
|
3653
|
-
|
|
3654
|
-
const blockedSegments = segments.filter(segment => segment.blockReason);
|
|
3655
|
-
if (!blockedSegments.length) return;
|
|
3656
|
-
blockedSegments.forEach(segment => {
|
|
3657
|
-
SrgSsr.addTextTrackCue(segmentTrack, segment);
|
|
3658
|
-
});
|
|
3652
|
+
const blockedSegmentsToAdd = SrgSsr.getBlockedSegments(segments);
|
|
3653
|
+
yield SrgSsr.createTextTrack(player, trackId, blockedSegmentsToAdd);
|
|
3659
3654
|
}).apply(this, arguments);
|
|
3660
3655
|
}
|
|
3661
3656
|
|
|
@@ -3695,7 +3690,29 @@ class SrgSsr {
|
|
|
3695
3690
|
static addTextTrackCue(textTrack, data) {
|
|
3696
3691
|
const startTime = (Number.isFinite(data.markIn) ? data.markIn : data.fullLengthMarkIn) / 1000;
|
|
3697
3692
|
const endTime = (Number.isFinite(data.markOut) ? data.markOut : data.fullLengthMarkOut) / 1000;
|
|
3698
|
-
|
|
3693
|
+
const text = JSON.stringify(data);
|
|
3694
|
+
const cue = new VTTCue(startTime, endTime, text);
|
|
3695
|
+
if (data.urn) {
|
|
3696
|
+
cue.id = data.urn;
|
|
3697
|
+
}
|
|
3698
|
+
textTrack.addCue(cue);
|
|
3699
|
+
}
|
|
3700
|
+
|
|
3701
|
+
/**
|
|
3702
|
+
* Add a new cues to a text track with the given array.
|
|
3703
|
+
*
|
|
3704
|
+
* @param {TextTrack} textTrack
|
|
3705
|
+
* @param {Array.<
|
|
3706
|
+
* Segment |
|
|
3707
|
+
* Chapter |
|
|
3708
|
+
* TimeInterval>
|
|
3709
|
+
* } cues SRG SSR's cues-like representation
|
|
3710
|
+
*/
|
|
3711
|
+
static addTextTrackCues(textTrack, cues = []) {
|
|
3712
|
+
if (!Array.isArray(cues)) return;
|
|
3713
|
+
cues.forEach(cue => {
|
|
3714
|
+
SrgSsr.addTextTrackCue(textTrack, cue);
|
|
3715
|
+
});
|
|
3699
3716
|
}
|
|
3700
3717
|
|
|
3701
3718
|
/**
|
|
@@ -3723,12 +3740,8 @@ class SrgSsr {
|
|
|
3723
3740
|
static addChapters(_x2, _x3) {
|
|
3724
3741
|
return _asyncToGenerator(function* (player, chapterUrn, chapters = []) {
|
|
3725
3742
|
const trackId = 'srgssr-chapters';
|
|
3726
|
-
const
|
|
3727
|
-
|
|
3728
|
-
chapters.forEach(chapter => {
|
|
3729
|
-
if (chapterUrn !== chapter.fullLengthUrn) return;
|
|
3730
|
-
SrgSsr.addTextTrackCue(chapterTrack, chapter);
|
|
3731
|
-
});
|
|
3743
|
+
const chaptersToAdd = SrgSsr.getChapters(chapterUrn, chapters);
|
|
3744
|
+
yield SrgSsr.createTextTrack(player, trackId, chaptersToAdd);
|
|
3732
3745
|
}).apply(this, arguments);
|
|
3733
3746
|
}
|
|
3734
3747
|
|
|
@@ -3741,11 +3754,8 @@ class SrgSsr {
|
|
|
3741
3754
|
static addIntervals(_x4) {
|
|
3742
3755
|
return _asyncToGenerator(function* (player, intervals = []) {
|
|
3743
3756
|
const trackId = 'srgssr-intervals';
|
|
3744
|
-
const
|
|
3745
|
-
|
|
3746
|
-
intervals.forEach(interval => {
|
|
3747
|
-
SrgSsr.addTextTrackCue(intervalTrack, interval);
|
|
3748
|
-
});
|
|
3757
|
+
const instervalsToAdd = SrgSsr.getIntervals(intervals);
|
|
3758
|
+
yield SrgSsr.createTextTrack(player, trackId, instervalsToAdd);
|
|
3749
3759
|
}).apply(this, arguments);
|
|
3750
3760
|
}
|
|
3751
3761
|
|
|
@@ -3856,11 +3866,16 @@ class SrgSsr {
|
|
|
3856
3866
|
*
|
|
3857
3867
|
* @param {Player} player
|
|
3858
3868
|
* @param {String} trackId Text track unique ID
|
|
3869
|
+
* @param {Array.<
|
|
3870
|
+
* Segment |
|
|
3871
|
+
* Chapter |
|
|
3872
|
+
* TimeInterval>
|
|
3873
|
+
* } cues SRG SSR's cues-like representation
|
|
3859
3874
|
*
|
|
3860
3875
|
* @returns {Promise<TextTrack>}
|
|
3861
3876
|
*/
|
|
3862
|
-
static createTextTrack(
|
|
3863
|
-
return _asyncToGenerator(function* () {
|
|
3877
|
+
static createTextTrack(_x5, _x6) {
|
|
3878
|
+
return _asyncToGenerator(function* (player, trackId, cues = []) {
|
|
3864
3879
|
const removeTrack = player.textTracks().getTrackById(trackId);
|
|
3865
3880
|
if (removeTrack) {
|
|
3866
3881
|
player.textTracks().removeTrack(removeTrack);
|
|
@@ -3877,9 +3892,10 @@ class SrgSsr {
|
|
|
3877
3892
|
}));
|
|
3878
3893
|
}, 100);
|
|
3879
3894
|
});
|
|
3895
|
+
SrgSsr.addTextTrackCues(textTrack, cues);
|
|
3880
3896
|
player.textTracks().addTrack(textTrack);
|
|
3881
3897
|
return textTrack;
|
|
3882
|
-
})();
|
|
3898
|
+
}).apply(this, arguments);
|
|
3883
3899
|
}
|
|
3884
3900
|
|
|
3885
3901
|
/**
|
|
@@ -4014,6 +4030,44 @@ class SrgSsr {
|
|
|
4014
4030
|
return isBlocked ? blockedSegment : undefined;
|
|
4015
4031
|
}
|
|
4016
4032
|
|
|
4033
|
+
/**
|
|
4034
|
+
* Get blocked segments.
|
|
4035
|
+
*
|
|
4036
|
+
* @param {Player} player
|
|
4037
|
+
* @param {Array<Segment>} [segments=[]]
|
|
4038
|
+
*
|
|
4039
|
+
* @returns {Array<Segment>}
|
|
4040
|
+
*/
|
|
4041
|
+
static getBlockedSegments(segments = []) {
|
|
4042
|
+
if (!Array.isArray(segments) || !segments.length) return [];
|
|
4043
|
+
return segments.filter(segment => segment.blockReason);
|
|
4044
|
+
}
|
|
4045
|
+
|
|
4046
|
+
/**
|
|
4047
|
+
* Get chapters related to the main chapter.
|
|
4048
|
+
*
|
|
4049
|
+
* @param {string} chapterUrn The URN of the main chapter.
|
|
4050
|
+
* @param {Array.<Chapter>} [chapters=[]]
|
|
4051
|
+
*
|
|
4052
|
+
* @returns {Array.<Chapter>}
|
|
4053
|
+
*/
|
|
4054
|
+
static getChapters(chapterUrn, chapters = []) {
|
|
4055
|
+
if (!Array.isArray(chapters) || !chapters.length) return [];
|
|
4056
|
+
return chapters.filter(chapter => chapterUrn === chapter.fullLengthUrn);
|
|
4057
|
+
}
|
|
4058
|
+
|
|
4059
|
+
/**
|
|
4060
|
+
* Get intervals.
|
|
4061
|
+
*
|
|
4062
|
+
* @param {Array<TimeInterval>} [segments=[]]
|
|
4063
|
+
*
|
|
4064
|
+
* @returns {Array<TimeInterval>}
|
|
4065
|
+
*/
|
|
4066
|
+
static getIntervals(intervals = []) {
|
|
4067
|
+
if (!Array.isArray(intervals) || !intervals.length) return [];
|
|
4068
|
+
return intervals;
|
|
4069
|
+
}
|
|
4070
|
+
|
|
4017
4071
|
/**
|
|
4018
4072
|
* Get mediaComposition from an URN.
|
|
4019
4073
|
*
|
|
@@ -4022,7 +4076,7 @@ class SrgSsr {
|
|
|
4022
4076
|
*
|
|
4023
4077
|
* @returns {Promise<MediaComposition>}
|
|
4024
4078
|
*/
|
|
4025
|
-
static getMediaComposition(
|
|
4079
|
+
static getMediaComposition(_x7) {
|
|
4026
4080
|
return _asyncToGenerator(function* (urn, handleRequest = new DataProvider().handleRequest()) {
|
|
4027
4081
|
const data = yield handleRequest(urn);
|
|
4028
4082
|
return Object.assign(new MediaComposition(), data);
|
|
@@ -4249,7 +4303,7 @@ class SrgSsr {
|
|
|
4249
4303
|
var _ref = _asyncToGenerator(function* (srcObj, next) {
|
|
4250
4304
|
return SrgSsr.handleSetSource(player, srcObj, next);
|
|
4251
4305
|
});
|
|
4252
|
-
return function setSource(
|
|
4306
|
+
return function setSource(_x8, _x9) {
|
|
4253
4307
|
return _ref.apply(this, arguments);
|
|
4254
4308
|
};
|
|
4255
4309
|
}()
|