Merge pull request #2119 from MediaBrowser/dev

Dev
This commit is contained in:
Luke 2016-08-28 15:45:29 -04:00 committed by GitHub
commit 3b9a4be8f0
8 changed files with 62 additions and 50 deletions

View File

@ -429,17 +429,6 @@ namespace MediaBrowser.Common.Implementations.ScheduledTasks
GC.Collect(2, GCCollectionMode.Forced, true); GC.Collect(2, GCCollectionMode.Forced, true);
} }
/// <summary>
/// Executes the task.
/// </summary>
/// <param name="cancellationToken">The cancellation token.</param>
/// <param name="progress">The progress.</param>
/// <returns>Task.</returns>
private Task ExecuteTask(CancellationToken cancellationToken, IProgress<double> progress)
{
return Task.Run(async () => await ScheduledTask.Execute(cancellationToken, progress).ConfigureAwait(false), cancellationToken);
}
/// <summary> /// <summary>
/// Progress_s the progress changed. /// Progress_s the progress changed.
/// </summary> /// </summary>

View File

@ -1,14 +1,11 @@
using MediaBrowser.Controller.FileOrganization; using MediaBrowser.Common.ScheduledTasks;
using MediaBrowser.Controller.FileOrganization;
using MediaBrowser.Controller.Plugins; using MediaBrowser.Controller.Plugins;
using MediaBrowser.Model.Logging; using MediaBrowser.Controller.Session;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MediaBrowser.Model.Events; using MediaBrowser.Model.Events;
using MediaBrowser.Model.FileOrganization; using MediaBrowser.Model.FileOrganization;
using MediaBrowser.Controller.Session; using MediaBrowser.Model.Logging;
using System;
using System.Threading; using System.Threading;
namespace MediaBrowser.Server.Implementations.FileOrganization namespace MediaBrowser.Server.Implementations.FileOrganization
@ -20,11 +17,13 @@ namespace MediaBrowser.Server.Implementations.FileOrganization
{ {
private readonly IFileOrganizationService _organizationService; private readonly IFileOrganizationService _organizationService;
private readonly ISessionManager _sessionManager; private readonly ISessionManager _sessionManager;
private readonly ITaskManager _taskManager;
public FileOrganizationNotifier(ILogger logger, IFileOrganizationService organizationService, ISessionManager sessionManager) public FileOrganizationNotifier(ILogger logger, IFileOrganizationService organizationService, ISessionManager sessionManager, ITaskManager taskManager)
{ {
_organizationService = organizationService; _organizationService = organizationService;
_sessionManager = sessionManager; _sessionManager = sessionManager;
_taskManager = taskManager;
} }
public void Run() public void Run()
@ -33,34 +32,47 @@ namespace MediaBrowser.Server.Implementations.FileOrganization
_organizationService.ItemRemoved += _organizationService_ItemRemoved; _organizationService.ItemRemoved += _organizationService_ItemRemoved;
_organizationService.ItemUpdated += _organizationService_ItemUpdated; _organizationService.ItemUpdated += _organizationService_ItemUpdated;
_organizationService.LogReset += _organizationService_LogReset; _organizationService.LogReset += _organizationService_LogReset;
//_taskManager.TaskCompleted += _taskManager_TaskCompleted;
} }
private void _organizationService_LogReset(object sender, EventArgs e) private void _organizationService_LogReset(object sender, EventArgs e)
{ {
_sessionManager.SendMessageToAdminSessions("AutoOrganizeUpdate", (FileOrganizationResult)null, CancellationToken.None); _sessionManager.SendMessageToAdminSessions("AutoOrganize_LogReset", (FileOrganizationResult)null, CancellationToken.None);
} }
private void _organizationService_ItemUpdated(object sender, GenericEventArgs<FileOrganizationResult> e) private void _organizationService_ItemUpdated(object sender, GenericEventArgs<FileOrganizationResult> e)
{ {
_sessionManager.SendMessageToAdminSessions("AutoOrganizeUpdate", e.Argument, CancellationToken.None); _sessionManager.SendMessageToAdminSessions("AutoOrganize_ItemUpdated", e.Argument, CancellationToken.None);
} }
private void _organizationService_ItemRemoved(object sender, GenericEventArgs<FileOrganizationResult> e) private void _organizationService_ItemRemoved(object sender, GenericEventArgs<FileOrganizationResult> e)
{ {
_sessionManager.SendMessageToAdminSessions("AutoOrganizeUpdate", (FileOrganizationResult)null, CancellationToken.None); _sessionManager.SendMessageToAdminSessions("AutoOrganize_ItemRemoved", e.Argument, CancellationToken.None);
} }
private void _organizationService_ItemAdded(object sender, GenericEventArgs<FileOrganizationResult> e) private void _organizationService_ItemAdded(object sender, GenericEventArgs<FileOrganizationResult> e)
{ {
_sessionManager.SendMessageToAdminSessions("AutoOrganizeUpdate", (FileOrganizationResult)null, CancellationToken.None); _sessionManager.SendMessageToAdminSessions("AutoOrganize_ItemAdded", e.Argument, CancellationToken.None);
} }
//private void _taskManager_TaskCompleted(object sender, TaskCompletionEventArgs e)
//{
// var taskWithKey = e.Task.ScheduledTask as IHasKey;
// if (taskWithKey != null && taskWithKey.Key == "AutoOrganize")
// {
// _sessionManager.SendMessageToAdminSessions("AutoOrganize_TaskCompleted", (FileOrganizationResult)null, CancellationToken.None);
// }
//}
public void Dispose() public void Dispose()
{ {
_organizationService.ItemAdded -= _organizationService_ItemAdded; _organizationService.ItemAdded -= _organizationService_ItemAdded;
_organizationService.ItemRemoved -= _organizationService_ItemRemoved; _organizationService.ItemRemoved -= _organizationService_ItemRemoved;
_organizationService.ItemUpdated -= _organizationService_ItemUpdated; _organizationService.ItemUpdated -= _organizationService_ItemUpdated;
_organizationService.LogReset -= _organizationService_LogReset; _organizationService.LogReset -= _organizationService_LogReset;
//_taskManager.TaskCompleted -= _taskManager_TaskCompleted;
} }

View File

@ -284,19 +284,19 @@ namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts.SatIp
var capabilitiesElement = deviceElement.Element(n1 + "X_SATIPCAP"); var capabilitiesElement = deviceElement.Element(n1 + "X_SATIPCAP");
if (capabilitiesElement != null) if (capabilitiesElement != null)
{ {
_capabilities = capabilitiesElement.Value; //_capabilities = capabilitiesElement.Value;
if (capabilitiesElement.Value.Contains(',')) //if (capabilitiesElement.Value.Contains(','))
{ //{
string[] capabilities = capabilitiesElement.Value.Split(','); // string[] capabilities = capabilitiesElement.Value.Split(',');
foreach (var capability in capabilities) // foreach (var capability in capabilities)
{ // {
ReadCapability(capability); // ReadCapability(capability);
} // }
} //}
else //else
{ //{
ReadCapability(capabilitiesElement.Value); // ReadCapability(capabilitiesElement.Value);
} //}
} }
else else
{ {

View File

@ -123,10 +123,17 @@ namespace MediaBrowser.Server.Implementations.MediaEncoder
{ {
if (extractImages) if (extractImages)
{ {
if (video.VideoType == VideoType.HdDvd || video.VideoType == VideoType.Iso || video.VideoType == VideoType.BluRay || video.VideoType == VideoType.Dvd) if (video.VideoType == VideoType.HdDvd || video.VideoType == VideoType.Iso)
{ {
continue; continue;
} }
if (video.VideoType == VideoType.BluRay || video.VideoType == VideoType.Dvd)
{
if (video.PlayableStreamFileNames.Count != 1)
{
continue;
}
}
// Add some time for the first chapter to make sure we don't end up with a black image // Add some time for the first chapter to make sure we don't end up with a black image
var time = chapter.StartPositionTicks == 0 ? TimeSpan.FromTicks(Math.Min(FirstChapterTicks, video.RunTimeTicks ?? 0)) : TimeSpan.FromTicks(chapter.StartPositionTicks); var time = chapter.StartPositionTicks == 0 ? TimeSpan.FromTicks(Math.Min(FirstChapterTicks, video.RunTimeTicks ?? 0)) : TimeSpan.FromTicks(chapter.StartPositionTicks);

View File

@ -72,19 +72,23 @@ namespace MediaBrowser.XbmcMetadata.Savers
{ {
writer.WriteElementString("airsbefore_episode", episode.AirsBeforeEpisodeNumber.Value.ToString(UsCulture)); writer.WriteElementString("airsbefore_episode", episode.AirsBeforeEpisodeNumber.Value.ToString(UsCulture));
} }
if (episode.AirsBeforeEpisodeNumber.HasValue && episode.AirsBeforeEpisodeNumber.Value != -1)
{
writer.WriteElementString("displayepisode", episode.AirsBeforeEpisodeNumber.Value.ToString(UsCulture));
}
if (episode.AirsBeforeSeasonNumber.HasValue && episode.AirsBeforeSeasonNumber.Value != -1) if (episode.AirsBeforeSeasonNumber.HasValue && episode.AirsBeforeSeasonNumber.Value != -1)
{ {
writer.WriteElementString("airsbefore_season", episode.AirsBeforeSeasonNumber.Value.ToString(UsCulture)); writer.WriteElementString("airsbefore_season", episode.AirsBeforeSeasonNumber.Value.ToString(UsCulture));
} }
var season = episode.AiredSeasonNumber; if (episode.ParentIndexNumber.HasValue && episode.ParentIndexNumber.Value == 0)
if (season.HasValue && season.Value != -1)
{ {
writer.WriteElementString("displayseason", season.Value.ToString(UsCulture)); if (episode.AirsBeforeEpisodeNumber.HasValue && episode.AirsBeforeEpisodeNumber.Value != -1)
{
writer.WriteElementString("displayepisode", episode.AirsBeforeEpisodeNumber.Value.ToString(UsCulture));
}
var specialSeason = episode.AiredSeasonNumber;
if (specialSeason.HasValue && specialSeason.Value != -1)
{
writer.WriteElementString("displayseason", specialSeason.Value.ToString(UsCulture));
}
} }
if (episode.DvdEpisodeNumber.HasValue) if (episode.DvdEpisodeNumber.HasValue)

View File

@ -2,7 +2,7 @@
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd"> <package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
<metadata> <metadata>
<id>MediaBrowser.Common.Internal</id> <id>MediaBrowser.Common.Internal</id>
<version>3.0.655</version> <version>3.0.656</version>
<title>MediaBrowser.Common.Internal</title> <title>MediaBrowser.Common.Internal</title>
<authors>Luke</authors> <authors>Luke</authors>
<owners>ebr,Luke,scottisafool</owners> <owners>ebr,Luke,scottisafool</owners>
@ -12,7 +12,7 @@
<description>Contains common components shared by Emby Theater and Emby Server. Not intended for plugin developer consumption.</description> <description>Contains common components shared by Emby Theater and Emby Server. Not intended for plugin developer consumption.</description>
<copyright>Copyright © Emby 2013</copyright> <copyright>Copyright © Emby 2013</copyright>
<dependencies> <dependencies>
<dependency id="MediaBrowser.Common" version="3.0.655" /> <dependency id="MediaBrowser.Common" version="3.0.656" />
<dependency id="NLog" version="4.3.6" /> <dependency id="NLog" version="4.3.6" />
<dependency id="SimpleInjector" version="3.2.0" /> <dependency id="SimpleInjector" version="3.2.0" />
</dependencies> </dependencies>

View File

@ -2,7 +2,7 @@
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd"> <package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
<metadata> <metadata>
<id>MediaBrowser.Common</id> <id>MediaBrowser.Common</id>
<version>3.0.655</version> <version>3.0.656</version>
<title>MediaBrowser.Common</title> <title>MediaBrowser.Common</title>
<authors>Emby Team</authors> <authors>Emby Team</authors>
<owners>ebr,Luke,scottisafool</owners> <owners>ebr,Luke,scottisafool</owners>

View File

@ -2,7 +2,7 @@
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd"> <package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata> <metadata>
<id>MediaBrowser.Server.Core</id> <id>MediaBrowser.Server.Core</id>
<version>3.0.655</version> <version>3.0.656</version>
<title>Media Browser.Server.Core</title> <title>Media Browser.Server.Core</title>
<authors>Emby Team</authors> <authors>Emby Team</authors>
<owners>ebr,Luke,scottisafool</owners> <owners>ebr,Luke,scottisafool</owners>
@ -12,7 +12,7 @@
<description>Contains core components required to build plugins for Emby Server.</description> <description>Contains core components required to build plugins for Emby Server.</description>
<copyright>Copyright © Emby 2013</copyright> <copyright>Copyright © Emby 2013</copyright>
<dependencies> <dependencies>
<dependency id="MediaBrowser.Common" version="3.0.655" /> <dependency id="MediaBrowser.Common" version="3.0.656" />
<dependency id="Interfaces.IO" version="1.0.0.5" /> <dependency id="Interfaces.IO" version="1.0.0.5" />
</dependencies> </dependencies>
</metadata> </metadata>