rx-player 4.4.0-dev.2025092200 → 4.4.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/CHANGELOG.md +2 -2
- 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/compat/is_codec_supported.d.ts +3 -1
- package/dist/commonjs/compat/is_codec_supported.d.ts.map +1 -1
- package/dist/commonjs/compat/is_codec_supported.js +7 -1
- package/dist/commonjs/main_thread/api/public_api.js +2 -2
- 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 +8 -8
- 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 +5 -5
- package/dist/commonjs/main_thread/init/utils/update_manifest_codec_support.d.ts +2 -1
- package/dist/commonjs/main_thread/init/utils/update_manifest_codec_support.d.ts.map +1 -1
- package/dist/commonjs/main_thread/init/utils/update_manifest_codec_support.js +2 -2
- 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/compat/is_codec_supported.d.ts +3 -1
- package/dist/es2017/compat/is_codec_supported.d.ts.map +1 -1
- package/dist/es2017/compat/is_codec_supported.js +7 -1
- package/dist/es2017/main_thread/api/public_api.js +2 -2
- 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 +8 -8
- 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 +5 -5
- package/dist/es2017/main_thread/init/utils/update_manifest_codec_support.d.ts +2 -1
- package/dist/es2017/main_thread/init/utils/update_manifest_codec_support.d.ts.map +1 -1
- package/dist/es2017/main_thread/init/utils/update_manifest_codec_support.js +2 -2
- package/dist/mpd-parser.wasm +0 -0
- package/dist/rx-player.js +16 -11
- package/dist/rx-player.min.js +3 -3
- package/package.json +1 -1
- package/src/__GENERATED_CODE/embedded_dash_wasm.ts +1 -1
- package/src/compat/__tests__/is_codec_supported.test.ts +8 -8
- package/src/compat/is_codec_supported.ts +14 -1
- package/src/main_thread/api/public_api.ts +2 -2
- package/src/main_thread/init/media_source_content_initializer.ts +11 -7
- package/src/main_thread/init/multi_thread_content_initializer.ts +5 -4
- package/src/main_thread/init/utils/__tests__/update_manifest_codec_support.test.ts +18 -3
- package/src/main_thread/init/utils/update_manifest_codec_support.ts +3 -1
|
@@ -13,14 +13,16 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
+
import type { IMediaElement } from "./browser_compatibility_types";
|
|
16
17
|
/**
|
|
17
18
|
* Returns true if the given codec is supported by the browser's MediaSource
|
|
18
19
|
* implementation.
|
|
20
|
+
* @param {HTMLMediaElement} mediaElement
|
|
19
21
|
* @param {string} mimeType - The MIME media type that you want to test support
|
|
20
22
|
* for in the current browser.
|
|
21
23
|
* This may include the codecs parameter to provide added details about the
|
|
22
24
|
* codecs used within the file.
|
|
23
25
|
* @returns {Boolean}
|
|
24
26
|
*/
|
|
25
|
-
export default function isCodecSupported(mimeType: string): boolean;
|
|
27
|
+
export default function isCodecSupported(mediaElement: IMediaElement, mimeType: string): boolean;
|
|
26
28
|
//# sourceMappingURL=is_codec_supported.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"is_codec_supported.d.ts","sourceRoot":"","sources":["../../../src/compat/is_codec_supported.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"is_codec_supported.d.ts","sourceRoot":"","sources":["../../../src/compat/is_codec_supported.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAOH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAanE;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,UAAU,gBAAgB,CACtC,YAAY,EAAE,aAAa,EAC3B,QAAQ,EAAE,MAAM,GACf,OAAO,CA8BT"}
|
|
@@ -30,13 +30,19 @@ const supportMap = new Map();
|
|
|
30
30
|
/**
|
|
31
31
|
* Returns true if the given codec is supported by the browser's MediaSource
|
|
32
32
|
* implementation.
|
|
33
|
+
* @param {HTMLMediaElement} mediaElement
|
|
33
34
|
* @param {string} mimeType - The MIME media type that you want to test support
|
|
34
35
|
* for in the current browser.
|
|
35
36
|
* This may include the codecs parameter to provide added details about the
|
|
36
37
|
* codecs used within the file.
|
|
37
38
|
* @returns {Boolean}
|
|
38
39
|
*/
|
|
39
|
-
export default function isCodecSupported(mimeType) {
|
|
40
|
+
export default function isCodecSupported(mediaElement, mimeType) {
|
|
41
|
+
// TODO: We only added that as a hotfix for now, to allow support of the right codecs
|
|
42
|
+
// on a dummy media element
|
|
43
|
+
if (mediaElement.isDummy) {
|
|
44
|
+
return mediaElement.FORCED_MEDIA_SOURCE.isTypeSupported(mimeType);
|
|
45
|
+
}
|
|
40
46
|
if (isNullOrUndefined(MediaSource_)) {
|
|
41
47
|
if (isWorker) {
|
|
42
48
|
log.error("mse", "Cannot request codec support in a worker without MSE.");
|
|
@@ -172,7 +172,7 @@ class Player extends EventEmitter {
|
|
|
172
172
|
// Workaround to support Firefox autoplay on FF 42.
|
|
173
173
|
// See: https://bugzilla.mozilla.org/show_bug.cgi?id=1194624
|
|
174
174
|
videoElement.preload = "auto";
|
|
175
|
-
this.version = /* PLAYER_VERSION */ "4.4.0
|
|
175
|
+
this.version = /* PLAYER_VERSION */ "4.4.0";
|
|
176
176
|
this.log = log;
|
|
177
177
|
this.state = "STOPPED";
|
|
178
178
|
this.videoElement = videoElement;
|
|
@@ -2679,5 +2679,5 @@ class Player extends EventEmitter {
|
|
|
2679
2679
|
* Use of a WeakSet ensure the object is garbage collected if it's not used anymore.
|
|
2680
2680
|
*/
|
|
2681
2681
|
Player._priv_currentlyUsedVideoElements = new WeakSet();
|
|
2682
|
-
Player.version = /* PLAYER_VERSION */ "4.4.0
|
|
2682
|
+
Player.version = /* PLAYER_VERSION */ "4.4.0";
|
|
2683
2683
|
export default Player;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media_source_content_initializer.d.ts","sourceRoot":"","sources":["../../../../src/main_thread/init/media_source_content_initializer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAK9E,OAAO,KAAK,EACV,wCAAwC,EAEzC,MAAM,qBAAqB,CAAC;AA4B7B,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAEjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAsB,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAOhF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAStE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAG7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAUpE;;;;;;;;;;GAUG;AACH,MAAM,CAAC,OAAO,OAAO,6BAA8B,SAAQ,kBAAkB;IAC3E,+EAA+E;IAC/E,OAAO,CAAC,aAAa,CAAuB;IAC5C;;;OAGG;IACH,OAAO,CAAC,cAAc,CAAgB;IACtC,4DAA4D;IAC5D,OAAO,CAAC,gBAAgB,CAAkB;IAC1C;;;;;OAKG;IACH,OAAO,CAAC,SAAS,CAAsC;IAEvD,OAAO,CAAC,gBAAgB,CAAyB;IAEjD;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,uBAAuB,CAYzB;IAEN;;;;OAIG;gBACS,QAAQ,EAAE,oBAAoB;IAgB1C;;;OAGG;IACI,OAAO,IAAI,IAAI;IAwBtB;;;OAGG;IACI,KAAK,CACV,YAAY,EAAE,aAAa,EAC3B,gBAAgB,EAAE,6BAA6B,GAC9C,IAAI;IAyBP;;;;;;OAMG;IACI,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,UAAU,EAAE,OAAO,GAAG,IAAI;IAI/E;;;OAGG;IACI,OAAO,IAAI,IAAI;IAItB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAQrB;;;;;OAKG;IACH,OAAO,CAAC,qCAAqC;YA4H/B,0BAA0B;IAgGxC;;;;;;;OAOG;IACH,OAAO,CAAC,+BAA+B;IAWvC;;;;OAIG;IACH,OAAO,CAAC,gCAAgC;IAsCxC;;;;;OAKG;IACH,OAAO,CAAC,iCAAiC;IA0ezC;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,4BAA4B;IA0BpC;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;
|
|
1
|
+
{"version":3,"file":"media_source_content_initializer.d.ts","sourceRoot":"","sources":["../../../../src/main_thread/init/media_source_content_initializer.ts"],"names":[],"mappings":"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"}
|
|
@@ -188,11 +188,11 @@ export default class MediaSourceContentInitializer extends ContentInitializer {
|
|
|
188
188
|
if (this._initCanceller.isUsed()) {
|
|
189
189
|
return;
|
|
190
190
|
}
|
|
191
|
-
this._refreshManifestCodecSupport(loadedManifest);
|
|
191
|
+
this._refreshManifestCodecSupport(loadedManifest, mediaElement);
|
|
192
192
|
}, noop);
|
|
193
193
|
}
|
|
194
194
|
else {
|
|
195
|
-
this._refreshManifestCodecSupport(syncManifest);
|
|
195
|
+
this._refreshManifestCodecSupport(syncManifest, mediaElement);
|
|
196
196
|
}
|
|
197
197
|
},
|
|
198
198
|
}, initCanceller.signal);
|
|
@@ -264,7 +264,7 @@ export default class MediaSourceContentInitializer extends ContentInitializer {
|
|
|
264
264
|
}
|
|
265
265
|
manifest.addEventListener("manifestUpdate", (updates) => {
|
|
266
266
|
this.trigger("manifestUpdate", updates);
|
|
267
|
-
this._refreshManifestCodecSupport(manifest);
|
|
267
|
+
this._refreshManifestCodecSupport(manifest, mediaElement);
|
|
268
268
|
}, initCanceller.signal);
|
|
269
269
|
manifest.addEventListener("decipherabilityUpdate", (elts) => {
|
|
270
270
|
this.trigger("decipherabilityUpdate", elts);
|
|
@@ -280,7 +280,7 @@ export default class MediaSourceContentInitializer extends ContentInitializer {
|
|
|
280
280
|
const subBufferOptions = objectAssign({ textTrackOptions, drmSystemId }, bufferOptions);
|
|
281
281
|
const cdnPrioritizer = new CdnPrioritizer(initCanceller.signal);
|
|
282
282
|
const segmentQueueCreator = new SegmentQueueCreator(transport, cdnPrioritizer, this._cmcdDataBuilder, segmentRequestOptions);
|
|
283
|
-
this._refreshManifestCodecSupport(manifest);
|
|
283
|
+
this._refreshManifestCodecSupport(manifest, mediaElement);
|
|
284
284
|
this.trigger("manifestReady", manifest);
|
|
285
285
|
if (initCanceller.isUsed()) {
|
|
286
286
|
return;
|
|
@@ -717,11 +717,11 @@ export default class MediaSourceContentInitializer extends ContentInitializer {
|
|
|
717
717
|
* @param {Array} codecsToCheck - The list of codecs to check.
|
|
718
718
|
* @returns {Array} - The list of evaluated codecs with their support status updated.
|
|
719
719
|
*/
|
|
720
|
-
getCodecsSupportInfo(codecsToCheck) {
|
|
720
|
+
getCodecsSupportInfo(codecsToCheck, mediaElement) {
|
|
721
721
|
const codecsSupportInfo = codecsToCheck.map((codecToCheck) => {
|
|
722
722
|
var _a;
|
|
723
723
|
const inputCodec = `${codecToCheck.mimeType};codecs="${codecToCheck.codec}"`;
|
|
724
|
-
const isSupported = isCodecSupported(inputCodec);
|
|
724
|
+
const isSupported = isCodecSupported(mediaElement, inputCodec);
|
|
725
725
|
if (!isSupported) {
|
|
726
726
|
return {
|
|
727
727
|
mimeType: codecToCheck.mimeType,
|
|
@@ -768,9 +768,9 @@ export default class MediaSourceContentInitializer extends ContentInitializer {
|
|
|
768
768
|
* to test for codec support are available.
|
|
769
769
|
* @param {Object} manifest
|
|
770
770
|
*/
|
|
771
|
-
_refreshManifestCodecSupport(manifest) {
|
|
771
|
+
_refreshManifestCodecSupport(manifest, mediaElement) {
|
|
772
772
|
const codecsToTest = manifest.getCodecsWithUnknownSupport();
|
|
773
|
-
const codecsSupportInfo = this.getCodecsSupportInfo(codecsToTest);
|
|
773
|
+
const codecsSupportInfo = this.getCodecsSupportInfo(codecsToTest, mediaElement);
|
|
774
774
|
if (codecsSupportInfo.length > 0) {
|
|
775
775
|
try {
|
|
776
776
|
manifest.updateCodecSupport(codecsSupportInfo);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multi_thread_content_initializer.d.ts","sourceRoot":"","sources":["../../../../src/main_thread/init/multi_thread_content_initializer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAK9E,OAAO,KAAK,EACV,wCAAwC,EAGzC,MAAM,kBAAkB,CAAC;AAU1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAMxD,OAAO,wBAAwB,MAAM,uCAAuC,CAAC;AAQ7E,OAAO,KAAK,EAEV,6BAA6B,EAC9B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAEjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAsB,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAO9E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAMtE,OAAO,KAAK,iBAAiB,MAAM,YAAY,CAAC;AAIhD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAM7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAIpE,OAAO,qBAAqB,MAAM,gCAAgC,CAAC;AACnE,OAAO,mBAAmB,MAAM,qDAAqD,CAAC;AAMtF;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,6BAA8B,SAAQ,kBAAkB;IAC3E,+EAA+E;IAC/E,OAAO,CAAC,SAAS,CAAuB;IAExC;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,qBAAqB,CAAwB;IAErD;;;;OAIG;IACH,OAAO,CAAC,mBAAmB,CAAoD;IAC/E;;;OAGG;IACH,OAAO,CAAC,cAAc,CAAgB;IACtC;;;;;;OAMG;IACH,OAAO,CAAC,4BAA4B,CAAgB;IAEpD,OAAO,CAAC,iBAAiB,CAwBvB;IAEF;;;;OAIG;gBACS,QAAQ,EAAE,oBAAoB;IAe1C;;OAEG;IACI,OAAO,IAAI,IAAI;IAgJtB;;;;;;OAMG;IACI,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,UAAU,EAAE,OAAO,GAAG,IAAI;IAW/E;;;OAGG;IACI,KAAK,CACV,YAAY,EAAE,aAAa,EAC3B,gBAAgB,EAAE,6BAA6B,GAC9C,IAAI;IA67BA,OAAO,IAAI,IAAI;IAUtB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,4BAA4B;IAuLpC;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;
|
|
1
|
+
{"version":3,"file":"multi_thread_content_initializer.d.ts","sourceRoot":"","sources":["../../../../src/main_thread/init/multi_thread_content_initializer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAK9E,OAAO,KAAK,EACV,wCAAwC,EAGzC,MAAM,kBAAkB,CAAC;AAU1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAMxD,OAAO,wBAAwB,MAAM,uCAAuC,CAAC;AAQ7E,OAAO,KAAK,EAEV,6BAA6B,EAC9B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAEjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAsB,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAO9E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAMtE,OAAO,KAAK,iBAAiB,MAAM,YAAY,CAAC;AAIhD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAM7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAIpE,OAAO,qBAAqB,MAAM,gCAAgC,CAAC;AACnE,OAAO,mBAAmB,MAAM,qDAAqD,CAAC;AAMtF;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,6BAA8B,SAAQ,kBAAkB;IAC3E,+EAA+E;IAC/E,OAAO,CAAC,SAAS,CAAuB;IAExC;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,qBAAqB,CAAwB;IAErD;;;;OAIG;IACH,OAAO,CAAC,mBAAmB,CAAoD;IAC/E;;;OAGG;IACH,OAAO,CAAC,cAAc,CAAgB;IACtC;;;;;;OAMG;IACH,OAAO,CAAC,4BAA4B,CAAgB;IAEpD,OAAO,CAAC,iBAAiB,CAwBvB;IAEF;;;;OAIG;gBACS,QAAQ,EAAE,oBAAoB;IAe1C;;OAEG;IACI,OAAO,IAAI,IAAI;IAgJtB;;;;;;OAMG;IACI,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,UAAU,EAAE,OAAO,GAAG,IAAI;IAW/E;;;OAGG;IACI,KAAK,CACV,YAAY,EAAE,aAAa,EAC3B,gBAAgB,EAAE,6BAA6B,GAC9C,IAAI;IA67BA,OAAO,IAAI,IAAI;IAUtB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,4BAA4B;IAuLpC;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAsB3B,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,OAAO;IA6Df;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,6BAA6B;IA6MrC;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,qBAAqB;IA2E7B;;;;;;;OAOG;IACH,OAAO,CAAC,2BAA2B;CAgFpC;AAED,MAAM,WAAW,0CAA0C;IACzD;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACnC;;;;OAIG;IACH,eAAe,EACX;QACE,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,wBAAwB,CAAC;KACvC,GACD;QACE,IAAI,EAAE,MAAM,CAAC;QACb,aAAa,EAAE,MAAM,CAAC;KACvB,GACD,IAAI,CAAC;IAET;;;;;OAKG;IACH,qBAAqB,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACpD;;;;;OAKG;IACH,mBAAmB,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAChD;;;OAGG;IACH,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC;;;OAGG;IACH,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B;;;;;;OAMG;IACH,oBAAoB,EAAE,wBAAwB,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IAC/D;;;;OAIG;IACH,gBAAgB,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC3C;;;;OAIG;IACH,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,mEAAmE;AACnE,MAAM,WAAW,oBAAoB;IACnC,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC;IACf;;;;;;;;OAQG;IACH,cAAc,EAAE,OAAO,CAAC;IACxB,wCAAwC;IACxC,eAAe,EAAE,wCAAwC,CAAC;IAC1D,4CAA4C;IAC5C,QAAQ,EAAE,OAAO,CAAC;IAClB,4CAA4C;IAC5C,aAAa,EAAE;QACb,+DAA+D;QAC/D,iBAAiB,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC;QACpD,oEAAoE;QACpE,kBAAkB,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC;QACrD,iFAAiF;QACjF,cAAc,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC;QACjD,oFAAoF;QACpF,eAAe,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC;QAClD;;;WAGG;QACH,mBAAmB,EAAE,OAAO,CAAC;QAC7B,mEAAmE;QACnE,aAAa,EAAE,UAAU,GAAG,QAAQ,CAAC;KACtC,CAAC;IACF;;OAEG;IACH,IAAI,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IAChC;;;;OAIG;IACH,6BAA6B,EAAE,OAAO,CAAC;IACvC,0CAA0C;IAC1C,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAC/B,qDAAqD;IACrD,cAAc,EAAE,OAAO,CAAC;IACxB,kDAAkD;IAClD,gBAAgB,EAAE,IAAI,CACpB,iBAAiB,EACjB,gBAAgB,GAAG,eAAe,GAAG,sBAAsB,CAC5D,GAAG;QAGF,cAAc,EAAE,SAAS,CAAC;QAC1B,aAAa,EAAE,SAAS,CAAC;QAGzB,oBAAoB,EAAE,MAAM,GAAG,SAAS,CAAC;KAC1C,CAAC;IACF,4CAA4C;IAC5C,uBAAuB,EAAE;QACvB,iEAAiE;QACjE,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;QAC7B;;;;;WAKG;QACH,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;QACnC;;;;WAIG;QACH,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;QACtC,+CAA+C;QAC/C,6BAA6B,EAAE,MAAM,CAAC;QACtC;;;WAGG;QACH,eAAe,EAAE,gBAAgB,GAAG,SAAS,CAAC;KAC/C,CAAC;IACF,sDAAsD;IACtD,qBAAqB,EAAE;QACrB,cAAc,EAAE,OAAO,CAAC;QACxB;;;;WAIG;QACH,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;QACnC;;;;WAIG;QACH,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;QACtC,iEAAiE;QACjE,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;KAC9B,CAAC;IACF,sDAAsD;IACtD,KAAK,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACxC,wCAAwC;IACxC,OAAO,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;IAC1C,gDAAgD;IAChD,gBAAgB,EAAE,qBAAqB,CAAC;IACxC,oEAAoE;IACpE,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;CACzB"}
|
|
@@ -634,7 +634,7 @@ export default class MultiThreadContentInitializer extends ContentInitializer {
|
|
|
634
634
|
}
|
|
635
635
|
const manifest = msgData.value.manifest;
|
|
636
636
|
this._currentContentInfo.manifest = manifest;
|
|
637
|
-
this._updateCodecSupport(manifest);
|
|
637
|
+
this._updateCodecSupport(manifest, mediaElement);
|
|
638
638
|
this._startPlaybackIfReady(playbackStartParams);
|
|
639
639
|
break;
|
|
640
640
|
}
|
|
@@ -649,7 +649,7 @@ export default class MultiThreadContentInitializer extends ContentInitializer {
|
|
|
649
649
|
}
|
|
650
650
|
replicateUpdatesOnManifestMetadata(manifest, msgData.value.manifest, msgData.value.updates);
|
|
651
651
|
(_12 = (_11 = this._currentContentInfo) === null || _11 === void 0 ? void 0 : _11.streamEventsEmitter) === null || _12 === void 0 ? void 0 : _12.onManifestUpdate(manifest);
|
|
652
|
-
this._updateCodecSupport(manifest);
|
|
652
|
+
this._updateCodecSupport(manifest, mediaElement);
|
|
653
653
|
this.trigger("manifestUpdate", msgData.value.updates);
|
|
654
654
|
break;
|
|
655
655
|
}
|
|
@@ -1020,7 +1020,7 @@ export default class MultiThreadContentInitializer extends ContentInitializer {
|
|
|
1020
1020
|
if (isNullOrUndefined(manifest)) {
|
|
1021
1021
|
return;
|
|
1022
1022
|
}
|
|
1023
|
-
this._updateCodecSupport(manifest);
|
|
1023
|
+
this._updateCodecSupport(manifest, mediaElement);
|
|
1024
1024
|
contentDecryptor.removeEventListener("stateChange", updateCodecSupportOnStateChange);
|
|
1025
1025
|
}
|
|
1026
1026
|
};
|
|
@@ -1114,10 +1114,10 @@ export default class MultiThreadContentInitializer extends ContentInitializer {
|
|
|
1114
1114
|
* status of these codecs, and forwards the list of supported codecs to the web worker.
|
|
1115
1115
|
* @param manifest
|
|
1116
1116
|
*/
|
|
1117
|
-
_updateCodecSupport(manifest) {
|
|
1117
|
+
_updateCodecSupport(manifest, mediaElement) {
|
|
1118
1118
|
var _a, _b, _c, _d;
|
|
1119
1119
|
try {
|
|
1120
|
-
const updatedCodecs = updateManifestCodecSupport(manifest, (_b = (_a = this._currentContentInfo) === null || _a === void 0 ? void 0 : _a.contentDecryptor) !== null && _b !== void 0 ? _b : null, (_d = (_c = this._currentContentInfo) === null || _c === void 0 ? void 0 : _c.useMseInWorker) !== null && _d !== void 0 ? _d : false);
|
|
1120
|
+
const updatedCodecs = updateManifestCodecSupport(manifest, (_b = (_a = this._currentContentInfo) === null || _a === void 0 ? void 0 : _a.contentDecryptor) !== null && _b !== void 0 ? _b : null, mediaElement, (_d = (_c = this._currentContentInfo) === null || _c === void 0 ? void 0 : _c.useMseInWorker) !== null && _d !== void 0 ? _d : false);
|
|
1121
1121
|
if (updatedCodecs.length > 0) {
|
|
1122
1122
|
sendMessage(this._settings.worker, {
|
|
1123
1123
|
type: "codec-support-update" /* MainThreadMessageType.CodecSupportUpdate */,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { IMediaElement } from "../../../compat/browser_compatibility_types";
|
|
1
2
|
import type { IManifestMetadata } from "../../../manifest";
|
|
2
3
|
import type Manifest from "../../../manifest/classes";
|
|
3
4
|
import type { ICodecSupportInfo } from "../../../multithread_types";
|
|
@@ -30,5 +31,5 @@ export declare function getCodecsWithUnknownSupport(manifest: Manifest): Array<{
|
|
|
30
31
|
* @param {boolean} isPlayingWithMSEinWorker - True if WebWorker is used with MSE in worker
|
|
31
32
|
* @returns {Array.<Object>}
|
|
32
33
|
*/
|
|
33
|
-
export declare function updateManifestCodecSupport(manifest: IManifestMetadata, contentDecryptor: ContentDecryptor | null, isPlayingWithMSEinWorker: boolean): ICodecSupportInfo[];
|
|
34
|
+
export declare function updateManifestCodecSupport(manifest: IManifestMetadata, contentDecryptor: ContentDecryptor | null, mediaElement: IMediaElement, isPlayingWithMSEinWorker: boolean): ICodecSupportInfo[];
|
|
34
35
|
//# sourceMappingURL=update_manifest_codec_support.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update_manifest_codec_support.d.ts","sourceRoot":"","sources":["../../../../../src/main_thread/init/utils/update_manifest_codec_support.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"update_manifest_codec_support.d.ts","sourceRoot":"","sources":["../../../../../src/main_thread/init/utils/update_manifest_codec_support.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAEjF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,QAAQ,MAAM,2BAA2B,CAAC;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,OAAO,KAAK,gBAAgB,MAAM,eAAe,CAAC;AAGlD;;;;;;;;;;GAUG;AACH,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,QAAQ,GACjB,KAAK,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AA2B9C;;;;;;;;;;;;GAYG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,iBAAiB,EAC3B,gBAAgB,EAAE,gBAAgB,GAAG,IAAI,EACzC,YAAY,EAAE,aAAa,EAC3B,wBAAwB,EAAE,OAAO,GAChC,iBAAiB,EAAE,CAyHrB"}
|
|
@@ -38,7 +38,7 @@ export function getCodecsWithUnknownSupport(manifest) {
|
|
|
38
38
|
* @param {boolean} isPlayingWithMSEinWorker - True if WebWorker is used with MSE in worker
|
|
39
39
|
* @returns {Array.<Object>}
|
|
40
40
|
*/
|
|
41
|
-
export function updateManifestCodecSupport(manifest, contentDecryptor, isPlayingWithMSEinWorker) {
|
|
41
|
+
export function updateManifestCodecSupport(manifest, contentDecryptor, mediaElement, isPlayingWithMSEinWorker) {
|
|
42
42
|
const codecSupportMap = new Map();
|
|
43
43
|
const updatedCodecs = [];
|
|
44
44
|
const efficientlyGetCodecSupport = (mimeType, codec) => {
|
|
@@ -49,7 +49,7 @@ export function updateManifestCodecSupport(manifest, contentDecryptor, isPlaying
|
|
|
49
49
|
return baseData;
|
|
50
50
|
}
|
|
51
51
|
let newData;
|
|
52
|
-
const isSupported = isCodecSupported(inputCodec);
|
|
52
|
+
const isSupported = isCodecSupported(mediaElement, inputCodec);
|
|
53
53
|
if (!isSupported) {
|
|
54
54
|
newData = {
|
|
55
55
|
isSupportedClear: false,
|
package/dist/mpd-parser.wasm
CHANGED
|
Binary file
|
package/dist/rx-player.js
CHANGED
|
@@ -573,7 +573,12 @@
|
|
|
573
573
|
// src/compat/is_codec_supported.ts
|
|
574
574
|
var MAX_SUPPORT_MAP_ENTRIES = 200;
|
|
575
575
|
var supportMap = /* @__PURE__ */ new Map();
|
|
576
|
-
function isCodecSupported(mimeType) {
|
|
576
|
+
function isCodecSupported(mediaElement, mimeType) {
|
|
577
|
+
if (mediaElement.isDummy) {
|
|
578
|
+
return mediaElement.FORCED_MEDIA_SOURCE.isTypeSupported(
|
|
579
|
+
mimeType
|
|
580
|
+
);
|
|
581
|
+
}
|
|
577
582
|
if (isNullOrUndefined(MediaSource_)) {
|
|
578
583
|
if (is_worker_default) {
|
|
579
584
|
log_default.error("mse", "Cannot request codec support in a worker without MSE.");
|
|
@@ -22387,10 +22392,10 @@
|
|
|
22387
22392
|
if (this._initCanceller.isUsed()) {
|
|
22388
22393
|
return;
|
|
22389
22394
|
}
|
|
22390
|
-
this._refreshManifestCodecSupport(loadedManifest);
|
|
22395
|
+
this._refreshManifestCodecSupport(loadedManifest, mediaElement);
|
|
22391
22396
|
}, noop_default);
|
|
22392
22397
|
} else {
|
|
22393
|
-
this._refreshManifestCodecSupport(syncManifest);
|
|
22398
|
+
this._refreshManifestCodecSupport(syncManifest, mediaElement);
|
|
22394
22399
|
}
|
|
22395
22400
|
}
|
|
22396
22401
|
},
|
|
@@ -22477,7 +22482,7 @@
|
|
|
22477
22482
|
"manifestUpdate",
|
|
22478
22483
|
(updates) => {
|
|
22479
22484
|
this.trigger("manifestUpdate", updates);
|
|
22480
|
-
this._refreshManifestCodecSupport(manifest);
|
|
22485
|
+
this._refreshManifestCodecSupport(manifest, mediaElement);
|
|
22481
22486
|
},
|
|
22482
22487
|
initCanceller.signal
|
|
22483
22488
|
);
|
|
@@ -22510,7 +22515,7 @@
|
|
|
22510
22515
|
this._cmcdDataBuilder,
|
|
22511
22516
|
segmentRequestOptions
|
|
22512
22517
|
);
|
|
22513
|
-
this._refreshManifestCodecSupport(manifest);
|
|
22518
|
+
this._refreshManifestCodecSupport(manifest, mediaElement);
|
|
22514
22519
|
this.trigger("manifestReady", manifest);
|
|
22515
22520
|
if (initCanceller.isUsed()) {
|
|
22516
22521
|
return;
|
|
@@ -23005,11 +23010,11 @@
|
|
|
23005
23010
|
* @param {Array} codecsToCheck - The list of codecs to check.
|
|
23006
23011
|
* @returns {Array} - The list of evaluated codecs with their support status updated.
|
|
23007
23012
|
*/
|
|
23008
|
-
getCodecsSupportInfo(codecsToCheck) {
|
|
23013
|
+
getCodecsSupportInfo(codecsToCheck, mediaElement) {
|
|
23009
23014
|
const codecsSupportInfo = codecsToCheck.map((codecToCheck) => {
|
|
23010
23015
|
var _a2;
|
|
23011
23016
|
const inputCodec = `${codecToCheck.mimeType};codecs="${codecToCheck.codec}"`;
|
|
23012
|
-
const isSupported = isCodecSupported(inputCodec);
|
|
23017
|
+
const isSupported = isCodecSupported(mediaElement, inputCodec);
|
|
23013
23018
|
if (!isSupported) {
|
|
23014
23019
|
return {
|
|
23015
23020
|
mimeType: codecToCheck.mimeType,
|
|
@@ -23048,9 +23053,9 @@
|
|
|
23048
23053
|
* to test for codec support are available.
|
|
23049
23054
|
* @param {Object} manifest
|
|
23050
23055
|
*/
|
|
23051
|
-
_refreshManifestCodecSupport(manifest) {
|
|
23056
|
+
_refreshManifestCodecSupport(manifest, mediaElement) {
|
|
23052
23057
|
const codecsToTest = manifest.getCodecsWithUnknownSupport();
|
|
23053
|
-
const codecsSupportInfo = this.getCodecsSupportInfo(codecsToTest);
|
|
23058
|
+
const codecsSupportInfo = this.getCodecsSupportInfo(codecsToTest, mediaElement);
|
|
23054
23059
|
if (codecsSupportInfo.length > 0) {
|
|
23055
23060
|
try {
|
|
23056
23061
|
manifest.updateCodecSupport(codecsSupportInfo);
|
|
@@ -39840,7 +39845,7 @@ ${event}`
|
|
|
39840
39845
|
} = parseConstructorOptions(options);
|
|
39841
39846
|
videoElement.preload = "auto";
|
|
39842
39847
|
this.version = /* PLAYER_VERSION */
|
|
39843
|
-
"4.4.0
|
|
39848
|
+
"4.4.0";
|
|
39844
39849
|
this.log = log_default;
|
|
39845
39850
|
this.state = "STOPPED";
|
|
39846
39851
|
this.videoElement = videoElement;
|
|
@@ -42567,7 +42572,7 @@ ${event}`
|
|
|
42567
42572
|
_Player._priv_currentlyUsedVideoElements = /* @__PURE__ */ new WeakSet();
|
|
42568
42573
|
var Player = _Player;
|
|
42569
42574
|
Player.version = /* PLAYER_VERSION */
|
|
42570
|
-
"4.4.0
|
|
42575
|
+
"4.4.0";
|
|
42571
42576
|
var public_api_default = Player;
|
|
42572
42577
|
|
|
42573
42578
|
// src/main_thread/api/index.ts
|