eb-player 2.4.0 → 2.4.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/build/eb-player.css +8 -2
- package/dist/build/ebplayer.bundle.js +24 -12
- package/dist/build/ebplayer.bundle.js.map +1 -1
- package/dist/build/types/src/engines/hls.d.ts +13 -1
- package/dist/build/types/src/engines/hls.d.ts.map +1 -1
- package/dist/build/types/src/skin/skin-root.d.ts +7 -1
- package/dist/build/types/src/skin/skin-root.d.ts.map +1 -1
- package/dist/eb-player.css +8 -2
- package/package.json +1 -1
package/dist/build/eb-player.css
CHANGED
|
@@ -3342,12 +3342,18 @@
|
|
|
3342
3342
|
here — it cancels the native mirroring. Only elements positioned with a
|
|
3343
3343
|
physical inline style (chapter markers use right: N% under RTL) need an
|
|
3344
3344
|
explicit override.
|
|
3345
|
+
|
|
3346
|
+
Both overrides below MUST stay anchored to .eb-player[dir="rtl"]. As bare
|
|
3347
|
+
[dir="rtl"] descendant selectors they also matched through an ancestor —
|
|
3348
|
+
inside an RTL document (<html dir="rtl">) they fired even when the player
|
|
3349
|
+
itself was LTR, mirroring the markers and volume thumb while Seekbar and
|
|
3350
|
+
VolumeControl used their LTR pointer maths. Never widen these back.
|
|
3345
3351
|
============================================================ */
|
|
3346
|
-
[dir="rtl"] .eb-chapter-marker {
|
|
3352
|
+
.eb-player[dir="rtl"] .eb-chapter-marker {
|
|
3347
3353
|
--eb-chapter-marker-x: 50%;
|
|
3348
3354
|
}
|
|
3349
3355
|
|
|
3350
|
-
[dir="rtl"] .eb-volume-thumb {
|
|
3356
|
+
.eb-player[dir="rtl"] .eb-volume-thumb {
|
|
3351
3357
|
--eb-volume-thumb-x: 50%;
|
|
3352
3358
|
}
|
|
3353
3359
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.EBPlayer = {}));
|
|
5
5
|
})(this, (function (exports) { 'use strict';
|
|
6
6
|
|
|
7
|
-
var __EB_PLAYER_VERSION__ = "2.4.
|
|
7
|
+
var __EB_PLAYER_VERSION__ = "2.4.2";
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Finite State Machine for player playback state transitions.
|
|
@@ -3122,7 +3122,7 @@
|
|
|
3122
3122
|
return b `
|
|
3123
3123
|
<div
|
|
3124
3124
|
class="eb-player${isIOS ? ' eb-ios-native' : ''}"
|
|
3125
|
-
dir="${isRtl ? 'rtl' : ''}"
|
|
3125
|
+
dir="${isRtl ? 'rtl' : 'ltr'}"
|
|
3126
3126
|
>
|
|
3127
3127
|
<video
|
|
3128
3128
|
class="eb-video"
|
|
@@ -3434,20 +3434,20 @@
|
|
|
3434
3434
|
inner.classList.toggle('eb-ad-playing', this.state.adPlaying);
|
|
3435
3435
|
}
|
|
3436
3436
|
/**
|
|
3437
|
-
*
|
|
3437
|
+
* Writes a concrete dir attribute without full re-render.
|
|
3438
3438
|
* More efficient than re-rendering the entire template for a simple attribute change.
|
|
3439
|
+
*
|
|
3440
|
+
* Always asserts a direction — never removes the attribute. `dir` is an enumerated
|
|
3441
|
+
* attribute: absent and `""` both mean "inherit from the ancestor", so removing it
|
|
3442
|
+
* inside an RTL document (`<html dir="rtl">`) left the player mirrored by inheritance
|
|
3443
|
+
* while Seekbar/VolumeControl had already switched to their LTR pointer maths. The
|
|
3444
|
+
* player element is the authoritative direction root in BOTH states.
|
|
3439
3445
|
*/
|
|
3440
3446
|
applyRtl() {
|
|
3441
3447
|
const inner = this.el?.firstElementChild;
|
|
3442
3448
|
if (inner == null)
|
|
3443
3449
|
return;
|
|
3444
|
-
|
|
3445
|
-
if (isRtl) {
|
|
3446
|
-
inner.setAttribute('dir', 'rtl');
|
|
3447
|
-
}
|
|
3448
|
-
else {
|
|
3449
|
-
inner.removeAttribute('dir');
|
|
3450
|
-
}
|
|
3450
|
+
inner.setAttribute('dir', this.state.isRtl ? 'rtl' : 'ltr');
|
|
3451
3451
|
}
|
|
3452
3452
|
invokeExtensions() {
|
|
3453
3453
|
const config = this.config;
|
|
@@ -6651,7 +6651,7 @@
|
|
|
6651
6651
|
return;
|
|
6652
6652
|
this.eventState = state;
|
|
6653
6653
|
const { Events } = Hls;
|
|
6654
|
-
driver.on(Events.
|
|
6654
|
+
driver.on(Events.MANIFEST_PARSED, this._onManifestParsed.bind(this));
|
|
6655
6655
|
driver.on(Events.LEVEL_LOADED, this._onLevelLoaded.bind(this));
|
|
6656
6656
|
driver.on(Events.LEVEL_SWITCHED, this._onLevelSwitched.bind(this));
|
|
6657
6657
|
driver.on(Events.AUDIO_TRACKS_UPDATED, this._onAudioTracksUpdated.bind(this));
|
|
@@ -6696,7 +6696,19 @@
|
|
|
6696
6696
|
}
|
|
6697
6697
|
this.bus?.emit('load-never-started', { src });
|
|
6698
6698
|
}
|
|
6699
|
-
|
|
6699
|
+
/**
|
|
6700
|
+
* Populates the quality menu from MANIFEST_PARSED — never MANIFEST_LOADED.
|
|
6701
|
+
*
|
|
6702
|
+
* MANIFEST_LOADED carries the levels in raw manifest order. hls.js then
|
|
6703
|
+
* builds a separate array (filtering audio-only and redundant variants) and
|
|
6704
|
+
* sorts it lowest-to-highest; that sorted array becomes `hls.levels`, and it
|
|
6705
|
+
* is the index space of `driver.currentLevel` (see setQuality) and of
|
|
6706
|
+
* LEVEL_SWITCHED.level. Labelling from manifest order while selecting in
|
|
6707
|
+
* sorted order silently inverts the menu on any manifest that lists its
|
|
6708
|
+
* variants highest-first. MANIFEST_PARSED carries that same sorted array, so
|
|
6709
|
+
* label and index always agree.
|
|
6710
|
+
*/
|
|
6711
|
+
_onManifestParsed(_event, data) {
|
|
6700
6712
|
const state = this.eventState;
|
|
6701
6713
|
const driver = this.driver;
|
|
6702
6714
|
if (!state)
|