You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Limit buffering while paused outside live sliding window (#7788)
* Limit buffering while paused outside live sliding window and better handle QuotaExceededError
Improve flushing behavior on next and immediate switch when playhead is behind live window
Fixes#7777
* Remove buffered audio on full quality switch when playhead is behind live sliding start to keep buffered media aligned
@@ -1361,26 +1383,49 @@ export default class BaseStreamController
1361
1383
(!levelDetails.PTSKnown&&
1362
1384
!this.startFragRequested&&
1363
1385
this.startPosition===-1)||
1364
-
pos<start
1386
+
pos<playlistStart
1365
1387
){
1366
1388
if(canLoadParts&&!this.loadingParts){
1367
1389
this.log(`LL-Part loading ON for initial live fragment`);
1368
1390
this.loadingParts=true;
1369
1391
}
1370
1392
frag=this.getInitialLiveFragment(levelDetails);
1393
+
constconfigValue=this.config.startPosition;
1371
1394
constmainStart=this.hls.startPosition;
1372
1395
constliveSyncPosition=this.hls.liveSyncPosition;
1373
-
conststartPosition=frag
1374
-
? (mainStart!==-1&&mainStart>=start
1375
-
? mainStart
1376
-
: liveSyncPosition)||frag.start
1377
-
: pos;
1378
-
this.log(
1379
-
`Setting startPosition to ${startPosition} to match start frag at live edge. mainStart: ${mainStart} liveSyncPosition: ${liveSyncPosition} frag.start: ${frag?.start}`,
0 commit comments