@srgssr/pillarbox-web 1.28.0 → 1.30.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 +106 -58
- package/dist/pillarbox.cjs.map +1 -1
- package/dist/pillarbox.es.js +106 -58
- package/dist/pillarbox.es.js.map +1 -1
- package/dist/pillarbox.umd.js +106 -58
- 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 +50 -6
- package/dist/types/src/middleware/srgssr.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/pillarbox-core.cjs
CHANGED
package/dist/pillarbox.cjs
CHANGED
|
@@ -94,7 +94,7 @@ function _toPropertyKey(t) {
|
|
|
94
94
|
return "symbol" == typeof i ? i : i + "";
|
|
95
95
|
}
|
|
96
96
|
|
|
97
|
-
const version = "1.
|
|
97
|
+
const version = "1.29.0";
|
|
98
98
|
|
|
99
99
|
/** @import VJSPlayer from 'video.js/dist/types/player' */
|
|
100
100
|
/** @import AudioTrack from 'video.js/dist/types/tracks/audio-track' */
|
|
@@ -3650,21 +3650,12 @@ class SrgSsr {
|
|
|
3650
3650
|
* @param {Player} player
|
|
3651
3651
|
* @param {Array<Segment>} [segments=[]]
|
|
3652
3652
|
*/
|
|
3653
|
-
static addBlockedSegments(
|
|
3654
|
-
|
|
3655
|
-
|
|
3656
|
-
|
|
3657
|
-
|
|
3658
|
-
}
|
|
3659
|
-
if (!Array.isArray(segments) || !segments.length) return;
|
|
3660
|
-
const blockedSegments = segments.filter(segment => segment.blockReason);
|
|
3661
|
-
if (!blockedSegments.length) return;
|
|
3662
|
-
SrgSsr.createTextTrack(player, trackId).then(segmentTrack => {
|
|
3663
|
-
blockedSegments.forEach(segment => {
|
|
3664
|
-
SrgSsr.addTextTrackCue(segmentTrack, segment);
|
|
3665
|
-
});
|
|
3666
|
-
player.textTracks().addTrack(segmentTrack);
|
|
3667
|
-
});
|
|
3653
|
+
static addBlockedSegments(_x) {
|
|
3654
|
+
return _asyncToGenerator(function* (player, segments = []) {
|
|
3655
|
+
const trackId = 'srgssr-blocked-segments';
|
|
3656
|
+
const blockedSegmentsToAdd = SrgSsr.getBlockedSegments(segments);
|
|
3657
|
+
yield SrgSsr.createTextTrack(player, trackId, blockedSegmentsToAdd);
|
|
3658
|
+
}).apply(this, arguments);
|
|
3668
3659
|
}
|
|
3669
3660
|
|
|
3670
3661
|
/**
|
|
@@ -3706,6 +3697,23 @@ class SrgSsr {
|
|
|
3706
3697
|
textTrack.addCue(new VTTCue(startTime, endTime, JSON.stringify(data)));
|
|
3707
3698
|
}
|
|
3708
3699
|
|
|
3700
|
+
/**
|
|
3701
|
+
* Add a new cues to a text track with the given array.
|
|
3702
|
+
*
|
|
3703
|
+
* @param {TextTrack} textTrack
|
|
3704
|
+
* @param {Array.<
|
|
3705
|
+
* Segment |
|
|
3706
|
+
* Chapter |
|
|
3707
|
+
* TimeInterval>
|
|
3708
|
+
* } cues SRG SSR's cues-like representation
|
|
3709
|
+
*/
|
|
3710
|
+
static addTextTrackCues(textTrack, cues = []) {
|
|
3711
|
+
if (!Array.isArray(cues)) return;
|
|
3712
|
+
cues.forEach(cue => {
|
|
3713
|
+
SrgSsr.addTextTrackCue(textTrack, cue);
|
|
3714
|
+
});
|
|
3715
|
+
}
|
|
3716
|
+
|
|
3709
3717
|
/**
|
|
3710
3718
|
* Add multiple text tracks to the player.
|
|
3711
3719
|
*
|
|
@@ -3728,20 +3736,12 @@ class SrgSsr {
|
|
|
3728
3736
|
* @param {string} chapterUrn The URN of the main chapter.
|
|
3729
3737
|
* @param {Array.<Chapter>} [chapters=[]]
|
|
3730
3738
|
*/
|
|
3731
|
-
static addChapters(
|
|
3732
|
-
|
|
3733
|
-
|
|
3734
|
-
|
|
3735
|
-
|
|
3736
|
-
}
|
|
3737
|
-
if (!Array.isArray(chapters) || !chapters.length) return;
|
|
3738
|
-
SrgSsr.createTextTrack(player, trackId).then(chapterTrack => {
|
|
3739
|
-
chapters.forEach(chapter => {
|
|
3740
|
-
if (chapterUrn !== chapter.fullLengthUrn) return;
|
|
3741
|
-
SrgSsr.addTextTrackCue(chapterTrack, chapter);
|
|
3742
|
-
});
|
|
3743
|
-
player.textTracks().addTrack(chapterTrack);
|
|
3744
|
-
});
|
|
3739
|
+
static addChapters(_x2, _x3) {
|
|
3740
|
+
return _asyncToGenerator(function* (player, chapterUrn, chapters = []) {
|
|
3741
|
+
const trackId = 'srgssr-chapters';
|
|
3742
|
+
const chaptersToAdd = SrgSsr.getChapters(chapterUrn, chapters);
|
|
3743
|
+
yield SrgSsr.createTextTrack(player, trackId, chaptersToAdd);
|
|
3744
|
+
}).apply(this, arguments);
|
|
3745
3745
|
}
|
|
3746
3746
|
|
|
3747
3747
|
/**
|
|
@@ -3750,19 +3750,12 @@ class SrgSsr {
|
|
|
3750
3750
|
* @param {Player} player
|
|
3751
3751
|
* @param {Array.<TimeInterval>} [intervals=[]]
|
|
3752
3752
|
*/
|
|
3753
|
-
static addIntervals(
|
|
3754
|
-
|
|
3755
|
-
|
|
3756
|
-
|
|
3757
|
-
|
|
3758
|
-
}
|
|
3759
|
-
if (!Array.isArray(intervals) || !intervals.length) return;
|
|
3760
|
-
SrgSsr.createTextTrack(player, trackId).then(intervalTrack => {
|
|
3761
|
-
intervals.forEach(interval => {
|
|
3762
|
-
SrgSsr.addTextTrackCue(intervalTrack, interval);
|
|
3763
|
-
});
|
|
3764
|
-
player.textTracks().addTrack(intervalTrack);
|
|
3765
|
-
});
|
|
3753
|
+
static addIntervals(_x4) {
|
|
3754
|
+
return _asyncToGenerator(function* (player, intervals = []) {
|
|
3755
|
+
const trackId = 'srgssr-intervals';
|
|
3756
|
+
const instervalsToAdd = SrgSsr.getIntervals(intervals);
|
|
3757
|
+
yield SrgSsr.createTextTrack(player, trackId, instervalsToAdd);
|
|
3758
|
+
}).apply(this, arguments);
|
|
3766
3759
|
}
|
|
3767
3760
|
|
|
3768
3761
|
/**
|
|
@@ -3866,25 +3859,42 @@ class SrgSsr {
|
|
|
3866
3859
|
}
|
|
3867
3860
|
|
|
3868
3861
|
/**
|
|
3869
|
-
* Create a new metadata text track.
|
|
3862
|
+
* Create a new metadata text track and add it to the player.
|
|
3863
|
+
*
|
|
3864
|
+
* If a text track with the same trackId exists, it is deleted beforehand.
|
|
3870
3865
|
*
|
|
3871
3866
|
* @param {Player} player
|
|
3872
3867
|
* @param {String} trackId Text track unique ID
|
|
3868
|
+
* @param {Array.<
|
|
3869
|
+
* Segment |
|
|
3870
|
+
* Chapter |
|
|
3871
|
+
* TimeInterval>
|
|
3872
|
+
* } cues SRG SSR's cues-like representation
|
|
3873
3873
|
*
|
|
3874
3874
|
* @returns {Promise<TextTrack>}
|
|
3875
3875
|
*/
|
|
3876
|
-
static createTextTrack(
|
|
3877
|
-
|
|
3878
|
-
|
|
3879
|
-
|
|
3880
|
-
|
|
3881
|
-
|
|
3882
|
-
|
|
3883
|
-
|
|
3884
|
-
|
|
3885
|
-
|
|
3886
|
-
|
|
3887
|
-
|
|
3876
|
+
static createTextTrack(_x5, _x6) {
|
|
3877
|
+
return _asyncToGenerator(function* (player, trackId, cues = []) {
|
|
3878
|
+
const removeTrack = player.textTracks().getTrackById(trackId);
|
|
3879
|
+
if (removeTrack) {
|
|
3880
|
+
player.textTracks().removeTrack(removeTrack);
|
|
3881
|
+
}
|
|
3882
|
+
|
|
3883
|
+
// See https://github.com/videojs/video.js/issues/8519
|
|
3884
|
+
const textTrack = yield new Promise(resolve => {
|
|
3885
|
+
setTimeout(() => {
|
|
3886
|
+
resolve(new pillarbox.TextTrack({
|
|
3887
|
+
id: trackId,
|
|
3888
|
+
kind: 'metadata',
|
|
3889
|
+
label: trackId,
|
|
3890
|
+
tech: player.tech(true)
|
|
3891
|
+
}));
|
|
3892
|
+
}, 100);
|
|
3893
|
+
});
|
|
3894
|
+
SrgSsr.addTextTrackCues(textTrack, cues);
|
|
3895
|
+
player.textTracks().addTrack(textTrack);
|
|
3896
|
+
return textTrack;
|
|
3897
|
+
}).apply(this, arguments);
|
|
3888
3898
|
}
|
|
3889
3899
|
|
|
3890
3900
|
/**
|
|
@@ -4019,6 +4029,44 @@ class SrgSsr {
|
|
|
4019
4029
|
return isBlocked ? blockedSegment : undefined;
|
|
4020
4030
|
}
|
|
4021
4031
|
|
|
4032
|
+
/**
|
|
4033
|
+
* Get blocked segments.
|
|
4034
|
+
*
|
|
4035
|
+
* @param {Player} player
|
|
4036
|
+
* @param {Array<Segment>} [segments=[]]
|
|
4037
|
+
*
|
|
4038
|
+
* @returns {Array<Segment>}
|
|
4039
|
+
*/
|
|
4040
|
+
static getBlockedSegments(segments = []) {
|
|
4041
|
+
if (!Array.isArray(segments) || !segments.length) return [];
|
|
4042
|
+
return segments.filter(segment => segment.blockReason);
|
|
4043
|
+
}
|
|
4044
|
+
|
|
4045
|
+
/**
|
|
4046
|
+
* Get chapters related to the main chapter.
|
|
4047
|
+
*
|
|
4048
|
+
* @param {string} chapterUrn The URN of the main chapter.
|
|
4049
|
+
* @param {Array.<Chapter>} [chapters=[]]
|
|
4050
|
+
*
|
|
4051
|
+
* @returns {Array.<Chapter>}
|
|
4052
|
+
*/
|
|
4053
|
+
static getChapters(chapterUrn, chapters = []) {
|
|
4054
|
+
if (!Array.isArray(chapters) || !chapters.length) return [];
|
|
4055
|
+
return chapters.filter(chapter => chapterUrn === chapter.fullLengthUrn);
|
|
4056
|
+
}
|
|
4057
|
+
|
|
4058
|
+
/**
|
|
4059
|
+
* Get intervals.
|
|
4060
|
+
*
|
|
4061
|
+
* @param {Array<TimeInterval>} [segments=[]]
|
|
4062
|
+
*
|
|
4063
|
+
* @returns {Array<TimeInterval>}
|
|
4064
|
+
*/
|
|
4065
|
+
static getIntervals(intervals = []) {
|
|
4066
|
+
if (!Array.isArray(intervals) || !intervals.length) return [];
|
|
4067
|
+
return intervals;
|
|
4068
|
+
}
|
|
4069
|
+
|
|
4022
4070
|
/**
|
|
4023
4071
|
* Get mediaComposition from an URN.
|
|
4024
4072
|
*
|
|
@@ -4027,7 +4075,7 @@ class SrgSsr {
|
|
|
4027
4075
|
*
|
|
4028
4076
|
* @returns {Promise<MediaComposition>}
|
|
4029
4077
|
*/
|
|
4030
|
-
static getMediaComposition(
|
|
4078
|
+
static getMediaComposition(_x7) {
|
|
4031
4079
|
return _asyncToGenerator(function* (urn, handleRequest = new DataProvider().handleRequest()) {
|
|
4032
4080
|
const data = yield handleRequest(urn);
|
|
4033
4081
|
return Object.assign(new MediaComposition(), data);
|
|
@@ -4254,7 +4302,7 @@ class SrgSsr {
|
|
|
4254
4302
|
var _ref = _asyncToGenerator(function* (srcObj, next) {
|
|
4255
4303
|
return SrgSsr.handleSetSource(player, srcObj, next);
|
|
4256
4304
|
});
|
|
4257
|
-
return function setSource(
|
|
4305
|
+
return function setSource(_x8, _x9) {
|
|
4258
4306
|
return _ref.apply(this, arguments);
|
|
4259
4307
|
};
|
|
4260
4308
|
}()
|