rx-player 4.2.0-dev.2024100200 → 4.2.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/.vscode/settings.json +9 -0
- package/CHANGELOG.md +8 -1
- package/VERSION +1 -1
- package/dist/commonjs/__GENERATED_CODE/embedded_dash_wasm.d.ts.map +1 -1
- package/dist/commonjs/__GENERATED_CODE/embedded_dash_wasm.js +1 -1
- package/dist/commonjs/core/segment_sinks/segment_buffers_store.d.ts.map +1 -1
- package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/DRMInfos.d.ts.map +1 -1
- package/dist/commonjs/experimental/tools/mediaCapabilitiesProber/probers/DRMInfos.js +85 -8
- package/dist/commonjs/main_thread/api/debug/modules/general_info.js +1 -1
- package/dist/commonjs/main_thread/api/public_api.js +2 -2
- package/dist/commonjs/main_thread/decrypt/create_or_load_session.d.ts.map +1 -1
- package/dist/commonjs/main_thread/decrypt/create_or_load_session.js +4 -1
- package/dist/commonjs/main_thread/decrypt/find_key_system.d.ts.map +1 -1
- package/dist/commonjs/main_thread/decrypt/find_key_system.js +3 -0
- package/dist/commonjs/main_thread/decrypt/get_media_keys.d.ts.map +1 -1
- package/dist/commonjs/main_thread/decrypt/get_media_keys.js +2 -1
- package/dist/commonjs/main_thread/init/media_source_content_initializer.d.ts +11 -1
- package/dist/commonjs/main_thread/init/media_source_content_initializer.d.ts.map +1 -1
- package/dist/commonjs/main_thread/init/media_source_content_initializer.js +23 -11
- package/dist/commonjs/main_thread/init/multi_thread_content_initializer.d.ts +2 -1
- package/dist/commonjs/main_thread/init/multi_thread_content_initializer.d.ts.map +1 -1
- package/dist/commonjs/main_thread/init/multi_thread_content_initializer.js +9 -5
- package/dist/commonjs/main_thread/init/utils/initial_seek_and_play.d.ts.map +1 -1
- package/dist/commonjs/main_thread/init/utils/initial_seek_and_play.js +3 -7
- package/dist/commonjs/main_thread/text_displayer/native/native_text_displayer.d.ts +1 -0
- package/dist/commonjs/main_thread/text_displayer/native/native_text_displayer.d.ts.map +1 -1
- package/dist/commonjs/main_thread/text_displayer/native/native_text_displayer.js +19 -16
- package/dist/commonjs/public_types.d.ts +54 -2
- package/dist/commonjs/public_types.d.ts.map +1 -1
- package/dist/commonjs/utils/sync_or_async.d.ts.map +1 -1
- package/dist/commonjs/utils/sync_or_async.js +3 -1
- package/dist/es2017/__GENERATED_CODE/embedded_dash_wasm.d.ts.map +1 -1
- package/dist/es2017/__GENERATED_CODE/embedded_dash_wasm.js +1 -1
- package/dist/es2017/core/segment_sinks/segment_buffers_store.d.ts.map +1 -1
- package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/DRMInfos.d.ts.map +1 -1
- package/dist/es2017/experimental/tools/mediaCapabilitiesProber/probers/DRMInfos.js +36 -7
- package/dist/es2017/main_thread/api/debug/modules/general_info.js +1 -1
- package/dist/es2017/main_thread/api/public_api.js +2 -2
- package/dist/es2017/main_thread/decrypt/create_or_load_session.d.ts.map +1 -1
- package/dist/es2017/main_thread/decrypt/create_or_load_session.js +4 -1
- package/dist/es2017/main_thread/decrypt/find_key_system.d.ts.map +1 -1
- package/dist/es2017/main_thread/decrypt/find_key_system.js +3 -0
- package/dist/es2017/main_thread/decrypt/get_media_keys.d.ts.map +1 -1
- package/dist/es2017/main_thread/decrypt/get_media_keys.js +2 -1
- package/dist/es2017/main_thread/init/media_source_content_initializer.d.ts +11 -1
- package/dist/es2017/main_thread/init/media_source_content_initializer.d.ts.map +1 -1
- package/dist/es2017/main_thread/init/media_source_content_initializer.js +23 -11
- package/dist/es2017/main_thread/init/multi_thread_content_initializer.d.ts +2 -1
- package/dist/es2017/main_thread/init/multi_thread_content_initializer.d.ts.map +1 -1
- package/dist/es2017/main_thread/init/multi_thread_content_initializer.js +9 -5
- package/dist/es2017/main_thread/init/utils/initial_seek_and_play.d.ts.map +1 -1
- package/dist/es2017/main_thread/init/utils/initial_seek_and_play.js +3 -7
- package/dist/es2017/main_thread/text_displayer/native/native_text_displayer.d.ts +1 -0
- package/dist/es2017/main_thread/text_displayer/native/native_text_displayer.d.ts.map +1 -1
- package/dist/es2017/main_thread/text_displayer/native/native_text_displayer.js +19 -16
- package/dist/es2017/public_types.d.ts +54 -2
- package/dist/es2017/public_types.d.ts.map +1 -1
- package/dist/es2017/utils/sync_or_async.d.ts.map +1 -1
- package/dist/es2017/utils/sync_or_async.js +3 -1
- package/dist/mpd-parser.wasm +0 -0
- package/dist/rx-player.js +60 -31
- package/dist/rx-player.min.js +17 -17
- package/package.json +1 -1
- package/src/__GENERATED_CODE/embedded_dash_wasm.ts +1 -1
- package/src/core/segment_sinks/segment_buffers_store.ts +6 -2
- package/src/experimental/tools/mediaCapabilitiesProber/probers/DRMInfos.ts +39 -7
- package/src/main_thread/api/debug/modules/general_info.ts +1 -1
- package/src/main_thread/api/public_api.ts +2 -2
- package/src/main_thread/decrypt/create_or_load_session.ts +6 -1
- package/src/main_thread/decrypt/find_key_system.ts +3 -0
- package/src/main_thread/decrypt/get_media_keys.ts +1 -0
- package/src/main_thread/init/media_source_content_initializer.ts +50 -17
- package/src/main_thread/init/multi_thread_content_initializer.ts +15 -7
- package/src/main_thread/init/utils/initial_seek_and_play.ts +3 -7
- package/src/main_thread/text_displayer/native/native_text_displayer.ts +22 -18
- package/src/public_types.ts +54 -3
- package/src/utils/sync_or_async.ts +5 -3
package/dist/rx-player.js
CHANGED
|
@@ -8349,7 +8349,12 @@
|
|
|
8349
8349
|
throw cancelSignal.cancellationError;
|
|
8350
8350
|
}
|
|
8351
8351
|
}
|
|
8352
|
-
await cleanOldLoadedSessions(
|
|
8352
|
+
await cleanOldLoadedSessions(
|
|
8353
|
+
loadedSessionsStore,
|
|
8354
|
+
// Account for the next session we will be creating
|
|
8355
|
+
// Note that `maxSessionCacheSize < 0 has special semantic (no limit)`
|
|
8356
|
+
maxSessionCacheSize <= 0 ? maxSessionCacheSize : maxSessionCacheSize - 1
|
|
8357
|
+
);
|
|
8353
8358
|
if (cancelSignal.cancellationError !== null) {
|
|
8354
8359
|
throw cancelSignal.cancellationError;
|
|
8355
8360
|
}
|
|
@@ -8762,6 +8767,9 @@
|
|
|
8762
8767
|
const session = mediaKeys.createSession();
|
|
8763
8768
|
const initData = generatePlayReadyInitData(DUMMY_PLAY_READY_HEADER);
|
|
8764
8769
|
await session.generateRequest("cenc", initData);
|
|
8770
|
+
session.close().catch(() => {
|
|
8771
|
+
log_default.warn("DRM: Failed to close the dummy session");
|
|
8772
|
+
});
|
|
8765
8773
|
} catch (err) {
|
|
8766
8774
|
log_default.debug("DRM: KeySystemAccess was granted but it is not usable");
|
|
8767
8775
|
throw err;
|
|
@@ -9747,7 +9755,7 @@
|
|
|
9747
9755
|
const { options, mediaKeySystemAccess, askedConfiguration, codecSupport } = evt.value;
|
|
9748
9756
|
const currentState = media_keys_infos_store_default.getState(mediaElement);
|
|
9749
9757
|
const persistentSessionsStore = createPersistentSessionsStorage(options);
|
|
9750
|
-
if (canReuseMediaKeys() && currentState !== null && evt.type === "reuse-media-key-system-access") {
|
|
9758
|
+
if (evt.value.options.reuseMediaKeys !== false && canReuseMediaKeys() && currentState !== null && evt.type === "reuse-media-key-system-access") {
|
|
9751
9759
|
log_default.debug("DRM: Reusing already created MediaKeys");
|
|
9752
9760
|
const { mediaKeys: mediaKeys2, loadedSessionsStore: loadedSessionsStore2 } = currentState;
|
|
9753
9761
|
if (server_certificate_store_default.hasOne(mediaKeys2) === false || !isNullOrUndefined(options.serverCertificate) && server_certificate_store_default.has(mediaKeys2, options.serverCertificate)) {
|
|
@@ -18714,7 +18722,9 @@
|
|
|
18714
18722
|
ret = resolved;
|
|
18715
18723
|
}, noop_default);
|
|
18716
18724
|
return {
|
|
18717
|
-
syncValue
|
|
18725
|
+
get syncValue() {
|
|
18726
|
+
return ret;
|
|
18727
|
+
},
|
|
18718
18728
|
getValueAsAsync() {
|
|
18719
18729
|
return val;
|
|
18720
18730
|
}
|
|
@@ -20751,7 +20761,7 @@
|
|
|
20751
20761
|
*/
|
|
20752
20762
|
constructor(settings) {
|
|
20753
20763
|
super();
|
|
20754
|
-
this.
|
|
20764
|
+
this._initSettings = settings;
|
|
20755
20765
|
this._initCanceller = new TaskCanceller();
|
|
20756
20766
|
this._manifest = null;
|
|
20757
20767
|
this._decryptionCapabilities = { status: "uninitialized", value: null };
|
|
@@ -20826,6 +20836,10 @@
|
|
|
20826
20836
|
dispose() {
|
|
20827
20837
|
this._initCanceller.cancel();
|
|
20828
20838
|
}
|
|
20839
|
+
/**
|
|
20840
|
+
* Callback called when an error interrupting playback arised.
|
|
20841
|
+
* @param {*} err
|
|
20842
|
+
*/
|
|
20829
20843
|
_onFatalError(err) {
|
|
20830
20844
|
if (this._initCanceller.isUsed()) {
|
|
20831
20845
|
return;
|
|
@@ -20833,10 +20847,16 @@
|
|
|
20833
20847
|
this._initCanceller.cancel();
|
|
20834
20848
|
this.trigger("error", err);
|
|
20835
20849
|
}
|
|
20850
|
+
/**
|
|
20851
|
+
* Initialize decryption mechanisms if needed and begin creating and relying
|
|
20852
|
+
* on the initial `MediaSourceInterface` for this content.
|
|
20853
|
+
* @param {HTMLMediaElement|null} mediaElement
|
|
20854
|
+
* @returns {Promise.<Object>}
|
|
20855
|
+
*/
|
|
20836
20856
|
_initializeMediaSourceAndDecryption(mediaElement) {
|
|
20837
20857
|
const initCanceller = this._initCanceller;
|
|
20838
20858
|
return createCancellablePromise(initCanceller.signal, (resolve) => {
|
|
20839
|
-
const { keySystems } = this.
|
|
20859
|
+
const { keySystems } = this._initSettings;
|
|
20840
20860
|
const { statusRef: drmInitRef, contentDecryptor } = initializeContentDecryption(
|
|
20841
20861
|
mediaElement,
|
|
20842
20862
|
keySystems,
|
|
@@ -20953,7 +20973,7 @@
|
|
|
20953
20973
|
startAt,
|
|
20954
20974
|
textTrackOptions,
|
|
20955
20975
|
transport
|
|
20956
|
-
} = this.
|
|
20976
|
+
} = this._initSettings;
|
|
20957
20977
|
const initCanceller = this._initCanceller;
|
|
20958
20978
|
assert(this._manifest !== null);
|
|
20959
20979
|
let manifest;
|
|
@@ -21082,15 +21102,10 @@
|
|
|
21082
21102
|
return this._onFatalError(error);
|
|
21083
21103
|
}
|
|
21084
21104
|
let textDisplayerInterface = null;
|
|
21085
|
-
|
|
21086
|
-
|
|
21087
|
-
|
|
21088
|
-
|
|
21089
|
-
this._settings.textTrackOptions.textTrackElement
|
|
21090
|
-
);
|
|
21091
|
-
} else if (features_default.nativeTextDisplayer !== null) {
|
|
21092
|
-
textDisplayer = new features_default.nativeTextDisplayer(mediaElement);
|
|
21093
|
-
}
|
|
21105
|
+
const textDisplayer = createTextDisplayer(
|
|
21106
|
+
mediaElement,
|
|
21107
|
+
this._initSettings.textTrackOptions
|
|
21108
|
+
);
|
|
21094
21109
|
if (textDisplayer !== null) {
|
|
21095
21110
|
const sender = new MainThreadTextDisplayerInterface(textDisplayer);
|
|
21096
21111
|
textDisplayerInterface = sender;
|
|
@@ -21529,6 +21544,17 @@
|
|
|
21529
21544
|
}
|
|
21530
21545
|
}
|
|
21531
21546
|
};
|
|
21547
|
+
function createTextDisplayer(mediaElement, textTrackOptions) {
|
|
21548
|
+
if (textTrackOptions.textTrackMode === "html" && features_default.htmlTextDisplayer !== null) {
|
|
21549
|
+
return new features_default.htmlTextDisplayer(
|
|
21550
|
+
mediaElement,
|
|
21551
|
+
textTrackOptions.textTrackElement
|
|
21552
|
+
);
|
|
21553
|
+
} else if (features_default.nativeTextDisplayer !== null) {
|
|
21554
|
+
return new features_default.nativeTextDisplayer(mediaElement);
|
|
21555
|
+
}
|
|
21556
|
+
return null;
|
|
21557
|
+
}
|
|
21532
21558
|
function updateKeyIdsDecipherabilityOnManifest(manifest, whitelistedKeyIds, blacklistedKeyIds, delistedKeyIds) {
|
|
21533
21559
|
manifest.updateRepresentationsDeciperability((ctx) => {
|
|
21534
21560
|
const { representation } = ctx;
|
|
@@ -31875,20 +31901,7 @@
|
|
|
31875
31901
|
reset() {
|
|
31876
31902
|
log_default.debug("NTD: Aborting NativeTextDisplayer");
|
|
31877
31903
|
this._removeData(0, Infinity);
|
|
31878
|
-
|
|
31879
|
-
if (_trackElement !== void 0 && _videoElement.hasChildNodes()) {
|
|
31880
|
-
try {
|
|
31881
|
-
_videoElement.removeChild(_trackElement);
|
|
31882
|
-
} catch (_e) {
|
|
31883
|
-
log_default.warn("NTD: Can't remove track element from the video");
|
|
31884
|
-
}
|
|
31885
|
-
}
|
|
31886
|
-
const oldMode = this._track.mode;
|
|
31887
|
-
this._track.mode = "disabled";
|
|
31888
|
-
this._track.mode = oldMode;
|
|
31889
|
-
if (this._trackElement !== void 0) {
|
|
31890
|
-
this._trackElement.innerHTML = "";
|
|
31891
|
-
}
|
|
31904
|
+
this._clearTrackElement();
|
|
31892
31905
|
}
|
|
31893
31906
|
stop() {
|
|
31894
31907
|
log_default.debug("NTD: Aborting NativeTextDisplayer");
|
|
@@ -31921,6 +31934,22 @@
|
|
|
31921
31934
|
}
|
|
31922
31935
|
this._buffered.remove(start, end);
|
|
31923
31936
|
}
|
|
31937
|
+
_clearTrackElement() {
|
|
31938
|
+
const { _trackElement, _videoElement } = this;
|
|
31939
|
+
if (_trackElement !== void 0 && _videoElement.hasChildNodes()) {
|
|
31940
|
+
try {
|
|
31941
|
+
_videoElement.removeChild(_trackElement);
|
|
31942
|
+
} catch (_e) {
|
|
31943
|
+
log_default.warn("NTD: Can't remove track element from the video");
|
|
31944
|
+
}
|
|
31945
|
+
}
|
|
31946
|
+
const oldMode = this._track.mode;
|
|
31947
|
+
this._track.mode = "disabled";
|
|
31948
|
+
this._track.mode = oldMode;
|
|
31949
|
+
if (this._trackElement !== void 0) {
|
|
31950
|
+
this._trackElement.innerHTML = "";
|
|
31951
|
+
}
|
|
31952
|
+
}
|
|
31924
31953
|
};
|
|
31925
31954
|
if (define_ENVIRONMENT_default.CURRENT_ENV === define_ENVIRONMENT_default.DEV) {
|
|
31926
31955
|
let _checkType = function(input) {
|
|
@@ -36911,7 +36940,7 @@ ${event}`
|
|
|
36911
36940
|
} = parseConstructorOptions(options);
|
|
36912
36941
|
videoElement.preload = "auto";
|
|
36913
36942
|
this.version = /* PLAYER_VERSION */
|
|
36914
|
-
"4.2.0
|
|
36943
|
+
"4.2.0";
|
|
36915
36944
|
this.log = log_default;
|
|
36916
36945
|
this.state = "STOPPED";
|
|
36917
36946
|
this.videoElement = videoElement;
|
|
@@ -39452,7 +39481,7 @@ ${event}`
|
|
|
39452
39481
|
_Player._priv_currentlyUsedVideoElements = /* @__PURE__ */ new WeakSet();
|
|
39453
39482
|
var Player = _Player;
|
|
39454
39483
|
Player.version = /* PLAYER_VERSION */
|
|
39455
|
-
"4.2.0
|
|
39484
|
+
"4.2.0";
|
|
39456
39485
|
var public_api_default = Player;
|
|
39457
39486
|
|
|
39458
39487
|
// src/main_thread/api/index.ts
|