mirror of
https://github.com/jellyfin/jellyfin.git
synced 2024-09-06 05:47:14 -04:00
Merge branch 'master' of https://github.com/MediaBrowser/MediaBrowser
This commit is contained in:
commit
c21c678ed9
@ -562,6 +562,13 @@ namespace MediaBrowser.Api.Playback
|
||||
/// <returns>Task.</returns>
|
||||
protected async Task StartFfMpeg(StreamState state, string outputPath)
|
||||
{
|
||||
var parentPath = Path.GetDirectoryName(outputPath);
|
||||
|
||||
if (!Directory.Exists(parentPath))
|
||||
{
|
||||
Directory.CreateDirectory(parentPath);
|
||||
}
|
||||
|
||||
var video = state.Item as Video;
|
||||
|
||||
if (video != null && video.VideoType == VideoType.Iso && video.IsoType.HasValue && IsoManager.CanMount(video.Path))
|
||||
|
@ -45,7 +45,7 @@ namespace MediaBrowser.Common.Implementations
|
||||
/// <summary>
|
||||
/// Gets the path to the system folder
|
||||
/// </summary>
|
||||
public string ProgramSystemPath { get { return Path.Combine(ProgramDataPath, "System"); } }
|
||||
public string ProgramSystemPath { get { return Path.Combine(ProgramDataPath, "system"); } }
|
||||
|
||||
/// <summary>
|
||||
/// The _data directory
|
||||
@ -160,7 +160,7 @@ namespace MediaBrowser.Common.Implementations
|
||||
{
|
||||
if (_tempUpdatePath == null)
|
||||
{
|
||||
_tempUpdatePath = Path.Combine(ProgramDataPath, "Updates");
|
||||
_tempUpdatePath = Path.Combine(ProgramDataPath, "updates");
|
||||
if (!Directory.Exists(_tempUpdatePath))
|
||||
{
|
||||
Directory.CreateDirectory(_tempUpdatePath);
|
||||
@ -219,10 +219,6 @@ namespace MediaBrowser.Common.Implementations
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The _system configuration file path
|
||||
/// </summary>
|
||||
private string _systemConfigurationFilePath;
|
||||
/// <summary>
|
||||
/// Gets the path to the system configuration file
|
||||
/// </summary>
|
||||
@ -231,7 +227,7 @@ namespace MediaBrowser.Common.Implementations
|
||||
{
|
||||
get
|
||||
{
|
||||
return _systemConfigurationFilePath ?? (_systemConfigurationFilePath = Path.Combine(ConfigurationDirectoryPath, "system.xml"));
|
||||
return Path.Combine(ConfigurationDirectoryPath, "system.xml");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -576,6 +576,41 @@ namespace MediaBrowser.Controller.Drawing
|
||||
return croppedImagePath;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the enhanced image.
|
||||
/// </summary>
|
||||
/// <param name="originalImagePath">The original image path.</param>
|
||||
/// <param name="dateModified">The date modified.</param>
|
||||
/// <param name="item">The item.</param>
|
||||
/// <param name="imageType">Type of the image.</param>
|
||||
/// <param name="imageIndex">Index of the image.</param>
|
||||
/// <returns>Task{System.String}.</returns>
|
||||
/// <exception cref="System.ArgumentNullException">item</exception>
|
||||
public Task<string> GetEnhancedImage(string originalImagePath, DateTime dateModified, BaseItem item, ImageType imageType, int imageIndex)
|
||||
{
|
||||
if (item == null)
|
||||
{
|
||||
throw new ArgumentNullException("item");
|
||||
}
|
||||
|
||||
var supportedImageEnhancers = ImageEnhancers.Where(i =>
|
||||
{
|
||||
try
|
||||
{
|
||||
return i.Supports(item, imageType);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.ErrorException("Error in image enhancer: {0}", ex, i.GetType().Name);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
}).ToList();
|
||||
|
||||
return GetEnhancedImage(originalImagePath, dateModified, item, imageType, imageIndex, supportedImageEnhancers);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Runs an image through the image enhancers, caches the result, and returns the cached path
|
||||
/// </summary>
|
||||
|
@ -28,19 +28,14 @@ namespace MediaBrowser.Controller.Entities
|
||||
{
|
||||
get
|
||||
{
|
||||
if (Configuration.UseCustomLibrary)
|
||||
var path = Configuration.UseCustomLibrary ? GetRootFolderPath(Name) : ConfigurationManager.ApplicationPaths.DefaultUserViewsPath;
|
||||
|
||||
if (!Directory.Exists(path))
|
||||
{
|
||||
var rootFolderPath = GetRootFolderPath(Name);
|
||||
|
||||
if (!Directory.Exists(rootFolderPath))
|
||||
{
|
||||
Directory.CreateDirectory(rootFolderPath);
|
||||
}
|
||||
|
||||
return rootFolderPath;
|
||||
Directory.CreateDirectory(path);
|
||||
}
|
||||
|
||||
return ConfigurationManager.ApplicationPaths.DefaultUserViewsPath;
|
||||
return path;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -50,7 +50,7 @@ namespace MediaBrowser.Model.Configuration
|
||||
public BaseApplicationConfiguration()
|
||||
{
|
||||
EnableAutoUpdate = true;
|
||||
LogFileRetentionDays = 7;
|
||||
LogFileRetentionDays = 3;
|
||||
|
||||
#if (DEBUG)
|
||||
EnableDebugLevelLogging = true;
|
||||
|
@ -558,6 +558,12 @@ namespace MediaBrowser.Server.Implementations.Library
|
||||
public AggregateFolder CreateRootFolder()
|
||||
{
|
||||
var rootFolderPath = ConfigurationManager.ApplicationPaths.RootFolderPath;
|
||||
|
||||
if (!Directory.Exists(rootFolderPath))
|
||||
{
|
||||
Directory.CreateDirectory(rootFolderPath);
|
||||
}
|
||||
|
||||
var rootFolder = RetrieveItem(rootFolderPath.GetMBId(typeof(AggregateFolder))) as AggregateFolder ?? (AggregateFolder)ResolvePath(rootFolderPath);
|
||||
|
||||
// Add in the plug-in folders
|
||||
|
@ -26,10 +26,6 @@ namespace MediaBrowser.Server.Implementations
|
||||
{
|
||||
}
|
||||
#endif
|
||||
/// <summary>
|
||||
/// The _root folder path
|
||||
/// </summary>
|
||||
private string _rootFolderPath;
|
||||
/// <summary>
|
||||
/// Gets the path to the base root media directory
|
||||
/// </summary>
|
||||
@ -38,22 +34,10 @@ namespace MediaBrowser.Server.Implementations
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_rootFolderPath == null)
|
||||
{
|
||||
_rootFolderPath = Path.Combine(ProgramDataPath, "Root");
|
||||
if (!Directory.Exists(_rootFolderPath))
|
||||
{
|
||||
Directory.CreateDirectory(_rootFolderPath);
|
||||
}
|
||||
}
|
||||
return _rootFolderPath;
|
||||
return Path.Combine(ProgramDataPath, "root");
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The _default user views path
|
||||
/// </summary>
|
||||
private string _defaultUserViewsPath;
|
||||
/// <summary>
|
||||
/// Gets the path to the default user view directory. Used if no specific user view is defined.
|
||||
/// </summary>
|
||||
@ -62,22 +46,10 @@ namespace MediaBrowser.Server.Implementations
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_defaultUserViewsPath == null)
|
||||
{
|
||||
_defaultUserViewsPath = Path.Combine(RootFolderPath, "Default");
|
||||
if (!Directory.Exists(_defaultUserViewsPath))
|
||||
{
|
||||
Directory.CreateDirectory(_defaultUserViewsPath);
|
||||
}
|
||||
}
|
||||
return _defaultUserViewsPath;
|
||||
return Path.Combine(RootFolderPath, "default");
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The _localization path
|
||||
/// </summary>
|
||||
private string _localizationPath;
|
||||
/// <summary>
|
||||
/// Gets the path to localization data.
|
||||
/// </summary>
|
||||
@ -86,15 +58,7 @@ namespace MediaBrowser.Server.Implementations
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_localizationPath == null)
|
||||
{
|
||||
_localizationPath = Path.Combine(ProgramDataPath, "Localization");
|
||||
if (!Directory.Exists(_localizationPath))
|
||||
{
|
||||
Directory.CreateDirectory(_localizationPath);
|
||||
}
|
||||
}
|
||||
return _localizationPath;
|
||||
return Path.Combine(ProgramDataPath, "localization");
|
||||
}
|
||||
}
|
||||
|
||||
@ -110,36 +74,14 @@ namespace MediaBrowser.Server.Implementations
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_ibnPath == null)
|
||||
{
|
||||
_ibnPath = Path.Combine(ProgramDataPath, "ImagesByName");
|
||||
if (!Directory.Exists(_ibnPath))
|
||||
{
|
||||
Directory.CreateDirectory(_ibnPath);
|
||||
}
|
||||
}
|
||||
|
||||
return _ibnPath;
|
||||
return _ibnPath ?? (_ibnPath = Path.Combine(ProgramDataPath, "ImagesByName"));
|
||||
}
|
||||
set
|
||||
{
|
||||
_ibnPath = value;
|
||||
|
||||
_peoplePath = null;
|
||||
_studioPath = null;
|
||||
_genrePath = null;
|
||||
_yearPath = null;
|
||||
_musicArtistsPath = null;
|
||||
_generalPath = null;
|
||||
_ratingsPath = null;
|
||||
_mediaInfoImagesPath = null;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The _people path
|
||||
/// </summary>
|
||||
private string _peoplePath;
|
||||
/// <summary>
|
||||
/// Gets the path to the People directory
|
||||
/// </summary>
|
||||
@ -148,23 +90,10 @@ namespace MediaBrowser.Server.Implementations
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_peoplePath == null)
|
||||
{
|
||||
_peoplePath = Path.Combine(ItemsByNamePath, "People");
|
||||
if (!Directory.Exists(_peoplePath))
|
||||
{
|
||||
Directory.CreateDirectory(_peoplePath);
|
||||
}
|
||||
}
|
||||
|
||||
return _peoplePath;
|
||||
return Path.Combine(ItemsByNamePath, "People");
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The _genre path
|
||||
/// </summary>
|
||||
private string _genrePath;
|
||||
/// <summary>
|
||||
/// Gets the path to the Genre directory
|
||||
/// </summary>
|
||||
@ -173,23 +102,10 @@ namespace MediaBrowser.Server.Implementations
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_genrePath == null)
|
||||
{
|
||||
_genrePath = Path.Combine(ItemsByNamePath, "Genre");
|
||||
if (!Directory.Exists(_genrePath))
|
||||
{
|
||||
Directory.CreateDirectory(_genrePath);
|
||||
}
|
||||
}
|
||||
|
||||
return _genrePath;
|
||||
return Path.Combine(ItemsByNamePath, "Genre");
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The _studio path
|
||||
/// </summary>
|
||||
private string _studioPath;
|
||||
/// <summary>
|
||||
/// Gets the path to the Studio directory
|
||||
/// </summary>
|
||||
@ -198,23 +114,10 @@ namespace MediaBrowser.Server.Implementations
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_studioPath == null)
|
||||
{
|
||||
_studioPath = Path.Combine(ItemsByNamePath, "Studio");
|
||||
if (!Directory.Exists(_studioPath))
|
||||
{
|
||||
Directory.CreateDirectory(_studioPath);
|
||||
}
|
||||
}
|
||||
|
||||
return _studioPath;
|
||||
return Path.Combine(ItemsByNamePath, "Studio");
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The _year path
|
||||
/// </summary>
|
||||
private string _yearPath;
|
||||
/// <summary>
|
||||
/// Gets the path to the Year directory
|
||||
/// </summary>
|
||||
@ -223,23 +126,10 @@ namespace MediaBrowser.Server.Implementations
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_yearPath == null)
|
||||
{
|
||||
_yearPath = Path.Combine(ItemsByNamePath, "Year");
|
||||
if (!Directory.Exists(_yearPath))
|
||||
{
|
||||
Directory.CreateDirectory(_yearPath);
|
||||
}
|
||||
}
|
||||
|
||||
return _yearPath;
|
||||
return Path.Combine(ItemsByNamePath, "Year");
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The _general path
|
||||
/// </summary>
|
||||
private string _generalPath;
|
||||
/// <summary>
|
||||
/// Gets the path to the General IBN directory
|
||||
/// </summary>
|
||||
@ -248,23 +138,10 @@ namespace MediaBrowser.Server.Implementations
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_generalPath == null)
|
||||
{
|
||||
_generalPath = Path.Combine(ItemsByNamePath, "General");
|
||||
if (!Directory.Exists(_generalPath))
|
||||
{
|
||||
Directory.CreateDirectory(_generalPath);
|
||||
}
|
||||
}
|
||||
|
||||
return _generalPath;
|
||||
return Path.Combine(ItemsByNamePath, "general");
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The _ratings path
|
||||
/// </summary>
|
||||
private string _ratingsPath;
|
||||
/// <summary>
|
||||
/// Gets the path to the Ratings IBN directory
|
||||
/// </summary>
|
||||
@ -273,23 +150,10 @@ namespace MediaBrowser.Server.Implementations
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_ratingsPath == null)
|
||||
{
|
||||
_ratingsPath = Path.Combine(ItemsByNamePath, "Ratings");
|
||||
if (!Directory.Exists(_ratingsPath))
|
||||
{
|
||||
Directory.CreateDirectory(_ratingsPath);
|
||||
}
|
||||
}
|
||||
|
||||
return _ratingsPath;
|
||||
return Path.Combine(ItemsByNamePath, "ratings");
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The _media info images path
|
||||
/// </summary>
|
||||
private string _mediaInfoImagesPath;
|
||||
/// <summary>
|
||||
/// Gets the media info images path.
|
||||
/// </summary>
|
||||
@ -298,23 +162,10 @@ namespace MediaBrowser.Server.Implementations
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_mediaInfoImagesPath == null)
|
||||
{
|
||||
_mediaInfoImagesPath = Path.Combine(ItemsByNamePath, "MediaInfo");
|
||||
if (!Directory.Exists(_mediaInfoImagesPath))
|
||||
{
|
||||
Directory.CreateDirectory(_mediaInfoImagesPath);
|
||||
}
|
||||
}
|
||||
|
||||
return _mediaInfoImagesPath;
|
||||
return Path.Combine(ItemsByNamePath, "mediainfo");
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The _user configuration directory path
|
||||
/// </summary>
|
||||
private string _userConfigurationDirectoryPath;
|
||||
/// <summary>
|
||||
/// Gets the path to the user configuration directory
|
||||
/// </summary>
|
||||
@ -323,22 +174,10 @@ namespace MediaBrowser.Server.Implementations
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_userConfigurationDirectoryPath == null)
|
||||
{
|
||||
_userConfigurationDirectoryPath = Path.Combine(ConfigurationDirectoryPath, "users");
|
||||
if (!Directory.Exists(_userConfigurationDirectoryPath))
|
||||
{
|
||||
Directory.CreateDirectory(_userConfigurationDirectoryPath);
|
||||
}
|
||||
}
|
||||
return _userConfigurationDirectoryPath;
|
||||
return Path.Combine(ConfigurationDirectoryPath, "users");
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The _f F MPEG stream cache path
|
||||
/// </summary>
|
||||
private string _fFMpegStreamCachePath;
|
||||
/// <summary>
|
||||
/// Gets the FF MPEG stream cache path.
|
||||
/// </summary>
|
||||
@ -347,24 +186,10 @@ namespace MediaBrowser.Server.Implementations
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_fFMpegStreamCachePath == null)
|
||||
{
|
||||
_fFMpegStreamCachePath = Path.Combine(CachePath, "encoded-media");
|
||||
|
||||
if (!Directory.Exists(_fFMpegStreamCachePath))
|
||||
{
|
||||
Directory.CreateDirectory(_fFMpegStreamCachePath);
|
||||
}
|
||||
}
|
||||
|
||||
return _fFMpegStreamCachePath;
|
||||
return Path.Combine(CachePath, "encoded-media");
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The _images data path
|
||||
/// </summary>
|
||||
private string _downloadedImagesDataPath;
|
||||
/// <summary>
|
||||
/// Gets the images data path.
|
||||
/// </summary>
|
||||
@ -373,24 +198,10 @@ namespace MediaBrowser.Server.Implementations
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_downloadedImagesDataPath == null)
|
||||
{
|
||||
_downloadedImagesDataPath = Path.Combine(DataPath, "remote-images");
|
||||
|
||||
if (!Directory.Exists(_downloadedImagesDataPath))
|
||||
{
|
||||
Directory.CreateDirectory(_downloadedImagesDataPath);
|
||||
}
|
||||
}
|
||||
|
||||
return _downloadedImagesDataPath;
|
||||
return Path.Combine(DataPath, "remote-images");
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The _music artists path
|
||||
/// </summary>
|
||||
private string _musicArtistsPath;
|
||||
/// <summary>
|
||||
/// Gets the artists path.
|
||||
/// </summary>
|
||||
@ -399,16 +210,7 @@ namespace MediaBrowser.Server.Implementations
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_musicArtistsPath == null)
|
||||
{
|
||||
_musicArtistsPath = Path.Combine(ItemsByNamePath, "Artists");
|
||||
if (!Directory.Exists(_musicArtistsPath))
|
||||
{
|
||||
Directory.CreateDirectory(_musicArtistsPath);
|
||||
}
|
||||
}
|
||||
|
||||
return _musicArtistsPath;
|
||||
return Path.Combine(ItemsByNamePath, "artists");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2,17 +2,17 @@
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>MediaBrowser.Common.Internal</id>
|
||||
<version>3.0.113</version>
|
||||
<version>3.0.114</version>
|
||||
<title>MediaBrowser.Common.Internal</title>
|
||||
<authors>Luke</authors>
|
||||
<owners>ebr,Luke,scottisafool</owners>
|
||||
<projectUrl>https://github.com/MediaBrowser/MediaBrowser</projectUrl>
|
||||
<iconUrl>http://www.mb3admin.com/images/mb3icons1-1.png</iconUrl>
|
||||
<requireLicenseAcceptance>false</requireLicenseAcceptance>
|
||||
<description>Contains common components shared by Media Browser Theatre and Media Browser Server. Not intended for plugin developer consumption.</description>
|
||||
<description>Contains common components shared by Media Browser Theater and Media Browser Server. Not intended for plugin developer consumption.</description>
|
||||
<copyright>Copyright © Media Browser 2013</copyright>
|
||||
<dependencies>
|
||||
<dependency id="MediaBrowser.Common" version="3.0.113" />
|
||||
<dependency id="MediaBrowser.Common" version="3.0.114" />
|
||||
<dependency id="NLog" version="2.0.1.2" />
|
||||
<dependency id="ServiceStack.Text" version="3.9.45" />
|
||||
<dependency id="SimpleInjector" version="2.2.3" />
|
||||
@ -20,6 +20,5 @@
|
||||
</metadata>
|
||||
<files>
|
||||
<file src="dlls\MediaBrowser.Common.Implementations.dll" target="lib\net45\MediaBrowser.Common.Implementations.dll" />
|
||||
<file src="dlls\Mediabrowser.PluginSecurity.dll" target="lib\net45\Mediabrowser.PluginSecurity.dll" />
|
||||
</files>
|
||||
</package>
|
@ -2,7 +2,7 @@
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>MediaBrowser.Common</id>
|
||||
<version>3.0.113</version>
|
||||
<version>3.0.114</version>
|
||||
<title>MediaBrowser.Common</title>
|
||||
<authors>Media Browser Team</authors>
|
||||
<owners>ebr,Luke,scottisafool</owners>
|
||||
|
@ -2,7 +2,7 @@
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>MediaBrowser.Server.Core</id>
|
||||
<version>3.0.113</version>
|
||||
<version>3.0.114</version>
|
||||
<title>Media Browser.Server.Core</title>
|
||||
<authors>Media Browser Team</authors>
|
||||
<owners>ebr,Luke,scottisafool</owners>
|
||||
@ -12,7 +12,7 @@
|
||||
<description>Contains core components required to build plugins for Media Browser Server.</description>
|
||||
<copyright>Copyright © Media Browser 2013</copyright>
|
||||
<dependencies>
|
||||
<dependency id="MediaBrowser.Common" version="3.0.113" />
|
||||
<dependency id="MediaBrowser.Common" version="3.0.114" />
|
||||
</dependencies>
|
||||
</metadata>
|
||||
<files>
|
||||
|
Loading…
Reference in New Issue
Block a user