@npo/player 1.10.0 → 1.10.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/lib/js/playeractions/handlers/processplayerconfig.d.ts +0 -8
- package/lib/js/tracking/handlers/eventbinding.d.ts +0 -7
- package/lib/js/tracking/handlers/eventlogging.d.ts +0 -9
- package/lib/js/tracking/handlers/playertrackerinit.d.ts +0 -9
- package/lib/js/tracking/handlers/playertrackerstart.d.ts +0 -7
- package/lib/js/ui/components/ctabar.d.ts +1 -1
- package/lib/js/utilities/utilities.d.ts +0 -50
- package/lib/npoplayer.js +2 -501
- package/lib/npoplayer.js.map +1 -1
- package/lib/package.json +2 -2
- package/package.json +2 -2
- package/src/scss/npoplayer.css +2 -2
- package/src/scss/variants/_player-base.scss +17 -0
- package/src/scss/variants/_player-small.scss +20 -1
- package/lib/js/ads/ster.js +0 -157
- package/lib/js/ads/ster.js.map +0 -1
- package/lib/js/ads/ster.test.js +0 -91
- package/lib/js/ads/ster.test.js.map +0 -1
- package/lib/js/api/getstreamobject.js +0 -18
- package/lib/js/api/getstreamobject.js.map +0 -1
- package/lib/js/cdnproviders.js +0 -13
- package/lib/js/cdnproviders.js.map +0 -1
- package/lib/js/checks/safari.js +0 -10
- package/lib/js/checks/safari.js.map +0 -1
- package/lib/js/checks/safari.test.js +0 -21
- package/lib/js/checks/safari.test.js.map +0 -1
- package/lib/js/drm/verifydrm.js +0 -38
- package/lib/js/drm/verifydrm.js.map +0 -1
- package/lib/js/drm/verifydrm.test.js +0 -18
- package/lib/js/drm/verifydrm.test.js.map +0 -1
- package/lib/js/fragments/setfragments.js +0 -67
- package/lib/js/fragments/setfragments.js.map +0 -1
- package/lib/js/playeractions/customerrors.test.js +0 -52
- package/lib/js/playeractions/customerrors.test.js.map +0 -1
- package/lib/js/playeractions/handlers/customerrors.js +0 -154
- package/lib/js/playeractions/handlers/customerrors.js.map +0 -1
- package/lib/js/playeractions/handlers/error.js +0 -23
- package/lib/js/playeractions/handlers/error.js.map +0 -1
- package/lib/js/playeractions/handlers/error.test.js +0 -45
- package/lib/js/playeractions/handlers/error.test.js.map +0 -1
- package/lib/js/playeractions/handlers/handleoffsets.js +0 -71
- package/lib/js/playeractions/handlers/handleoffsets.js.map +0 -1
- package/lib/js/playeractions/handlers/handleoffsets.test.js +0 -50
- package/lib/js/playeractions/handlers/handleoffsets.test.js.map +0 -1
- package/lib/js/playeractions/handlers/processplayerconfig.js +0 -40
- package/lib/js/playeractions/handlers/processplayerconfig.js.map +0 -1
- package/lib/js/playeractions/handlers/resolvekeypress.js +0 -55
- package/lib/js/playeractions/handlers/resolvekeypress.js.map +0 -1
- package/lib/js/playeractions/playeractions.js +0 -5
- package/lib/js/playeractions/playeractions.js.map +0 -1
- package/lib/js/tracking/handlers/eventbinding.js +0 -86
- package/lib/js/tracking/handlers/eventbinding.js.map +0 -1
- package/lib/js/tracking/handlers/eventlogging.js +0 -42
- package/lib/js/tracking/handlers/eventlogging.js.map +0 -1
- package/lib/js/tracking/handlers/playertrackerinit.js +0 -29
- package/lib/js/tracking/handlers/playertrackerinit.js.map +0 -1
- package/lib/js/tracking/handlers/playertrackerstart.js +0 -29
- package/lib/js/tracking/handlers/playertrackerstart.js.map +0 -1
- package/lib/js/tracking/playertracker.js +0 -10
- package/lib/js/tracking/playertracker.js.map +0 -1
- package/lib/js/ui/components/adbutton.js +0 -21
- package/lib/js/ui/components/adbutton.js.map +0 -1
- package/lib/js/ui/components/adlabel.js +0 -17
- package/lib/js/ui/components/adlabel.js.map +0 -1
- package/lib/js/ui/components/buttons.js +0 -89
- package/lib/js/ui/components/buttons.js.map +0 -1
- package/lib/js/ui/components/controlbar.js +0 -58
- package/lib/js/ui/components/controlbar.js.map +0 -1
- package/lib/js/ui/components/ctabar.js +0 -41
- package/lib/js/ui/components/ctabar.js.map +0 -1
- package/lib/js/ui/components/nativemobile/addFragments.js +0 -8
- package/lib/js/ui/components/nativemobile/addFragments.js.map +0 -1
- package/lib/js/ui/components/nativemobile/buttons.js +0 -43
- package/lib/js/ui/components/nativemobile/buttons.js.map +0 -1
- package/lib/js/ui/components/nativemobile/controlbar.js +0 -52
- package/lib/js/ui/components/nativemobile/controlbar.js.map +0 -1
- package/lib/js/ui/components/nativemobile/ctabar.js +0 -12
- package/lib/js/ui/components/nativemobile/ctabar.js.map +0 -1
- package/lib/js/ui/components/nativemobile/playnext.js +0 -16
- package/lib/js/ui/components/nativemobile/playnext.js.map +0 -1
- package/lib/js/ui/components/nativemobile/titlebar.js +0 -8
- package/lib/js/ui/components/nativemobile/titlebar.js.map +0 -1
- package/lib/js/ui/components/nativemobile/topbar.js +0 -21
- package/lib/js/ui/components/nativemobile/topbar.js.map +0 -1
- package/lib/js/ui/components/playnext.js +0 -11
- package/lib/js/ui/components/playnext.js.map +0 -1
- package/lib/js/ui/components/settingspanel.js +0 -130
- package/lib/js/ui/components/settingspanel.js.map +0 -1
- package/lib/js/ui/components/shared/playnextscreen.js +0 -18
- package/lib/js/ui/components/shared/playnextscreen.js.map +0 -1
- package/lib/js/ui/components/titlebar.js +0 -9
- package/lib/js/ui/components/titlebar.js.map +0 -1
- package/lib/js/ui/components/topbar.js +0 -22
- package/lib/js/ui/components/topbar.js.map +0 -1
- package/lib/js/ui/handlers/listboxhandlers.js +0 -41
- package/lib/js/ui/handlers/listboxhandlers.js.map +0 -1
- package/lib/js/ui/handlers/nicamhandler.js +0 -32
- package/lib/js/ui/handlers/nicamhandler.js.map +0 -1
- package/lib/js/ui/handlers/nicamhandler.test.js +0 -34
- package/lib/js/ui/handlers/nicamhandler.test.js.map +0 -1
- package/lib/js/ui/handlers/playnexthandlers.js +0 -2
- package/lib/js/ui/handlers/playnexthandlers.js.map +0 -1
- package/lib/js/ui/handlers/timecontrolhandlers.js +0 -23
- package/lib/js/ui/handlers/timecontrolhandlers.js.map +0 -1
- package/lib/js/ui/nativemobileuicontainer.js +0 -48
- package/lib/js/ui/nativemobileuicontainer.js.map +0 -1
- package/lib/js/ui/nativemobileuifactory.js +0 -43
- package/lib/js/ui/nativemobileuifactory.js.map +0 -1
- package/lib/js/ui/uicontainer.js +0 -58
- package/lib/js/ui/uicontainer.js.map +0 -1
- package/lib/js/utilities/localizationconfig.js +0 -8
- package/lib/js/utilities/localizationconfig.js.map +0 -1
- package/lib/js/utilities/printversion.js +0 -28
- package/lib/js/utilities/printversion.js.map +0 -1
- package/lib/js/utilities/utilities.js +0 -105
- package/lib/js/utilities/utilities.js.map +0 -1
- package/lib/lang/nl.json +0 -72
- package/lib/npoplayer.test.js +0 -12
- package/lib/npoplayer.test.js.map +0 -1
- package/lib/src/js/ads/ster.d.ts +0 -4
- package/lib/src/js/ads/ster.test.d.ts +0 -1
- package/lib/src/js/api/getstreamobject.d.ts +0 -3
- package/lib/src/js/cdnproviders.d.ts +0 -1
- package/lib/src/js/checks/safari.d.ts +0 -1
- package/lib/src/js/checks/safari.test.d.ts +0 -1
- package/lib/src/js/drm/verifydrm.d.ts +0 -4
- package/lib/src/js/drm/verifydrm.test.d.ts +0 -1
- package/lib/src/js/fragments/setfragments.d.ts +0 -4
- package/lib/src/js/playeractions/customerrors.test.d.ts +0 -1
- package/lib/src/js/playeractions/handlers/customerrors.d.ts +0 -50
- package/lib/src/js/playeractions/handlers/error.d.ts +0 -3
- package/lib/src/js/playeractions/handlers/error.test.d.ts +0 -1
- package/lib/src/js/playeractions/handlers/handleoffsets.d.ts +0 -6
- package/lib/src/js/playeractions/handlers/handleoffsets.test.d.ts +0 -1
- package/lib/src/js/playeractions/handlers/processplayerconfig.d.ts +0 -11
- package/lib/src/js/playeractions/handlers/resolvekeypress.d.ts +0 -3
- package/lib/src/js/playeractions/playeractions.d.ts +0 -4
- package/lib/src/js/tracking/handlers/eventbinding.d.ts +0 -10
- package/lib/src/js/tracking/handlers/eventlogging.d.ts +0 -11
- package/lib/src/js/tracking/handlers/playertrackerinit.d.ts +0 -13
- package/lib/src/js/tracking/handlers/playertrackerstart.d.ts +0 -8
- package/lib/src/js/tracking/playertracker.d.ts +0 -4
- package/lib/src/js/ui/components/adbutton.d.ts +0 -7
- package/lib/src/js/ui/components/adlabel.d.ts +0 -7
- package/lib/src/js/ui/components/buttons.d.ts +0 -30
- package/lib/src/js/ui/components/controlbar.d.ts +0 -3
- package/lib/src/js/ui/components/ctabar.d.ts +0 -9
- package/lib/src/js/ui/components/nativemobile/addFragments.d.ts +0 -1
- package/lib/src/js/ui/components/nativemobile/buttons.d.ts +0 -13
- package/lib/src/js/ui/components/nativemobile/controlbar.d.ts +0 -3
- package/lib/src/js/ui/components/nativemobile/ctabar.d.ts +0 -10
- package/lib/src/js/ui/components/nativemobile/playnext.d.ts +0 -10
- package/lib/src/js/ui/components/nativemobile/titlebar.d.ts +0 -2
- package/lib/src/js/ui/components/nativemobile/topbar.d.ts +0 -3
- package/lib/src/js/ui/components/playnext.d.ts +0 -11
- package/lib/src/js/ui/components/settingspanel.d.ts +0 -4
- package/lib/src/js/ui/components/shared/playnextscreen.d.ts +0 -2
- package/lib/src/js/ui/components/titlebar.d.ts +0 -3
- package/lib/src/js/ui/components/topbar.d.ts +0 -2
- package/lib/src/js/ui/handlers/listboxhandlers.d.ts +0 -5
- package/lib/src/js/ui/handlers/nicamhandler.d.ts +0 -2
- package/lib/src/js/ui/handlers/nicamhandler.test.d.ts +0 -1
- package/lib/src/js/ui/handlers/playnexthandlers.d.ts +0 -0
- package/lib/src/js/ui/handlers/timecontrolhandlers.d.ts +0 -3
- package/lib/src/js/ui/nativemobileuicontainer.d.ts +0 -6
- package/lib/src/js/ui/nativemobileuifactory.d.ts +0 -3
- package/lib/src/js/ui/uicontainer.d.ts +0 -3
- package/lib/src/js/utilities/localizationconfig.d.ts +0 -6
- package/lib/src/js/utilities/printversion.d.ts +0 -1
- package/lib/src/js/utilities/utilities.d.ts +0 -60
- package/lib/src/npoplayer.d.ts +0 -45
- package/lib/src/npoplayer.test.d.ts +0 -1
- package/lib/src/types/classes.d.ts +0 -4
- package/lib/src/types/interfaces.d.ts +0 -106
- package/lib/types/classes.js +0 -4
- package/lib/types/classes.js.map +0 -1
- package/lib/types/interfaces.js +0 -6
- package/lib/types/interfaces.js.map +0 -1
|
@@ -28,7 +28,6 @@
|
|
|
28
28
|
background: none;
|
|
29
29
|
padding: 0 10px 10px;
|
|
30
30
|
height: 100%;
|
|
31
|
-
outline: 1px solid green;
|
|
32
31
|
display: flex;
|
|
33
32
|
align-items: flex-end;
|
|
34
33
|
pointer-events: none;
|
|
@@ -70,4 +69,24 @@
|
|
|
70
69
|
.bmpui-controlbar-textbuttons {
|
|
71
70
|
padding-bottom: 40px;
|
|
72
71
|
}
|
|
72
|
+
|
|
73
|
+
&.bmpui-player-state-prepared {
|
|
74
|
+
.bmpui-ui-playbacktoggle-overlay {
|
|
75
|
+
display: unset;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
&.bmpui-controls-shown {
|
|
79
|
+
.bmpui-ui-controlbar.bmpui-ui-controlbar-bottom {
|
|
80
|
+
display: none;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
&.bmpui-player-state-paused {
|
|
86
|
+
&.bmpui-controls-hidden {
|
|
87
|
+
.bmpui-ui-playbacktoggle-overlay {
|
|
88
|
+
display: unset;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
73
92
|
}
|
package/lib/js/ads/ster.js
DELETED
|
@@ -1,157 +0,0 @@
|
|
|
1
|
-
import { AdTagType, PlayerEvent } from "bitmovin-player";
|
|
2
|
-
/*
|
|
3
|
-
* @function handlePreRolls
|
|
4
|
-
* @description Handles ster preroll ads for the player
|
|
5
|
-
* @param {PlayerAPI} playerapi - The player api
|
|
6
|
-
* @param {StreamObject} streamObject - The stream object
|
|
7
|
-
* @param {NpoPlayer} npoplayer - The npoplayer
|
|
8
|
-
* @returns {void}
|
|
9
|
-
*/
|
|
10
|
-
export async function handlePreRolls(playerapi, streamObject, npoplayer) {
|
|
11
|
-
if (streamObject.metadata.hasPreroll == "false" || streamObject.assets.preroll == null)
|
|
12
|
-
return;
|
|
13
|
-
let prerollUrl = streamObject.assets.preroll;
|
|
14
|
-
let adIndex = 0;
|
|
15
|
-
let totalAds = 0;
|
|
16
|
-
let currentClickListener = null;
|
|
17
|
-
let adUiSet = false;
|
|
18
|
-
/*
|
|
19
|
-
* @function handleSourceLoaded
|
|
20
|
-
* @description If we have a preroll, schedule it to play on source loaded
|
|
21
|
-
* @returns {void}
|
|
22
|
-
*/
|
|
23
|
-
async function handleSourceLoaded() {
|
|
24
|
-
const advertConfig = {
|
|
25
|
-
tag: {
|
|
26
|
-
url: prerollUrl,
|
|
27
|
-
type: AdTagType.VAST
|
|
28
|
-
},
|
|
29
|
-
id: 'Ad',
|
|
30
|
-
position: 'pre',
|
|
31
|
-
};
|
|
32
|
-
await playerapi.ads.schedule(advertConfig);
|
|
33
|
-
}
|
|
34
|
-
playerapi.on(PlayerEvent.SourceLoaded, handleSourceLoaded);
|
|
35
|
-
async function handlePlay() {
|
|
36
|
-
attemptSetAdUi();
|
|
37
|
-
}
|
|
38
|
-
playerapi.on(PlayerEvent.Play, handlePlay);
|
|
39
|
-
/*
|
|
40
|
-
* @function setAdUi
|
|
41
|
-
* @description Sets the ad ui and initializes the ad button and label.
|
|
42
|
-
* @returns {boolean}
|
|
43
|
-
* @returns {void}
|
|
44
|
-
*/
|
|
45
|
-
function setAdUi() {
|
|
46
|
-
let activeAdBreak = playerapi.ads.getActiveAdBreak();
|
|
47
|
-
if (!activeAdBreak || !activeAdBreak.ads)
|
|
48
|
-
return false;
|
|
49
|
-
npoplayer.uiManager?.release();
|
|
50
|
-
npoplayer.createUIManager(playerapi, 'ad');
|
|
51
|
-
adUiSet = true;
|
|
52
|
-
let currentAd = activeAdBreak.ads[0];
|
|
53
|
-
adIndex = 1;
|
|
54
|
-
totalAds = activeAdBreak.ads.length;
|
|
55
|
-
currentClickListener = () => {
|
|
56
|
-
window.open(currentAd.clickThroughUrl, '_blank');
|
|
57
|
-
playerapi.pause();
|
|
58
|
-
};
|
|
59
|
-
npoplayer.uiComponents.adbutton?.show();
|
|
60
|
-
npoplayer.uiComponents.adbutton?.onClick.subscribe(currentClickListener);
|
|
61
|
-
npoplayer.uiComponents.adlabel?.setText(`Advertentie 1 van ${activeAdBreak.ads.length}`);
|
|
62
|
-
return true;
|
|
63
|
-
}
|
|
64
|
-
/*
|
|
65
|
-
* @function attemptSetAdUi
|
|
66
|
-
* @description Attempts to set the ad ui. If it fails, it will try again 10 times.
|
|
67
|
-
* This is because if we set the ad ui after the adBreakStarted event, the ui will not function properly.
|
|
68
|
-
* We have to check if the UI is set because if the user has an adblocker, the scheduled ad will not resolve
|
|
69
|
-
* causing the UI to be set on regular content otherwise.
|
|
70
|
-
* @returns {void}
|
|
71
|
-
*/
|
|
72
|
-
function attemptSetAdUi(attemptsLeft = 10) {
|
|
73
|
-
if (attemptsLeft <= 0)
|
|
74
|
-
return;
|
|
75
|
-
const isUiSet = setAdUi();
|
|
76
|
-
if (!isUiSet) {
|
|
77
|
-
setTimeout(() => {
|
|
78
|
-
attemptSetAdUi(attemptsLeft - 1);
|
|
79
|
-
}, 200);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
/*
|
|
83
|
-
* @function handleAdBreakStarted
|
|
84
|
-
* @description sets adBreakActive to true, in the case that the ad UI was not set, set it.
|
|
85
|
-
* @returns {void}
|
|
86
|
-
*/
|
|
87
|
-
function handleAdBreakStarted() {
|
|
88
|
-
let activeAdBreak = playerapi.ads.getActiveAdBreak();
|
|
89
|
-
if (!activeAdBreak || !activeAdBreak.ads) {
|
|
90
|
-
console.error('No active ad break data found');
|
|
91
|
-
return;
|
|
92
|
-
}
|
|
93
|
-
if (!adUiSet)
|
|
94
|
-
setAdUi();
|
|
95
|
-
npoplayer.adBreakActive = true;
|
|
96
|
-
}
|
|
97
|
-
playerapi.on(PlayerEvent.AdBreakStarted, handleAdBreakStarted);
|
|
98
|
-
/*
|
|
99
|
-
* @function handleAdFinished
|
|
100
|
-
* @description When the ad finishes, check if there are more ads in the adBreak.
|
|
101
|
-
* If so, set the click listener for the ad button and set the label text.
|
|
102
|
-
* If not, handle the adBreakFinished event.
|
|
103
|
-
* @returns {void}
|
|
104
|
-
*/
|
|
105
|
-
function handleAdFinished() {
|
|
106
|
-
let activeAdBreak = playerapi.ads.getActiveAdBreak();
|
|
107
|
-
if (!activeAdBreak || !activeAdBreak.ads) {
|
|
108
|
-
console.error('No active ad break data found');
|
|
109
|
-
return;
|
|
110
|
-
}
|
|
111
|
-
if (adIndex >= totalAds) {
|
|
112
|
-
handleAdBreakFinished();
|
|
113
|
-
return;
|
|
114
|
-
}
|
|
115
|
-
let nextAd = activeAdBreak.ads[adIndex];
|
|
116
|
-
adIndex++;
|
|
117
|
-
if (currentClickListener) {
|
|
118
|
-
npoplayer.uiComponents.adbutton?.onClick.unsubscribe(currentClickListener);
|
|
119
|
-
}
|
|
120
|
-
currentClickListener = () => {
|
|
121
|
-
window.open(nextAd.clickThroughUrl, '_blank');
|
|
122
|
-
playerapi.pause();
|
|
123
|
-
};
|
|
124
|
-
npoplayer.uiComponents.adbutton?.onClick.subscribe(currentClickListener);
|
|
125
|
-
npoplayer.uiComponents.adlabel?.setText(`Advertentie ${adIndex} van ${activeAdBreak.ads.length}`);
|
|
126
|
-
}
|
|
127
|
-
playerapi.on(PlayerEvent.AdFinished, handleAdFinished);
|
|
128
|
-
/*
|
|
129
|
-
* @function handleAdBreakFinished
|
|
130
|
-
* @description When the adBreak finishes, hide the ad button and label.
|
|
131
|
-
* Also release the ad uiManager, create a new default uiManager and remove the eventlisteners.
|
|
132
|
-
* @returns {void}
|
|
133
|
-
*/
|
|
134
|
-
function handleAdBreakFinished() {
|
|
135
|
-
npoplayer.adBreakActive = false;
|
|
136
|
-
npoplayer.uiComponents.adbutton?.hide();
|
|
137
|
-
npoplayer.uiComponents.adlabel?.hide();
|
|
138
|
-
npoplayer.uiManager?.release();
|
|
139
|
-
npoplayer.createUIManager(playerapi, 'default');
|
|
140
|
-
adUiSet = false;
|
|
141
|
-
removeListeners();
|
|
142
|
-
}
|
|
143
|
-
playerapi.on(PlayerEvent.AdBreakFinished, handleAdBreakFinished);
|
|
144
|
-
/*
|
|
145
|
-
* @function removeListeners
|
|
146
|
-
* @description Removes the eventlisteners set in this file.
|
|
147
|
-
* @returns {void}
|
|
148
|
-
*/
|
|
149
|
-
function removeListeners() {
|
|
150
|
-
playerapi.off(PlayerEvent.SourceLoaded, handleSourceLoaded);
|
|
151
|
-
playerapi.off(PlayerEvent.Play, handlePlay);
|
|
152
|
-
playerapi.off(PlayerEvent.AdBreakStarted, handleAdBreakStarted);
|
|
153
|
-
playerapi.off(PlayerEvent.AdFinished, handleAdFinished);
|
|
154
|
-
playerapi.off(PlayerEvent.AdBreakFinished, handleAdBreakFinished);
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
//# sourceMappingURL=ster.js.map
|
package/lib/js/ads/ster.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ster.js","sourceRoot":"","sources":["../../../../src/js/ads/ster.ts"],"names":[],"mappings":"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"}
|
package/lib/js/ads/ster.test.js
DELETED
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import { handlePreRolls } from './ster';
|
|
2
|
-
import { PlayerEvent } from "bitmovin-player";
|
|
3
|
-
jest.mock("bitmovin-player");
|
|
4
|
-
jest.mock("../../npoplayer");
|
|
5
|
-
describe("handlePreRolls", () => {
|
|
6
|
-
let mockPlayerAPI;
|
|
7
|
-
let mockNpoPlayer;
|
|
8
|
-
beforeEach(() => {
|
|
9
|
-
mockPlayerAPI = {
|
|
10
|
-
ads: {
|
|
11
|
-
schedule: jest.fn().mockResolvedValue(undefined),
|
|
12
|
-
getActiveAdBreak: jest.fn(),
|
|
13
|
-
},
|
|
14
|
-
on: jest.fn(),
|
|
15
|
-
off: jest.fn(),
|
|
16
|
-
};
|
|
17
|
-
mockNpoPlayer = {
|
|
18
|
-
uiManager: {
|
|
19
|
-
release: jest.fn(),
|
|
20
|
-
},
|
|
21
|
-
createUIManager: jest.fn(),
|
|
22
|
-
uiComponents: {
|
|
23
|
-
adbutton: {
|
|
24
|
-
show: jest.fn(),
|
|
25
|
-
hide: jest.fn(),
|
|
26
|
-
onClick: {
|
|
27
|
-
subscribe: jest.fn(),
|
|
28
|
-
unsubscribe: jest.fn(),
|
|
29
|
-
},
|
|
30
|
-
},
|
|
31
|
-
adlabel: {
|
|
32
|
-
setText: jest.fn(),
|
|
33
|
-
hide: jest.fn(),
|
|
34
|
-
},
|
|
35
|
-
},
|
|
36
|
-
adBreakActive: false,
|
|
37
|
-
};
|
|
38
|
-
});
|
|
39
|
-
it("should not schedule ads when hasPreroll is false", async () => {
|
|
40
|
-
const streamObject = {
|
|
41
|
-
metadata: {
|
|
42
|
-
hasPreroll: "false"
|
|
43
|
-
},
|
|
44
|
-
assets: {
|
|
45
|
-
preroll: "sample_url"
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
await handlePreRolls(mockPlayerAPI, streamObject, mockNpoPlayer);
|
|
49
|
-
expect(mockPlayerAPI.ads.schedule).not.toHaveBeenCalled();
|
|
50
|
-
});
|
|
51
|
-
it("should schedule ads on SourceLoaded when hasPreroll is true", async () => {
|
|
52
|
-
const streamObject = {
|
|
53
|
-
metadata: {
|
|
54
|
-
hasPreroll: "true"
|
|
55
|
-
},
|
|
56
|
-
assets: {
|
|
57
|
-
preroll: "sample_url"
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
|
-
await handlePreRolls(mockPlayerAPI, streamObject, mockNpoPlayer);
|
|
61
|
-
mockPlayerAPI.on.mock.calls.forEach(call => {
|
|
62
|
-
if (call[0] === PlayerEvent.SourceLoaded) {
|
|
63
|
-
const sourceLoadedCallback = call[1];
|
|
64
|
-
const mockEvent = {};
|
|
65
|
-
sourceLoadedCallback(mockEvent);
|
|
66
|
-
}
|
|
67
|
-
});
|
|
68
|
-
expect(mockPlayerAPI.ads.schedule).toHaveBeenCalledWith({
|
|
69
|
-
tag: {
|
|
70
|
-
url: "sample_url",
|
|
71
|
-
type: "vast" // based on the AdTagType enum
|
|
72
|
-
},
|
|
73
|
-
id: 'Ad',
|
|
74
|
-
position: 'pre',
|
|
75
|
-
});
|
|
76
|
-
});
|
|
77
|
-
it("should not schedule ads if preroll URL is missing", async () => {
|
|
78
|
-
const streamObject = {
|
|
79
|
-
metadata: {
|
|
80
|
-
hasPreroll: "true"
|
|
81
|
-
},
|
|
82
|
-
assets: {}
|
|
83
|
-
};
|
|
84
|
-
await handlePreRolls(mockPlayerAPI, streamObject, mockNpoPlayer);
|
|
85
|
-
expect(mockPlayerAPI.ads.schedule).not.toHaveBeenCalled();
|
|
86
|
-
});
|
|
87
|
-
afterEach(() => {
|
|
88
|
-
jest.clearAllMocks();
|
|
89
|
-
});
|
|
90
|
-
});
|
|
91
|
-
//# sourceMappingURL=ster.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ster.test.js","sourceRoot":"","sources":["../../../../src/js/ads/ster.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { noTrailingSlash } from '../utilities/utilities';
|
|
2
|
-
export async function getStreamObject(npoplayer, payload) {
|
|
3
|
-
const response = await fetch(noTrailingSlash(payload.baseURL) + '/stream-link', {
|
|
4
|
-
method: 'post',
|
|
5
|
-
headers: {
|
|
6
|
-
Accept: '*/*',
|
|
7
|
-
Authorization: payload.jwt,
|
|
8
|
-
'Content-Type': 'application/json'
|
|
9
|
-
},
|
|
10
|
-
body: JSON.stringify(payload.data)
|
|
11
|
-
});
|
|
12
|
-
const streamApiResponse = await response.json();
|
|
13
|
-
if (!response.ok) {
|
|
14
|
-
npoplayer.doError(`Het is niet gelukt de stream op te halen: \n ${streamApiResponse.body}`, streamApiResponse.status);
|
|
15
|
-
}
|
|
16
|
-
return streamApiResponse;
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=getstreamobject.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getstreamobject.js","sourceRoot":"","sources":["../../../../src/js/api/getstreamobject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAIxD,MAAM,CAAC,KAAK,UAAU,eAAe,CAAE,SAAoB,EAAE,OAAmB;IAC5E,MAAM,QAAQ,GAAG,MAAM,KAAK,CACxB,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,cAAc,EACjD;QACI,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACL,MAAM,EAAE,KAAK;YACb,aAAa,EAAE,OAAO,CAAC,GAAG;YAC1B,cAAc,EAAE,kBAAkB;SACrC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;KACrC,CACJ,CAAA;IAED,MAAM,iBAAiB,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;IAE/C,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;QACd,SAAS,CAAC,OAAO,CAAC,gDAAgD,iBAAiB,CAAC,IAAI,EAAE,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAA;KACxH;IAED,OAAO,iBAAiB,CAAA;AAC5B,CAAC"}
|
package/lib/js/cdnproviders.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export const npoCdnProviders = new Map();
|
|
2
|
-
npoCdnProviders.set('nep.global.ssl.fastly.net', 'NEP');
|
|
3
|
-
npoCdnProviders.set('cdn.streamgate.nl', 'NEP');
|
|
4
|
-
npoCdnProviders.set('npo-fsly.cdn.streamgate.io', 'FASTLY');
|
|
5
|
-
npoCdnProviders.set('cdn.eurovisioncdn.net', 'EUROVISION');
|
|
6
|
-
npoCdnProviders.set('npo.prd.cdn.bcms.kpn.com', 'KPN');
|
|
7
|
-
npoCdnProviders.set('cdn.bcms.kpn.com', 'KPN');
|
|
8
|
-
npoCdnProviders.set('Akamai', 'AKEMAI');
|
|
9
|
-
npoCdnProviders.set('icecast.omroep.nl', 'NPO');
|
|
10
|
-
npoCdnProviders.set('content.omroep.nl', 'NPO');
|
|
11
|
-
npoCdnProviders.set('podcast.npo.nl', 'NPO');
|
|
12
|
-
npoCdnProviders.set('video.omroep.nl', 'NPO');
|
|
13
|
-
//# sourceMappingURL=cdnproviders.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cdnproviders.js","sourceRoot":"","sources":["../../../src/js/cdnproviders.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,GAAG,EAAE,CAAA;AACxC,eAAe,CAAC,GAAG,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAA;AACvD,eAAe,CAAC,GAAG,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAA;AAC/C,eAAe,CAAC,GAAG,CAAC,4BAA4B,EAAE,QAAQ,CAAC,CAAA;AAC3D,eAAe,CAAC,GAAG,CAAC,uBAAuB,EAAE,YAAY,CAAC,CAAA;AAC1D,eAAe,CAAC,GAAG,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAA;AACtD,eAAe,CAAC,GAAG,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAA;AAC9C,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;AACvC,eAAe,CAAC,GAAG,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAA;AAC/C,eAAe,CAAC,GAAG,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAA;AAC/C,eAAe,CAAC,GAAG,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAA;AAC5C,eAAe,CAAC,GAAG,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAA"}
|
package/lib/js/checks/safari.js
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export function isSafari(isFairPlayDrmSupported) {
|
|
2
|
-
const isSafariUserAgent = navigator.userAgent.includes('Safari') &&
|
|
3
|
-
!navigator.userAgent.includes('Chrome') &&
|
|
4
|
-
!navigator.userAgent.includes('IEMobile') &&
|
|
5
|
-
!navigator.userAgent.includes('Edge') &&
|
|
6
|
-
!navigator.userAgent.includes('Chromium') &&
|
|
7
|
-
!navigator.userAgent.includes('Android');
|
|
8
|
-
return isSafariUserAgent || isFairPlayDrmSupported;
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=safari.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"safari.js","sourceRoot":"","sources":["../../../../src/js/checks/safari.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,QAAQ,CAAE,sBAA+B;IACrD,MAAM,iBAAiB,GACf,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACtC,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACvC,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC;QACzC,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;QACrC,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC;QACzC,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;IAEhD,OAAO,iBAAiB,IAAI,sBAAsB,CAAA;AACtD,CAAC"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { isSafari } from "./safari";
|
|
2
|
-
describe("Test Safari check", () => {
|
|
3
|
-
it("should return true for Safari", () => {
|
|
4
|
-
jest.spyOn(global.navigator, "userAgent", "get").mockReturnValue("Safari");
|
|
5
|
-
const isFairPlayDrmSupported = false;
|
|
6
|
-
expect(isSafari(isFairPlayDrmSupported)).toBeTruthy();
|
|
7
|
-
});
|
|
8
|
-
it("should return true for isFairPlayDrmSupported", () => {
|
|
9
|
-
jest.spyOn(global.navigator, "userAgent", "get").mockReturnValue("Chrome");
|
|
10
|
-
const isFairPlayDrmSupported = true;
|
|
11
|
-
expect(isSafari(isFairPlayDrmSupported)).toBeTruthy();
|
|
12
|
-
});
|
|
13
|
-
it("should return false for any non-Safari userAgents", () => {
|
|
14
|
-
jest
|
|
15
|
-
.spyOn(global.navigator, "userAgent", "get")
|
|
16
|
-
.mockReturnValue("Safari Chrome IEMobile Edge Chromium Android");
|
|
17
|
-
const isFairPlayDrmSupported = false;
|
|
18
|
-
expect(isSafari(isFairPlayDrmSupported)).toBeFalsy();
|
|
19
|
-
});
|
|
20
|
-
});
|
|
21
|
-
//# sourceMappingURL=safari.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"safari.test.js","sourceRoot":"","sources":["../../../../src/js/checks/safari.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACrC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAE3E,MAAM,sBAAsB,GAAG,KAAK,CAAC;QAErC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACrD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAE3E,MAAM,sBAAsB,GAAG,IAAI,CAAC;QAEpC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QACzD,IAAI;aACC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC;aAC3C,eAAe,CAAC,8CAA8C,CAAC,CAAC;QAErE,MAAM,sBAAsB,GAAG,KAAK,CAAC;QAErC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IACzD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
package/lib/js/drm/verifydrm.js
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* This file contains the DRM verification logic.
|
|
3
|
-
* It checks if the DRM token is expired and if so, it will request a new token.
|
|
4
|
-
* If there is no DRM token present, the function will skip the verification flow entirely.
|
|
5
|
-
* If the token is still valid, it will load the stream as normal.
|
|
6
|
-
* @function verifyDRM
|
|
7
|
-
* @param {NpoPlayer} npoplayer - The NpoPlayer instance
|
|
8
|
-
* @param {PlayerAPI} player - The Bitmovin player instance
|
|
9
|
-
* @param {ApiPayload} payload - The payload object
|
|
10
|
-
* @returns {void}
|
|
11
|
-
*/
|
|
12
|
-
import { jwtToBase64, base64ToObject } from '../utilities/utilities';
|
|
13
|
-
import { getStreamObject } from '../api/getstreamobject';
|
|
14
|
-
export async function verifyDRM(npoplayer, player, payload) {
|
|
15
|
-
if (npoplayer.streamObject.stream.drmToken != null) {
|
|
16
|
-
const drmBase64 = jwtToBase64(npoplayer.streamObject.stream.drmToken);
|
|
17
|
-
const drmJsonTimestamp = base64ToObject(drmBase64).iat;
|
|
18
|
-
const currentTime = (Date.now() / 1000) | 0;
|
|
19
|
-
if (drmJsonTimestamp >= currentTime) {
|
|
20
|
-
void player?.load(npoplayer.sourceConfig);
|
|
21
|
-
}
|
|
22
|
-
else {
|
|
23
|
-
// Token is expired, entering fallback flow
|
|
24
|
-
console.error('Er ging iets mis. Item wordt herladen.');
|
|
25
|
-
const backupStreamObject = await getStreamObject(npoplayer, payload);
|
|
26
|
-
const newDrmToken = backupStreamObject.stream.drmToken;
|
|
27
|
-
// Cloning the streamObject and parsing it so we can manipulate the JSON
|
|
28
|
-
const clonedStreamObject = JSON.parse(JSON.stringify(npoplayer.streamObject));
|
|
29
|
-
clonedStreamObject.stream.drmToken = newDrmToken;
|
|
30
|
-
npoplayer.streamObject = clonedStreamObject;
|
|
31
|
-
void player?.load(npoplayer.sourceConfig);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
void player?.load(npoplayer.sourceConfig);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
//# sourceMappingURL=verifydrm.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"verifydrm.js","sourceRoot":"","sources":["../../../../src/js/drm/verifydrm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;EAUE;AACF,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAKxD,MAAM,CAAC,KAAK,UAAU,SAAS,CAAE,SAAoB,EAAE,MAAiB,EAAE,OAAmB;IACzF,IAAI,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,EAAE;QAChD,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACrE,MAAM,gBAAgB,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC,GAAG,CAAA;QACtD,MAAM,WAAW,GAAW,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAA;QAEnD,IAAI,gBAAgB,IAAI,WAAW,EAAE;YACjC,KAAK,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;SAC5C;aAAM;YACH,2CAA2C;YAC3C,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAA;YAEvD,MAAM,kBAAkB,GAAG,MAAM,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;YACpE,MAAM,WAAW,GAAG,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAA;YAEtD,wEAAwE;YACxE,MAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,CACjC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,YAAY,CAAC,CACzC,CAAA;YACD,kBAAkB,CAAC,MAAM,CAAC,QAAQ,GAAG,WAAW,CAAA;YAEhD,SAAS,CAAC,YAAY,GAAG,kBAAkB,CAAA;YAC3C,KAAK,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;SAC5C;KACJ;SAAM;QACH,KAAK,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;KAC5C;AACL,CAAC"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { verifyDRM } from "./verifydrm";
|
|
2
|
-
const load = jest.fn();
|
|
3
|
-
const npoplayer = {
|
|
4
|
-
streamObject: { stream: { drmToken: undefined } },
|
|
5
|
-
};
|
|
6
|
-
const player = { load };
|
|
7
|
-
const payload = {
|
|
8
|
-
baseURL: "url",
|
|
9
|
-
jwt: "jwt",
|
|
10
|
-
data: { data: "data" },
|
|
11
|
-
};
|
|
12
|
-
describe("Test DRM verification", () => {
|
|
13
|
-
it("should call player.load when the drmToken is null", async () => {
|
|
14
|
-
await verifyDRM(npoplayer, player, payload);
|
|
15
|
-
expect(load).toBeCalled();
|
|
16
|
-
});
|
|
17
|
-
});
|
|
18
|
-
//# sourceMappingURL=verifydrm.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"verifydrm.test.js","sourceRoot":"","sources":["../../../../src/js/drm/verifydrm.test.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AAEvB,MAAM,SAAS,GAAG;IACd,YAAY,EAAE,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE;CACvC,CAAC;AAEf,MAAM,MAAM,GAAG,EAAE,IAAI,EAA0B,CAAC;AAEhD,MAAM,OAAO,GAAe;IACxB,OAAO,EAAE,KAAK;IACd,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;CACzB,CAAC;AAEF,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAE5C,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { PlayerEvent } from 'bitmovin-player';
|
|
2
|
-
export async function setFragments(player, uiManager, fragments) {
|
|
3
|
-
const fragment = fragments.sections[0];
|
|
4
|
-
const playFragmentFromStart = () => {
|
|
5
|
-
player?.seek(fragment.start);
|
|
6
|
-
if (player?.isPaused())
|
|
7
|
-
void player?.play();
|
|
8
|
-
};
|
|
9
|
-
const addMarkers = () => {
|
|
10
|
-
const timelineMarkers = [
|
|
11
|
-
{
|
|
12
|
-
time: 0,
|
|
13
|
-
duration: fragment.start,
|
|
14
|
-
title: 'Niet beschikbaar',
|
|
15
|
-
cssClasses: ['seekbar-marker-unplayable']
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
time: fragment.start,
|
|
19
|
-
duration: fragment.end - fragment.start,
|
|
20
|
-
title: fragment.title,
|
|
21
|
-
cssClasses: ['seekbar-marker-interval']
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
time: fragment.end,
|
|
25
|
-
duration: 10000000,
|
|
26
|
-
title: 'Niet beschikbaar',
|
|
27
|
-
cssClasses: ['seekbar-marker-unplayable']
|
|
28
|
-
},
|
|
29
|
-
];
|
|
30
|
-
timelineMarkers.forEach(function (marker) {
|
|
31
|
-
uiManager?.addTimelineMarker(marker);
|
|
32
|
-
});
|
|
33
|
-
playFragmentFromStart();
|
|
34
|
-
};
|
|
35
|
-
const removeMarkers = () => {
|
|
36
|
-
uiManager?.getTimelineMarkers().forEach(marker => {
|
|
37
|
-
uiManager?.removeTimelineMarker(marker);
|
|
38
|
-
});
|
|
39
|
-
};
|
|
40
|
-
const checkFunction = (e) => {
|
|
41
|
-
if (fragment == null)
|
|
42
|
-
return;
|
|
43
|
-
if (e.time > fragment.end) {
|
|
44
|
-
player?.seek(Math.max(fragment.start, fragment.end));
|
|
45
|
-
player?.pause();
|
|
46
|
-
}
|
|
47
|
-
else if (e.time < fragment.start) {
|
|
48
|
-
player?.seek(fragment.start);
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
const seekFunction = (e) => {
|
|
52
|
-
if (fragment == null)
|
|
53
|
-
return;
|
|
54
|
-
// web ui and js bridge have different types
|
|
55
|
-
const seekTarget = e.seekTarget ? e.seekTarget : e.to.time;
|
|
56
|
-
if (seekTarget > fragment.end || seekTarget < fragment.start) {
|
|
57
|
-
player?.seek(Math.max(fragment.start, Math.min(fragment.end, seekTarget)));
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
|
-
player?.off(PlayerEvent.TimeChanged, checkFunction);
|
|
61
|
-
player?.off(PlayerEvent.Seek, seekFunction);
|
|
62
|
-
player?.on(PlayerEvent.TimeChanged, checkFunction);
|
|
63
|
-
player?.on(PlayerEvent.Seek, seekFunction);
|
|
64
|
-
removeMarkers();
|
|
65
|
-
addMarkers();
|
|
66
|
-
}
|
|
67
|
-
//# sourceMappingURL=setfragments.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"setfragments.js","sourceRoot":"","sources":["../../../../src/js/fragments/setfragments.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { customSpecificErrorMessageOverlayConfig } from "./handlers/customerrors";
|
|
2
|
-
describe("Test custom error messages", () => {
|
|
3
|
-
it("should return a 1000 error message", () => {
|
|
4
|
-
expect(customSpecificErrorMessageOverlayConfig[1000]).toBe("Oeps, er gaat iets mis");
|
|
5
|
-
});
|
|
6
|
-
it("should return a 1001 error message", () => {
|
|
7
|
-
expect(customSpecificErrorMessageOverlayConfig[1001]).toBe("Oeps, er gaat iets mis");
|
|
8
|
-
});
|
|
9
|
-
it("should return a 1101 error message", () => {
|
|
10
|
-
expect(customSpecificErrorMessageOverlayConfig[1101]).toBe("De player is niet aangemaakt");
|
|
11
|
-
});
|
|
12
|
-
it("should return a 1102 error message", () => {
|
|
13
|
-
expect(customSpecificErrorMessageOverlayConfig[1102]).toBe("Er ging iets mis met de configuratie");
|
|
14
|
-
});
|
|
15
|
-
it("should return a 1103 error message", () => {
|
|
16
|
-
expect(customSpecificErrorMessageOverlayConfig[1103]).toBe("Er is iets mis met de licentie (access key)");
|
|
17
|
-
});
|
|
18
|
-
it("should return a 1104 error message", () => {
|
|
19
|
-
expect(customSpecificErrorMessageOverlayConfig[1104]).toBe("De video kan niet worden afgespeeld op dit domein");
|
|
20
|
-
});
|
|
21
|
-
it("should return a 1105 error message", () => {
|
|
22
|
-
expect(customSpecificErrorMessageOverlayConfig[1105]).toBe("De video kan niet op dit web-adres worden afgespeeld");
|
|
23
|
-
});
|
|
24
|
-
it("should return a 1113 error message", () => {
|
|
25
|
-
expect(customSpecificErrorMessageOverlayConfig[1113]).toBe("De video kan niet worden afgespeeld zonder web server");
|
|
26
|
-
});
|
|
27
|
-
it("should return a 1201 error message", () => {
|
|
28
|
-
expect(customSpecificErrorMessageOverlayConfig[1201]).toBe("Er is iets mis met de source configuratie");
|
|
29
|
-
});
|
|
30
|
-
it("should return a 1202 error message", () => {
|
|
31
|
-
expect(customSpecificErrorMessageOverlayConfig[1202]({ code: 1202 })).toBe("The downloaded manifest is invalid");
|
|
32
|
-
});
|
|
33
|
-
it("should return a 1203 error message", () => {
|
|
34
|
-
expect(customSpecificErrorMessageOverlayConfig[1203]).toBe("Helaas, deze video is niet beschikbaar.");
|
|
35
|
-
});
|
|
36
|
-
it("should return a 1208 error message", () => {
|
|
37
|
-
const errorMessage = customSpecificErrorMessageOverlayConfig[1208]({
|
|
38
|
-
data: { statusCode: 1 },
|
|
39
|
-
});
|
|
40
|
-
expect(errorMessage).toBe("Manifest laden mislukt met HTTP fout 1");
|
|
41
|
-
});
|
|
42
|
-
it("should return a 1400 error message", () => {
|
|
43
|
-
expect(customSpecificErrorMessageOverlayConfig[1400]).toBe("Er is iets mis met uw internet-verbinding");
|
|
44
|
-
});
|
|
45
|
-
it("should return a 2003 error message", () => {
|
|
46
|
-
expect(customSpecificErrorMessageOverlayConfig[2003]).toBe("Oeps, er is iets mis met het opvragen van de DRM");
|
|
47
|
-
});
|
|
48
|
-
it("should return a 2006 error message", () => {
|
|
49
|
-
expect(customSpecificErrorMessageOverlayConfig[2006]).toBe("Oeps, er is iets mis met de DRM");
|
|
50
|
-
});
|
|
51
|
-
});
|
|
52
|
-
//# sourceMappingURL=customerrors.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"customerrors.test.js","sourceRoot":"","sources":["../../../../src/js/playeractions/customerrors.test.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,uCAAuC,EAAE,MAAM,yBAAyB,CAAC;AAElF,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IACxC,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC1C,MAAM,CAAC,uCAAuC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CACtD,wBAAwB,CAC3B,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC1C,MAAM,CAAC,uCAAuC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CACtD,wBAAwB,CAC3B,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC1C,MAAM,CAAC,uCAAuC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CACtD,8BAA8B,CACjC,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC1C,MAAM,CAAC,uCAAuC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CACtD,sCAAsC,CACzC,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC1C,MAAM,CAAC,uCAAuC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CACtD,6CAA6C,CAChD,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC1C,MAAM,CAAC,uCAAuC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CACtD,mDAAmD,CACtD,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC1C,MAAM,CAAC,uCAAuC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CACtD,sDAAsD,CACzD,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC1C,MAAM,CAAC,uCAAuC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CACtD,uDAAuD,CAC1D,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC1C,MAAM,CAAC,uCAAuC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CACtD,2CAA2C,CAC9C,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC1C,MAAM,CAAC,uCAAuC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CACtE,oCAAoC,CACvC,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC1C,MAAM,CAAC,uCAAuC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CACtD,yCAAyC,CAC5C,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC1C,MAAM,YAAY,GAAG,uCAAuC,CAAC,IAAI,CAAC,CAAC;YAC/D,IAAI,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE;SAC1B,CAAC,CAAC;QAEH,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC1C,MAAM,CAAC,uCAAuC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CACtD,2CAA2C,CAC9C,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC1C,MAAM,CAAC,uCAAuC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CACtD,kDAAkD,CACrD,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC1C,MAAM,CAAC,uCAAuC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CACtD,iCAAiC,CACpC,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|