mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-07-09 03:04:24 -04:00
commit
2928c753e2
@ -131,7 +131,10 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
|
|||||||
DiscoverResponse response;
|
DiscoverResponse response;
|
||||||
if (_modelCache.TryGetValue(info.Url, out response))
|
if (_modelCache.TryGetValue(info.Url, out response))
|
||||||
{
|
{
|
||||||
return response;
|
if ((DateTime.UtcNow - response.DateQueried).TotalHours <= 12)
|
||||||
|
{
|
||||||
|
return response;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -141,8 +144,6 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
|
|||||||
{
|
{
|
||||||
Url = string.Format("{0}/discover.json", GetApiUrl(info, false)),
|
Url = string.Format("{0}/discover.json", GetApiUrl(info, false)),
|
||||||
CancellationToken = cancellationToken,
|
CancellationToken = cancellationToken,
|
||||||
CacheLength = TimeSpan.FromDays(1),
|
|
||||||
CacheMode = CacheMode.Unconditional,
|
|
||||||
TimeoutMs = Convert.ToInt32(TimeSpan.FromSeconds(5).TotalMilliseconds),
|
TimeoutMs = Convert.ToInt32(TimeSpan.FromSeconds(5).TotalMilliseconds),
|
||||||
BufferContent = false
|
BufferContent = false
|
||||||
|
|
||||||
@ -638,6 +639,13 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
|
|||||||
public string BaseURL { get; set; }
|
public string BaseURL { get; set; }
|
||||||
public string LineupURL { get; set; }
|
public string LineupURL { get; set; }
|
||||||
public int TunerCount { get; set; }
|
public int TunerCount { get; set; }
|
||||||
|
|
||||||
|
public DateTime DateQueried { get; set; }
|
||||||
|
|
||||||
|
public DiscoverResponse()
|
||||||
|
{
|
||||||
|
DateQueried = DateTime.UtcNow;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<List<TunerHostInfo>> DiscoverDevices(int discoveryDurationMs, CancellationToken cancellationToken)
|
public async Task<List<TunerHostInfo>> DiscoverDevices(int discoveryDurationMs, CancellationToken cancellationToken)
|
||||||
|
@ -667,9 +667,8 @@ namespace MediaBrowser.Controller.MediaEncoding
|
|||||||
var level = NormalizeTranscodingLevel(state.OutputVideoCodec, request.Level);
|
var level = NormalizeTranscodingLevel(state.OutputVideoCodec, request.Level);
|
||||||
|
|
||||||
// h264_qsv and h264_nvenc expect levels to be expressed as a decimal. libx264 supports decimal and non-decimal format
|
// h264_qsv and h264_nvenc expect levels to be expressed as a decimal. libx264 supports decimal and non-decimal format
|
||||||
// also needed for libx264 due to https://trac.ffmpeg.org/ticket/3307
|
// also needed for libx264 due to https://trac.ffmpeg.org/ticket/3307
|
||||||
if (string.Equals(videoEncoder, "h264_qsv", StringComparison.OrdinalIgnoreCase) ||
|
if (string.Equals(videoEncoder, "h264_qsv", StringComparison.OrdinalIgnoreCase) ||
|
||||||
string.Equals(videoEncoder, "h264_nvenc", StringComparison.OrdinalIgnoreCase) ||
|
|
||||||
string.Equals(videoEncoder, "libx264", StringComparison.OrdinalIgnoreCase))
|
string.Equals(videoEncoder, "libx264", StringComparison.OrdinalIgnoreCase))
|
||||||
{
|
{
|
||||||
switch (level)
|
switch (level)
|
||||||
@ -706,10 +705,15 @@ namespace MediaBrowser.Controller.MediaEncoding
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// nvenc doesn't decode with param -level set ?!
|
||||||
|
if (string.Equals(videoEncoder, "h264_nvenc", StringComparison.OrdinalIgnoreCase)){
|
||||||
|
param += "";
|
||||||
|
}
|
||||||
else if (!string.Equals(videoEncoder, "h264_omx", StringComparison.OrdinalIgnoreCase))
|
else if (!string.Equals(videoEncoder, "h264_omx", StringComparison.OrdinalIgnoreCase))
|
||||||
{
|
{
|
||||||
param += " -level " + level;
|
param += " -level " + level;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (string.Equals(videoEncoder, "libx264", StringComparison.OrdinalIgnoreCase))
|
if (string.Equals(videoEncoder, "libx264", StringComparison.OrdinalIgnoreCase))
|
||||||
|
@ -89,6 +89,7 @@ namespace MediaBrowser.MediaEncoding.Encoder
|
|||||||
var found = new List<string>();
|
var found = new List<string>();
|
||||||
var required = new[]
|
var required = new[]
|
||||||
{
|
{
|
||||||
|
"mpeg2video",
|
||||||
"h264_qsv",
|
"h264_qsv",
|
||||||
"hevc_qsv",
|
"hevc_qsv",
|
||||||
"mpeg2_qsv",
|
"mpeg2_qsv",
|
||||||
|
@ -464,10 +464,9 @@ namespace MediaBrowser.XbmcMetadata.Parsers
|
|||||||
|
|
||||||
if (!string.IsNullOrWhiteSpace(val))
|
if (!string.IsNullOrWhiteSpace(val))
|
||||||
{
|
{
|
||||||
item.ProductionLocations = val.Split('/')
|
item.ProductionLocations.AddRange(val.Split('/')
|
||||||
.Select(i => i.Trim())
|
.Select(i => i.Trim())
|
||||||
.Where(i => !string.IsNullOrWhiteSpace(i))
|
.Where(i => !string.IsNullOrWhiteSpace(i)));
|
||||||
.ToList();
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
|
||||||
[assembly: AssemblyVersion("3.2.8.1")]
|
[assembly: AssemblyVersion("3.2.8.2")]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user