rx-player 3.33.4-dev.2024081600 → 3.33.4-dev.2024090600
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/CHANGELOG.md +3 -1
- package/VERSION +1 -1
- package/dist/_esm5.processed/compat/browser_detection.d.ts +5 -1
- package/dist/_esm5.processed/compat/browser_detection.js +16 -1
- package/dist/_esm5.processed/compat/can_reuse_media_keys.d.ts +6 -0
- package/dist/_esm5.processed/compat/can_reuse_media_keys.js +8 -2
- package/dist/_esm5.processed/core/api/public_api.js +2 -2
- package/dist/rx-player.js +20 -4
- package/dist/rx-player.min.js +1 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## v3.33.4
|
|
3
|
+
## Current dev build: v3.33.4-dev.2024090600
|
|
4
4
|
|
|
5
5
|
### Bug fixes
|
|
6
6
|
|
|
7
7
|
- Compat: Fix autoPlay on Tizen when the content starts on a discontinuity [#1500]
|
|
8
|
+
- DRM/Compat: Re-create MediaKeys for each content on Philips' NETTV and `KSTB40xx`
|
|
9
|
+
set-top boxes [#1519, #1538]
|
|
8
10
|
|
|
9
11
|
### Other improvements
|
|
10
12
|
|
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
3.33.4-dev.
|
|
1
|
+
3.33.4-dev.2024090600
|
|
@@ -37,8 +37,12 @@ declare let isWebOs2021: boolean;
|
|
|
37
37
|
declare let isWebOs2022: boolean;
|
|
38
38
|
/** `true` for Panasonic devices. */
|
|
39
39
|
declare let isPanasonic: boolean;
|
|
40
|
+
/** `true` we're relying on Philips's NetTv browser. */
|
|
41
|
+
declare let isPhilipsNetTv: boolean;
|
|
40
42
|
/** `true` for the PlayStation 5 game console. */
|
|
41
43
|
declare let isPlayStation5: boolean;
|
|
42
44
|
/** `true` for the Xbox game consoles. */
|
|
43
45
|
declare let isXbox: boolean;
|
|
44
|
-
|
|
46
|
+
/** `true` for specific A1 STB: KSTB 40xx from Kaon Media. */
|
|
47
|
+
declare let isA1KStb40xx: boolean;
|
|
48
|
+
export { isEdgeChromium, isFirefox, isIE11, isIEOrEdge, isSafariDesktop, isSafariMobile, isA1KStb40xx, isPanasonic, isPhilipsNetTv, isPlayStation5, isSamsungBrowser, isTizen, isWebOs, isWebOs2021, isWebOs2022, isXbox, };
|
|
@@ -38,10 +38,14 @@ var isWebOs2021 = false;
|
|
|
38
38
|
var isWebOs2022 = false;
|
|
39
39
|
/** `true` for Panasonic devices. */
|
|
40
40
|
var isPanasonic = false;
|
|
41
|
+
/** `true` we're relying on Philips's NetTv browser. */
|
|
42
|
+
var isPhilipsNetTv = false;
|
|
41
43
|
/** `true` for the PlayStation 5 game console. */
|
|
42
44
|
var isPlayStation5 = false;
|
|
43
45
|
/** `true` for the Xbox game consoles. */
|
|
44
46
|
var isXbox = false;
|
|
47
|
+
/** `true` for specific A1 STB: KSTB 40xx from Kaon Media. */
|
|
48
|
+
var isA1KStb40xx = false;
|
|
45
49
|
((function findCurrentBrowser() {
|
|
46
50
|
var _a, _b, _c;
|
|
47
51
|
if (isNode) {
|
|
@@ -113,11 +117,22 @@ var isXbox = false;
|
|
|
113
117
|
isWebOs2021 = true;
|
|
114
118
|
}
|
|
115
119
|
}
|
|
120
|
+
else if (navigator.userAgent.indexOf("NETTV") !== -1 &&
|
|
121
|
+
navigator.userAgent.indexOf("Philips") !== -1) {
|
|
122
|
+
isPhilipsNetTv = true;
|
|
123
|
+
}
|
|
116
124
|
else if (/[Pp]anasonic/.test(navigator.userAgent)) {
|
|
117
125
|
isPanasonic = true;
|
|
118
126
|
}
|
|
119
127
|
else if (navigator.userAgent.indexOf("Xbox") !== -1) {
|
|
120
128
|
isXbox = true;
|
|
121
129
|
}
|
|
130
|
+
else if (navigator.userAgent.indexOf("Model/a1-kstb40xx")) {
|
|
131
|
+
isA1KStb40xx = true;
|
|
132
|
+
}
|
|
122
133
|
})());
|
|
123
|
-
export {
|
|
134
|
+
export {
|
|
135
|
+
// browsers
|
|
136
|
+
isEdgeChromium, isFirefox, isIE11, isIEOrEdge, isSafariDesktop, isSafariMobile,
|
|
137
|
+
// specific devices
|
|
138
|
+
isA1KStb40xx, isPanasonic, isPhilipsNetTv, isPlayStation5, isSamsungBrowser, isTizen, isWebOs, isWebOs2021, isWebOs2022, isXbox, };
|
|
@@ -7,6 +7,12 @@
|
|
|
7
7
|
* - (2022-11-21): WebOS (LG TVs), for some encrypted contents, just
|
|
8
8
|
* rebuffered indefinitely when loading a content already-loaded on the
|
|
9
9
|
* HTMLMediaElement.
|
|
10
|
+
* - (2024-08-23): Seen on Philips 2024 and 2023 in:
|
|
11
|
+
* https://github.com/canalplus/rx-player/issues/1464
|
|
12
|
+
* - (2024-09-04): Another case seen on an "A1" set-top box model made by
|
|
13
|
+
* Kaonmedia we will call the KSTB40xx.
|
|
14
|
+
* It may share the problematic with other devices, but we have only seen
|
|
15
|
+
* the problem on this one for now.
|
|
10
16
|
*
|
|
11
17
|
* @returns {boolean}
|
|
12
18
|
*/
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isPanasonic, isWebOs, } from "./browser_detection";
|
|
1
|
+
import { isA1KStb40xx, isPanasonic, isPhilipsNetTv, isWebOs, } from "./browser_detection";
|
|
2
2
|
/**
|
|
3
3
|
* Returns `true` if a `MediaKeys` instance (the `Encrypted Media Extension`
|
|
4
4
|
* concept) can be reused between contents.
|
|
@@ -8,9 +8,15 @@ import { isPanasonic, isWebOs, } from "./browser_detection";
|
|
|
8
8
|
* - (2022-11-21): WebOS (LG TVs), for some encrypted contents, just
|
|
9
9
|
* rebuffered indefinitely when loading a content already-loaded on the
|
|
10
10
|
* HTMLMediaElement.
|
|
11
|
+
* - (2024-08-23): Seen on Philips 2024 and 2023 in:
|
|
12
|
+
* https://github.com/canalplus/rx-player/issues/1464
|
|
13
|
+
* - (2024-09-04): Another case seen on an "A1" set-top box model made by
|
|
14
|
+
* Kaonmedia we will call the KSTB40xx.
|
|
15
|
+
* It may share the problematic with other devices, but we have only seen
|
|
16
|
+
* the problem on this one for now.
|
|
11
17
|
*
|
|
12
18
|
* @returns {boolean}
|
|
13
19
|
*/
|
|
14
20
|
export default function canReuseMediaKeys() {
|
|
15
|
-
return !isWebOs && !isPanasonic;
|
|
21
|
+
return !isWebOs && !isPhilipsNetTv && !isPanasonic && !isA1KStb40xx;
|
|
16
22
|
}
|
|
@@ -88,7 +88,7 @@ var Player = /** @class */ (function (_super) {
|
|
|
88
88
|
// Workaround to support Firefox autoplay on FF 42.
|
|
89
89
|
// See: https://bugzilla.mozilla.org/show_bug.cgi?id=1194624
|
|
90
90
|
videoElement.preload = "auto";
|
|
91
|
-
_this.version = /* PLAYER_VERSION */ "3.33.4-dev.
|
|
91
|
+
_this.version = /* PLAYER_VERSION */ "3.33.4-dev.2024090600";
|
|
92
92
|
_this.log = log;
|
|
93
93
|
_this.state = "STOPPED";
|
|
94
94
|
_this.videoElement = videoElement;
|
|
@@ -2511,5 +2511,5 @@ var Player = /** @class */ (function (_super) {
|
|
|
2511
2511
|
Player._priv_currentlyUsedVideoElements = new WeakSet();
|
|
2512
2512
|
return Player;
|
|
2513
2513
|
}(EventEmitter));
|
|
2514
|
-
Player.version = /* PLAYER_VERSION */ "3.33.4-dev.
|
|
2514
|
+
Player.version = /* PLAYER_VERSION */ "3.33.4-dev.2024090600";
|
|
2515
2515
|
export default Player;
|
package/dist/rx-player.js
CHANGED
|
@@ -60,6 +60,7 @@ var READY_STATES = {
|
|
|
60
60
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
61
61
|
/* harmony export */ A7: function() { return /* binding */ isPlayStation5; },
|
|
62
62
|
/* harmony export */ Fr: function() { return /* binding */ isSafariDesktop; },
|
|
63
|
+
/* harmony export */ NV: function() { return /* binding */ isPhilipsNetTv; },
|
|
63
64
|
/* harmony export */ P5: function() { return /* binding */ isPanasonic; },
|
|
64
65
|
/* harmony export */ Pb: function() { return /* binding */ isSamsungBrowser; },
|
|
65
66
|
/* harmony export */ ZN: function() { return /* binding */ isTizen; },
|
|
@@ -69,7 +70,8 @@ var READY_STATES = {
|
|
|
69
70
|
/* harmony export */ hF: function() { return /* binding */ isWebOs; },
|
|
70
71
|
/* harmony export */ lw: function() { return /* binding */ isIE11; },
|
|
71
72
|
/* harmony export */ op: function() { return /* binding */ isEdgeChromium; },
|
|
72
|
-
/* harmony export */ qe: function() { return /* binding */ isXbox; }
|
|
73
|
+
/* harmony export */ qe: function() { return /* binding */ isXbox; },
|
|
74
|
+
/* harmony export */ x1: function() { return /* binding */ isA1KStb40xx; }
|
|
73
75
|
/* harmony export */ });
|
|
74
76
|
/* unused harmony exports isWebOs2021, isWebOs2022 */
|
|
75
77
|
/* harmony import */ var _is_node__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2186);
|
|
@@ -113,10 +115,14 @@ var isWebOs2021 = false;
|
|
|
113
115
|
var isWebOs2022 = false;
|
|
114
116
|
/** `true` for Panasonic devices. */
|
|
115
117
|
var isPanasonic = false;
|
|
118
|
+
/** `true` we're relying on Philips's NetTv browser. */
|
|
119
|
+
var isPhilipsNetTv = false;
|
|
116
120
|
/** `true` for the PlayStation 5 game console. */
|
|
117
121
|
var isPlayStation5 = false;
|
|
118
122
|
/** `true` for the Xbox game consoles. */
|
|
119
123
|
var isXbox = false;
|
|
124
|
+
/** `true` for specific A1 STB: KSTB 40xx from Kaon Media. */
|
|
125
|
+
var isA1KStb40xx = false;
|
|
120
126
|
(function findCurrentBrowser() {
|
|
121
127
|
var _a, _b, _c;
|
|
122
128
|
if (_is_node__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A) {
|
|
@@ -168,10 +174,14 @@ var isXbox = false;
|
|
|
168
174
|
} else if (/[Ww]eb[O0]S.TV-2021/.test(navigator.userAgent) || /[Cc]hr[o0]me\/79/.test(navigator.userAgent)) {
|
|
169
175
|
isWebOs2021 = true;
|
|
170
176
|
}
|
|
177
|
+
} else if (navigator.userAgent.indexOf("NETTV") !== -1 && navigator.userAgent.indexOf("Philips") !== -1) {
|
|
178
|
+
isPhilipsNetTv = true;
|
|
171
179
|
} else if (/[Pp]anasonic/.test(navigator.userAgent)) {
|
|
172
180
|
isPanasonic = true;
|
|
173
181
|
} else if (navigator.userAgent.indexOf("Xbox") !== -1) {
|
|
174
182
|
isXbox = true;
|
|
183
|
+
} else if (navigator.userAgent.indexOf("Model/a1-kstb40xx")) {
|
|
184
|
+
isA1KStb40xx = true;
|
|
175
185
|
}
|
|
176
186
|
})();
|
|
177
187
|
|
|
@@ -4935,11 +4945,17 @@ function _createOrLoadSession() {
|
|
|
4935
4945
|
* - (2022-11-21): WebOS (LG TVs), for some encrypted contents, just
|
|
4936
4946
|
* rebuffered indefinitely when loading a content already-loaded on the
|
|
4937
4947
|
* HTMLMediaElement.
|
|
4948
|
+
* - (2024-08-23): Seen on Philips 2024 and 2023 in:
|
|
4949
|
+
* https://github.com/canalplus/rx-player/issues/1464
|
|
4950
|
+
* - (2024-09-04): Another case seen on an "A1" set-top box model made by
|
|
4951
|
+
* Kaonmedia we will call the KSTB40xx.
|
|
4952
|
+
* It may share the problematic with other devices, but we have only seen
|
|
4953
|
+
* the problem on this one for now.
|
|
4938
4954
|
*
|
|
4939
4955
|
* @returns {boolean}
|
|
4940
4956
|
*/
|
|
4941
4957
|
function canReuseMediaKeys() {
|
|
4942
|
-
return !browser_detection/* isWebOs */.hF && !browser_detection/* isPanasonic */.P5;
|
|
4958
|
+
return !browser_detection/* isWebOs */.hF && !browser_detection/* isPhilipsNetTv */.NV && !browser_detection/* isPanasonic */.P5 && !browser_detection/* isA1KStb40xx */.x1;
|
|
4943
4959
|
}
|
|
4944
4960
|
;// CONCATENATED MODULE: ./src/compat/should_renew_media_key_system_access.ts
|
|
4945
4961
|
/**
|
|
@@ -53675,7 +53691,7 @@ var Player = /*#__PURE__*/function (_EventEmitter) {
|
|
|
53675
53691
|
// Workaround to support Firefox autoplay on FF 42.
|
|
53676
53692
|
// See: https://bugzilla.mozilla.org/show_bug.cgi?id=1194624
|
|
53677
53693
|
videoElement.preload = "auto";
|
|
53678
|
-
_this.version = /* PLAYER_VERSION */"3.33.4-dev.
|
|
53694
|
+
_this.version = /* PLAYER_VERSION */"3.33.4-dev.2024090600";
|
|
53679
53695
|
_this.log = src_log/* default */.A;
|
|
53680
53696
|
_this.state = "STOPPED";
|
|
53681
53697
|
_this.videoElement = videoElement;
|
|
@@ -56163,7 +56179,7 @@ var Player = /*#__PURE__*/function (_EventEmitter) {
|
|
|
56163
56179
|
* Use of a WeakSet ensure the object is garbage collected if it's not used anymore.
|
|
56164
56180
|
*/
|
|
56165
56181
|
Player._priv_currentlyUsedVideoElements = new WeakSet();
|
|
56166
|
-
Player.version = /* PLAYER_VERSION */"3.33.4-dev.
|
|
56182
|
+
Player.version = /* PLAYER_VERSION */"3.33.4-dev.2024090600";
|
|
56167
56183
|
/* harmony default export */ var public_api = (Player);
|
|
56168
56184
|
;// CONCATENATED MODULE: ./src/core/api/index.ts
|
|
56169
56185
|
/**
|