1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

update components

This commit is contained in:
Luke Pulverenti 2016-02-03 18:00:01 -05:00
parent 59ea1c2f7d
commit cf577ba8eb
1136 changed files with 59263 additions and 576 deletions

View file

@ -54,13 +54,14 @@ class MSEMediaController extends EventHandler {
}
startLoad() {
if (this.levels && this.media) {
if (this.levels) {
this.startInternal();
if (this.lastCurrentTime) {
logger.log(`seeking @ ${this.lastCurrentTime}`);
var media = this.media, lastCurrentTime = this.lastCurrentTime;
if (media && lastCurrentTime) {
logger.log(`seeking @ ${lastCurrentTime}`);
if (!this.lastPaused) {
logger.log('resuming video');
this.media.play();
media.play();
}
this.state = State.IDLE;
} else {
@ -70,7 +71,7 @@ class MSEMediaController extends EventHandler {
this.nextLoadPosition = this.startPosition = this.lastCurrentTime;
this.tick();
} else {
logger.warn('cannot start loading as either manifest not parsed or video not attached');
logger.warn('cannot start loading as manifest not parsed yet');
}
}
@ -666,7 +667,7 @@ class MSEMediaController extends EventHandler {
to avoid rounding issues/infinite loop,
only flush buffer range of length greater than 500ms.
*/
if (flushEnd - flushStart > 0.5) {
if (Math.min(flushEnd,bufEnd) - flushStart > 0.5) {
logger.log(`flush ${type} [${flushStart},${flushEnd}], of [${bufStart},${bufEnd}], pos:${this.media.currentTime}`);
sb.remove(flushStart, flushEnd);
return false;
@ -679,6 +680,8 @@ class MSEMediaController extends EventHandler {
return false;
}
}
} else {
logger.warn('abort flushing too many retries');
}
/* after successful buffer flushing, rebuild buffer Range array
@ -1221,7 +1224,7 @@ _checkBuffer() {
jumpThreshold = 0;
} else {
// playhead not moving AND media playing
logger.log('playback seems stuck');
logger.log(`playback seems stuck @${currentTime}`);
if(!this.stalled) {
this.hls.trigger(Event.ERROR, {type: ErrorTypes.MEDIA_ERROR, details: ErrorDetails.BUFFER_STALLED_ERROR, fatal: false});
this.stalled = true;