mirror of
https://github.com/DanielnetoDotCom/YouPHPTube
synced 2025-10-05 10:49:36 +02:00
Update node modules
This commit is contained in:
parent
d429e6f7d8
commit
c05a371397
1993 changed files with 9729 additions and 44041 deletions
38
node_modules/@videojs/http-streaming/src/playlist-controller.js
generated
vendored
38
node_modules/@videojs/http-streaming/src/playlist-controller.js
generated
vendored
|
@ -165,7 +165,8 @@ export class PlaylistController extends videojs.EventTarget {
|
|||
cacheEncryptionKeys,
|
||||
bufferBasedABR,
|
||||
leastPixelDiffSelector,
|
||||
captionServices
|
||||
captionServices,
|
||||
experimentalUseMMS
|
||||
} = options;
|
||||
|
||||
if (!src) {
|
||||
|
@ -210,7 +211,14 @@ export class PlaylistController extends videojs.EventTarget {
|
|||
|
||||
this.mediaTypes_ = createMediaTypes();
|
||||
|
||||
this.mediaSource = new window.MediaSource();
|
||||
if (experimentalUseMMS && window.ManagedMediaSource) {
|
||||
// Airplay source not yet implemented. Remote playback must be disabled.
|
||||
this.tech_.el_.disableRemotePlayback = true;
|
||||
this.mediaSource = new window.ManagedMediaSource();
|
||||
videojs.log('Using ManagedMediaSource');
|
||||
} else if (window.MediaSource) {
|
||||
this.mediaSource = new window.MediaSource();
|
||||
}
|
||||
|
||||
this.handleDurationChange_ = this.handleDurationChange_.bind(this);
|
||||
this.handleSourceOpen_ = this.handleSourceOpen_.bind(this);
|
||||
|
@ -929,27 +937,25 @@ export class PlaylistController extends videojs.EventTarget {
|
|||
this.onEndOfStream();
|
||||
});
|
||||
|
||||
// In DASH, there is the possibility of the video segment and the audio segment
|
||||
// There is the possibility of the video segment and the audio segment
|
||||
// at a current time to be on different timelines. When this occurs, the player
|
||||
// forwards playback to a point where these two segment types are back on the same
|
||||
// timeline. This time will be just after the end of the audio segment that is on
|
||||
// a previous timeline.
|
||||
if (this.sourceType_ === 'dash') {
|
||||
this.timelineChangeController_.on('audioTimelineBehind', () => {
|
||||
const segmentInfo = this.audioSegmentLoader_.pendingSegment_;
|
||||
this.timelineChangeController_.on('audioTimelineBehind', () => {
|
||||
const segmentInfo = this.audioSegmentLoader_.pendingSegment_;
|
||||
|
||||
if (!segmentInfo || !segmentInfo.segment || !segmentInfo.segment.syncInfo) {
|
||||
return;
|
||||
}
|
||||
if (!segmentInfo || !segmentInfo.segment || !segmentInfo.segment.syncInfo) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Update the current time to just after the faulty audio segment.
|
||||
// This moves playback to a spot where both audio and video segments
|
||||
// are on the same timeline.
|
||||
const newTime = segmentInfo.segment.syncInfo.end + 0.01;
|
||||
// Update the current time to just after the faulty audio segment.
|
||||
// This moves playback to a spot where both audio and video segments
|
||||
// are on the same timeline.
|
||||
const newTime = segmentInfo.segment.syncInfo.end + 0.01;
|
||||
|
||||
this.tech_.setCurrentTime(newTime);
|
||||
});
|
||||
}
|
||||
this.tech_.setCurrentTime(newTime);
|
||||
});
|
||||
|
||||
this.mainSegmentLoader_.on('earlyabort', (event) => {
|
||||
// never try to early abort with the new ABR algorithm
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue