@npo/player 1.17.2 → 1.18.1
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/README.md +2 -1
- package/lib/js/ads/ster.js +8 -10
- package/lib/js/ads/ster.test.js +0 -1
- package/lib/js/api/getstreamobject.js +0 -1
- package/lib/js/api/getstreamobject.test.js +0 -1
- package/lib/js/cdnproviders.js +10 -7
- package/lib/js/checks/apple.js +0 -1
- package/lib/js/checks/apple.test.js +0 -1
- package/lib/js/drm/drm.js +0 -1
- package/lib/js/drm/handlers/decideprofile.js +0 -1
- package/lib/js/drm/handlers/verifydrm.js +0 -1
- package/lib/js/drm/handlers/verifydrm.test.js +0 -1
- package/lib/js/fragments/removefragments.js +0 -1
- package/lib/js/fragments/setfragments.js +0 -1
- package/lib/js/playeractions/customerrors.test.js +0 -1
- package/lib/js/playeractions/handlers/customerrors.js +0 -1
- package/lib/js/playeractions/handlers/error.js +0 -1
- package/lib/js/playeractions/handlers/error.test.js +0 -1
- package/lib/js/playeractions/handlers/handleoffsets.js +0 -1
- package/lib/js/playeractions/handlers/handleoffsets.test.js +0 -1
- package/lib/js/playeractions/handlers/mediasessionactions.js +0 -1
- package/lib/js/playeractions/handlers/processplayerconfig.js +0 -1
- package/lib/js/playeractions/handlers/processsourceconfig.js +10 -6
- package/lib/js/playeractions/handlers/resolvekeypress.js +0 -1
- package/lib/js/playeractions/playeractions.js +0 -1
- package/lib/js/tracking/handlers/eventbinding.js +1 -3
- package/lib/js/tracking/handlers/eventlogging.js +0 -1
- package/lib/js/tracking/handlers/playertrackerinit.js +0 -1
- package/lib/js/tracking/handlers/playertrackerstart.js +0 -1
- package/lib/js/tracking/playertracker.js +0 -1
- package/lib/js/ui/components/adbutton.js +0 -1
- package/lib/js/ui/components/adlabel.js +0 -1
- package/lib/js/ui/components/audio/controlbar.js +0 -1
- package/lib/js/ui/components/buttons.d.ts +6 -0
- package/lib/js/ui/components/buttons.js +16 -3
- package/lib/js/ui/components/controlbar.js +0 -1
- package/lib/js/ui/components/ctabar.js +0 -1
- package/lib/js/ui/components/nativemobile/addFragments.js +0 -1
- package/lib/js/ui/components/nativemobile/buttons.js +0 -1
- package/lib/js/ui/components/nativemobile/controlbar.js +0 -1
- package/lib/js/ui/components/nativemobile/ctabar.js +0 -1
- package/lib/js/ui/components/nativemobile/playnext.js +0 -7
- package/lib/js/ui/components/nativemobile/titlebar.js +0 -1
- package/lib/js/ui/components/nativemobile/topbar.js +0 -1
- package/lib/js/ui/components/playnext.js +3 -3
- package/lib/js/ui/components/seekbar.js +0 -1
- package/lib/js/ui/components/settingspanel.js +4 -5
- package/lib/js/ui/components/shared/playnextscreen.d.ts +2 -2
- package/lib/js/ui/components/shared/playnextscreen.js +30 -13
- package/lib/js/ui/components/titlebar.js +0 -1
- package/lib/js/ui/components/topbar.js +0 -1
- package/lib/js/ui/handlers/accessibilityhandler.js +0 -1
- package/lib/js/ui/handlers/listboxhandlers.js +0 -1
- package/lib/js/ui/handlers/nicamhandler.d.ts +1 -1
- package/lib/js/ui/handlers/nicamhandler.js +1 -3
- package/lib/js/ui/handlers/nicamhandler.test.js +10 -15
- package/lib/js/ui/handlers/playnexthandlers.js +0 -1
- package/lib/js/ui/handlers/streamhandler.d.ts +3 -3
- package/lib/js/ui/handlers/streamhandler.js +4 -5
- package/lib/js/ui/handlers/timecontrolhandlers.js +0 -1
- package/lib/js/ui/nativemobileuicontainer.js +0 -1
- package/lib/js/ui/nativemobileuifactory.js +1 -2
- package/lib/js/ui/uicontainer.js +0 -1
- package/lib/js/utilities/localizationconfig.js +0 -1
- package/lib/js/utilities/printversion.js +0 -1
- package/lib/js/utilities/utilities.js +0 -1
- package/lib/js/utilities/utilities.test.js +0 -1
- package/lib/npoplayer.d.ts +3 -0
- package/lib/npoplayer.js +40 -11
- package/lib/npoplayer.test.js +0 -1
- package/lib/package.json +1 -1
- package/lib/src/js/ui/components/buttons.d.ts +6 -0
- package/lib/src/js/ui/components/shared/playnextscreen.d.ts +2 -2
- package/lib/src/js/ui/handlers/nicamhandler.d.ts +1 -1
- package/lib/src/js/ui/handlers/streamhandler.d.ts +3 -3
- package/lib/src/npoplayer.d.ts +3 -0
- package/lib/src/types/interfaces.d.ts +8 -1
- package/lib/types/classes.js +0 -1
- package/lib/types/interfaces.d.ts +8 -1
- package/lib/types/interfaces.js +0 -1
- package/package.json +1 -1
- package/src/scss/components/_playnext.scss +21 -33
- package/src/scss/components/_seekbarthumbnail.scss +1 -0
- package/src/scss/components/_subtitles.scss +16 -0
- package/src/scss/components/_textbuttons.scss +18 -18
- package/src/scss/npoplayer.css +17 -12
- package/src/scss/variants/_player-large.scss +10 -0
- package/src/scss/variants/_player-medium.scss +6 -0
- package/src/scss/variants/_player-small.scss +6 -0
- package/lib/js/ads/ster.js.map +0 -1
- package/lib/js/ads/ster.test.js.map +0 -1
- package/lib/js/api/getstreamobject.js.map +0 -1
- package/lib/js/api/getstreamobject.test.js.map +0 -1
- package/lib/js/cdnproviders.js.map +0 -1
- package/lib/js/checks/apple.js.map +0 -1
- package/lib/js/checks/apple.test.js.map +0 -1
- package/lib/js/drm/drm.js.map +0 -1
- package/lib/js/drm/handlers/decideprofile.js.map +0 -1
- package/lib/js/drm/handlers/verifydrm.js.map +0 -1
- package/lib/js/drm/handlers/verifydrm.test.js.map +0 -1
- package/lib/js/fragments/removefragments.js.map +0 -1
- package/lib/js/fragments/setfragments.js.map +0 -1
- package/lib/js/playeractions/customerrors.test.js.map +0 -1
- package/lib/js/playeractions/handlers/customerrors.js.map +0 -1
- package/lib/js/playeractions/handlers/error.js.map +0 -1
- package/lib/js/playeractions/handlers/error.test.js.map +0 -1
- package/lib/js/playeractions/handlers/handleoffsets.js.map +0 -1
- package/lib/js/playeractions/handlers/handleoffsets.test.js.map +0 -1
- package/lib/js/playeractions/handlers/mediasessionactions.js.map +0 -1
- package/lib/js/playeractions/handlers/processplayerconfig.js.map +0 -1
- package/lib/js/playeractions/handlers/processsourceconfig.js.map +0 -1
- package/lib/js/playeractions/handlers/resolvekeypress.js.map +0 -1
- package/lib/js/playeractions/playeractions.js.map +0 -1
- package/lib/js/tracking/handlers/eventbinding.js.map +0 -1
- package/lib/js/tracking/handlers/eventlogging.js.map +0 -1
- package/lib/js/tracking/handlers/playertrackerinit.js.map +0 -1
- package/lib/js/tracking/handlers/playertrackerstart.js.map +0 -1
- package/lib/js/tracking/playertracker.js.map +0 -1
- package/lib/js/ui/components/adbutton.js.map +0 -1
- package/lib/js/ui/components/adlabel.js.map +0 -1
- package/lib/js/ui/components/audio/controlbar.js.map +0 -1
- package/lib/js/ui/components/buttons.js.map +0 -1
- package/lib/js/ui/components/controlbar.js.map +0 -1
- package/lib/js/ui/components/ctabar.js.map +0 -1
- package/lib/js/ui/components/nativemobile/addFragments.js.map +0 -1
- package/lib/js/ui/components/nativemobile/buttons.js.map +0 -1
- package/lib/js/ui/components/nativemobile/controlbar.js.map +0 -1
- package/lib/js/ui/components/nativemobile/ctabar.js.map +0 -1
- package/lib/js/ui/components/nativemobile/playnext.js.map +0 -1
- package/lib/js/ui/components/nativemobile/titlebar.js.map +0 -1
- package/lib/js/ui/components/nativemobile/topbar.js.map +0 -1
- package/lib/js/ui/components/playnext.js.map +0 -1
- package/lib/js/ui/components/seekbar.js.map +0 -1
- package/lib/js/ui/components/settingspanel.js.map +0 -1
- package/lib/js/ui/components/shared/playnextscreen.js.map +0 -1
- package/lib/js/ui/components/titlebar.js.map +0 -1
- package/lib/js/ui/components/topbar.js.map +0 -1
- package/lib/js/ui/handlers/accessibilityhandler.js.map +0 -1
- package/lib/js/ui/handlers/listboxhandlers.js.map +0 -1
- package/lib/js/ui/handlers/nicamhandler.js.map +0 -1
- package/lib/js/ui/handlers/nicamhandler.test.js.map +0 -1
- package/lib/js/ui/handlers/playnexthandlers.js.map +0 -1
- package/lib/js/ui/handlers/streamhandler.js.map +0 -1
- package/lib/js/ui/handlers/timecontrolhandlers.js.map +0 -1
- package/lib/js/ui/nativemobileuicontainer.js.map +0 -1
- package/lib/js/ui/nativemobileuifactory.js.map +0 -1
- package/lib/js/ui/uicontainer.js.map +0 -1
- package/lib/js/utilities/localizationconfig.js.map +0 -1
- package/lib/js/utilities/printversion.js.map +0 -1
- package/lib/js/utilities/utilities.js.map +0 -1
- package/lib/js/utilities/utilities.test.js.map +0 -1
- package/lib/npoplayer.js.map +0 -1
- package/lib/npoplayer.test.js.map +0 -1
- package/lib/types/classes.js.map +0 -1
- package/lib/types/interfaces.js.map +0 -1
package/README.md
CHANGED
|
@@ -8,7 +8,8 @@ The video player library for NPO (Nederlandse Publieke Omroep) and other broadca
|
|
|
8
8
|
Extensive and up-to-date documentation is available at https://docs.npoplayer.nl
|
|
9
9
|
|
|
10
10
|
# Changelog
|
|
11
|
-
Current version: v1.
|
|
11
|
+
Current version: v1.18.0
|
|
12
|
+
|
|
12
13
|
The changelog is available at https://docs.npoplayer.nl/implementation/web/changelog/
|
|
13
14
|
|
|
14
15
|
## License
|
package/lib/js/ads/ster.js
CHANGED
|
@@ -12,6 +12,7 @@ export async function handlePreRolls(playerapi, streamObject, npoplayer) {
|
|
|
12
12
|
let currentClickListener = null;
|
|
13
13
|
let adUiSet = false;
|
|
14
14
|
async function handleSourceLoaded() {
|
|
15
|
+
playerapi.off(PlayerEvent.SourceLoaded, handleSourceLoaded);
|
|
15
16
|
const advertConfig = {
|
|
16
17
|
tag: {
|
|
17
18
|
url: String(prerollUrl),
|
|
@@ -24,6 +25,7 @@ export async function handlePreRolls(playerapi, streamObject, npoplayer) {
|
|
|
24
25
|
}
|
|
25
26
|
playerapi.on(PlayerEvent.SourceLoaded, handleSourceLoaded);
|
|
26
27
|
async function handlePlay() {
|
|
28
|
+
playerapi.off(PlayerEvent.Play, handlePlay);
|
|
27
29
|
attemptSetAdUi();
|
|
28
30
|
}
|
|
29
31
|
playerapi.on(PlayerEvent.Play, handlePlay);
|
|
@@ -32,6 +34,7 @@ export async function handlePreRolls(playerapi, streamObject, npoplayer) {
|
|
|
32
34
|
if (!activeAdBreak || !activeAdBreak.ads)
|
|
33
35
|
return false;
|
|
34
36
|
npoplayer.uiManager?.release();
|
|
37
|
+
npoplayer.uiManager = null;
|
|
35
38
|
npoplayer.createUIManager(playerapi, NpoPlayerUIVariants.AD);
|
|
36
39
|
adUiSet = true;
|
|
37
40
|
let adButton = npoplayer.uiComponents.adbutton;
|
|
@@ -54,6 +57,7 @@ export async function handlePreRolls(playerapi, streamObject, npoplayer) {
|
|
|
54
57
|
}
|
|
55
58
|
}
|
|
56
59
|
function handleAdStarted() {
|
|
60
|
+
playerapi.off(PlayerEvent.AdStarted, handleAdStarted);
|
|
57
61
|
let activeAdBreak = playerapi.ads.getActiveAdBreak();
|
|
58
62
|
if (!activeAdBreak || !activeAdBreak.ads) {
|
|
59
63
|
console.error('No active ad break data found');
|
|
@@ -83,6 +87,7 @@ export async function handlePreRolls(playerapi, streamObject, npoplayer) {
|
|
|
83
87
|
button.onClick.subscribe(currentClickListener);
|
|
84
88
|
}
|
|
85
89
|
function handleAdFinished() {
|
|
90
|
+
playerapi.off(PlayerEvent.AdFinished, handleAdFinished);
|
|
86
91
|
let activeAdBreak = playerapi.ads.getActiveAdBreak();
|
|
87
92
|
if (!activeAdBreak || !activeAdBreak.ads) {
|
|
88
93
|
console.error('No active ad break data found');
|
|
@@ -101,23 +106,16 @@ export async function handlePreRolls(playerapi, streamObject, npoplayer) {
|
|
|
101
106
|
}
|
|
102
107
|
playerapi.on(PlayerEvent.AdFinished, handleAdFinished);
|
|
103
108
|
function handleAdBreakFinished() {
|
|
109
|
+
playerapi.off(PlayerEvent.AdBreakFinished, handleAdBreakFinished);
|
|
104
110
|
npoplayer.adBreakActive = false;
|
|
105
111
|
npoplayer.uiComponents.adbutton?.hide();
|
|
106
112
|
npoplayer.uiComponents.adlabel?.hide();
|
|
107
113
|
npoplayer.uiManager?.release();
|
|
114
|
+
npoplayer.uiManager = null;
|
|
108
115
|
npoplayer.createUIManager(playerapi, NpoPlayerUIVariants.DEFAULT);
|
|
109
116
|
adUiSet = false;
|
|
110
|
-
removeListeners();
|
|
111
117
|
}
|
|
112
118
|
playerapi.on(PlayerEvent.AdBreakFinished, handleAdBreakFinished);
|
|
113
|
-
|
|
114
|
-
playerapi.off(PlayerEvent.SourceLoaded, handleSourceLoaded);
|
|
115
|
-
playerapi.off(PlayerEvent.Play, handlePlay);
|
|
116
|
-
playerapi.off(PlayerEvent.AdStarted, handleAdStarted);
|
|
117
|
-
playerapi.off(PlayerEvent.AdFinished, handleAdFinished);
|
|
118
|
-
playerapi.off(PlayerEvent.AdBreakFinished, handleAdBreakFinished);
|
|
119
|
-
resolve();
|
|
120
|
-
}
|
|
119
|
+
resolve();
|
|
121
120
|
});
|
|
122
121
|
}
|
|
123
|
-
//# sourceMappingURL=ster.js.map
|
package/lib/js/ads/ster.test.js
CHANGED
package/lib/js/cdnproviders.js
CHANGED
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
export const npoCdnProviders = new Map();
|
|
2
|
-
npoCdnProviders.set('nep.global.ssl.fastly.net', 'NEP');
|
|
2
|
+
npoCdnProviders.set('nep.global.ssl.fastly.net', 'NEP-FASTLY');
|
|
3
|
+
npoCdnProviders.set('npo-fsly.cdn.streamgate.io', 'NEP-FASTLY');
|
|
3
4
|
npoCdnProviders.set('cdn.streamgate.nl', 'NEP');
|
|
4
|
-
npoCdnProviders.set('
|
|
5
|
+
npoCdnProviders.set('pr.lswcdn.net', 'NEP-LSW');
|
|
5
6
|
npoCdnProviders.set('cdn.eurovisioncdn.net', 'EUROVISION');
|
|
6
7
|
npoCdnProviders.set('npo.prd.cdn.bcms.kpn.com', 'KPN');
|
|
7
8
|
npoCdnProviders.set('cdn.bcms.kpn.com', 'KPN');
|
|
8
9
|
npoCdnProviders.set('Akamai', 'AKEMAI');
|
|
9
|
-
npoCdnProviders.set('icecast.omroep.nl', '
|
|
10
|
-
npoCdnProviders.set('content.omroep.nl', '
|
|
11
|
-
npoCdnProviders.set('podcast.npo.nl', '
|
|
12
|
-
npoCdnProviders.set('video.omroep.nl', '
|
|
13
|
-
|
|
10
|
+
npoCdnProviders.set('icecast.omroep.nl', 'OMROEP-ICECAST');
|
|
11
|
+
npoCdnProviders.set('content.omroep.nl', 'OMROEP-CONTENT');
|
|
12
|
+
npoCdnProviders.set('podcast.npo.nl', 'OMROEP-PODCAST');
|
|
13
|
+
npoCdnProviders.set('video.omroep.nl', 'OMROEP-VIDEO');
|
|
14
|
+
npoCdnProviders.set('download.omroep.nl', 'OMROEP-DOWNLOAD');
|
|
15
|
+
npoCdnProviders.set('download.nos.nl', 'NOS');
|
|
16
|
+
npoCdnProviders.set('entry.cdn.npoaudio.nl', 'NPOAUDIO');
|
package/lib/js/checks/apple.js
CHANGED
package/lib/js/drm/drm.js
CHANGED
|
@@ -120,11 +120,16 @@ export function processSourceConfig(_sourceConfig = {}, _streamObject, drm = nul
|
|
|
120
120
|
sourceConfig = setDrm(sourceConfig, drm, _streamObject);
|
|
121
121
|
const streamSource = _streamObject.stream.streamURL;
|
|
122
122
|
let cdnString = streamSource;
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
123
|
+
if (streamSource.startsWith('file:///')) {
|
|
124
|
+
cdnString = 'OFFLINE';
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
npoCdnProviders.forEach(function (value, key) {
|
|
128
|
+
if (streamSource.includes(key)) {
|
|
129
|
+
cdnString = value;
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
}
|
|
128
133
|
if (sourceConfig.analytics == null)
|
|
129
134
|
sourceConfig.analytics = {};
|
|
130
135
|
sourceConfig.analytics.cdnProvider = cdnString;
|
|
@@ -157,4 +162,3 @@ export function processSourceConfig(_sourceConfig = {}, _streamObject, drm = nul
|
|
|
157
162
|
}
|
|
158
163
|
return sourceConfig;
|
|
159
164
|
}
|
|
160
|
-
//# sourceMappingURL=processsourceconfig.js.map
|
|
@@ -3,4 +3,3 @@ export { handleStartOffset, handleLiveOffsetLogic, shiftToProgramStart } from ".
|
|
|
3
3
|
export { handlePlayerError } from "./handlers/error";
|
|
4
4
|
export { processPlayerConfig } from "./handlers/processplayerconfig";
|
|
5
5
|
export { processSourceConfig } from "./handlers/processsourceconfig";
|
|
6
|
-
//# sourceMappingURL=playeractions.js.map
|
|
@@ -63,7 +63,7 @@ export function bindPlayerEvents(npoplayer, player) {
|
|
|
63
63
|
}
|
|
64
64
|
};
|
|
65
65
|
const stopBeforeUnload = () => {
|
|
66
|
-
logEvent(npoplayer, 'stop'
|
|
66
|
+
logEvent(npoplayer, 'stop');
|
|
67
67
|
};
|
|
68
68
|
for (const [key, value] of logEventHandlers) {
|
|
69
69
|
player.off(key, value);
|
|
@@ -79,7 +79,6 @@ export function bindPlayerEvents(npoplayer, player) {
|
|
|
79
79
|
{ event: PlayerEvent.PlaybackFinished, name: 'complete' },
|
|
80
80
|
{ event: PlayerEvent.TimeChanged, name: 'time' },
|
|
81
81
|
{ event: PlayerEvent.SourceUnloaded, name: 'stop' },
|
|
82
|
-
{ event: PlayerEvent.Destroy, name: 'stop' },
|
|
83
82
|
];
|
|
84
83
|
playerEvents.forEach(({ event, name, handler }) => {
|
|
85
84
|
handler = handler || logEventHandler(name);
|
|
@@ -99,4 +98,3 @@ export function bindPlayerEvents(npoplayer, player) {
|
|
|
99
98
|
logEventHandlers.set('beforeunload', stopBeforeUnload);
|
|
100
99
|
window.addEventListener('beforeunload', stopBeforeUnload);
|
|
101
100
|
}
|
|
102
|
-
//# sourceMappingURL=eventbinding.js.map
|
|
@@ -2,4 +2,3 @@ export { initPlayerTracker } from './handlers/playertrackerinit';
|
|
|
2
2
|
export { startPlayerTracker } from './handlers/playertrackerstart';
|
|
3
3
|
export { bindPlayerEvents } from './handlers/eventbinding';
|
|
4
4
|
export { logEvent } from './handlers/eventlogging';
|
|
5
|
-
//# sourceMappingURL=playertracker.js.map
|
|
@@ -16,6 +16,12 @@ export declare function createPlayNextButton(player: PlayerAPI, npoplayer: NpoPl
|
|
|
16
16
|
ariaLabel: string;
|
|
17
17
|
hidden: false;
|
|
18
18
|
}>;
|
|
19
|
+
export declare function createCancelPlayNextButton(player: PlayerAPI, npoplayer: NpoPlayer): Button<{
|
|
20
|
+
cssClass: string;
|
|
21
|
+
text: string;
|
|
22
|
+
ariaLabel: string;
|
|
23
|
+
hidden: false;
|
|
24
|
+
}>;
|
|
19
25
|
export declare function createskipIntroButton(player: PlayerAPI): Button<{
|
|
20
26
|
cssClass: string;
|
|
21
27
|
text: string;
|
|
@@ -37,8 +37,8 @@ export function createForwardButton(player) {
|
|
|
37
37
|
}
|
|
38
38
|
export function createPlayNextButton(player, npoplayer) {
|
|
39
39
|
const playNextButton = new Button({
|
|
40
|
-
cssClass: 'ui-
|
|
41
|
-
text: '
|
|
40
|
+
cssClass: 'ui-textbutton ui-playNextButton bmpui-ui-button',
|
|
41
|
+
text: 'Volgende aflevering over <span class="countdown"></span>…',
|
|
42
42
|
ariaLabel: 'Speel volgende aflevering af',
|
|
43
43
|
hidden: false
|
|
44
44
|
});
|
|
@@ -49,6 +49,20 @@ export function createPlayNextButton(player, npoplayer) {
|
|
|
49
49
|
});
|
|
50
50
|
return playNextButton;
|
|
51
51
|
}
|
|
52
|
+
export function createCancelPlayNextButton(player, npoplayer) {
|
|
53
|
+
const cancelPlayNextButton = new Button({
|
|
54
|
+
cssClass: 'ui-textbutton ui-cancelPlayNextButton bmpui-ui-button',
|
|
55
|
+
text: 'Annuleer',
|
|
56
|
+
ariaLabel: 'Annuleer',
|
|
57
|
+
hidden: false
|
|
58
|
+
});
|
|
59
|
+
cancelPlayNextButton.onClick.subscribe(() => {
|
|
60
|
+
if (player != null) {
|
|
61
|
+
npoplayer.cancelPlayNextScreen();
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
return cancelPlayNextButton;
|
|
65
|
+
}
|
|
52
66
|
export function createskipIntroButton(player) {
|
|
53
67
|
const skipIntroButton = new Button({
|
|
54
68
|
cssClass: 'ui-textbutton ui-skipintrobutton bmpui-ui-button bmpui-hidden',
|
|
@@ -93,4 +107,3 @@ export function createWatchFromStartButton(player, npoplayer) {
|
|
|
93
107
|
npoplayer.uiComponents.watchFromStartButton = watchFromStartButton;
|
|
94
108
|
return watchFromStartButton;
|
|
95
109
|
}
|
|
96
|
-
//# sourceMappingURL=buttons.js.map
|
|
@@ -1,16 +1,9 @@
|
|
|
1
1
|
import { Container } from 'bitmovin-player-ui';
|
|
2
2
|
import { createPlayNextButton } from './buttons';
|
|
3
|
-
import { showPlayNextScreen } from '../shared/playnextscreen';
|
|
4
3
|
export function createPlayNextScreen() {
|
|
5
4
|
const playNextButton = createPlayNextButton();
|
|
6
|
-
if (window.bitmovin.customMessageHandler) {
|
|
7
|
-
window.bitmovin.customMessageHandler.on('showPlayNextScreen', () => {
|
|
8
|
-
showPlayNextScreen(window.bitmovin.customMessageHandler.sendAsynchronous('doPlayNext'));
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
5
|
return new Container({
|
|
12
6
|
components: [playNextButton],
|
|
13
7
|
cssClasses: ['overlay-playnext']
|
|
14
8
|
});
|
|
15
9
|
}
|
|
16
|
-
//# sourceMappingURL=playnext.js.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Container } from 'bitmovin-player-ui';
|
|
2
|
-
import { createPlayNextButton } from '../components/buttons';
|
|
2
|
+
import { createPlayNextButton, createCancelPlayNextButton } from '../components/buttons';
|
|
3
3
|
export function createPlayNextScreen(player, npoplayer) {
|
|
4
4
|
const playNextButton = createPlayNextButton(player, npoplayer);
|
|
5
|
+
const cancelButton = createCancelPlayNextButton(player, npoplayer);
|
|
5
6
|
return new Container({
|
|
6
|
-
components: [playNextButton],
|
|
7
|
+
components: [cancelButton, playNextButton],
|
|
7
8
|
cssClasses: ['overlay-playnext']
|
|
8
9
|
});
|
|
9
10
|
}
|
|
10
|
-
//# sourceMappingURL=playnext.js.map
|
|
@@ -131,6 +131,8 @@ export function createSettingsPanel(npoplayer) {
|
|
|
131
131
|
npoplayer.uiComponents.settingsPanel = settingsPanel;
|
|
132
132
|
}
|
|
133
133
|
const checkSubtitles = () => {
|
|
134
|
+
player?.off(PlayerEvent.SourceLoaded, checkSubtitles);
|
|
135
|
+
player?.off(PlayerEvent.AdBreakFinished, checkSubtitles);
|
|
134
136
|
const subtitles = player?.subtitles?.list();
|
|
135
137
|
if (subtitles != null && subtitles.length > 0) {
|
|
136
138
|
subtitlesPanelItem.show();
|
|
@@ -140,6 +142,8 @@ export function createSettingsPanel(npoplayer) {
|
|
|
140
142
|
}
|
|
141
143
|
};
|
|
142
144
|
const checkQuality = () => {
|
|
145
|
+
player?.off(PlayerEvent.SourceLoaded, checkQuality);
|
|
146
|
+
player?.off(PlayerEvent.AdBreakFinished, checkQuality);
|
|
143
147
|
if (player?.getAvailableVideoQualities() !== undefined && player?.getAvailableVideoQualities().length > 0) {
|
|
144
148
|
qualityPanelItem.show();
|
|
145
149
|
}
|
|
@@ -147,14 +151,9 @@ export function createSettingsPanel(npoplayer) {
|
|
|
147
151
|
qualityPanelItem.hide();
|
|
148
152
|
}
|
|
149
153
|
};
|
|
150
|
-
player?.off(PlayerEvent.SourceLoaded, checkSubtitles);
|
|
151
154
|
player?.on(PlayerEvent.SourceLoaded, checkSubtitles);
|
|
152
|
-
player?.off(PlayerEvent.SourceLoaded, checkQuality);
|
|
153
155
|
player?.on(PlayerEvent.SourceLoaded, checkQuality);
|
|
154
|
-
player?.off(PlayerEvent.AdBreakFinished, checkSubtitles);
|
|
155
156
|
player?.on(PlayerEvent.AdBreakFinished, checkSubtitles);
|
|
156
|
-
player?.off(PlayerEvent.AdBreakFinished, checkQuality);
|
|
157
157
|
player?.on(PlayerEvent.AdBreakFinished, checkQuality);
|
|
158
158
|
return settingsPanel;
|
|
159
159
|
}
|
|
160
|
-
//# sourceMappingURL=settingspanel.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare function showPlayNextScreen(
|
|
2
|
-
export declare function hidePlayNextScreen(): void;
|
|
1
|
+
export declare function showPlayNextScreen(overlayDuration: number, containerEl: HTMLElement, proceedCallBack?: () => void): void;
|
|
2
|
+
export declare function hidePlayNextScreen(containerEl: HTMLElement): void;
|
|
@@ -1,17 +1,34 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
let countdownInterval = null;
|
|
2
|
+
export function showPlayNextScreen(overlayDuration, containerEl, proceedCallBack) {
|
|
3
|
+
const playnextOverlay = containerEl.querySelector('.bmpui-overlay-playnext');
|
|
4
|
+
const countdownLabel = playnextOverlay?.querySelector('.countdown');
|
|
5
|
+
if (countdownLabel) {
|
|
6
|
+
countdownLabel.innerHTML = overlayDuration.toString();
|
|
7
|
+
}
|
|
6
8
|
playnextOverlay?.classList.add('show');
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
9
|
+
const playNextButton = playnextOverlay?.querySelector('.ui-playNextButton');
|
|
10
|
+
if (playNextButton) {
|
|
11
|
+
playNextButton.focus();
|
|
12
|
+
}
|
|
13
|
+
let countdown = overlayDuration - 1;
|
|
14
|
+
countdownInterval = window.setInterval(() => {
|
|
15
|
+
if (playnextOverlay?.classList.contains('show') && countdownLabel) {
|
|
16
|
+
countdownLabel.innerHTML = countdown.toString();
|
|
17
|
+
countdown -= 1;
|
|
10
18
|
}
|
|
11
|
-
|
|
19
|
+
if (countdown < 0) {
|
|
20
|
+
clearInterval(countdownInterval);
|
|
21
|
+
if (playnextOverlay?.classList.contains('show')) {
|
|
22
|
+
proceedCallBack?.();
|
|
23
|
+
playnextOverlay?.classList.remove('show');
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}, 1000);
|
|
12
27
|
}
|
|
13
|
-
export function hidePlayNextScreen() {
|
|
14
|
-
|
|
15
|
-
|
|
28
|
+
export function hidePlayNextScreen(containerEl) {
|
|
29
|
+
containerEl.querySelector('.bmpui-overlay-playnext')?.classList.remove('show');
|
|
30
|
+
if (countdownInterval !== null) {
|
|
31
|
+
clearInterval(countdownInterval);
|
|
32
|
+
countdownInterval = null;
|
|
33
|
+
}
|
|
16
34
|
}
|
|
17
|
-
//# sourceMappingURL=playnextscreen.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { StreamObject, StreamOptions } from 'types/interfaces';
|
|
2
|
-
export declare function processNicam(streamObject: StreamObject,
|
|
2
|
+
export declare function processNicam(streamObject: StreamObject, nicamElement: HTMLElement | null, streamOptions: StreamOptions | null): void;
|
|
3
3
|
export declare function addNicamIcon(character: string, nicamElement: Element): void;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
export function processNicam(streamObject,
|
|
2
|
-
const nicamElement = document.querySelector(`#${containerId} .bmpui-nicam`);
|
|
1
|
+
export function processNicam(streamObject, nicamElement, streamOptions) {
|
|
3
2
|
const effectiveMetadata = streamOptions ? { ...streamObject.metadata, ...streamOptions } : streamObject.metadata;
|
|
4
3
|
if (nicamElement) {
|
|
5
4
|
nicamElement.innerHTML = '';
|
|
@@ -25,4 +24,3 @@ export function addNicamIcon(character, nicamElement) {
|
|
|
25
24
|
span.classList.add('nicam-icon', iconClass);
|
|
26
25
|
nicamElement.appendChild(span);
|
|
27
26
|
}
|
|
28
|
-
//# sourceMappingURL=nicamhandler.js.map
|