add latest translations
This commit is contained in:
parent
8fd7c1d99a
commit
55bfb651b6
41 changed files with 452 additions and 427 deletions
|
@ -244,6 +244,8 @@
|
|||
$('#chkEnableMpegtsM2TsMode', popup).checked(transcodingProfile.EnableMpegtsM2TsMode).checkboxradio('refresh');
|
||||
$('#chkEstimateContentLength', popup).checked(transcodingProfile.EstimateContentLength).checkboxradio('refresh');
|
||||
$('#chkReportByteRangeRequests', popup).checked(transcodingProfile.TranscodeSeekInfo == 'Bytes').checkboxradio('refresh');
|
||||
|
||||
$('.radioTabButton:first', popup).checked(true).checkboxradio('refresh').trigger('change');
|
||||
}
|
||||
|
||||
function deleteTranscodingProfile(page, index) {
|
||||
|
@ -523,11 +525,12 @@
|
|||
|
||||
var page = this;
|
||||
|
||||
$('.radioProfileTab', page).on('change', function () {
|
||||
$('.radioTabButton', page).on('change', function () {
|
||||
|
||||
$('.profileTab', page).hide();
|
||||
$('.' + this.value, page).show();
|
||||
var elem = $('.' + this.value, page);
|
||||
elem.siblings('.tabContent').hide();
|
||||
|
||||
elem.show();
|
||||
});
|
||||
|
||||
$('#selectDirectPlayProfileType', page).on('change', function () {
|
||||
|
@ -595,7 +598,7 @@
|
|||
|
||||
var page = this;
|
||||
|
||||
$('.radioSeriesTimerTab', page).checked(false).checkboxradio('refresh');
|
||||
$('.radioTabButton', page).checked(false).checkboxradio('refresh');
|
||||
$('#radioInfo', page).checked(true).checkboxradio('refresh').trigger('change');
|
||||
|
||||
});
|
||||
|
|
|
@ -666,6 +666,8 @@
|
|||
|
||||
// Some 1080- videos are reported as 1912?
|
||||
if (maxAllowedWidth >= 1910) {
|
||||
options.push({ name: '1080p - 30Mbps', maxWidth: 1920, bitrate: 30000000 });
|
||||
options.push({ name: '1080p - 25Mbps', maxWidth: 1920, bitrate: 25000000 });
|
||||
options.push({ name: '1080p - 20Mbps', maxWidth: 1920, bitrate: 20000000 });
|
||||
options.push({ name: '1080p - 15Mbps', maxWidth: 1920, bitrate: 15000000 });
|
||||
options.push({ name: '1080p - 10Mbps', maxWidth: 1920, bitrate: 10000000 });
|
||||
|
@ -728,7 +730,7 @@
|
|||
|
||||
var baseParams = {
|
||||
audioChannels: 2,
|
||||
StartTimeTicks: startPosition || 0,
|
||||
StartTimeTicks: startPosition,
|
||||
SubtitleStreamIndex: getInitialSubtitleStreamIndex(mediaStreams, user),
|
||||
AudioStreamIndex: getInitialAudioStreamIndex(mediaStreams, user),
|
||||
deviceId: ApiClient.deviceId(),
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -39,6 +39,16 @@
|
|||
});
|
||||
$('.itemsContainer', page).removeClass('timelineItemsContainer');
|
||||
}
|
||||
else if (view == "Banner") {
|
||||
|
||||
html = LibraryBrowser.getPosterViewHtml({
|
||||
items: result.Items,
|
||||
shape: "banner",
|
||||
preferBanner: true,
|
||||
context: 'movies'
|
||||
});
|
||||
$('.itemsContainer', page).removeClass('timelineItemsContainer');
|
||||
}
|
||||
else if (view == "Poster") {
|
||||
html = LibraryBrowser.getPosterViewHtml({
|
||||
items: result.Items,
|
||||
|
|
|
@ -50,10 +50,8 @@
|
|||
ApiClient.getNextUpEpisodes(options).done(function (result) {
|
||||
|
||||
if (result.Items.length) {
|
||||
$('#resumableSection', page).show();
|
||||
$('.noNextUpItems', page).hide();
|
||||
} else {
|
||||
$('#resumableSection', page).hide();
|
||||
$('.noNextUpItems', page).show();
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue