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.light.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();
|
@@ -7071,7 +7071,7 @@ class BufferController extends Logger {
|
|
7071
7071
|
};
|
7072
7072
|
this.hls = hls;
|
7073
7073
|
this.fragmentTracker = fragmentTracker;
|
7074
|
-
this.appendSource = hls.config.preferManagedMediaSource;
|
7074
|
+
this.appendSource = hls.config.preferManagedMediaSource && typeof self !== 'undefined' && self.ManagedMediaSource;
|
7075
7075
|
this._initSourceBuffer();
|
7076
7076
|
this.registerListeners();
|
7077
7077
|
}
|
@@ -7169,8 +7169,10 @@ class BufferController extends Logger {
|
|
7169
7169
|
ms.addEventListener('sourceopen', this._onMediaSourceOpen);
|
7170
7170
|
ms.addEventListener('sourceended', this._onMediaSourceEnded);
|
7171
7171
|
ms.addEventListener('sourceclose', this._onMediaSourceClose);
|
7172
|
-
|
7173
|
-
|
7172
|
+
if (this.appendSource) {
|
7173
|
+
ms.addEventListener('startstreaming', this._onStartStreaming);
|
7174
|
+
ms.addEventListener('endstreaming', this._onEndStreaming);
|
7175
|
+
}
|
7174
7176
|
|
7175
7177
|
// cache the locally generated object url
|
7176
7178
|
const objectUrl = this._objectUrl = self.URL.createObjectURL(ms);
|
@@ -7217,8 +7219,10 @@ class BufferController extends Logger {
|
|
7217
7219
|
mediaSource.removeEventListener('sourceopen', this._onMediaSourceOpen);
|
7218
7220
|
mediaSource.removeEventListener('sourceended', this._onMediaSourceEnded);
|
7219
7221
|
mediaSource.removeEventListener('sourceclose', this._onMediaSourceClose);
|
7220
|
-
|
7221
|
-
|
7222
|
+
if (this.appendSource) {
|
7223
|
+
mediaSource.removeEventListener('startstreaming', this._onStartStreaming);
|
7224
|
+
mediaSource.removeEventListener('endstreaming', this._onEndStreaming);
|
7225
|
+
}
|
7222
7226
|
|
7223
7227
|
// Detach properly the MediaSource from the HTMLMediaElement as
|
7224
7228
|
// suggested in https://github.com/w3c/media-source/issues/53.
|
@@ -7296,7 +7300,7 @@ class BufferController extends Logger {
|
|
7296
7300
|
const nextCodec = (_trackCodec = trackCodec) == null ? void 0 : _trackCodec.replace(VIDEO_CODEC_PROFILE_REPLACE, '$1');
|
7297
7301
|
if (trackCodec && currentCodec !== nextCodec) {
|
7298
7302
|
if (trackName.slice(0, 5) === 'audio') {
|
7299
|
-
trackCodec = getCodecCompatibleName(trackCodec, this.
|
7303
|
+
trackCodec = getCodecCompatibleName(trackCodec, this.appendSource);
|
7300
7304
|
}
|
7301
7305
|
const mimeType = `${container};codecs=${trackCodec}`;
|
7302
7306
|
this.appendChangeType(trackName, mimeType);
|
@@ -7880,7 +7884,7 @@ class BufferController extends Logger {
|
|
7880
7884
|
let codec = track.levelCodec || track.codec;
|
7881
7885
|
if (codec) {
|
7882
7886
|
if (trackName.slice(0, 5) === 'audio') {
|
7883
|
-
codec = getCodecCompatibleName(codec, this.
|
7887
|
+
codec = getCodecCompatibleName(codec, this.appendSource);
|
7884
7888
|
}
|
7885
7889
|
}
|
7886
7890
|
const mimeType = `${track.container};codecs=${codec}`;
|
@@ -7892,15 +7896,17 @@ class BufferController extends Logger {
|
|
7892
7896
|
this.addBufferListener(sbName, 'updateend', this._onSBUpdateEnd);
|
7893
7897
|
this.addBufferListener(sbName, 'error', this._onSBUpdateError);
|
7894
7898
|
// ManagedSourceBuffer bufferedchange event
|
7895
|
-
this.
|
7896
|
-
|
7897
|
-
|
7898
|
-
|
7899
|
-
|
7900
|
-
|
7901
|
-
|
7902
|
-
|
7903
|
-
|
7899
|
+
if (this.appendSource) {
|
7900
|
+
this.addBufferListener(sbName, 'bufferedchange', (type, event) => {
|
7901
|
+
// If media was ejected check for a change. Added ranges are redundant with changes on 'updateend' event.
|
7902
|
+
const removedRanges = event.removedRanges;
|
7903
|
+
if (removedRanges != null && removedRanges.length) {
|
7904
|
+
this.hls.trigger(Events.BUFFER_FLUSHED, {
|
7905
|
+
type: trackName
|
7906
|
+
});
|
7907
|
+
}
|
7908
|
+
});
|
7909
|
+
}
|
7904
7910
|
this.tracks[trackName] = {
|
7905
7911
|
buffer: sb,
|
7906
7912
|
codec: codec,
|
@@ -20110,7 +20116,7 @@ class Hls {
|
|
20110
20116
|
* Get the video-dev/hls.js package version.
|
20111
20117
|
*/
|
20112
20118
|
static get version() {
|
20113
|
-
return "1.5.
|
20119
|
+
return "1.5.8-0.canary.10044";
|
20114
20120
|
}
|
20115
20121
|
|
20116
20122
|
/**
|