mirror of
https://github.com/jellyfin/jellyfin-web.git
synced 2024-11-17 02:48:19 -07:00
fix the BufferFullError on chromium based browsers
This commit is contained in:
parent
e56414ebe8
commit
b7d02c3990
@ -383,8 +383,22 @@ function tryRemoveElement(elem) {
|
||||
setSrcWithHlsJs(elem, options, url) {
|
||||
return new Promise((resolve, reject) => {
|
||||
requireHlsPlayer(() => {
|
||||
let maxBufferLength = 30;
|
||||
let maxMaxBufferLength = 600;
|
||||
|
||||
// chromium based browsers cannot handle huge fragments in high bitrate.
|
||||
// This issue usually happens when using HWA encoders with a high bitrate setting.
|
||||
// Limit the BufferLength to 6s, it works fine when playing 4k 120Mbps over HLS on chrome.
|
||||
// https://github.com/video-dev/hls.js/issues/876
|
||||
if ((browser.chrome || browser.edgeChromium) && playbackManager.getMaxStreamingBitrate(this) >= 25000000) {
|
||||
maxBufferLength = 6;
|
||||
maxMaxBufferLength = 6;
|
||||
}
|
||||
|
||||
const hls = new Hls({
|
||||
manifestLoadingTimeOut: 20000
|
||||
manifestLoadingTimeOut: 20000,
|
||||
maxBufferLength: maxBufferLength,
|
||||
maxMaxBufferLength: maxMaxBufferLength
|
||||
});
|
||||
hls.loadSource(url);
|
||||
hls.attachMedia(elem);
|
||||
|
Loading…
Reference in New Issue
Block a user