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

add latest translations

This commit is contained in:
Luke Pulverenti 2014-04-02 17:55:19 -04:00
parent 8fd7c1d99a
commit 55bfb651b6
41 changed files with 452 additions and 427 deletions

View file

@ -165,9 +165,13 @@
if (finalParams.isStatic) {
currentSrc = currentSrc.replace('.webm', '.mp4').replace('.m3u8', '.mp4');
currentSrc = replaceQueryString(currentSrc, 'starttimeticks', '');
} else {
currentSrc = currentSrc.replace('.mp4', transcodingExtension).replace('.m4v', transcodingExtension);
}
if (finalParams.isStatic || !ticks) {
currentSrc = replaceQueryString(currentSrc, 'starttimeticks', '');
} else {
currentSrc = replaceQueryString(currentSrc, 'starttimeticks', ticks);
}
@ -219,6 +223,14 @@
self.canPlayVideoDirect = function (mediaSource, videoStream, audioStream, subtitleStream, maxWidth, bitrate) {
if (!mediaSource) {
throw new Error('Null mediaSource');
}
if (!videoStream) {
throw new Error('Null videoStream');
}
if (mediaSource.VideoType != "VideoFile" || mediaSource.LocationType != "FileSystem") {
console.log('Transcoding because the content is not a video file');
return false;
@ -252,13 +264,13 @@
return false;
}
var extension = mediaSource.Path.substring(mediaSource.Path.lastIndexOf('.') + 1).toLowerCase();
var extension = (mediaSource.Container || '').toLowerCase();
if (extension == 'm4v') {
return $.browser.chrome;
}
return extension.toLowerCase() == 'mp4';
return extension == 'mp4';
};
self.getFinalVideoParams = function (mediaSource, maxWidth, bitrate, audioStreamIndex, subtitleStreamIndex, transcodingExtension) {
@ -323,7 +335,7 @@
});
}
else if (firstItem.Type == "MusicArtist") {
promise = self.getItemsForPlayback({
Artists: firstItem.Name,
Filters: "IsNotFolder",
@ -334,7 +346,7 @@
}
else if (firstItem.Type == "MusicGenre") {
promise = self.getItemsForPlayback({
Genres: firstItem.Name,
Filters: "IsNotFolder",
@ -927,7 +939,7 @@
self.bindVolumeSlider();
self.bindPositionSlider();
};
}
function replaceQueryString(url, param, value) {
var re = new RegExp("([?|&])" + param + "=.*?(&|$)", "i");
@ -935,12 +947,12 @@
return url.replace(re, '$1' + param + "=" + value + '$2');
else
return url + '&' + param + "=" + value;
};
}
function sendProgressUpdate(itemId, mediaSourceId) {
ApiClient.reportPlaybackProgress(Dashboard.getCurrentUserId(), itemId, mediaSourceId, self.getCurrentTicks(), currentMediaElement.paused, currentMediaElement.volume == 0);
};
}
function clearProgressInterval() {
@ -953,7 +965,7 @@
function canPlayWebm() {
return testableVideoElement.canPlayType('video/webm').replace(/no/, '');
};
}
function onPositionSliderChange() {
@ -964,16 +976,7 @@
var newPositionTicks = (newPercent / 100) * currentMediaSource.RunTimeTicks;
self.changeStream(Math.floor(newPositionTicks));
};
function endsWith(text, pattern) {
text = text.toLowerCase();
pattern = pattern.toLowerCase();
var d = text.length - pattern.length;
return d >= 0 && text.lastIndexOf(pattern) === d;
};
}
function playAudio(item, mediaSource, startPositionTicks) {
@ -1009,12 +1012,13 @@
if (stream.Type == "Audio") {
var container = (mediaSource.Container || '').toLowerCase();
// Stream statically when possible
if (endsWith(mediaSource.Path, ".aac") && stream.BitRate <= 256000) {
if (container == 'aac' && stream.BitRate <= 256000) {
aacUrl += "&static=true" + seekParam;
isStatic = true;
}
else if (endsWith(mediaSource.Path, ".mp3") && stream.BitRate <= 256000) {
else if (container == 'mp3' && stream.BitRate <= 256000) {
mp3Url += "&static=true" + seekParam;
isStatic = true;
}
@ -1055,7 +1059,7 @@
$('#subtitleButton', nowPlayingBar).hide();
$('#chaptersButton', nowPlayingBar).hide();
$('#mediaElement', nowPlayingBar).html(html);
var mediaElement = $('#mediaElement', nowPlayingBar).html(html);
var audioElement = $("audio", mediaElement);
var initialVolume = localStorage.getItem("volume") || 0.5;