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

support choosing optimal video version

This commit is contained in:
Luke Pulverenti 2014-03-21 00:52:46 -04:00
parent 02a810cf1e
commit 0f37c36d24
3 changed files with 33 additions and 10 deletions

View file

@ -594,7 +594,7 @@
return stream.Type == "Video";
})[0];
var bitrateSetting = parseInt(localStorage.getItem('preferredVideoBitrate') || '') || 1500000;
var bitrateSetting = self.getBitrateSetting();
var maxAllowedWidth = Math.max(screen.height, screen.width);

View file

@ -400,11 +400,36 @@
currentPlaylistIndex = 0;
};
function getOptimalMediaVersion(versions) {
self.getBitrateSetting = function() {
return parseInt(localStorage.getItem('preferredVideoBitrate') || '') || 1500000;
};
// TODO: Implement
function getOptimalMediaVersion(mediaType, versions) {
return versions[0];
var optimalVersion;
if (mediaType == 'Video') {
var bitrateSetting = self.getBitrateSetting();
var maxAllowedWidth = Math.max(screen.height, screen.width);
optimalVersion = versions.filter(function (v) {
var videoStream = v.MediaStreams.filter(function (s) {
return s.Type == 'Video';
})[0];
var audioStream = v.MediaStreams.filter(function (s) {
return s.Type == 'Audio';
})[0];
return self.canPlayVideoDirect(v, videoStream, audioStream, null, maxAllowedWidth, bitrateSetting);
})[0];
}
return optimalVersion || versions[0];
}
self.playInternal = function (item, startPosition, user) {
@ -424,7 +449,7 @@
if (item.MediaType === "Video") {
currentItem = item;
currentMediaVersion = getOptimalMediaVersion(item.MediaVersions);
currentMediaVersion = getOptimalMediaVersion(item.MediaType, item.MediaVersions);
videoPlayer(self, item, currentMediaVersion, startPosition, user);
mediaElement = self.initVideoPlayer();
@ -435,7 +460,7 @@
} else if (item.MediaType === "Audio") {
currentItem = item;
currentMediaVersion = getOptimalMediaVersion(item.MediaVersions);
currentMediaVersion = getOptimalMediaVersion(item.MediaType, item.MediaVersions);
mediaElement = playAudio(item, currentMediaVersion, startPosition);
mediaControls.show();

View file

@ -162,8 +162,6 @@ var Dashboard = {
updateSystemInfo: function (info) {
var isFirstLoad = !Dashboard.lastSystemInfo;
Dashboard.lastSystemInfo = info;
Dashboard.ensureWebSocket(info);