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

hls updates

This commit is contained in:
Luke Pulverenti 2015-05-20 12:28:55 -04:00
parent bbdbdf346e
commit 9fc4c86111
19 changed files with 255 additions and 246 deletions

View file

@ -24,6 +24,7 @@
var self = this;
var apiClients = [];
var defaultTimeout = 15000;
function mergeServers(list1, list2) {
@ -73,7 +74,7 @@
url: url,
dataType: "json",
timeout: timeout || 15000
timeout: timeout || defaultTimeout
});
}
@ -100,10 +101,33 @@
return credentialProvider.credentials().ConnectAccessToken;
};
self.addApiClient = function (apiClient, enableAutomaticNetworking) {
self.getLastUsedApiClient = function() {
var servers = credentialProvider.credentials().servers;
servers.sort(function (a, b) {
return b.DateLastAccessed - a.DateLastAccessed;
});
if (!servers.length) {
return null;
}
var server = servers[0];
return getOrAddApiClient(server, server.LastConnectionMode);
};
self.addApiClient = function (apiClient) {
apiClients.push(apiClient);
Events.on(apiClient, 'authenticated', function (e, result) {
onAuthenticated(this, result, {}, true);
});
Events.trigger(self, 'apiclientcreated', [apiClient]);
return apiClient.getPublicSystemInfo().done(function (systemInfo) {
var server = credentialProvider.credentials().servers.filter(function (s) {
@ -115,13 +139,7 @@
updateServerInfo(server, systemInfo);
apiClient.serverInfo(server);
Events.trigger(self, 'apiclientcreated', [apiClient]);
if (enableAutomaticNetworking) {
self.connectToServer(server);
}
});
};
function onConnectUserSignIn(user) {
@ -151,7 +169,7 @@
Events.trigger(self, 'apiclientcreated', [apiClient]);
}
if (server.AccessToken) {
if (server.AccessToken && server.UserId) {
apiClient.setAuthenticationInfo(server.AccessToken, server.UserId);
}
@ -799,7 +817,7 @@
var address = self.getServerAddress(server, mode);
var enableRetry = false;
var skipTest = false;
var timeout = 15000;
var timeout = defaultTimeout;
if (mode == MediaBrowser.ConnectionMode.Local) {
@ -807,7 +825,7 @@
skipTest = true;
}
enableRetry = true;
timeout = 5000;
timeout = 7000;
}
else if (mode == MediaBrowser.ConnectionMode.Manual) {
@ -924,7 +942,7 @@
case MediaBrowser.ConnectionMode.Remote:
return server.RemoteAddress;
default:
throw new Error("Unexpected ConnectionMode");
return server.ManualAddress || server.LocalAddress || server.RemoteAddress;
}
};
@ -934,6 +952,10 @@
address = "http://" + address;
}
// Seeing failures in iOS when protocol isn't lowercase
address = address.replace('Http:', 'http:');
address = address.replace('Https:', 'https:');
return address;
}
@ -953,7 +975,7 @@
resolveWithFailure(deferred);
}
tryConnect(address, 15000).done(function (publicInfo) {
tryConnect(address, defaultTimeout).done(function (publicInfo) {
logger.log('connectToAddress ' + address + ' succeeded');