From 86de351e239c24c7ad226f4a0e6c564e0dd160cd Mon Sep 17 00:00:00 2001 From: Luke Pulverenti <luke.pulverenti@gmail.com> Date: Tue, 1 Nov 2016 11:30:15 -0400 Subject: [PATCH 1/4] update BaseXmlSaver --- .../Savers/BaseXmlSaver.cs | 230 +++++++++--------- 1 file changed, 115 insertions(+), 115 deletions(-) diff --git a/MediaBrowser.LocalMetadata/Savers/BaseXmlSaver.cs b/MediaBrowser.LocalMetadata/Savers/BaseXmlSaver.cs index 466e500566..162143385e 100644 --- a/MediaBrowser.LocalMetadata/Savers/BaseXmlSaver.cs +++ b/MediaBrowser.LocalMetadata/Savers/BaseXmlSaver.cs @@ -407,17 +407,17 @@ namespace MediaBrowser.LocalMetadata.Savers } } - //if (hasProductionLocations.ProductionLocations.Count > 0) - //{ - // builder.Append("<Countries>"); + if (item.ProductionLocations.Count > 0) + { + writer.WriteStartElement("Countries"); - // foreach (var name in hasProductionLocations.ProductionLocations) - // { - // builder.Append("<Country>" + SecurityElement.Escape(name) + "</Country>"); - // } + foreach (var name in item.ProductionLocations) + { + writer.WriteElementString("Country", name); + } - // builder.Append("</Countries>"); - //} + writer.WriteEndElement(); + } var hasDisplayOrder = item as IHasDisplayOrder; if (hasDisplayOrder != null && !string.IsNullOrEmpty(hasDisplayOrder.DisplayOrder)) @@ -425,17 +425,17 @@ namespace MediaBrowser.LocalMetadata.Savers writer.WriteElementString("DisplayOrder", hasDisplayOrder.DisplayOrder); } - //var hasMetascore = item as IHasMetascore; - //if (hasMetascore != null && hasMetascore.Metascore.HasValue) - //{ - // builder.Append("<Metascore>" + SecurityElement.Escape(hasMetascore.Metascore.Value.ToString(UsCulture)) + "</Metascore>"); - //} + var hasMetascore = item as IHasMetascore; + if (hasMetascore != null && hasMetascore.Metascore.HasValue) + { + writer.WriteElementString("Metascore", hasMetascore.Metascore.Value.ToString(UsCulture)); + } - //var hasAwards = item as IHasAwards; - //if (hasAwards != null && !string.IsNullOrEmpty(hasAwards.AwardSummary)) - //{ - // builder.Append("<AwardSummary>" + SecurityElement.Escape(hasAwards.AwardSummary) + "</AwardSummary>"); - //} + var hasAwards = item as IHasAwards; + if (hasAwards != null && !string.IsNullOrEmpty(hasAwards.AwardSummary)) + { + writer.WriteElementString("AwardSummary", hasAwards.AwardSummary); + } var hasBudget = item as IHasBudget; if (hasBudget != null) @@ -451,14 +451,14 @@ namespace MediaBrowser.LocalMetadata.Savers } } - //if (item.CommunityRating.HasValue) - //{ - // builder.Append("<Rating>" + SecurityElement.Escape(item.CommunityRating.Value.ToString(UsCulture)) + "</Rating>"); - //} - //if (item.VoteCount.HasValue) - //{ - // builder.Append("<VoteCount>" + SecurityElement.Escape(item.VoteCount.Value.ToString(UsCulture)) + "</VoteCount>"); - //} + if (item.CommunityRating.HasValue) + { + writer.WriteElementString("Rating", item.CommunityRating.Value.ToString(UsCulture)); + } + if (item.VoteCount.HasValue) + { + writer.WriteElementString("VoteCount", item.VoteCount.Value.ToString(UsCulture)); + } if (item.ProductionYear.HasValue && !(item is Person)) { @@ -470,76 +470,76 @@ namespace MediaBrowser.LocalMetadata.Savers writer.WriteElementString("Website", item.HomePageUrl); } - //var hasAspectRatio = item as IHasAspectRatio; - //if (hasAspectRatio != null) - //{ - // if (!string.IsNullOrEmpty(hasAspectRatio.AspectRatio)) - // { - // builder.Append("<AspectRatio>" + SecurityElement.Escape(hasAspectRatio.AspectRatio) + "</AspectRatio>"); - // } - //} - - //if (!string.IsNullOrEmpty(item.PreferredMetadataLanguage)) - //{ - // builder.Append("<Language>" + SecurityElement.Escape(item.PreferredMetadataLanguage) + "</Language>"); - //} - //if (!string.IsNullOrEmpty(item.PreferredMetadataCountryCode)) - //{ - // builder.Append("<CountryCode>" + SecurityElement.Escape(item.PreferredMetadataCountryCode) + "</CountryCode>"); - //} - - //// Use original runtime here, actual file runtime later in MediaInfo - //var runTimeTicks = item.RunTimeTicks; - - //if (runTimeTicks.HasValue) - //{ - // var timespan = TimeSpan.FromTicks(runTimeTicks.Value); - - // builder.Append("<RunningTime>" + Convert.ToInt32(timespan.TotalMinutes).ToString(UsCulture) + "</RunningTime>"); - //} - - //if (item.ProviderIds != null) - //{ - // foreach (var providerKey in item.ProviderIds.Keys) - // { - // var providerId = item.ProviderIds[providerKey]; - // if (!string.IsNullOrEmpty(providerId)) - // { - // builder.Append(string.Format("<{0}>{1}</{0}>", providerKey + "Id", SecurityElement.Escape(providerId))); - // } - // } - //} - - //if (!string.IsNullOrWhiteSpace(item.Tagline)) - //{ - // builder.Append("<Taglines>"); - // builder.Append("<Tagline>" + SecurityElement.Escape(item.Tagline) + "</Tagline>"); - // builder.Append("</Taglines>"); - //} - - //if (item.Genres.Count > 0) - //{ - // builder.Append("<Genres>"); - - // foreach (var genre in item.Genres) - // { - // builder.Append("<Genre>" + SecurityElement.Escape(genre) + "</Genre>"); - // } - - // builder.Append("</Genres>"); - //} - - //if (item.Studios.Count > 0) - //{ - // builder.Append("<Studios>"); - - // foreach (var studio in item.Studios) - // { - // builder.Append("<Studio>" + SecurityElement.Escape(studio) + "</Studio>"); - // } - - // builder.Append("</Studios>"); - //} + var hasAspectRatio = item as IHasAspectRatio; + if (hasAspectRatio != null) + { + if (!string.IsNullOrEmpty(hasAspectRatio.AspectRatio)) + { + writer.WriteElementString("AspectRatio", hasAspectRatio.AspectRatio); + } + } + + if (!string.IsNullOrEmpty(item.PreferredMetadataLanguage)) + { + writer.WriteElementString("Language", item.PreferredMetadataLanguage); + } + if (!string.IsNullOrEmpty(item.PreferredMetadataCountryCode)) + { + writer.WriteElementString("CountryCode", item.PreferredMetadataCountryCode); + } + + // Use original runtime here, actual file runtime later in MediaInfo + var runTimeTicks = item.RunTimeTicks; + + if (runTimeTicks.HasValue) + { + var timespan = TimeSpan.FromTicks(runTimeTicks.Value); + + writer.WriteElementString("RunningTime", Convert.ToInt32(timespan.TotalMinutes).ToString(UsCulture)); + } + + if (item.ProviderIds != null) + { + foreach (var providerKey in item.ProviderIds.Keys) + { + var providerId = item.ProviderIds[providerKey]; + if (!string.IsNullOrEmpty(providerId)) + { + writer.WriteElementString(providerKey + "Id", providerId); + } + } + } + + if (!string.IsNullOrWhiteSpace(item.Tagline)) + { + writer.WriteStartElement("Taglines"); + writer.WriteElementString("Tagline", item.Tagline); + writer.WriteEndElement(); + } + + if (item.Genres.Count > 0) + { + writer.WriteStartElement("Genres"); + + foreach (var genre in item.Genres) + { + writer.WriteElementString("Genre", genre); + } + + writer.WriteEndElement(); + } + + if (item.Studios.Count > 0) + { + writer.WriteStartElement("Studios"); + + foreach (var studio in item.Studios) + { + writer.WriteElementString("Studio", studio); + } + + writer.WriteEndElement(); + } if (item.Tags.Count > 0) { @@ -565,29 +565,29 @@ namespace MediaBrowser.LocalMetadata.Savers writer.WriteEndElement(); } - //var people = libraryManager.GetPeople(item); + var people = libraryManager.GetPeople(item); - //if (people.Count > 0) - //{ - // builder.Append("<Persons>"); + if (people.Count > 0) + { + writer.WriteStartElement("Persons"); - // foreach (var person in people) - // { - // builder.Append("<Person>"); - // builder.Append("<Name>" + SecurityElement.Escape(person.Name) + "</Name>"); - // builder.Append("<Type>" + SecurityElement.Escape(person.Type) + "</Type>"); - // builder.Append("<Role>" + SecurityElement.Escape(person.Role) + "</Role>"); + foreach (var person in people) + { + writer.WriteStartElement("Person"); + writer.WriteElementString("Name", person.Name); + writer.WriteElementString("Type", person.Type); + writer.WriteElementString("Role", person.Role); - // if (person.SortOrder.HasValue) - // { - // builder.Append("<SortOrder>" + SecurityElement.Escape(person.SortOrder.Value.ToString(UsCulture)) + "</SortOrder>"); - // } + if (person.SortOrder.HasValue) + { + writer.WriteElementString("SortOrder", person.SortOrder.Value.ToString(UsCulture)); + } - // builder.Append("</Person>"); - // } + writer.WriteEndElement(); + } - // builder.Append("</Persons>"); - //} + writer.WriteEndElement(); + } var boxset = item as BoxSet; if (boxset != null) From 3952360ce89a3eb512a2a92aa95f837705079c04 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti <luke.pulverenti@gmail.com> Date: Tue, 1 Nov 2016 14:28:36 -0400 Subject: [PATCH 2/4] reduce imported people --- .../Probing/ProbeResultNormalizer.cs | 34 +++++++++---------- .../Movies/GenericMovieDbInfo.cs | 14 ++++++-- .../TV/TheMovieDb/MovieDbEpisodeProvider.cs | 20 +++++++++-- 3 files changed, 46 insertions(+), 22 deletions(-) diff --git a/MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs b/MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs index 96c3bf6a02..8651f2758d 100644 --- a/MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs +++ b/MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs @@ -781,24 +781,24 @@ namespace MediaBrowser.MediaEncoding.Probing } } - var conductor = FFProbeHelpers.GetDictionaryValue(tags, "conductor"); - if (!string.IsNullOrWhiteSpace(conductor)) - { - foreach (var person in Split(conductor, false)) - { - audio.People.Add(new BaseItemPerson { Name = person, Type = PersonType.Conductor }); - } - } - - var lyricist = FFProbeHelpers.GetDictionaryValue(tags, "lyricist"); + //var conductor = FFProbeHelpers.GetDictionaryValue(tags, "conductor"); + //if (!string.IsNullOrWhiteSpace(conductor)) + //{ + // foreach (var person in Split(conductor, false)) + // { + // audio.People.Add(new BaseItemPerson { Name = person, Type = PersonType.Conductor }); + // } + //} + + //var lyricist = FFProbeHelpers.GetDictionaryValue(tags, "lyricist"); + //if (!string.IsNullOrWhiteSpace(lyricist)) + //{ + // foreach (var person in Split(lyricist, false)) + // { + // audio.People.Add(new BaseItemPerson { Name = person, Type = PersonType.Lyricist }); + // } + //} - if (!string.IsNullOrWhiteSpace(lyricist)) - { - foreach (var person in Split(lyricist, false)) - { - audio.People.Add(new BaseItemPerson { Name = person, Type = PersonType.Lyricist }); - } - } // Check for writer some music is tagged that way as alternative to composer/lyricist var writer = FFProbeHelpers.GetDictionaryValue(tags, "writer"); diff --git a/MediaBrowser.Providers/Movies/GenericMovieDbInfo.cs b/MediaBrowser.Providers/Movies/GenericMovieDbInfo.cs index 8bff022062..6788bdc9cf 100644 --- a/MediaBrowser.Providers/Movies/GenericMovieDbInfo.cs +++ b/MediaBrowser.Providers/Movies/GenericMovieDbInfo.cs @@ -26,16 +26,16 @@ namespace MediaBrowser.Providers.Movies private readonly ILogger _logger; private readonly IJsonSerializer _jsonSerializer; private readonly ILibraryManager _libraryManager; - private readonly IFileSystem _fileSystem; + private readonly IFileSystem _fileSystem; private readonly CultureInfo _usCulture = new CultureInfo("en-US"); - public GenericMovieDbInfo(ILogger logger, IJsonSerializer jsonSerializer, ILibraryManager libraryManager, IFileSystem fileSystem) + public GenericMovieDbInfo(ILogger logger, IJsonSerializer jsonSerializer, ILibraryManager libraryManager, IFileSystem fileSystem) { _logger = logger; _jsonSerializer = jsonSerializer; _libraryManager = libraryManager; - _fileSystem = fileSystem; + _fileSystem = fileSystem; } public async Task<MetadataResult<T>> GetMetadata(ItemLookupInfo itemId, CancellationToken cancellationToken) @@ -271,6 +271,8 @@ namespace MediaBrowser.Providers.Movies //and the rest from crew if (movieData.casts != null && movieData.casts.crew != null) { + var keepTypes = new[] { PersonType.Director, PersonType.Writer, PersonType.Producer }; + foreach (var person in movieData.casts.crew) { // Normalize this @@ -280,6 +282,12 @@ namespace MediaBrowser.Providers.Movies type = PersonType.Writer; } + if (!keepTypes.Contains(type ?? string.Empty, StringComparer.OrdinalIgnoreCase) && + !keepTypes.Contains(person.job ?? string.Empty, StringComparer.OrdinalIgnoreCase)) + { + continue; + } + var personInfo = new PersonInfo { Name = person.name.Trim(), diff --git a/MediaBrowser.Providers/TV/TheMovieDb/MovieDbEpisodeProvider.cs b/MediaBrowser.Providers/TV/TheMovieDb/MovieDbEpisodeProvider.cs index 032da1928e..fcd7532648 100644 --- a/MediaBrowser.Providers/TV/TheMovieDb/MovieDbEpisodeProvider.cs +++ b/MediaBrowser.Providers/TV/TheMovieDb/MovieDbEpisodeProvider.cs @@ -1,4 +1,5 @@ -using MediaBrowser.Model.IO; +using System; +using MediaBrowser.Model.IO; using MediaBrowser.Common.Net; using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.Entities; @@ -166,9 +167,24 @@ namespace MediaBrowser.Providers.TV //and the rest from crew if (credits.crew != null) { + var keepTypes = new[] { PersonType.Director, PersonType.Writer, PersonType.Producer }; + foreach (var person in credits.crew) { - result.AddPerson(new PersonInfo { Name = person.name.Trim(), Role = person.job, Type = person.department }); + // Normalize this + var type = person.department; + if (string.Equals(type, "writing", StringComparison.OrdinalIgnoreCase)) + { + type = PersonType.Writer; + } + + if (!keepTypes.Contains(type ?? string.Empty, StringComparer.OrdinalIgnoreCase) && + !keepTypes.Contains(person.job ?? string.Empty, StringComparer.OrdinalIgnoreCase)) + { + continue; + } + + result.AddPerson(new PersonInfo { Name = person.name.Trim(), Role = person.job, Type = type }); } } } From 445985218f4aa3568eb8b45a512e76e30abba315 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti <luke.pulverenti@gmail.com> Date: Tue, 1 Nov 2016 14:29:18 -0400 Subject: [PATCH 3/4] update components --- .../MediaBrowser.Server.Implementations.csproj | 6 +++--- MediaBrowser.Server.Implementations/packages.config | 2 +- MediaBrowser.Server.Mono/MediaBrowser.Server.Mono.csproj | 6 +++--- MediaBrowser.Server.Mono/packages.config | 2 +- .../MediaBrowser.Server.Startup.Common.csproj | 6 +++--- MediaBrowser.Server.Startup.Common/packages.config | 2 +- .../MediaBrowser.ServerApplication.csproj | 6 +++--- MediaBrowser.ServerApplication/packages.config | 2 +- Nuget/MediaBrowser.Common.nuspec | 2 +- Nuget/MediaBrowser.Server.Core.nuspec | 4 ++-- 10 files changed, 19 insertions(+), 19 deletions(-) diff --git a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj index 24fe077c24..dad2998b91 100644 --- a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj +++ b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj @@ -64,8 +64,9 @@ <Reference Include="Mono.Nat"> <HintPath>..\ThirdParty\emby\Mono.Nat.dll</HintPath> </Reference> - <Reference Include="Patterns.Logging"> - <HintPath>..\packages\Patterns.Logging.1.0.0.2\lib\portable-net45+sl4+wp71+win8+wpa81\Patterns.Logging.dll</HintPath> + <Reference Include="Patterns.Logging, Version=1.0.6149.1756, Culture=neutral, processorArchitecture=MSIL"> + <HintPath>..\packages\Patterns.Logging.1.0.0.4\lib\portable-net45+dnxcore50+sl4+wp71+win8+wpa81\Patterns.Logging.dll</HintPath> + <Private>True</Private> </Reference> <Reference Include="ServiceStack.Api.Swagger"> <HintPath>..\ThirdParty\ServiceStack\ServiceStack.Api.Swagger.dll</HintPath> @@ -89,7 +90,6 @@ <Reference Include="System.Net" /> <Reference Include="System.Runtime.Serialization" /> <Reference Include="System.Security" /> - <Reference Include="System.Transactions" /> <Reference Include="System.Web" /> <Reference Include="System.Xml" /> <Reference Include="ServiceStack"> diff --git a/MediaBrowser.Server.Implementations/packages.config b/MediaBrowser.Server.Implementations/packages.config index 4af018de9c..add5b29aa7 100644 --- a/MediaBrowser.Server.Implementations/packages.config +++ b/MediaBrowser.Server.Implementations/packages.config @@ -4,7 +4,7 @@ <package id="ini-parser" version="2.3.0" targetFramework="net45" /> <package id="MediaBrowser.Naming" version="1.0.0.57" targetFramework="net46" /> <package id="Microsoft.IO.RecyclableMemoryStream" version="1.1.0.0" targetFramework="net46" /> - <package id="Patterns.Logging" version="1.0.0.2" targetFramework="net45" /> + <package id="Patterns.Logging" version="1.0.0.4" targetFramework="net46" /> <package id="SocketHttpListener" version="1.0.0.40" targetFramework="net45" /> <package id="UniversalDetector" version="1.0.1" targetFramework="net46" /> </packages> \ No newline at end of file diff --git a/MediaBrowser.Server.Mono/MediaBrowser.Server.Mono.csproj b/MediaBrowser.Server.Mono/MediaBrowser.Server.Mono.csproj index bc968ca569..f3f5176f06 100644 --- a/MediaBrowser.Server.Mono/MediaBrowser.Server.Mono.csproj +++ b/MediaBrowser.Server.Mono/MediaBrowser.Server.Mono.csproj @@ -69,9 +69,9 @@ <HintPath>..\packages\NLog.4.4.0-betaV15\lib\net45\NLog.dll</HintPath> <Private>True</Private> </Reference> - <Reference Include="Patterns.Logging, Version=1.0.5494.41209, Culture=neutral, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Patterns.Logging.1.0.0.2\lib\portable-net45+sl4+wp71+win8+wpa81\Patterns.Logging.dll</HintPath> + <Reference Include="Patterns.Logging, Version=1.0.6149.1756, Culture=neutral, processorArchitecture=MSIL"> + <HintPath>..\packages\Patterns.Logging.1.0.0.4\lib\portable-net45+dnxcore50+sl4+wp71+win8+wpa81\Patterns.Logging.dll</HintPath> + <Private>True</Private> </Reference> <Reference Include="System" /> <Reference Include="ServiceStack.Interfaces"> diff --git a/MediaBrowser.Server.Mono/packages.config b/MediaBrowser.Server.Mono/packages.config index 06d557648d..d67955cb5f 100644 --- a/MediaBrowser.Server.Mono/packages.config +++ b/MediaBrowser.Server.Mono/packages.config @@ -2,5 +2,5 @@ <packages> <package id="Mono.Posix" version="4.0.0.0" targetFramework="net45" /> <package id="NLog" version="4.4.0-betaV15" targetFramework="net46" /> - <package id="Patterns.Logging" version="1.0.0.2" targetFramework="net45" /> + <package id="Patterns.Logging" version="1.0.0.4" targetFramework="net46" /> </packages> \ No newline at end of file diff --git a/MediaBrowser.Server.Startup.Common/MediaBrowser.Server.Startup.Common.csproj b/MediaBrowser.Server.Startup.Common/MediaBrowser.Server.Startup.Common.csproj index 4c627ceffa..32d5d5f8e4 100644 --- a/MediaBrowser.Server.Startup.Common/MediaBrowser.Server.Startup.Common.csproj +++ b/MediaBrowser.Server.Startup.Common/MediaBrowser.Server.Startup.Common.csproj @@ -42,9 +42,9 @@ <SpecificVersion>False</SpecificVersion> <HintPath>..\packages\Mono.Posix.4.0.0.0\lib\net40\Mono.Posix.dll</HintPath> </Reference> - <Reference Include="Patterns.Logging, Version=1.0.5494.41209, Culture=neutral, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Patterns.Logging.1.0.0.2\lib\portable-net45+sl4+wp71+win8+wpa81\Patterns.Logging.dll</HintPath> + <Reference Include="Patterns.Logging, Version=1.0.6149.1756, Culture=neutral, processorArchitecture=MSIL"> + <HintPath>..\packages\Patterns.Logging.1.0.0.4\lib\portable-net45+dnxcore50+sl4+wp71+win8+wpa81\Patterns.Logging.dll</HintPath> + <Private>True</Private> </Reference> <Reference Include="RSSDP"> <HintPath>..\ThirdParty\emby\RSSDP.dll</HintPath> diff --git a/MediaBrowser.Server.Startup.Common/packages.config b/MediaBrowser.Server.Startup.Common/packages.config index 49eee1536b..6ebe8be2d0 100644 --- a/MediaBrowser.Server.Startup.Common/packages.config +++ b/MediaBrowser.Server.Startup.Common/packages.config @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <packages> <package id="Mono.Posix" version="4.0.0.0" targetFramework="net45" /> - <package id="Patterns.Logging" version="1.0.0.2" targetFramework="net45" /> + <package id="Patterns.Logging" version="1.0.0.4" targetFramework="net46" /> <package id="SimpleInjector" version="3.2.4" targetFramework="net46" /> </packages> \ No newline at end of file diff --git a/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj b/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj index d8be2411d3..f2a53f7426 100644 --- a/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj +++ b/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj @@ -75,9 +75,9 @@ <HintPath>..\packages\NLog.4.4.0-betaV15\lib\net45\NLog.dll</HintPath> <Private>True</Private> </Reference> - <Reference Include="Patterns.Logging, Version=1.0.5494.41209, Culture=neutral, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Patterns.Logging.1.0.0.2\lib\portable-net45+sl4+wp71+win8+wpa81\Patterns.Logging.dll</HintPath> + <Reference Include="Patterns.Logging, Version=1.0.6149.1756, Culture=neutral, processorArchitecture=MSIL"> + <HintPath>..\packages\Patterns.Logging.1.0.0.4\lib\portable-net45+dnxcore50+sl4+wp71+win8+wpa81\Patterns.Logging.dll</HintPath> + <Private>True</Private> </Reference> <Reference Include="ServiceStack.Interfaces"> <HintPath>..\ThirdParty\ServiceStack\ServiceStack.Interfaces.dll</HintPath> diff --git a/MediaBrowser.ServerApplication/packages.config b/MediaBrowser.ServerApplication/packages.config index a8a3442dea..ff817d51af 100644 --- a/MediaBrowser.ServerApplication/packages.config +++ b/MediaBrowser.ServerApplication/packages.config @@ -2,6 +2,6 @@ <packages> <package id="ImageMagickSharp" version="1.0.0.18" targetFramework="net45" /> <package id="NLog" version="4.4.0-betaV15" targetFramework="net462" /> - <package id="Patterns.Logging" version="1.0.0.2" targetFramework="net45" /> + <package id="Patterns.Logging" version="1.0.0.4" targetFramework="net462" /> <package id="System.Data.SQLite.Core" version="1.0.103" targetFramework="net462" /> </packages> \ No newline at end of file diff --git a/Nuget/MediaBrowser.Common.nuspec b/Nuget/MediaBrowser.Common.nuspec index 111cb0a2a0..544a63de93 100644 --- a/Nuget/MediaBrowser.Common.nuspec +++ b/Nuget/MediaBrowser.Common.nuspec @@ -2,7 +2,7 @@ <package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd"> <metadata> <id>MediaBrowser.Common</id> - <version>3.0.680</version> + <version>3.0.681</version> <title>Emby.Common</title> <authors>Emby Team</authors> <owners>ebr,Luke,scottisafool</owners> diff --git a/Nuget/MediaBrowser.Server.Core.nuspec b/Nuget/MediaBrowser.Server.Core.nuspec index fec8b7722d..dd0af3d3cf 100644 --- a/Nuget/MediaBrowser.Server.Core.nuspec +++ b/Nuget/MediaBrowser.Server.Core.nuspec @@ -2,7 +2,7 @@ <package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd"> <metadata> <id>MediaBrowser.Server.Core</id> - <version>3.0.680</version> + <version>3.0.681</version> <title>Emby.Server.Core</title> <authors>Emby Team</authors> <owners>ebr,Luke,scottisafool</owners> @@ -12,7 +12,7 @@ <description>Contains core components required to build plugins for Emby Server.</description> <copyright>Copyright © Emby 2013</copyright> <dependencies> - <dependency id="MediaBrowser.Common" version="3.0.680" /> + <dependency id="MediaBrowser.Common" version="3.0.681" /> </dependencies> </metadata> <files> From 8ab5e5aca9f940be2cdff1643f2500f30eb57214 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti <luke.pulverenti@gmail.com> Date: Tue, 1 Nov 2016 14:29:29 -0400 Subject: [PATCH 4/4] update ffmpeg override behavior --- .../Encoder/MediaEncoder.cs | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs b/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs index d9571f8e56..10fb025e03 100644 --- a/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs +++ b/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs @@ -121,6 +121,11 @@ namespace MediaBrowser.MediaEncoding.Encoder { get { + if (_hasExternalEncoder) + { + return "External"; + } + if (string.IsNullOrWhiteSpace(FFMpegPath)) { return null; @@ -185,6 +190,12 @@ namespace MediaBrowser.MediaEncoding.Encoder { ConfigureEncoderPaths(); + if (_hasExternalEncoder) + { + LogPaths(); + return; + } + // If the path was passed in, save it into config now. var encodingOptions = GetEncodingOptions(); var appPath = encodingOptions.EncoderAppPath; @@ -194,7 +205,7 @@ namespace MediaBrowser.MediaEncoding.Encoder if (!string.IsNullOrWhiteSpace(valueToSave)) { // if using system variable, don't save this. - if (IsSystemInstalledPath(valueToSave)) + if (IsSystemInstalledPath(valueToSave) || _hasExternalEncoder) { valueToSave = null; } @@ -209,6 +220,11 @@ namespace MediaBrowser.MediaEncoding.Encoder public async Task UpdateEncoderPath(string path, string pathType) { + if (_hasExternalEncoder) + { + return; + } + Tuple<string, string> newPaths; if (string.Equals(pathType, "system", StringComparison.OrdinalIgnoreCase)) @@ -265,6 +281,11 @@ namespace MediaBrowser.MediaEncoding.Encoder private void ConfigureEncoderPaths() { + if (_hasExternalEncoder) + { + return; + } + var appPath = GetEncodingOptions().EncoderAppPath; if (string.IsNullOrWhiteSpace(appPath))