bigscreen-player 5.6.7 → 5.7.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/esm/{imscsubtitles-f2496b8d.js → imscsubtitles-19fb764e.js} +69 -45
- package/dist/esm/{legacysubtitles-55355b0a.js → legacysubtitles-cd694760.js} +1 -1
- package/dist/esm/{main-dd98eecc.js → main-ed4ed68c.js} +336 -253
- package/dist/esm/main.js +1 -1
- package/dist/esm/{msestrategy-1e249d51.js → msestrategy-d7ab33d6.js} +44 -56
- package/package.json +1 -1
package/dist/esm/main.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { B as BigscreenPlayer,
|
|
1
|
+
export { B as BigscreenPlayer, b as LiveSupport, c as MediaKinds, M as MediaState, g as MockBigscreenPlayer, h as PauseTriggers, i as PlaybackStrategy, j as TransferFormat, T as TransportControlPosition, W as WindowTypes } from './main-ed4ed68c.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { U as Utils, D as DOMHelpers, W as WindowTypes,
|
|
1
|
+
import { U as Utils, D as DOMHelpers, W as WindowTypes, b as LiveSupport, M as MediaState, a as DebugTool, P as Plugins, c as MediaKinds, d as TimeUtils, e as DynamicWindowUtils } from './main-ed4ed68c.js';
|
|
2
2
|
import { MediaPlayer } from 'dashjs/index_mediaplayerOnly';
|
|
3
3
|
|
|
4
4
|
function filter(manifest, representationOptions) {
|
|
@@ -118,7 +118,7 @@ function MSEStrategy(mediaSources, windowType, mediaKind, playbackElement, isUHD
|
|
|
118
118
|
let errorCallback;
|
|
119
119
|
let timeUpdateCallback;
|
|
120
120
|
|
|
121
|
-
let timeCorrection =
|
|
121
|
+
let timeCorrection = mediaSources.time()?.timeCorrectionSeconds || 0;
|
|
122
122
|
let failoverTime;
|
|
123
123
|
let refreshFailoverTime;
|
|
124
124
|
let slidingWindowPausedTime = 0;
|
|
@@ -139,7 +139,7 @@ function MSEStrategy(mediaSources, windowType, mediaKind, playbackElement, isUHD
|
|
|
139
139
|
},
|
|
140
140
|
};
|
|
141
141
|
|
|
142
|
-
|
|
142
|
+
const playerSettings = Utils.merge(
|
|
143
143
|
{
|
|
144
144
|
debug: {
|
|
145
145
|
logLevel: 2,
|
|
@@ -234,7 +234,7 @@ function MSEStrategy(mediaSources, windowType, mediaKind, playbackElement, isUHD
|
|
|
234
234
|
}
|
|
235
235
|
|
|
236
236
|
if (event.error && event.error.message) {
|
|
237
|
-
DebugTool.info(
|
|
237
|
+
DebugTool.info(`MSE Error: ${event.error.message} Code: ${event.error.code}`);
|
|
238
238
|
lastError = event.error;
|
|
239
239
|
|
|
240
240
|
// Don't raise an error on fragment download error
|
|
@@ -274,7 +274,7 @@ function MSEStrategy(mediaSources, windowType, mediaKind, playbackElement, isUHD
|
|
|
274
274
|
}
|
|
275
275
|
|
|
276
276
|
function onManifestLoaded(event) {
|
|
277
|
-
DebugTool.info(
|
|
277
|
+
DebugTool.info(`Manifest loaded. Duration is: ${event.data.mediaPresentationDuration}`);
|
|
278
278
|
|
|
279
279
|
if (event.data) {
|
|
280
280
|
const manifest = event.data;
|
|
@@ -292,7 +292,7 @@ function MSEStrategy(mediaSources, windowType, mediaKind, playbackElement, isUHD
|
|
|
292
292
|
}
|
|
293
293
|
|
|
294
294
|
function onManifestValidityChange(event) {
|
|
295
|
-
DebugTool.info(
|
|
295
|
+
DebugTool.info(`Manifest validity changed. Duration is: ${event.newDuration}`);
|
|
296
296
|
}
|
|
297
297
|
|
|
298
298
|
function onStreamInitialised() {
|
|
@@ -307,14 +307,12 @@ function MSEStrategy(mediaSources, windowType, mediaKind, playbackElement, isUHD
|
|
|
307
307
|
}
|
|
308
308
|
|
|
309
309
|
function emitPlayerInfo() {
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
currentPlaybackBitrate(MediaKinds.VIDEO) + currentPlaybackBitrate(MediaKinds.AUDIO)
|
|
313
|
-
|
|
314
|
-
playerMetadata.playbackBitrate = currentPlaybackBitrate(MediaKinds.AUDIO);
|
|
315
|
-
}
|
|
310
|
+
playerMetadata.playbackBitrate =
|
|
311
|
+
mediaKind === MediaKinds.VIDEO
|
|
312
|
+
? currentPlaybackBitrate(MediaKinds.VIDEO) + currentPlaybackBitrate(MediaKinds.AUDIO)
|
|
313
|
+
: currentPlaybackBitrate(MediaKinds.AUDIO);
|
|
316
314
|
|
|
317
|
-
DebugTool.keyValue({ key: "playback bitrate", value: playerMetadata.playbackBitrate
|
|
315
|
+
DebugTool.keyValue({ key: "playback bitrate", value: `${playerMetadata.playbackBitrate} kbps` });
|
|
318
316
|
|
|
319
317
|
Plugins.interface.onPlayerInfoUpdated({
|
|
320
318
|
bufferLength: playerMetadata.bufferLength,
|
|
@@ -345,13 +343,15 @@ function MSEStrategy(mediaSources, windowType, mediaKind, playbackElement, isUHD
|
|
|
345
343
|
const oldBitrate = isNaN(event.oldQuality)
|
|
346
344
|
? "--"
|
|
347
345
|
: playbackBitrateForRepresentationIndex(event.oldQuality, mediaKind);
|
|
348
|
-
const oldRepresentation = isNaN(event.oldQuality) ? "Start" : event.oldQuality
|
|
349
|
-
const newRepresentation =
|
|
350
|
-
event.newQuality
|
|
346
|
+
const oldRepresentation = isNaN(event.oldQuality) ? "Start" : `${event.oldQuality} (${oldBitrate} kbps)`;
|
|
347
|
+
const newRepresentation = `${event.newQuality} (${playbackBitrateForRepresentationIndex(
|
|
348
|
+
event.newQuality,
|
|
349
|
+
mediaKind
|
|
350
|
+
)} kbps)`;
|
|
351
351
|
|
|
352
|
-
DebugTool.keyValue({ key: event.mediaType
|
|
352
|
+
DebugTool.keyValue({ key: `${event.mediaType} Representation`, value: newRepresentation });
|
|
353
353
|
DebugTool.info(
|
|
354
|
-
mediaKind
|
|
354
|
+
`${mediaKind} ABR Change Rendered From Representation ${oldRepresentation} To ${newRepresentation}`
|
|
355
355
|
);
|
|
356
356
|
}
|
|
357
357
|
|
|
@@ -376,7 +376,7 @@ function MSEStrategy(mediaSources, windowType, mediaKind, playbackElement, isUHD
|
|
|
376
376
|
};
|
|
377
377
|
|
|
378
378
|
function log() {
|
|
379
|
-
DebugTool.info(
|
|
379
|
+
DebugTool.info(`BaseUrl selected: ${event.baseUrl.url}`);
|
|
380
380
|
lastError = undefined;
|
|
381
381
|
}
|
|
382
382
|
|
|
@@ -385,7 +385,7 @@ function MSEStrategy(mediaSources, windowType, mediaKind, playbackElement, isUHD
|
|
|
385
385
|
}
|
|
386
386
|
|
|
387
387
|
function onServiceLocationAvailable(event) {
|
|
388
|
-
DebugTool.info(
|
|
388
|
+
DebugTool.info(`Service Location available: ${event.entry}`);
|
|
389
389
|
}
|
|
390
390
|
|
|
391
391
|
function onURLResolutionFailed() {
|
|
@@ -393,10 +393,8 @@ function MSEStrategy(mediaSources, windowType, mediaKind, playbackElement, isUHD
|
|
|
393
393
|
}
|
|
394
394
|
|
|
395
395
|
function onMetricAdded(event) {
|
|
396
|
-
if (event.mediaType === "video") {
|
|
397
|
-
|
|
398
|
-
DebugTool.keyValue({ key: "Dropped Frames", value: event.value.droppedFrames });
|
|
399
|
-
}
|
|
396
|
+
if (event.mediaType === "video" && event.metric === "DroppedFrames") {
|
|
397
|
+
DebugTool.keyValue({ key: "Dropped Frames", value: event.value.droppedFrames });
|
|
400
398
|
}
|
|
401
399
|
if (event.mediaType === mediaKind && event.metric === "BufferLevel") {
|
|
402
400
|
dashMetrics = mediaPlayer.getDashMetrics();
|
|
@@ -423,8 +421,8 @@ function MSEStrategy(mediaSources, windowType, mediaKind, playbackElement, isUHD
|
|
|
423
421
|
}
|
|
424
422
|
}
|
|
425
423
|
|
|
426
|
-
function onDebugLog(
|
|
427
|
-
DebugTool.verbose(
|
|
424
|
+
function onDebugLog(event) {
|
|
425
|
+
DebugTool.verbose(event.message);
|
|
428
426
|
}
|
|
429
427
|
|
|
430
428
|
function publishMediaState(mediaState) {
|
|
@@ -465,11 +463,7 @@ function MSEStrategy(mediaSources, windowType, mediaKind, playbackElement, isUHD
|
|
|
465
463
|
}
|
|
466
464
|
|
|
467
465
|
function setUpMediaElement(playbackElement) {
|
|
468
|
-
|
|
469
|
-
mediaElement = document.createElement("audio");
|
|
470
|
-
} else {
|
|
471
|
-
mediaElement = document.createElement("video");
|
|
472
|
-
}
|
|
466
|
+
mediaElement = mediaKind === MediaKinds.AUDIO ? document.createElement("audio") : document.createElement("video");
|
|
473
467
|
|
|
474
468
|
mediaElement.style.position = "absolute";
|
|
475
469
|
mediaElement.style.width = "100%";
|
|
@@ -519,22 +513,21 @@ function MSEStrategy(mediaSources, windowType, mediaKind, playbackElement, isUHD
|
|
|
519
513
|
* @param {Number} startTime
|
|
520
514
|
*/
|
|
521
515
|
function calculateSourceAnchor(source, startTime) {
|
|
522
|
-
if (startTime
|
|
516
|
+
if (startTime == null || isNaN(startTime)) {
|
|
523
517
|
return source
|
|
524
518
|
}
|
|
525
519
|
|
|
526
|
-
|
|
520
|
+
const parsedStartTime = parseInt(startTime);
|
|
527
521
|
|
|
528
522
|
if (windowType === WindowTypes.STATIC) {
|
|
529
|
-
return
|
|
530
|
-
} else {
|
|
531
|
-
const windowStartTimeSeconds = mediaSources.time().windowStartTime / 1000;
|
|
532
|
-
const srcWithTimeAnchor = source + "#t=posix:";
|
|
533
|
-
|
|
534
|
-
return startTime === 0
|
|
535
|
-
? srcWithTimeAnchor + (windowStartTimeSeconds + 1)
|
|
536
|
-
: srcWithTimeAnchor + (windowStartTimeSeconds + startTime)
|
|
523
|
+
return parsedStartTime === 0 ? source : `${source}#t=${parsedStartTime}`
|
|
537
524
|
}
|
|
525
|
+
const windowStartTimeSeconds = mediaSources.time().windowStartTime / 1000;
|
|
526
|
+
const srcWithTimeAnchor = `${source}#t=posix:`;
|
|
527
|
+
|
|
528
|
+
return parsedStartTime === 0
|
|
529
|
+
? srcWithTimeAnchor + (windowStartTimeSeconds + 1)
|
|
530
|
+
: srcWithTimeAnchor + (windowStartTimeSeconds + parsedStartTime)
|
|
538
531
|
}
|
|
539
532
|
|
|
540
533
|
function getSeekableRange() {
|
|
@@ -626,21 +619,19 @@ function MSEStrategy(mediaSources, windowType, mediaKind, playbackElement, isUHD
|
|
|
626
619
|
canBePaused: () => true,
|
|
627
620
|
canBeginSeek: () => true,
|
|
628
621
|
},
|
|
629
|
-
addEventCallback
|
|
630
|
-
removeEventCallback
|
|
622
|
+
addEventCallback,
|
|
623
|
+
removeEventCallback,
|
|
631
624
|
addErrorCallback: (thisArg, newErrorCallback) => {
|
|
632
625
|
errorCallback = (event) => newErrorCallback.call(thisArg, event);
|
|
633
626
|
},
|
|
634
627
|
addTimeUpdateCallback: (thisArg, newTimeUpdateCallback) => {
|
|
635
628
|
timeUpdateCallback = () => newTimeUpdateCallback.call(thisArg);
|
|
636
629
|
},
|
|
637
|
-
load
|
|
638
|
-
getSeekableRange
|
|
639
|
-
getCurrentTime
|
|
640
|
-
getDuration
|
|
641
|
-
getPlayerElement: () =>
|
|
642
|
-
return mediaElement
|
|
643
|
-
},
|
|
630
|
+
load,
|
|
631
|
+
getSeekableRange,
|
|
632
|
+
getCurrentTime,
|
|
633
|
+
getDuration,
|
|
634
|
+
getPlayerElement: () => mediaElement,
|
|
644
635
|
tearDown: () => {
|
|
645
636
|
mediaPlayer.reset();
|
|
646
637
|
|
|
@@ -685,14 +676,13 @@ function MSEStrategy(mediaSources, windowType, mediaKind, playbackElement, isUHD
|
|
|
685
676
|
},
|
|
686
677
|
reset: () => {},
|
|
687
678
|
isEnded: () => isEnded,
|
|
688
|
-
isPaused
|
|
689
|
-
pause: (opts) => {
|
|
679
|
+
isPaused,
|
|
680
|
+
pause: (opts = {}) => {
|
|
690
681
|
if (windowType === WindowTypes.SLIDING) {
|
|
691
682
|
slidingWindowPausedTime = Date.now();
|
|
692
683
|
}
|
|
693
684
|
|
|
694
685
|
mediaPlayer.pause();
|
|
695
|
-
opts = opts || {};
|
|
696
686
|
if (opts.disableAutoResume !== true && windowType === WindowTypes.SLIDING) {
|
|
697
687
|
startAutoResumeTimeout();
|
|
698
688
|
}
|
|
@@ -712,9 +702,7 @@ function MSEStrategy(mediaSources, windowType, mediaKind, playbackElement, isUHD
|
|
|
712
702
|
setPlaybackRate: (rate) => {
|
|
713
703
|
mediaPlayer.setPlaybackRate(rate);
|
|
714
704
|
},
|
|
715
|
-
getPlaybackRate: () =>
|
|
716
|
-
return mediaPlayer.getPlaybackRate()
|
|
717
|
-
},
|
|
705
|
+
getPlaybackRate: () => mediaPlayer.getPlaybackRate(),
|
|
718
706
|
}
|
|
719
707
|
}
|
|
720
708
|
|