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

update sync objects

This commit is contained in:
Luke Pulverenti 2016-12-10 13:40:39 -05:00
parent fc210d8ad2
commit 6cede56f93
47 changed files with 148 additions and 62 deletions

View file

@ -22,6 +22,27 @@
var self = this;
var webSocket;
var serverInfo = {};
var lastDetectedBitrate;
var lastDetectedBitrateTime;
var detectTimeout;
function redetectBitrate() {
stopBitrateDetection();
if (self.accessToken() && self.enableAutomaticBitrateDetection !== false) {
setTimeout(redetectBitrateInternal, 6000);
}
}
function redetectBitrateInternal() {
self.detectBitrate();
}
function stopBitrateDetection() {
if (detectTimeout) {
clearTimeout(detectTimeout);
}
}
/**
* Gets the server address.
@ -38,9 +59,14 @@
serverAddress = val;
lastDetectedBitrate = 0;
lastDetectedBitrateTime = 0;
if (changed) {
events.trigger(this, 'serveraddresschanged');
}
redetectBitrate();
}
return serverAddress;
@ -128,6 +154,7 @@
serverInfo.AccessToken = accessKey;
serverInfo.UserId = userId;
redetectBitrate();
};
self.encodeName = function (name) {
@ -672,10 +699,20 @@
function normalizeReturnBitrate(bitrate) {
if (!bitrate) {
if (lastDetectedBitrate) {
return lastDetectedBitrate;
}
return Promise.reject();
}
return Math.round(bitrate * 0.8);
var result = Math.round(bitrate * 0.8);
lastDetectedBitrate = result;
lastDetectedBitrateTime = new Date().getTime();
return result;
}
function detectBitrateInternal(tests, index, currentBitrate) {
@ -685,7 +722,7 @@
return normalizeReturnBitrate(currentBitrate);
}
var test = tests[0];
var test = tests[index];
return self.getDownloadSpeed(test.bytes).then(function (bitrate) {
@ -703,6 +740,10 @@
self.detectBitrate = function () {
if (lastDetectedBitrate && (new Date().getTime() - (lastDetectedBitrateTime || 0)) <= 3600000) {
return Promise.resolve(lastDetectedBitrate);
}
return detectBitrateInternal([
{
bytes: 100000,
@ -798,6 +839,7 @@
self.logout = function () {
stopBitrateDetection();
self.closeWebSocket();
var done = function () {
@ -2591,6 +2633,8 @@
self.onAuthenticated(self, result);
}
redetectBitrate();
resolve(result);
}, reject);
@ -3341,6 +3385,8 @@
throw new Error("null options");
}
stopBitrateDetection();
var url = self.getUrl("Sessions/Playing");
return self.ajax({
@ -3469,6 +3515,8 @@
throw new Error("null options");
}
redetectBitrate();
var url = self.getUrl("Sessions/Playing/Stopped");
return self.ajax({