commit
a0dc26b881
|
@ -807,7 +807,7 @@ namespace MediaBrowser.Api.Playback.Hls
|
||||||
|
|
||||||
if (string.Equals(codec, "copy", StringComparison.OrdinalIgnoreCase))
|
if (string.Equals(codec, "copy", StringComparison.OrdinalIgnoreCase))
|
||||||
{
|
{
|
||||||
return "-codec:a:0 copy";
|
return "-codec:a:0 copy -copypriorss:a:0 0";
|
||||||
}
|
}
|
||||||
|
|
||||||
var args = "-codec:a:0 " + codec;
|
var args = "-codec:a:0 " + codec;
|
||||||
|
|
|
@ -101,6 +101,7 @@ namespace MediaBrowser.Api
|
||||||
config.EnableLocalizedGuids = true;
|
config.EnableLocalizedGuids = true;
|
||||||
config.EnableSimpleArtistDetection = true;
|
config.EnableSimpleArtistDetection = true;
|
||||||
config.EnableNormalizedItemByNameIds = true;
|
config.EnableNormalizedItemByNameIds = true;
|
||||||
|
config.DisableLiveTvChannelUserDataName = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Post(UpdateStartupConfiguration request)
|
public void Post(UpdateStartupConfiguration request)
|
||||||
|
|
|
@ -205,7 +205,7 @@ namespace MediaBrowser.Controller.Entities.Movies
|
||||||
|
|
||||||
if (base.IsVisible(user))
|
if (base.IsVisible(user))
|
||||||
{
|
{
|
||||||
return GetChildren(user, true).Any();
|
return base.GetChildren(user, true).Any();
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -16,7 +16,11 @@ namespace MediaBrowser.Controller.LiveTv
|
||||||
{
|
{
|
||||||
var list = base.GetUserDataKeys();
|
var list = base.GetUserDataKeys();
|
||||||
|
|
||||||
|
if (!ConfigurationManager.Configuration.DisableLiveTvChannelUserDataName)
|
||||||
|
{
|
||||||
list.Insert(0, GetClientTypeName() + "-" + Name);
|
list.Insert(0, GetClientTypeName() + "-" + Name);
|
||||||
|
}
|
||||||
|
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -732,7 +732,7 @@ namespace MediaBrowser.Controller.MediaEncoding
|
||||||
|
|
||||||
if (string.Equals(videoEncoder, "libx264", StringComparison.OrdinalIgnoreCase))
|
if (string.Equals(videoEncoder, "libx264", StringComparison.OrdinalIgnoreCase))
|
||||||
{
|
{
|
||||||
param += " -x264opts:0 subme=0:rc_lookahead=10:me_range=4:me=dia:no_chroma_me:8x8dct=0:partitions=none";
|
param += " -x264opts:0 subme=0:me_range=4:rc_lookahead=10:me=dia:no_chroma_me:8x8dct=0:partitions=none";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!string.Equals(videoEncoder, "h264_omx", StringComparison.OrdinalIgnoreCase) &&
|
if (!string.Equals(videoEncoder, "h264_omx", StringComparison.OrdinalIgnoreCase) &&
|
||||||
|
|
|
@ -68,6 +68,8 @@ namespace MediaBrowser.Model.Configuration
|
||||||
/// <value><c>true</c> if [enable case sensitive item ids]; otherwise, <c>false</c>.</value>
|
/// <value><c>true</c> if [enable case sensitive item ids]; otherwise, <c>false</c>.</value>
|
||||||
public bool EnableCaseSensitiveItemIds { get; set; }
|
public bool EnableCaseSensitiveItemIds { get; set; }
|
||||||
|
|
||||||
|
public bool DisableLiveTvChannelUserDataName { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the metadata path.
|
/// Gets or sets the metadata path.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -117,6 +117,7 @@
|
||||||
<Compile Include="..\SharedVersion.cs">
|
<Compile Include="..\SharedVersion.cs">
|
||||||
<Link>Properties\SharedVersion.cs</Link>
|
<Link>Properties\SharedVersion.cs</Link>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<Compile Include="ImageEncoderHelper.cs" />
|
||||||
<Compile Include="MonoAppHost.cs" />
|
<Compile Include="MonoAppHost.cs" />
|
||||||
<Compile Include="Native\MonoFileSystem.cs" />
|
<Compile Include="Native\MonoFileSystem.cs" />
|
||||||
<Compile Include="Native\PowerManagement.cs" />
|
<Compile Include="Native\PowerManagement.cs" />
|
||||||
|
|
|
@ -73,25 +73,12 @@
|
||||||
<Compile Include="Cryptography\X509Extension.cs" />
|
<Compile Include="Cryptography\X509Extension.cs" />
|
||||||
<Compile Include="Cryptography\X509Extensions.cs" />
|
<Compile Include="Cryptography\X509Extensions.cs" />
|
||||||
<Compile Include="Cryptography\X520Attributes.cs" />
|
<Compile Include="Cryptography\X520Attributes.cs" />
|
||||||
<Compile Include="ImageEncoderHelper.cs" />
|
|
||||||
<Compile Include="IO\MemoryStreamProvider.cs" />
|
<Compile Include="IO\MemoryStreamProvider.cs" />
|
||||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
<Compile Include="SystemEvents.cs" />
|
<Compile Include="SystemEvents.cs" />
|
||||||
<Compile Include="UpdateLevelHelper.cs" />
|
<Compile Include="UpdateLevelHelper.cs" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\Emby.Drawing.ImageMagick\Emby.Drawing.ImageMagick.csproj">
|
|
||||||
<Project>{6cfee013-6e7c-432b-ac37-cabf0880c69a}</Project>
|
|
||||||
<Name>Emby.Drawing.ImageMagick</Name>
|
|
||||||
</ProjectReference>
|
|
||||||
<ProjectReference Include="..\Emby.Drawing.Net\Emby.Drawing.Net.csproj">
|
|
||||||
<Project>{c97a239e-a96c-4d64-a844-ccf8cc30aecb}</Project>
|
|
||||||
<Name>Emby.Drawing.Net</Name>
|
|
||||||
</ProjectReference>
|
|
||||||
<ProjectReference Include="..\Emby.Drawing\Emby.Drawing.csproj">
|
|
||||||
<Project>{08fff49b-f175-4807-a2b5-73b0ebd9f716}</Project>
|
|
||||||
<Name>Emby.Drawing</Name>
|
|
||||||
</ProjectReference>
|
|
||||||
<ProjectReference Include="..\Emby.Server.Implementations\Emby.Server.Implementations.csproj">
|
<ProjectReference Include="..\Emby.Server.Implementations\Emby.Server.Implementations.csproj">
|
||||||
<Project>{e383961b-9356-4d5d-8233-9a1079d03055}</Project>
|
<Project>{e383961b-9356-4d5d-8233-9a1079d03055}</Project>
|
||||||
<Name>Emby.Server.Implementations</Name>
|
<Name>Emby.Server.Implementations</Name>
|
||||||
|
|
48
MediaBrowser.ServerApplication/ImageEncoderHelper.cs
Normal file
48
MediaBrowser.ServerApplication/ImageEncoderHelper.cs
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
using System;
|
||||||
|
using Emby.Drawing;
|
||||||
|
using Emby.Drawing.Net;
|
||||||
|
using Emby.Drawing.ImageMagick;
|
||||||
|
using Emby.Server.Core;
|
||||||
|
using Emby.Server.Implementations;
|
||||||
|
using MediaBrowser.Common.Configuration;
|
||||||
|
using MediaBrowser.Common.Net;
|
||||||
|
using MediaBrowser.Controller.Drawing;
|
||||||
|
using MediaBrowser.Model.IO;
|
||||||
|
using MediaBrowser.Model.Logging;
|
||||||
|
|
||||||
|
namespace MediaBrowser.Server.Startup.Common
|
||||||
|
{
|
||||||
|
public class ImageEncoderHelper
|
||||||
|
{
|
||||||
|
public static IImageEncoder GetImageEncoder(ILogger logger,
|
||||||
|
ILogManager logManager,
|
||||||
|
IFileSystem fileSystem,
|
||||||
|
StartupOptions startupOptions,
|
||||||
|
Func<IHttpClient> httpClient,
|
||||||
|
IApplicationPaths appPaths)
|
||||||
|
{
|
||||||
|
if (!startupOptions.ContainsOption("-enablegdi"))
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
return new ImageMagickEncoder(logManager.GetLogger("ImageMagick"), appPaths, httpClient, fileSystem);
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
logger.Error("Error loading ImageMagick. Will revert to GDI.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
return new GDIImageEncoder(fileSystem, logManager.GetLogger("GDI"));
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
logger.Error("Error loading GDI. Will revert to NullImageEncoder.");
|
||||||
|
}
|
||||||
|
|
||||||
|
return new NullImageEncoder();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -135,6 +135,7 @@
|
||||||
<Compile Include="BackgroundServiceInstaller.cs">
|
<Compile Include="BackgroundServiceInstaller.cs">
|
||||||
<SubType>Component</SubType>
|
<SubType>Component</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<Compile Include="ImageEncoderHelper.cs" />
|
||||||
<Compile Include="MainForm.cs">
|
<Compile Include="MainForm.cs">
|
||||||
<SubType>Form</SubType>
|
<SubType>Form</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
|
||||||
[assembly: AssemblyVersion("3.2.13.2")]
|
[assembly: AssemblyVersion("3.2.13.3")]
|
||||||
|
|
Loading…
Reference in New Issue
Block a user