mirror of
https://github.com/DanielnetoDotCom/YouPHPTube
synced 2025-10-04 02:09:22 +02:00
also npm update
This commit is contained in:
parent
b6d47e94c8
commit
65f15c7e46
2882 changed files with 382239 additions and 10785 deletions
36
node_modules/hls.js/dist/hls.js
generated
vendored
36
node_modules/hls.js/dist/hls.js
generated
vendored
|
@ -539,7 +539,7 @@
|
|||
// Some browsers don't allow to use bind on console object anyway
|
||||
// fallback to default if needed
|
||||
try {
|
||||
exportedLogger.log("Debug logs enabled for \"" + id + "\" in hls.js version " + "1.4.10");
|
||||
exportedLogger.log("Debug logs enabled for \"" + id + "\" in hls.js version " + "1.4.12");
|
||||
} catch (e) {
|
||||
exportedLogger = fakeLogger;
|
||||
}
|
||||
|
@ -1131,7 +1131,7 @@
|
|||
}
|
||||
var partSnDiff = this.lastPartSn - previous.lastPartSn;
|
||||
var partIndexDiff = this.lastPartIndex - previous.lastPartIndex;
|
||||
this.updated = this.endSN !== previous.endSN || !!partIndexDiff || !!partSnDiff;
|
||||
this.updated = this.endSN !== previous.endSN || !!partIndexDiff || !!partSnDiff || !this.live;
|
||||
this.advanced = this.endSN > previous.endSN || partSnDiff > 0 || partSnDiff === 0 && partIndexDiff > 0;
|
||||
if (this.updated || this.advanced) {
|
||||
this.misses = Math.floor(previous.misses * 0.6);
|
||||
|
@ -6062,7 +6062,7 @@
|
|||
if (details.live || previousDetails != null && previousDetails.live) {
|
||||
details.reloaded(previousDetails);
|
||||
if (previousDetails) {
|
||||
this.log("live playlist " + index + " " + (details.advanced ? 'REFRESHED ' + details.lastPartSn + '-' + details.lastPartIndex : 'MISSED'));
|
||||
this.log("live playlist " + index + " " + (details.advanced ? 'REFRESHED ' + details.lastPartSn + '-' + details.lastPartIndex : details.updated ? 'UPDATED' : 'MISSED'));
|
||||
}
|
||||
// Merge live playlists to adjust fragment starts and fill in delta playlist skipped segments
|
||||
if (previousDetails && details.fragments.length > 0) {
|
||||
|
@ -6117,7 +6117,7 @@
|
|||
this.loadPlaylist(deliveryDirectives);
|
||||
return;
|
||||
}
|
||||
} else if (details.canBlockReload) {
|
||||
} else if (details.canBlockReload || details.canSkipUntil) {
|
||||
deliveryDirectives = this.getDeliveryDirectives(details, data.deliveryDirectives, msn, part);
|
||||
}
|
||||
var bufferInfo = this.hls.mainForwardBufferInfo;
|
||||
|
@ -6879,7 +6879,8 @@
|
|||
fragmentEntity.loaded = null;
|
||||
if (Object.keys(fragmentEntity.range).length) {
|
||||
fragmentEntity.buffered = true;
|
||||
if (fragmentEntity.body.endList) {
|
||||
var endList = fragmentEntity.body.endList = frag.endList || fragmentEntity.body.endList;
|
||||
if (endList) {
|
||||
this.endListFragments[fragmentEntity.body.type] = fragmentEntity;
|
||||
}
|
||||
if (!isPartial(fragmentEntity)) {
|
||||
|
@ -8911,6 +8912,21 @@
|
|||
}
|
||||
}
|
||||
};
|
||||
_proto.checkLiveUpdate = function checkLiveUpdate(details) {
|
||||
if (details.updated && !details.live) {
|
||||
// Live stream ended, update fragment tracker
|
||||
var lastFragment = details.fragments[details.fragments.length - 1];
|
||||
this.fragmentTracker.detectPartialFragments({
|
||||
frag: lastFragment,
|
||||
part: null,
|
||||
stats: lastFragment.stats,
|
||||
id: lastFragment.type
|
||||
});
|
||||
}
|
||||
if (!details.fragments[0]) {
|
||||
details.deltaUpdateFailed = true;
|
||||
}
|
||||
};
|
||||
_proto.flushMainBuffer = function flushMainBuffer(startOffset, endOffset, type) {
|
||||
if (type === void 0) {
|
||||
type = null;
|
||||
|
@ -15842,9 +15858,7 @@
|
|||
}
|
||||
var sliding = 0;
|
||||
if (newDetails.live || (_curLevel$details = curLevel.details) != null && _curLevel$details.live) {
|
||||
if (!newDetails.fragments[0]) {
|
||||
newDetails.deltaUpdateFailed = true;
|
||||
}
|
||||
this.checkLiveUpdate(newDetails);
|
||||
if (newDetails.deltaUpdateFailed) {
|
||||
return;
|
||||
}
|
||||
|
@ -17415,10 +17429,8 @@
|
|||
var track = levels[trackId];
|
||||
var sliding = 0;
|
||||
if (newDetails.live || (_track$details = track.details) != null && _track$details.live) {
|
||||
this.checkLiveUpdate(newDetails);
|
||||
var mainDetails = this.mainDetails;
|
||||
if (!newDetails.fragments[0]) {
|
||||
newDetails.deltaUpdateFailed = true;
|
||||
}
|
||||
if (newDetails.deltaUpdateFailed || !mainDetails) {
|
||||
return;
|
||||
}
|
||||
|
@ -26317,7 +26329,7 @@
|
|||
* Get the video-dev/hls.js package version.
|
||||
*/
|
||||
function get() {
|
||||
return "1.4.10";
|
||||
return "1.4.12";
|
||||
}
|
||||
}, {
|
||||
key: "Events",
|
||||
|
|
1
node_modules/hls.js/dist/hls.js.d.ts
generated
vendored
1
node_modules/hls.js/dist/hls.js.d.ts
generated
vendored
|
@ -237,6 +237,7 @@ export declare class BaseStreamController extends TaskLoop implements NetworkCom
|
|||
protected loadFragment(frag: Fragment, level: Level, targetBufferTime: number): void;
|
||||
private _loadFragForPlayback;
|
||||
protected clearTrackerIfNeeded(frag: Fragment): void;
|
||||
protected checkLiveUpdate(details: LevelDetails): void;
|
||||
protected flushMainBuffer(startOffset: number, endOffset: number, type?: SourceBufferName | null): void;
|
||||
protected _loadInitSegment(frag: Fragment, level: Level): void;
|
||||
protected fragContextChanged(frag: Fragment | null): boolean;
|
||||
|
|
2
node_modules/hls.js/dist/hls.js.map
generated
vendored
2
node_modules/hls.js/dist/hls.js.map
generated
vendored
File diff suppressed because one or more lines are too long
32
node_modules/hls.js/dist/hls.light.js
generated
vendored
32
node_modules/hls.js/dist/hls.light.js
generated
vendored
|
@ -508,7 +508,7 @@
|
|||
// Some browsers don't allow to use bind on console object anyway
|
||||
// fallback to default if needed
|
||||
try {
|
||||
exportedLogger.log("Debug logs enabled for \"" + id + "\" in hls.js version " + "1.4.10");
|
||||
exportedLogger.log("Debug logs enabled for \"" + id + "\" in hls.js version " + "1.4.12");
|
||||
} catch (e) {
|
||||
exportedLogger = fakeLogger;
|
||||
}
|
||||
|
@ -1100,7 +1100,7 @@
|
|||
}
|
||||
var partSnDiff = this.lastPartSn - previous.lastPartSn;
|
||||
var partIndexDiff = this.lastPartIndex - previous.lastPartIndex;
|
||||
this.updated = this.endSN !== previous.endSN || !!partIndexDiff || !!partSnDiff;
|
||||
this.updated = this.endSN !== previous.endSN || !!partIndexDiff || !!partSnDiff || !this.live;
|
||||
this.advanced = this.endSN > previous.endSN || partSnDiff > 0 || partSnDiff === 0 && partIndexDiff > 0;
|
||||
if (this.updated || this.advanced) {
|
||||
this.misses = Math.floor(previous.misses * 0.6);
|
||||
|
@ -5549,7 +5549,7 @@
|
|||
if (details.live || previousDetails != null && previousDetails.live) {
|
||||
details.reloaded(previousDetails);
|
||||
if (previousDetails) {
|
||||
this.log("live playlist " + index + " " + (details.advanced ? 'REFRESHED ' + details.lastPartSn + '-' + details.lastPartIndex : 'MISSED'));
|
||||
this.log("live playlist " + index + " " + (details.advanced ? 'REFRESHED ' + details.lastPartSn + '-' + details.lastPartIndex : details.updated ? 'UPDATED' : 'MISSED'));
|
||||
}
|
||||
// Merge live playlists to adjust fragment starts and fill in delta playlist skipped segments
|
||||
if (previousDetails && details.fragments.length > 0) {
|
||||
|
@ -5604,7 +5604,7 @@
|
|||
this.loadPlaylist(deliveryDirectives);
|
||||
return;
|
||||
}
|
||||
} else if (details.canBlockReload) {
|
||||
} else if (details.canBlockReload || details.canSkipUntil) {
|
||||
deliveryDirectives = this.getDeliveryDirectives(details, data.deliveryDirectives, msn, part);
|
||||
}
|
||||
var bufferInfo = this.hls.mainForwardBufferInfo;
|
||||
|
@ -6366,7 +6366,8 @@
|
|||
fragmentEntity.loaded = null;
|
||||
if (Object.keys(fragmentEntity.range).length) {
|
||||
fragmentEntity.buffered = true;
|
||||
if (fragmentEntity.body.endList) {
|
||||
var endList = fragmentEntity.body.endList = frag.endList || fragmentEntity.body.endList;
|
||||
if (endList) {
|
||||
this.endListFragments[fragmentEntity.body.type] = fragmentEntity;
|
||||
}
|
||||
if (!isPartial(fragmentEntity)) {
|
||||
|
@ -8360,6 +8361,21 @@
|
|||
}
|
||||
}
|
||||
};
|
||||
_proto.checkLiveUpdate = function checkLiveUpdate(details) {
|
||||
if (details.updated && !details.live) {
|
||||
// Live stream ended, update fragment tracker
|
||||
var lastFragment = details.fragments[details.fragments.length - 1];
|
||||
this.fragmentTracker.detectPartialFragments({
|
||||
frag: lastFragment,
|
||||
part: null,
|
||||
stats: lastFragment.stats,
|
||||
id: lastFragment.type
|
||||
});
|
||||
}
|
||||
if (!details.fragments[0]) {
|
||||
details.deltaUpdateFailed = true;
|
||||
}
|
||||
};
|
||||
_proto.flushMainBuffer = function flushMainBuffer(startOffset, endOffset, type) {
|
||||
if (type === void 0) {
|
||||
type = null;
|
||||
|
@ -15276,9 +15292,7 @@
|
|||
}
|
||||
var sliding = 0;
|
||||
if (newDetails.live || (_curLevel$details = curLevel.details) != null && _curLevel$details.live) {
|
||||
if (!newDetails.fragments[0]) {
|
||||
newDetails.deltaUpdateFailed = true;
|
||||
}
|
||||
this.checkLiveUpdate(newDetails);
|
||||
if (newDetails.deltaUpdateFailed) {
|
||||
return;
|
||||
}
|
||||
|
@ -19284,7 +19298,7 @@
|
|||
* Get the video-dev/hls.js package version.
|
||||
*/
|
||||
function get() {
|
||||
return "1.4.10";
|
||||
return "1.4.12";
|
||||
}
|
||||
}, {
|
||||
key: "Events",
|
||||
|
|
2
node_modules/hls.js/dist/hls.light.js.map
generated
vendored
2
node_modules/hls.js/dist/hls.light.js.map
generated
vendored
File diff suppressed because one or more lines are too long
2
node_modules/hls.js/dist/hls.light.min.js
generated
vendored
2
node_modules/hls.js/dist/hls.light.min.js
generated
vendored
File diff suppressed because one or more lines are too long
2
node_modules/hls.js/dist/hls.light.min.js.map
generated
vendored
2
node_modules/hls.js/dist/hls.light.min.js.map
generated
vendored
File diff suppressed because one or more lines are too long
32
node_modules/hls.js/dist/hls.light.mjs
generated
vendored
32
node_modules/hls.js/dist/hls.light.mjs
generated
vendored
|
@ -402,7 +402,7 @@ function enableLogs(debugConfig, id) {
|
|||
// Some browsers don't allow to use bind on console object anyway
|
||||
// fallback to default if needed
|
||||
try {
|
||||
exportedLogger.log(`Debug logs enabled for "${id}" in hls.js version ${"1.4.10"}`);
|
||||
exportedLogger.log(`Debug logs enabled for "${id}" in hls.js version ${"1.4.12"}`);
|
||||
} catch (e) {
|
||||
exportedLogger = fakeLogger;
|
||||
}
|
||||
|
@ -927,7 +927,7 @@ class LevelDetails {
|
|||
}
|
||||
const partSnDiff = this.lastPartSn - previous.lastPartSn;
|
||||
const partIndexDiff = this.lastPartIndex - previous.lastPartIndex;
|
||||
this.updated = this.endSN !== previous.endSN || !!partIndexDiff || !!partSnDiff;
|
||||
this.updated = this.endSN !== previous.endSN || !!partIndexDiff || !!partSnDiff || !this.live;
|
||||
this.advanced = this.endSN > previous.endSN || partSnDiff > 0 || partSnDiff === 0 && partIndexDiff > 0;
|
||||
if (this.updated || this.advanced) {
|
||||
this.misses = Math.floor(previous.misses * 0.6);
|
||||
|
@ -5306,7 +5306,7 @@ class BasePlaylistController {
|
|||
if (details.live || previousDetails != null && previousDetails.live) {
|
||||
details.reloaded(previousDetails);
|
||||
if (previousDetails) {
|
||||
this.log(`live playlist ${index} ${details.advanced ? 'REFRESHED ' + details.lastPartSn + '-' + details.lastPartIndex : 'MISSED'}`);
|
||||
this.log(`live playlist ${index} ${details.advanced ? 'REFRESHED ' + details.lastPartSn + '-' + details.lastPartIndex : details.updated ? 'UPDATED' : 'MISSED'}`);
|
||||
}
|
||||
// Merge live playlists to adjust fragment starts and fill in delta playlist skipped segments
|
||||
if (previousDetails && details.fragments.length > 0) {
|
||||
|
@ -5361,7 +5361,7 @@ class BasePlaylistController {
|
|||
this.loadPlaylist(deliveryDirectives);
|
||||
return;
|
||||
}
|
||||
} else if (details.canBlockReload) {
|
||||
} else if (details.canBlockReload || details.canSkipUntil) {
|
||||
deliveryDirectives = this.getDeliveryDirectives(details, data.deliveryDirectives, msn, part);
|
||||
}
|
||||
const bufferInfo = this.hls.mainForwardBufferInfo;
|
||||
|
@ -6107,7 +6107,8 @@ class FragmentTracker {
|
|||
fragmentEntity.loaded = null;
|
||||
if (Object.keys(fragmentEntity.range).length) {
|
||||
fragmentEntity.buffered = true;
|
||||
if (fragmentEntity.body.endList) {
|
||||
const endList = fragmentEntity.body.endList = frag.endList || fragmentEntity.body.endList;
|
||||
if (endList) {
|
||||
this.endListFragments[fragmentEntity.body.type] = fragmentEntity;
|
||||
}
|
||||
if (!isPartial(fragmentEntity)) {
|
||||
|
@ -8057,6 +8058,21 @@ class BaseStreamController extends TaskLoop {
|
|||
}
|
||||
}
|
||||
}
|
||||
checkLiveUpdate(details) {
|
||||
if (details.updated && !details.live) {
|
||||
// Live stream ended, update fragment tracker
|
||||
const lastFragment = details.fragments[details.fragments.length - 1];
|
||||
this.fragmentTracker.detectPartialFragments({
|
||||
frag: lastFragment,
|
||||
part: null,
|
||||
stats: lastFragment.stats,
|
||||
id: lastFragment.type
|
||||
});
|
||||
}
|
||||
if (!details.fragments[0]) {
|
||||
details.deltaUpdateFailed = true;
|
||||
}
|
||||
}
|
||||
flushMainBuffer(startOffset, endOffset, type = null) {
|
||||
if (!(startOffset - endOffset)) {
|
||||
return;
|
||||
|
@ -14842,9 +14858,7 @@ class StreamController extends BaseStreamController {
|
|||
}
|
||||
let sliding = 0;
|
||||
if (newDetails.live || (_curLevel$details = curLevel.details) != null && _curLevel$details.live) {
|
||||
if (!newDetails.fragments[0]) {
|
||||
newDetails.deltaUpdateFailed = true;
|
||||
}
|
||||
this.checkLiveUpdate(newDetails);
|
||||
if (newDetails.deltaUpdateFailed) {
|
||||
return;
|
||||
}
|
||||
|
@ -18133,7 +18147,7 @@ class Hls {
|
|||
* Get the video-dev/hls.js package version.
|
||||
*/
|
||||
static get version() {
|
||||
return "1.4.10";
|
||||
return "1.4.12";
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
2
node_modules/hls.js/dist/hls.light.mjs.map
generated
vendored
2
node_modules/hls.js/dist/hls.light.mjs.map
generated
vendored
File diff suppressed because one or more lines are too long
2
node_modules/hls.js/dist/hls.min.js
generated
vendored
2
node_modules/hls.js/dist/hls.min.js
generated
vendored
File diff suppressed because one or more lines are too long
2
node_modules/hls.js/dist/hls.min.js.map
generated
vendored
2
node_modules/hls.js/dist/hls.min.js.map
generated
vendored
File diff suppressed because one or more lines are too long
36
node_modules/hls.js/dist/hls.mjs
generated
vendored
36
node_modules/hls.js/dist/hls.mjs
generated
vendored
|
@ -402,7 +402,7 @@ function enableLogs(debugConfig, id) {
|
|||
// Some browsers don't allow to use bind on console object anyway
|
||||
// fallback to default if needed
|
||||
try {
|
||||
exportedLogger.log(`Debug logs enabled for "${id}" in hls.js version ${"1.4.10"}`);
|
||||
exportedLogger.log(`Debug logs enabled for "${id}" in hls.js version ${"1.4.12"}`);
|
||||
} catch (e) {
|
||||
exportedLogger = fakeLogger;
|
||||
}
|
||||
|
@ -927,7 +927,7 @@ class LevelDetails {
|
|||
}
|
||||
const partSnDiff = this.lastPartSn - previous.lastPartSn;
|
||||
const partIndexDiff = this.lastPartIndex - previous.lastPartIndex;
|
||||
this.updated = this.endSN !== previous.endSN || !!partIndexDiff || !!partSnDiff;
|
||||
this.updated = this.endSN !== previous.endSN || !!partIndexDiff || !!partSnDiff || !this.live;
|
||||
this.advanced = this.endSN > previous.endSN || partSnDiff > 0 || partSnDiff === 0 && partIndexDiff > 0;
|
||||
if (this.updated || this.advanced) {
|
||||
this.misses = Math.floor(previous.misses * 0.6);
|
||||
|
@ -5777,7 +5777,7 @@ class BasePlaylistController {
|
|||
if (details.live || previousDetails != null && previousDetails.live) {
|
||||
details.reloaded(previousDetails);
|
||||
if (previousDetails) {
|
||||
this.log(`live playlist ${index} ${details.advanced ? 'REFRESHED ' + details.lastPartSn + '-' + details.lastPartIndex : 'MISSED'}`);
|
||||
this.log(`live playlist ${index} ${details.advanced ? 'REFRESHED ' + details.lastPartSn + '-' + details.lastPartIndex : details.updated ? 'UPDATED' : 'MISSED'}`);
|
||||
}
|
||||
// Merge live playlists to adjust fragment starts and fill in delta playlist skipped segments
|
||||
if (previousDetails && details.fragments.length > 0) {
|
||||
|
@ -5832,7 +5832,7 @@ class BasePlaylistController {
|
|||
this.loadPlaylist(deliveryDirectives);
|
||||
return;
|
||||
}
|
||||
} else if (details.canBlockReload) {
|
||||
} else if (details.canBlockReload || details.canSkipUntil) {
|
||||
deliveryDirectives = this.getDeliveryDirectives(details, data.deliveryDirectives, msn, part);
|
||||
}
|
||||
const bufferInfo = this.hls.mainForwardBufferInfo;
|
||||
|
@ -6578,7 +6578,8 @@ class FragmentTracker {
|
|||
fragmentEntity.loaded = null;
|
||||
if (Object.keys(fragmentEntity.range).length) {
|
||||
fragmentEntity.buffered = true;
|
||||
if (fragmentEntity.body.endList) {
|
||||
const endList = fragmentEntity.body.endList = frag.endList || fragmentEntity.body.endList;
|
||||
if (endList) {
|
||||
this.endListFragments[fragmentEntity.body.type] = fragmentEntity;
|
||||
}
|
||||
if (!isPartial(fragmentEntity)) {
|
||||
|
@ -8566,6 +8567,21 @@ class BaseStreamController extends TaskLoop {
|
|||
}
|
||||
}
|
||||
}
|
||||
checkLiveUpdate(details) {
|
||||
if (details.updated && !details.live) {
|
||||
// Live stream ended, update fragment tracker
|
||||
const lastFragment = details.fragments[details.fragments.length - 1];
|
||||
this.fragmentTracker.detectPartialFragments({
|
||||
frag: lastFragment,
|
||||
part: null,
|
||||
stats: lastFragment.stats,
|
||||
id: lastFragment.type
|
||||
});
|
||||
}
|
||||
if (!details.fragments[0]) {
|
||||
details.deltaUpdateFailed = true;
|
||||
}
|
||||
}
|
||||
flushMainBuffer(startOffset, endOffset, type = null) {
|
||||
if (!(startOffset - endOffset)) {
|
||||
return;
|
||||
|
@ -15357,9 +15373,7 @@ class StreamController extends BaseStreamController {
|
|||
}
|
||||
let sliding = 0;
|
||||
if (newDetails.live || (_curLevel$details = curLevel.details) != null && _curLevel$details.live) {
|
||||
if (!newDetails.fragments[0]) {
|
||||
newDetails.deltaUpdateFailed = true;
|
||||
}
|
||||
this.checkLiveUpdate(newDetails);
|
||||
if (newDetails.deltaUpdateFailed) {
|
||||
return;
|
||||
}
|
||||
|
@ -16971,10 +16985,8 @@ class AudioStreamController extends BaseStreamController {
|
|||
const track = levels[trackId];
|
||||
let sliding = 0;
|
||||
if (newDetails.live || (_track$details = track.details) != null && _track$details.live) {
|
||||
this.checkLiveUpdate(newDetails);
|
||||
const mainDetails = this.mainDetails;
|
||||
if (!newDetails.fragments[0]) {
|
||||
newDetails.deltaUpdateFailed = true;
|
||||
}
|
||||
if (newDetails.deltaUpdateFailed || !mainDetails) {
|
||||
return;
|
||||
}
|
||||
|
@ -25051,7 +25063,7 @@ class Hls {
|
|||
* Get the video-dev/hls.js package version.
|
||||
*/
|
||||
static get version() {
|
||||
return "1.4.10";
|
||||
return "1.4.12";
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
2
node_modules/hls.js/dist/hls.mjs.map
generated
vendored
2
node_modules/hls.js/dist/hls.mjs.map
generated
vendored
File diff suppressed because one or more lines are too long
2
node_modules/hls.js/dist/hls.worker.js
generated
vendored
2
node_modules/hls.js/dist/hls.worker.js
generated
vendored
File diff suppressed because one or more lines are too long
2
node_modules/hls.js/package.json
generated
vendored
2
node_modules/hls.js/package.json
generated
vendored
|
@ -129,5 +129,5 @@
|
|||
"url-toolkit": "2.2.5",
|
||||
"wrangler": "2.20.0"
|
||||
},
|
||||
"version": "1.4.10"
|
||||
"version": "1.4.12"
|
||||
}
|
||||
|
|
4
node_modules/hls.js/src/controller/audio-stream-controller.ts
generated
vendored
4
node_modules/hls.js/src/controller/audio-stream-controller.ts
generated
vendored
|
@ -505,10 +505,8 @@ class AudioStreamController
|
|||
const track = levels[trackId];
|
||||
let sliding = 0;
|
||||
if (newDetails.live || track.details?.live) {
|
||||
this.checkLiveUpdate(newDetails);
|
||||
const mainDetails = this.mainDetails;
|
||||
if (!newDetails.fragments[0]) {
|
||||
newDetails.deltaUpdateFailed = true;
|
||||
}
|
||||
if (newDetails.deltaUpdateFailed || !mainDetails) {
|
||||
return;
|
||||
}
|
||||
|
|
4
node_modules/hls.js/src/controller/base-playlist-controller.ts
generated
vendored
4
node_modules/hls.js/src/controller/base-playlist-controller.ts
generated
vendored
|
@ -149,6 +149,8 @@ export default class BasePlaylistController implements NetworkComponentAPI {
|
|||
`live playlist ${index} ${
|
||||
details.advanced
|
||||
? 'REFRESHED ' + details.lastPartSn + '-' + details.lastPartIndex
|
||||
: details.updated
|
||||
? 'UPDATED'
|
||||
: 'MISSED'
|
||||
}`
|
||||
);
|
||||
|
@ -224,7 +226,7 @@ export default class BasePlaylistController implements NetworkComponentAPI {
|
|||
this.loadPlaylist(deliveryDirectives);
|
||||
return;
|
||||
}
|
||||
} else if (details.canBlockReload) {
|
||||
} else if (details.canBlockReload || details.canSkipUntil) {
|
||||
deliveryDirectives = this.getDeliveryDirectives(
|
||||
details,
|
||||
data.deliveryDirectives,
|
||||
|
|
16
node_modules/hls.js/src/controller/base-stream-controller.ts
generated
vendored
16
node_modules/hls.js/src/controller/base-stream-controller.ts
generated
vendored
|
@ -433,6 +433,22 @@ export default class BaseStreamController
|
|||
}
|
||||
}
|
||||
|
||||
protected checkLiveUpdate(details: LevelDetails) {
|
||||
if (details.updated && !details.live) {
|
||||
// Live stream ended, update fragment tracker
|
||||
const lastFragment = details.fragments[details.fragments.length - 1];
|
||||
this.fragmentTracker.detectPartialFragments({
|
||||
frag: lastFragment,
|
||||
part: null,
|
||||
stats: lastFragment.stats,
|
||||
id: lastFragment.type,
|
||||
});
|
||||
}
|
||||
if (!details.fragments[0]) {
|
||||
details.deltaUpdateFailed = true;
|
||||
}
|
||||
}
|
||||
|
||||
protected flushMainBuffer(
|
||||
startOffset: number,
|
||||
endOffset: number,
|
||||
|
|
4
node_modules/hls.js/src/controller/fragment-tracker.ts
generated
vendored
4
node_modules/hls.js/src/controller/fragment-tracker.ts
generated
vendored
|
@ -206,7 +206,9 @@ export class FragmentTracker implements ComponentAPI {
|
|||
fragmentEntity.loaded = null;
|
||||
if (Object.keys(fragmentEntity.range).length) {
|
||||
fragmentEntity.buffered = true;
|
||||
if (fragmentEntity.body.endList) {
|
||||
const endList = (fragmentEntity.body.endList =
|
||||
frag.endList || fragmentEntity.body.endList);
|
||||
if (endList) {
|
||||
this.endListFragments[fragmentEntity.body.type] = fragmentEntity;
|
||||
}
|
||||
if (!isPartial(fragmentEntity)) {
|
||||
|
|
4
node_modules/hls.js/src/controller/stream-controller.ts
generated
vendored
4
node_modules/hls.js/src/controller/stream-controller.ts
generated
vendored
|
@ -657,9 +657,7 @@ export default class StreamController
|
|||
|
||||
let sliding = 0;
|
||||
if (newDetails.live || curLevel.details?.live) {
|
||||
if (!newDetails.fragments[0]) {
|
||||
newDetails.deltaUpdateFailed = true;
|
||||
}
|
||||
this.checkLiveUpdate(newDetails);
|
||||
if (newDetails.deltaUpdateFailed) {
|
||||
return;
|
||||
}
|
||||
|
|
5
node_modules/hls.js/src/loader/level-details.ts
generated
vendored
5
node_modules/hls.js/src/loader/level-details.ts
generated
vendored
|
@ -72,7 +72,10 @@ export class LevelDetails {
|
|||
const partSnDiff = this.lastPartSn - previous.lastPartSn;
|
||||
const partIndexDiff = this.lastPartIndex - previous.lastPartIndex;
|
||||
this.updated =
|
||||
this.endSN !== previous.endSN || !!partIndexDiff || !!partSnDiff;
|
||||
this.endSN !== previous.endSN ||
|
||||
!!partIndexDiff ||
|
||||
!!partSnDiff ||
|
||||
!this.live;
|
||||
this.advanced =
|
||||
this.endSN > previous.endSN ||
|
||||
partSnDiff > 0 ||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue