Merge pull request #2483 from MediaBrowser/dev

Dev
This commit is contained in:
Luke 2017-02-22 16:13:57 -05:00 committed by GitHub
commit 8a8bf99550
6 changed files with 44 additions and 27 deletions

View File

@ -187,7 +187,10 @@ namespace Emby.Server.Core.EntryPoints
private void ClearCreatedRules(object state) private void ClearCreatedRules(object state)
{ {
_createdRules = new List<string>(); lock (_createdRules)
{
_createdRules.Clear();
}
lock (_usnsHandled) lock (_usnsHandled)
{ {
_usnsHandled.Clear(); _usnsHandled.Clear();
@ -236,16 +239,23 @@ namespace Emby.Server.Core.EntryPoints
var address = device.LocalAddress.ToString(); var address = device.LocalAddress.ToString();
if (!_createdRules.Contains(address)) lock (_createdRules)
{ {
_createdRules.Add(address); if (!_createdRules.Contains(address))
var success = await CreatePortMap(device, _appHost.HttpPort, _config.Configuration.PublicPort).ConfigureAwait(false);
if (success)
{ {
await CreatePortMap(device, _appHost.HttpsPort, _config.Configuration.PublicHttpsPort).ConfigureAwait(false); _createdRules.Add(address);
} }
else
{
return;
}
}
var success = await CreatePortMap(device, _appHost.HttpPort, _config.Configuration.PublicPort).ConfigureAwait(false);
if (success)
{
await CreatePortMap(device, _appHost.HttpsPort, _config.Configuration.PublicHttpsPort).ConfigureAwait(false);
} }
} }

View File

@ -67,7 +67,11 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
private bool CopySubtitles private bool CopySubtitles
{ {
get { return string.Equals(OutputFormat, "mkv", StringComparison.OrdinalIgnoreCase); } get
{
return false;
//return string.Equals(OutputFormat, "mkv", StringComparison.OrdinalIgnoreCase);
}
} }
public string GetOutputPath(MediaSourceInfo mediaSource, string targetFile) public string GetOutputPath(MediaSourceInfo mediaSource, string targetFile)

View File

@ -298,15 +298,20 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts
private string GetTunerChannelId(Dictionary<string, string> attributes) private string GetTunerChannelId(Dictionary<string, string> attributes)
{ {
string result; var values = new List<string>();
attributes.TryGetValue("tvg-id", out result);
if (string.IsNullOrWhiteSpace(result)) string result;
if (attributes.TryGetValue("tvg-id", out result))
{ {
attributes.TryGetValue("channel-id", out result); values.Add(result);
} }
return result; if (attributes.TryGetValue("channel-id", out result))
{
values.Add(result);
}
return values.Count == 0 ? null : string.Join("-", values.ToArray());
} }
private Dictionary<string, string> ParseExtInf(string line, out string remaining) private Dictionary<string, string> ParseExtInf(string line, out string remaining)

View File

@ -14,6 +14,7 @@
public bool EnableInternetProviders { get; set; } public bool EnableInternetProviders { get; set; }
public bool ImportMissingEpisodes { get; set; } public bool ImportMissingEpisodes { get; set; }
public bool EnableAutomaticSeriesGrouping { get; set; } public bool EnableAutomaticSeriesGrouping { get; set; }
public bool EnableEmbeddedTitles { get; set; }
/// <summary> /// <summary>
/// Gets or sets the preferred metadata language. /// Gets or sets the preferred metadata language.

View File

@ -195,8 +195,9 @@ namespace MediaBrowser.Providers.MediaInfo
} }
await AddExternalSubtitles(video, mediaStreams, options, cancellationToken).ConfigureAwait(false); await AddExternalSubtitles(video, mediaStreams, options, cancellationToken).ConfigureAwait(false);
var libraryOptions = _libraryManager.GetLibraryOptions(video);
FetchEmbeddedInfo(video, mediaInfo, options); FetchEmbeddedInfo(video, mediaInfo, options, libraryOptions);
await FetchPeople(video, mediaInfo, options).ConfigureAwait(false); await FetchPeople(video, mediaInfo, options).ConfigureAwait(false);
video.IsHD = mediaStreams.Any(i => i.Type == MediaStreamType.Video && i.Width.HasValue && i.Width.Value >= 1260); video.IsHD = mediaStreams.Any(i => i.Type == MediaStreamType.Video && i.Width.HasValue && i.Width.Value >= 1260);
@ -222,7 +223,6 @@ namespace MediaBrowser.Providers.MediaInfo
NormalizeChapterNames(chapters); NormalizeChapterNames(chapters);
var libraryOptions = _libraryManager.GetLibraryOptions(video);
var extractDuringScan = false; var extractDuringScan = false;
if (libraryOptions != null) if (libraryOptions != null)
{ {
@ -344,9 +344,9 @@ namespace MediaBrowser.Providers.MediaInfo
} }
} }
private void FetchEmbeddedInfo(Video video, Model.MediaInfo.MediaInfo data, MetadataRefreshOptions options) private void FetchEmbeddedInfo(Video video, Model.MediaInfo.MediaInfo data, MetadataRefreshOptions refreshOptions, LibraryOptions libraryOptions)
{ {
var isFullRefresh = options.MetadataRefreshMode == MetadataRefreshMode.FullRefresh; var isFullRefresh = refreshOptions.MetadataRefreshMode == MetadataRefreshMode.FullRefresh;
if (!video.IsLocked && !video.LockedFields.Contains(MetadataFields.OfficialRating)) if (!video.IsLocked && !video.LockedFields.Contains(MetadataFields.OfficialRating))
{ {
@ -418,15 +418,12 @@ namespace MediaBrowser.Providers.MediaInfo
if (!video.IsLocked && !video.LockedFields.Contains(MetadataFields.Name)) if (!video.IsLocked && !video.LockedFields.Contains(MetadataFields.Name))
{ {
if (!string.IsNullOrWhiteSpace(data.Name)) if (!string.IsNullOrWhiteSpace(data.Name) && libraryOptions.EnableEmbeddedTitles)
{ {
if (string.IsNullOrWhiteSpace(video.Name) || (string.Equals(video.Name, Path.GetFileNameWithoutExtension(video.Path), StringComparison.OrdinalIgnoreCase) && !video.ProviderIds.Any())) // Don't use the embedded name for extras because it will often be the same name as the movie
if (!video.ExtraType.HasValue && !video.IsOwnedItem)
{ {
// Don't use the embedded name for extras because it will often be the same name as the movie video.Name = data.Name;
if (!video.ExtraType.HasValue && !video.IsOwnedItem)
{
video.Name = data.Name;
}
} }
} }
} }
@ -481,7 +478,7 @@ namespace MediaBrowser.Providers.MediaInfo
/// </summary> /// </summary>
/// <param name="video">The video.</param> /// <param name="video">The video.</param>
/// <param name="currentStreams">The current streams.</param> /// <param name="currentStreams">The current streams.</param>
/// <param name="options">The options.</param> /// <param name="options">The refreshOptions.</param>
/// <param name="cancellationToken">The cancellation token.</param> /// <param name="cancellationToken">The cancellation token.</param>
/// <returns>Task.</returns> /// <returns>Task.</returns>
private async Task AddExternalSubtitles(Video video, private async Task AddExternalSubtitles(Video video,

View File

@ -1,3 +1,3 @@
using System.Reflection; using System.Reflection;
[assembly: AssemblyVersion("3.2.1.114")] [assembly: AssemblyVersion("3.2.1.115")]