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

Add config option to include cookies in player requests

This commit is contained in:
Bill Thornton 2020-11-30 14:38:03 -05:00
parent 804077263c
commit efc43b42b8
4 changed files with 32 additions and 10 deletions

View file

@ -3,6 +3,7 @@ import browser from '../../scripts/browser';
import { appHost } from '../../components/apphost';
import * as htmlMediaHelper from '../../components/htmlMediaHelper';
import profileBuilder from '../../scripts/browserDeviceProfile';
import { getIncludeCorsCredentials } from '../../scripts/settings/webSettings';
function getDefaultProfile() {
return profileBuilder({});
@ -129,11 +130,13 @@ class HtmlAudioPlayer {
return enableHlsPlayer(val, options.item, options.mediaSource, 'Audio').then(function () {
return new Promise(function (resolve, reject) {
requireHlsPlayer(function () {
requireHlsPlayer(async () => {
const includeCorsCredentials = await getIncludeCorsCredentials();
const hls = new Hls({
manifestLoadingTimeOut: 20000,
xhrSetup: function (xhr, url) {
xhr.withCredentials = true;
xhr.withCredentials = includeCorsCredentials;
}
});
hls.loadSource(val);
@ -146,11 +149,14 @@ class HtmlAudioPlayer {
self._currentSrc = val;
});
});
}, function () {
}, async () => {
elem.autoplay = true;
// Safari will not send cookies without this
elem.crossOrigin = 'use-credentials';
const includeCorsCredentials = await getIncludeCorsCredentials();
if (includeCorsCredentials) {
// Safari will not send cookies without this
elem.crossOrigin = 'use-credentials';
}
return htmlMediaHelper.applySrc(elem, val, options).then(function () {
self._currentSrc = val;