@srgssr/pillarbox-web 1.36.0 → 1.36.2
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 +59 -54
- package/dist/pillarbox.cjs.map +1 -1
- package/dist/pillarbox.es.js +59 -54
- package/dist/pillarbox.es.js.map +1 -1
- package/dist/pillarbox.umd.js +59 -54
- 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.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.36.1";
|
|
94
94
|
|
|
95
95
|
/** @import VJSPlayer from 'video.js/dist/types/player' */
|
|
96
96
|
/** @import AudioTrack from 'video.js/dist/types/tracks/audio-track' */
|
|
@@ -3975,10 +3975,11 @@ class SrgSsr {
|
|
|
3975
3975
|
* @param {Array<Segment>} [segments=[]]
|
|
3976
3976
|
*/
|
|
3977
3977
|
static addBlockedSegments(_x) {
|
|
3978
|
+
var _this = this;
|
|
3978
3979
|
return _asyncToGenerator(function* (player, segments = []) {
|
|
3979
3980
|
const trackId = 'srgssr-blocked-segments';
|
|
3980
|
-
const blockedSegmentsToAdd =
|
|
3981
|
-
yield
|
|
3981
|
+
const blockedSegmentsToAdd = _this.getBlockedSegments(segments);
|
|
3982
|
+
yield _this.createTextTrack(player, trackId, blockedSegmentsToAdd);
|
|
3982
3983
|
}).apply(this, arguments);
|
|
3983
3984
|
}
|
|
3984
3985
|
|
|
@@ -4039,7 +4040,7 @@ class SrgSsr {
|
|
|
4039
4040
|
static addTextTrackCues(textTrack, cues = []) {
|
|
4040
4041
|
if (!Array.isArray(cues)) return;
|
|
4041
4042
|
cues.forEach(cue => {
|
|
4042
|
-
|
|
4043
|
+
this.addTextTrackCue(textTrack, cue);
|
|
4043
4044
|
});
|
|
4044
4045
|
}
|
|
4045
4046
|
|
|
@@ -4052,10 +4053,10 @@ class SrgSsr {
|
|
|
4052
4053
|
static addTextTracks(player, {
|
|
4053
4054
|
mediaData
|
|
4054
4055
|
}) {
|
|
4055
|
-
|
|
4056
|
-
|
|
4057
|
-
|
|
4058
|
-
|
|
4056
|
+
this.addRemoteTextTracks(player, mediaData.subtitles);
|
|
4057
|
+
this.addChapters(player, mediaData.urn, mediaData.chapters);
|
|
4058
|
+
this.addBlockedSegments(player, mediaData.blockedSegments);
|
|
4059
|
+
this.addIntervals(player, mediaData.intervals);
|
|
4059
4060
|
}
|
|
4060
4061
|
|
|
4061
4062
|
/**
|
|
@@ -4066,10 +4067,11 @@ class SrgSsr {
|
|
|
4066
4067
|
* @param {Array.<Chapter>} [chapters=[]]
|
|
4067
4068
|
*/
|
|
4068
4069
|
static addChapters(_x2, _x3) {
|
|
4070
|
+
var _this2 = this;
|
|
4069
4071
|
return _asyncToGenerator(function* (player, chapterUrn, chapters = []) {
|
|
4070
4072
|
const trackId = 'srgssr-chapters';
|
|
4071
|
-
const chaptersToAdd =
|
|
4072
|
-
yield
|
|
4073
|
+
const chaptersToAdd = _this2.getChapters(chapterUrn, chapters);
|
|
4074
|
+
yield _this2.createTextTrack(player, trackId, chaptersToAdd);
|
|
4073
4075
|
}).apply(this, arguments);
|
|
4074
4076
|
}
|
|
4075
4077
|
|
|
@@ -4080,10 +4082,11 @@ class SrgSsr {
|
|
|
4080
4082
|
* @param {Array.<TimeInterval>} [intervals=[]]
|
|
4081
4083
|
*/
|
|
4082
4084
|
static addIntervals(_x4) {
|
|
4085
|
+
var _this3 = this;
|
|
4083
4086
|
return _asyncToGenerator(function* (player, intervals = []) {
|
|
4084
4087
|
const trackId = 'srgssr-intervals';
|
|
4085
|
-
const instervalsToAdd =
|
|
4086
|
-
yield
|
|
4088
|
+
const instervalsToAdd = _this3.getIntervals(intervals);
|
|
4089
|
+
yield _this3.createTextTrack(player, trackId, instervalsToAdd);
|
|
4087
4090
|
}).apply(this, arguments);
|
|
4088
4091
|
}
|
|
4089
4092
|
|
|
@@ -4099,7 +4102,7 @@ class SrgSsr {
|
|
|
4099
4102
|
static blockingReason(player, srcMediaObj) {
|
|
4100
4103
|
if (!srcMediaObj.mediaData.blockReason) return;
|
|
4101
4104
|
const message = player.localize(srcMediaObj.mediaData.blockReason);
|
|
4102
|
-
|
|
4105
|
+
this.error(player, {
|
|
4103
4106
|
code: MediaError.MEDIA_ERR_ABORTED,
|
|
4104
4107
|
message,
|
|
4105
4108
|
metadata: {
|
|
@@ -4153,7 +4156,7 @@ class SrgSsr {
|
|
|
4153
4156
|
* @returns {Promise<Array.<MainResourceWithKeySystems>>}
|
|
4154
4157
|
*/
|
|
4155
4158
|
static composeMainResources(mediaComposition) {
|
|
4156
|
-
return
|
|
4159
|
+
return this.composeAkamaiResources(this.composeKeySystemsResources(this.filterIncompatibleResources(mediaComposition.getMainResources())));
|
|
4157
4160
|
}
|
|
4158
4161
|
|
|
4159
4162
|
/**
|
|
@@ -4203,26 +4206,25 @@ class SrgSsr {
|
|
|
4203
4206
|
* @returns {Promise<TextTrack>}
|
|
4204
4207
|
*/
|
|
4205
4208
|
static createTextTrack(_x5, _x6) {
|
|
4209
|
+
var _this4 = this;
|
|
4206
4210
|
return _asyncToGenerator(function* (player, trackId, cues = []) {
|
|
4207
|
-
const removeTrack = player.
|
|
4211
|
+
const removeTrack = player.remoteTextTracks().getTrackById(trackId);
|
|
4208
4212
|
if (removeTrack) {
|
|
4209
|
-
player.
|
|
4213
|
+
player.removeRemoteTextTrack(removeTrack);
|
|
4210
4214
|
}
|
|
4215
|
+
const textTrack = player.addRemoteTextTrack({
|
|
4216
|
+
id: trackId,
|
|
4217
|
+
kind: 'metadata',
|
|
4218
|
+
label: trackId
|
|
4219
|
+
});
|
|
4220
|
+
|
|
4221
|
+
// Safari
|
|
4222
|
+
textTrack.track.mode = 'hidden';
|
|
4211
4223
|
|
|
4212
4224
|
// See https://github.com/videojs/video.js/issues/8519
|
|
4213
|
-
|
|
4214
|
-
|
|
4215
|
-
|
|
4216
|
-
id: trackId,
|
|
4217
|
-
kind: 'metadata',
|
|
4218
|
-
label: trackId,
|
|
4219
|
-
tech: player.tech(true)
|
|
4220
|
-
}));
|
|
4221
|
-
}, 100);
|
|
4222
|
-
});
|
|
4223
|
-
SrgSsr.addTextTrackCues(textTrack, cues);
|
|
4224
|
-
player.textTracks().addTrack(textTrack);
|
|
4225
|
-
return textTrack;
|
|
4225
|
+
yield new Promise(resolve => setTimeout(resolve, 100));
|
|
4226
|
+
_this4.addTextTrackCues(textTrack.track, cues);
|
|
4227
|
+
return textTrack.track;
|
|
4226
4228
|
}).apply(this, arguments);
|
|
4227
4229
|
}
|
|
4228
4230
|
|
|
@@ -4232,12 +4234,12 @@ class SrgSsr {
|
|
|
4232
4234
|
* @param {Player} player
|
|
4233
4235
|
*/
|
|
4234
4236
|
static cuechangeEventProxy(player) {
|
|
4235
|
-
player.textTracks().on('addtrack', ({
|
|
4237
|
+
player.textTracks().on('addtrack', /** @param {{ track: TextTrack }} */({
|
|
4236
4238
|
track
|
|
4237
4239
|
}) => {
|
|
4238
4240
|
if (!['srgssr-chapters', 'srgssr-intervals'].includes(track.id)) return;
|
|
4239
|
-
track.
|
|
4240
|
-
const [cue] = Array.from(track.activeCues);
|
|
4241
|
+
track.addEventListener('cuechange', () => {
|
|
4242
|
+
const [cue] = Array.from(track.activeCues || []);
|
|
4241
4243
|
const type = track.id.includes('srgssr-chapters') ? 'srgssr/chapter' : 'srgssr/interval';
|
|
4242
4244
|
player.trigger({
|
|
4243
4245
|
type,
|
|
@@ -4282,7 +4284,7 @@ class SrgSsr {
|
|
|
4282
4284
|
static dataProviderError(player, error) {
|
|
4283
4285
|
if (!error) return;
|
|
4284
4286
|
const statusText = error.statusText ? error.statusText : error.message;
|
|
4285
|
-
|
|
4287
|
+
this.error(player, {
|
|
4286
4288
|
code: 0,
|
|
4287
4289
|
message: player.localize('UNKNOWN'),
|
|
4288
4290
|
metadata: {
|
|
@@ -4339,7 +4341,7 @@ class SrgSsr {
|
|
|
4339
4341
|
if (!blockedSegmentsTrack) return;
|
|
4340
4342
|
|
|
4341
4343
|
/** @type {VTTCue} */
|
|
4342
|
-
const [blockedCue] = Array.from(blockedSegmentsTrack.activeCues);
|
|
4344
|
+
const [blockedCue] = Array.from(blockedSegmentsTrack.activeCues || []);
|
|
4343
4345
|
return blockedCue;
|
|
4344
4346
|
}
|
|
4345
4347
|
|
|
@@ -4352,7 +4354,7 @@ class SrgSsr {
|
|
|
4352
4354
|
* @returns {VTTCue|undefined} The VTT cue of a blocked segment, or undefined
|
|
4353
4355
|
*/
|
|
4354
4356
|
static getBlockedSegmentByTime(player, currentTime) {
|
|
4355
|
-
const blockedSegment =
|
|
4357
|
+
const blockedSegment = this.getBlockedSegment(player);
|
|
4356
4358
|
if (!blockedSegment) return;
|
|
4357
4359
|
const isBlocked = currentTime >= blockedSegment.startTime && currentTime < blockedSegment.endTime;
|
|
4358
4360
|
return isBlocked ? blockedSegment : undefined;
|
|
@@ -4436,24 +4438,25 @@ class SrgSsr {
|
|
|
4436
4438
|
* @returns {Promise<ComposedSrcMediaData>} - The composed source media data.
|
|
4437
4439
|
*/
|
|
4438
4440
|
static getSrcMediaObj(player, srcObj) {
|
|
4441
|
+
var _this5 = this;
|
|
4439
4442
|
return _asyncToGenerator(function* () {
|
|
4440
|
-
if (
|
|
4441
|
-
|
|
4443
|
+
if (_this5.pillarboxMonitoring(player)) {
|
|
4444
|
+
_this5.pillarboxMonitoring(player).sessionStart();
|
|
4442
4445
|
}
|
|
4443
4446
|
const {
|
|
4444
4447
|
src: urn
|
|
4445
4448
|
} = srcObj,
|
|
4446
4449
|
srcOptions = _objectWithoutProperties(srcObj, _excluded2);
|
|
4447
|
-
const mediaComposition = yield
|
|
4448
|
-
const mainResources = yield
|
|
4449
|
-
let mediaData =
|
|
4450
|
+
const mediaComposition = yield _this5.getMediaComposition(urn, _this5.dataProvider(player));
|
|
4451
|
+
const mainResources = yield _this5.composeMainResources(mediaComposition);
|
|
4452
|
+
let mediaData = _this5.getMediaData(mainResources);
|
|
4450
4453
|
if (!mediaData) {
|
|
4451
4454
|
mediaData = {
|
|
4452
4455
|
blockReason: mediaComposition.getMainChapter().blockReason,
|
|
4453
4456
|
imageUrl: mediaComposition.getMainChapterImageUrl()
|
|
4454
4457
|
};
|
|
4455
4458
|
}
|
|
4456
|
-
return
|
|
4459
|
+
return _this5.composeSrcMediaData(srcOptions, mediaData);
|
|
4457
4460
|
})();
|
|
4458
4461
|
}
|
|
4459
4462
|
|
|
@@ -4526,17 +4529,18 @@ class SrgSsr {
|
|
|
4526
4529
|
* @returns {Promise<any>}
|
|
4527
4530
|
*/
|
|
4528
4531
|
static handleSetSource(player, srcObj, next) {
|
|
4532
|
+
var _this6 = this;
|
|
4529
4533
|
return _asyncToGenerator(function* () {
|
|
4530
4534
|
try {
|
|
4531
|
-
const srcMediaObj = yield
|
|
4532
|
-
|
|
4533
|
-
|
|
4534
|
-
|
|
4535
|
-
if (
|
|
4536
|
-
|
|
4535
|
+
const srcMediaObj = yield _this6.getSrcMediaObj(player, srcObj);
|
|
4536
|
+
_this6.srgAnalytics(player);
|
|
4537
|
+
_this6.updateTitleBar(player, srcMediaObj);
|
|
4538
|
+
_this6.updatePoster(player, srcMediaObj);
|
|
4539
|
+
if (_this6.blockingReason(player, srcMediaObj)) return;
|
|
4540
|
+
_this6.addTextTracks(player, srcMediaObj);
|
|
4537
4541
|
return next(null, srcMediaObj);
|
|
4538
4542
|
} catch (error) {
|
|
4539
|
-
if (
|
|
4543
|
+
if (_this6.dataProviderError(player, error)) return;
|
|
4540
4544
|
return next(error);
|
|
4541
4545
|
}
|
|
4542
4546
|
})();
|
|
@@ -4623,14 +4627,15 @@ class SrgSsr {
|
|
|
4623
4627
|
* @returns {Object}
|
|
4624
4628
|
*/
|
|
4625
4629
|
static middleware(player) {
|
|
4626
|
-
|
|
4627
|
-
|
|
4630
|
+
var _this7 = this;
|
|
4631
|
+
this.pillarboxMonitoring(player);
|
|
4632
|
+
this.cuechangeEventProxy(player);
|
|
4628
4633
|
return {
|
|
4629
|
-
currentTime: currentTime =>
|
|
4630
|
-
setCurrentTime: currentTime =>
|
|
4634
|
+
currentTime: currentTime => this.handleCurrentTime(player, currentTime),
|
|
4635
|
+
setCurrentTime: currentTime => this.handleSetCurrentTime(player, currentTime),
|
|
4631
4636
|
setSource: function () {
|
|
4632
4637
|
var _ref = _asyncToGenerator(function* (srcObj, next) {
|
|
4633
|
-
return
|
|
4638
|
+
return _this7.handleSetSource(player, srcObj, next);
|
|
4634
4639
|
});
|
|
4635
4640
|
return function setSource(_x8, _x9) {
|
|
4636
4641
|
return _ref.apply(this, arguments);
|
|
@@ -4639,7 +4644,7 @@ class SrgSsr {
|
|
|
4639
4644
|
};
|
|
4640
4645
|
}
|
|
4641
4646
|
}
|
|
4642
|
-
pillarbox.use('srgssr/urn', SrgSsr.middleware);
|
|
4647
|
+
pillarbox.use('srgssr/urn', player => SrgSsr.middleware(player));
|
|
4643
4648
|
|
|
4644
4649
|
// Add Middleware specific options
|
|
4645
4650
|
pillarbox.options.srgOptions = {
|