mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
update components
This commit is contained in:
parent
3ab597cb01
commit
c2d70081cf
15 changed files with 198 additions and 204 deletions
|
@ -30,18 +30,20 @@ class BufferController extends EventHandler {
|
|||
}
|
||||
|
||||
onMediaAttaching(data) {
|
||||
var media = this.media = data.media;
|
||||
// setup the media source
|
||||
var ms = this.mediaSource = new MediaSource();
|
||||
//Media Source listeners
|
||||
this.onmso = this.onMediaSourceOpen.bind(this);
|
||||
this.onmse = this.onMediaSourceEnded.bind(this);
|
||||
this.onmsc = this.onMediaSourceClose.bind(this);
|
||||
ms.addEventListener('sourceopen', this.onmso);
|
||||
ms.addEventListener('sourceended', this.onmse);
|
||||
ms.addEventListener('sourceclose', this.onmsc);
|
||||
// link video and media Source
|
||||
media.src = URL.createObjectURL(ms);
|
||||
let media = this.media = data.media;
|
||||
if (media) {
|
||||
// setup the media source
|
||||
var ms = this.mediaSource = new MediaSource();
|
||||
//Media Source listeners
|
||||
this.onmso = this.onMediaSourceOpen.bind(this);
|
||||
this.onmse = this.onMediaSourceEnded.bind(this);
|
||||
this.onmsc = this.onMediaSourceClose.bind(this);
|
||||
ms.addEventListener('sourceopen', this.onmso);
|
||||
ms.addEventListener('sourceended', this.onmse);
|
||||
ms.addEventListener('sourceclose', this.onmsc);
|
||||
// link video and media Source
|
||||
media.src = URL.createObjectURL(ms);
|
||||
}
|
||||
}
|
||||
|
||||
onMediaDetaching() {
|
||||
|
@ -139,22 +141,23 @@ class BufferController extends EventHandler {
|
|||
}
|
||||
|
||||
onBufferCodecs(tracks) {
|
||||
var sb,trackName,track, codec, mimeType;
|
||||
let mediaSource = this.mediaSource;
|
||||
|
||||
if (!this.media) {
|
||||
// delay sourcebuffer creation if media source not opened yet
|
||||
if(!mediaSource || mediaSource.readyState !== 'open') {
|
||||
this.pendingTracks = tracks;
|
||||
return;
|
||||
}
|
||||
|
||||
if (!this.sourceBuffer) {
|
||||
var sourceBuffer = {}, mediaSource = this.mediaSource;
|
||||
for (trackName in tracks) {
|
||||
track = tracks[trackName];
|
||||
let sourceBuffer = {};
|
||||
for (let trackName in tracks) {
|
||||
let track = tracks[trackName];
|
||||
// use levelCodec as first priority
|
||||
codec = track.levelCodec || track.codec;
|
||||
mimeType = `${track.container};codecs=${codec}`;
|
||||
let codec = track.levelCodec || track.codec;
|
||||
let mimeType = `${track.container};codecs=${codec}`;
|
||||
logger.log(`creating sourceBuffer with mimeType:${mimeType}`);
|
||||
sb = sourceBuffer[trackName] = mediaSource.addSourceBuffer(mimeType);
|
||||
let sb = sourceBuffer[trackName] = mediaSource.addSourceBuffer(mimeType);
|
||||
sb.addEventListener('updateend', this.onsbue);
|
||||
sb.addEventListener('error', this.onsbe);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue