hls.js 1.5.7-0.canary.10042 → 1.5.8-0.canary.10044
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/hls.js +24 -18
- package/dist/hls.js.map +1 -1
- package/dist/hls.light.js +24 -18
- package/dist/hls.light.js.map +1 -1
- package/dist/hls.light.min.js +1 -1
- package/dist/hls.light.min.js.map +1 -1
- package/dist/hls.light.mjs +24 -18
- package/dist/hls.light.mjs.map +1 -1
- package/dist/hls.min.js +1 -1
- package/dist/hls.min.js.map +1 -1
- package/dist/hls.mjs +24 -18
- package/dist/hls.mjs.map +1 -1
- package/dist/hls.worker.js +1 -1
- package/package.json +1 -1
- package/src/controller/buffer-controller.ts +32 -23
package/dist/hls.mjs
CHANGED
@@ -512,7 +512,7 @@ function enableLogs(debugConfig, context, id) {
|
|
512
512
|
// Some browsers don't allow to use bind on console object anyway
|
513
513
|
// fallback to default if needed
|
514
514
|
try {
|
515
|
-
newLogger.log(`Debug logs enabled for "${context}" in hls.js version ${"1.5.
|
515
|
+
newLogger.log(`Debug logs enabled for "${context}" in hls.js version ${"1.5.8-0.canary.10044"}`);
|
516
516
|
} catch (e) {
|
517
517
|
/* log fn threw an exception. All logger methods are no-ops. */
|
518
518
|
return createLogger();
|
@@ -18602,7 +18602,7 @@ class BufferController extends Logger {
|
|
18602
18602
|
};
|
18603
18603
|
this.hls = hls;
|
18604
18604
|
this.fragmentTracker = fragmentTracker;
|
18605
|
-
this.appendSource = hls.config.preferManagedMediaSource;
|
18605
|
+
this.appendSource = hls.config.preferManagedMediaSource && typeof self !== 'undefined' && self.ManagedMediaSource;
|
18606
18606
|
this._initSourceBuffer();
|
18607
18607
|
this.registerListeners();
|
18608
18608
|
}
|
@@ -18700,8 +18700,10 @@ class BufferController extends Logger {
|
|
18700
18700
|
ms.addEventListener('sourceopen', this._onMediaSourceOpen);
|
18701
18701
|
ms.addEventListener('sourceended', this._onMediaSourceEnded);
|
18702
18702
|
ms.addEventListener('sourceclose', this._onMediaSourceClose);
|
18703
|
-
|
18704
|
-
|
18703
|
+
if (this.appendSource) {
|
18704
|
+
ms.addEventListener('startstreaming', this._onStartStreaming);
|
18705
|
+
ms.addEventListener('endstreaming', this._onEndStreaming);
|
18706
|
+
}
|
18705
18707
|
|
18706
18708
|
// cache the locally generated object url
|
18707
18709
|
const objectUrl = this._objectUrl = self.URL.createObjectURL(ms);
|
@@ -18748,8 +18750,10 @@ class BufferController extends Logger {
|
|
18748
18750
|
mediaSource.removeEventListener('sourceopen', this._onMediaSourceOpen);
|
18749
18751
|
mediaSource.removeEventListener('sourceended', this._onMediaSourceEnded);
|
18750
18752
|
mediaSource.removeEventListener('sourceclose', this._onMediaSourceClose);
|
18751
|
-
|
18752
|
-
|
18753
|
+
if (this.appendSource) {
|
18754
|
+
mediaSource.removeEventListener('startstreaming', this._onStartStreaming);
|
18755
|
+
mediaSource.removeEventListener('endstreaming', this._onEndStreaming);
|
18756
|
+
}
|
18753
18757
|
|
18754
18758
|
// Detach properly the MediaSource from the HTMLMediaElement as
|
18755
18759
|
// suggested in https://github.com/w3c/media-source/issues/53.
|
@@ -18827,7 +18831,7 @@ class BufferController extends Logger {
|
|
18827
18831
|
const nextCodec = (_trackCodec = trackCodec) == null ? void 0 : _trackCodec.replace(VIDEO_CODEC_PROFILE_REPLACE, '$1');
|
18828
18832
|
if (trackCodec && currentCodec !== nextCodec) {
|
18829
18833
|
if (trackName.slice(0, 5) === 'audio') {
|
18830
|
-
trackCodec = getCodecCompatibleName(trackCodec, this.
|
18834
|
+
trackCodec = getCodecCompatibleName(trackCodec, this.appendSource);
|
18831
18835
|
}
|
18832
18836
|
const mimeType = `${container};codecs=${trackCodec}`;
|
18833
18837
|
this.appendChangeType(trackName, mimeType);
|
@@ -19411,7 +19415,7 @@ class BufferController extends Logger {
|
|
19411
19415
|
let codec = track.levelCodec || track.codec;
|
19412
19416
|
if (codec) {
|
19413
19417
|
if (trackName.slice(0, 5) === 'audio') {
|
19414
|
-
codec = getCodecCompatibleName(codec, this.
|
19418
|
+
codec = getCodecCompatibleName(codec, this.appendSource);
|
19415
19419
|
}
|
19416
19420
|
}
|
19417
19421
|
const mimeType = `${track.container};codecs=${codec}`;
|
@@ -19423,15 +19427,17 @@ class BufferController extends Logger {
|
|
19423
19427
|
this.addBufferListener(sbName, 'updateend', this._onSBUpdateEnd);
|
19424
19428
|
this.addBufferListener(sbName, 'error', this._onSBUpdateError);
|
19425
19429
|
// ManagedSourceBuffer bufferedchange event
|
19426
|
-
this.
|
19427
|
-
|
19428
|
-
|
19429
|
-
|
19430
|
-
|
19431
|
-
|
19432
|
-
|
19433
|
-
|
19434
|
-
|
19430
|
+
if (this.appendSource) {
|
19431
|
+
this.addBufferListener(sbName, 'bufferedchange', (type, event) => {
|
19432
|
+
// If media was ejected check for a change. Added ranges are redundant with changes on 'updateend' event.
|
19433
|
+
const removedRanges = event.removedRanges;
|
19434
|
+
if (removedRanges != null && removedRanges.length) {
|
19435
|
+
this.hls.trigger(Events.BUFFER_FLUSHED, {
|
19436
|
+
type: trackName
|
19437
|
+
});
|
19438
|
+
}
|
19439
|
+
});
|
19440
|
+
}
|
19435
19441
|
this.tracks[trackName] = {
|
19436
19442
|
buffer: sb,
|
19437
19443
|
codec: codec,
|
@@ -28701,7 +28707,7 @@ class Hls {
|
|
28701
28707
|
* Get the video-dev/hls.js package version.
|
28702
28708
|
*/
|
28703
28709
|
static get version() {
|
28704
|
-
return "1.5.
|
28710
|
+
return "1.5.8-0.canary.10044";
|
28705
28711
|
}
|
28706
28712
|
|
28707
28713
|
/**
|