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

add movie resolver fix

This commit is contained in:
Luke Pulverenti 2015-09-09 23:22:52 -04:00
parent c23547137d
commit 50dc5c4d1b
13 changed files with 398 additions and 25 deletions

View file

@ -233,7 +233,8 @@
var requiresNativeControls = !self.enableCustomVideoControls();
var poster = options.poster ? (' poster="' + options.poster + '"') : '';
// Safari often displays the poster under the video and it doesn't look good
var poster = !$.browser.safari && options.poster ? (' poster="' + options.poster + '"') : '';
// Can't autoplay in these browsers so we need to use the full controls
if (requiresNativeControls && AppInfo.isNativeApp && $.browser.android) {

View file

@ -962,6 +962,7 @@
}
var mediaRenderer = new VideoRenderer({
poster: self.getPosterUrl(item)
});

View file

@ -213,7 +213,7 @@
Protocol: 'hls'
});
if (canPlayAac && $.browser.safari) {
if (canPlayAac && $.browser.safari && !AppInfo.isNativeApp) {
profile.TranscodingProfiles.push({
Container: 'ts',
Type: 'Audio',
@ -255,6 +255,7 @@
});
if (canPlayAac && $.browser.safari) {
profile.TranscodingProfiles.push({
Container: 'aac',
Type: 'Audio',
@ -262,6 +263,7 @@
Context: 'Streaming',
Protocol: 'http'
});
profile.TranscodingProfiles.push({
Container: 'aac',
Type: 'Audio',
@ -269,6 +271,7 @@
Context: 'Static',
Protocol: 'http'
});
} else {
profile.TranscodingProfiles.push({
Container: 'mp3',
@ -570,7 +573,6 @@
var media = document.createElement('video');
// safari
if (media.canPlayType('application/x-mpegURL').replace(/no/, '') ||
media.canPlayType('application/vnd.apple.mpegURL').replace(/no/, '')) {
return true;
@ -1120,11 +1122,6 @@
self.getPosterUrl = function (item) {
// Safari often shows the poster under the video, which doesn't look good
if ($.browser.safari) {
return null;
}
var screenWidth = Math.max(screen.height, screen.width);
if (item.BackdropImageTags && item.BackdropImageTags.length) {
@ -1859,10 +1856,6 @@
poster: self.getPosterUrl(item)
});
// Set volume first to avoid an audible change
mediaRenderer.volume(initialVolume);
mediaRenderer.setCurrentSrc(audioUrl, item, mediaSource);
Events.on(mediaRenderer, "volumechange.mediaplayerevent", function () {
Logger.log('audio element event: volumechange');
@ -1904,6 +1897,14 @@
self.currentMediaRenderer = mediaRenderer;
self.currentDurationTicks = self.currentMediaSource.RunTimeTicks;
mediaRenderer.init().done(function () {
// Set volume first to avoid an audible change
mediaRenderer.volume(initialVolume);
mediaRenderer.setCurrentSrc(audioUrl, item, mediaSource);
});
}
var getItemFields = "MediaSources,Chapters";

View file

@ -133,7 +133,7 @@
lazy: true,
cardLayout: true,
showDetailsMenu: true
});re
});
}
else if (view == "Timeline") {
html = LibraryBrowser.getPosterViewHtml({

View file

@ -2032,6 +2032,10 @@ var AppInfo = {};
define("audiorenderer", ["cordova/android/vlcplayer"]);
define("videorenderer", ["cordova/android/vlcplayer"]);
}
else if (Dashboard.isRunningInCordova() && $.browser.safari) {
define("audiorenderer", ["cordova/ios/vlcplayer"]);
define("videorenderer", ["scripts/htmlmediarenderer"]);
}
else {
define("audiorenderer", ["scripts/htmlmediarenderer"]);
define("videorenderer", ["scripts/htmlmediarenderer"]);
@ -2138,9 +2142,11 @@ var AppInfo = {};
define("cryptojs-sha1", ["apiclient/sha1"]);
define("contentuploader", ["apiclient/contentuploader"]);
define("serversync", ["apiclient/serversync"]);
define("multiserversync", ["apiclient/multiserversync"]);
define("contentuploader", ["apiclient/sync/contentuploader"]);
define("serversync", ["apiclient/sync/serversync"]);
define("multiserversync", ["apiclient/sync/multiserversync"]);
define("offlineusersync", ["apiclient/sync/offlineusersync"]);
define("mediasync", ["apiclient/sync/mediasync"]);
var deps = [];
@ -2192,6 +2198,15 @@ var AppInfo = {};
AppInfo.directPlayVideoContainers = "m4v,3gp,ts,mpegts,mov,xvid,vob,mkv,wmv,asf,ogm,ogv,m2v,avi,mpg,mpeg,mp4,webm".split(',');
}
else if (Dashboard.isRunningInCordova() && $.browser.safari) {
AppInfo.directPlayAudioContainers = "aac,mp3,mpa,wav,wma,mp2,ogg,oga,webma,ape,opus".split(',');
// TODO: This is going to exclude it from both playback and sync, so improve on this
if (AppSettings.syncLosslessAudio()) {
AppInfo.directPlayAudioContainers.push('flac');
}
}
capabilities.DeviceProfile = MediaPlayer.getDeviceProfile(Math.max(screen.height, screen.width));
createConnectionManager(capabilities).done(function () { onConnectionManagerCreated(deferred); });