aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2016-05-14 12:06:01 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2016-05-14 12:06:01 -0400
commit4d66f6dc6c1f0067479ce4845441ce713981c4fd (patch)
treead57cd34e1ef46013e9cd70526b9ec623b03bb10
parent7d716dd94b5736821add5b34c35fc4536beb30ff (diff)
auto-organize fixes
-rw-r--r--MediaBrowser.Api/Library/FileOrganizationService.cs2
-rw-r--r--MediaBrowser.Dlna/Main/DlnaEntryPoint.cs43
-rw-r--r--MediaBrowser.Server.Implementations/FileOrganization/EpisodeFileOrganizer.cs5
-rw-r--r--MediaBrowser.Server.Implementations/FileOrganization/FileOrganizationService.cs10
4 files changed, 46 insertions, 14 deletions
diff --git a/MediaBrowser.Api/Library/FileOrganizationService.cs b/MediaBrowser.Api/Library/FileOrganizationService.cs
index 849e9cf0db..0ed08a8607 100644
--- a/MediaBrowser.Api/Library/FileOrganizationService.cs
+++ b/MediaBrowser.Api/Library/FileOrganizationService.cs
@@ -119,8 +119,6 @@ namespace MediaBrowser.Api.Library
{
private readonly IFileOrganizationService _iFileOrganizationService;
- /// The _json serializer
- /// </summary>
private readonly IJsonSerializer _jsonSerializer;
public FileOrganizationService(IFileOrganizationService iFileOrganizationService, IJsonSerializer jsonSerializer)
diff --git a/MediaBrowser.Dlna/Main/DlnaEntryPoint.cs b/MediaBrowser.Dlna/Main/DlnaEntryPoint.cs
index dfec8baaae..a2e9cd60e7 100644
--- a/MediaBrowser.Dlna/Main/DlnaEntryPoint.cs
+++ b/MediaBrowser.Dlna/Main/DlnaEntryPoint.cs
@@ -85,14 +85,14 @@ namespace MediaBrowser.Dlna.Main
_config.NamedConfigurationUpdated += _config_NamedConfigurationUpdated;
}
- private bool _lastEnableUPnP;
+ private bool _lastEnableUpnP;
void _config_ConfigurationUpdated(object sender, EventArgs e)
{
- if (_lastEnableUPnP != _config.Configuration.EnableUPnP)
+ if (_lastEnableUpnP != _config.Configuration.EnableUPnP)
{
ReloadComponents();
}
- _lastEnableUPnP = _config.Configuration.EnableUPnP;
+ _lastEnableUpnP = _config.Configuration.EnableUPnP;
}
void _config_NamedConfigurationUpdated(object sender, ConfigurationUpdateEventArgs e)
@@ -111,7 +111,10 @@ namespace MediaBrowser.Dlna.Main
{
if (_ssdpHandlerStarted)
{
- StopSsdpHandler();
+ // Sat/ip live tv depends on device discovery, as well as hd homerun detection
+ // In order to allow this to be disabled, we need a modular way of knowing if there are
+ // any parts of the system that are dependant on it
+ // DisposeSsdpHandler();
}
return;
}
@@ -149,19 +152,44 @@ namespace MediaBrowser.Dlna.Main
try
{
_ssdpHandler.Start();
+ _ssdpHandlerStarted = true;
+
+ StartDeviceDiscovery();
+ }
+ catch (Exception ex)
+ {
+ _logger.ErrorException("Error starting ssdp handlers", ex);
+ }
+ }
+ private void StartDeviceDiscovery()
+ {
+ try
+ {
((DeviceDiscovery)_deviceDiscovery).Start(_ssdpHandler);
+ }
+ catch (Exception ex)
+ {
+ _logger.ErrorException("Error starting device discovery", ex);
+ }
+ }
- _ssdpHandlerStarted = true;
+ private void DisposeDeviceDiscovery()
+ {
+ try
+ {
+ ((DeviceDiscovery)_deviceDiscovery).Dispose();
}
catch (Exception ex)
{
- _logger.ErrorException("Error starting ssdp handlers", ex);
+ _logger.ErrorException("Error stopping device discovery", ex);
}
}
- private void StopSsdpHandler()
+ private void DisposeSsdpHandler()
{
+ DisposeDeviceDiscovery();
+
try
{
((DeviceDiscovery)_deviceDiscovery).Dispose();
@@ -277,6 +305,7 @@ namespace MediaBrowser.Dlna.Main
{
DisposeDlnaServer();
DisposePlayToManager();
+ DisposeSsdpHandler();
}
public void DisposeDlnaServer()
diff --git a/MediaBrowser.Server.Implementations/FileOrganization/EpisodeFileOrganizer.cs b/MediaBrowser.Server.Implementations/FileOrganization/EpisodeFileOrganizer.cs
index f402a0a33b..83801b3e76 100644
--- a/MediaBrowser.Server.Implementations/FileOrganization/EpisodeFileOrganizer.cs
+++ b/MediaBrowser.Server.Implementations/FileOrganization/EpisodeFileOrganizer.cs
@@ -356,6 +356,11 @@ namespace MediaBrowser.Server.Implementations.FileOrganization
private void SaveSmartMatchString(string matchString, Series series, AutoOrganizeOptions options)
{
+ if (string.IsNullOrEmpty(matchString) || matchString.Length < 3)
+ {
+ return;
+ }
+
SmartMatchInfo info = options.SmartMatchInfos.FirstOrDefault(i => string.Equals(i.ItemName, series.Name, StringComparison.OrdinalIgnoreCase));
if (info == null)
diff --git a/MediaBrowser.Server.Implementations/FileOrganization/FileOrganizationService.cs b/MediaBrowser.Server.Implementations/FileOrganization/FileOrganizationService.cs
index 0e8a606122..60d515e120 100644
--- a/MediaBrowser.Server.Implementations/FileOrganization/FileOrganizationService.cs
+++ b/MediaBrowser.Server.Implementations/FileOrganization/FileOrganizationService.cs
@@ -95,7 +95,7 @@ namespace MediaBrowser.Server.Implementations.FileOrganization
return _repo.Delete(resultId);
}
- private AutoOrganizeOptions GetAutoOrganizeptions()
+ private AutoOrganizeOptions GetAutoOrganizeOptions()
{
return _config.GetAutoOrganizeOptions();
}
@@ -112,7 +112,7 @@ namespace MediaBrowser.Server.Implementations.FileOrganization
var organizer = new EpisodeFileOrganizer(this, _config, _fileSystem, _logger, _libraryManager,
_libraryMonitor, _providerManager);
- await organizer.OrganizeEpisodeFile(result.OriginalPath, GetAutoOrganizeptions(), true, CancellationToken.None)
+ await organizer.OrganizeEpisodeFile(result.OriginalPath, GetAutoOrganizeOptions(), true, CancellationToken.None)
.ConfigureAwait(false);
}
@@ -126,7 +126,7 @@ namespace MediaBrowser.Server.Implementations.FileOrganization
var organizer = new EpisodeFileOrganizer(this, _config, _fileSystem, _logger, _libraryManager,
_libraryMonitor, _providerManager);
- await organizer.OrganizeWithCorrection(request, GetAutoOrganizeptions(), CancellationToken.None).ConfigureAwait(false);
+ await organizer.OrganizeWithCorrection(request, GetAutoOrganizeOptions(), CancellationToken.None).ConfigureAwait(false);
}
public QueryResult<SmartMatchInfo> GetSmartMatchInfos(FileOrganizationResultQuery query)
@@ -136,7 +136,7 @@ namespace MediaBrowser.Server.Implementations.FileOrganization
throw new ArgumentNullException("query");
}
- var options = GetAutoOrganizeptions();
+ var options = GetAutoOrganizeOptions();
var items = options.SmartMatchInfos.Skip(query.StartIndex ?? 0).Take(query.Limit ?? Int32.MaxValue).ToArray();
@@ -159,7 +159,7 @@ namespace MediaBrowser.Server.Implementations.FileOrganization
throw new ArgumentNullException("matchString");
}
- var options = GetAutoOrganizeptions();
+ var options = GetAutoOrganizeOptions();
SmartMatchInfo info = options.SmartMatchInfos.FirstOrDefault(i => string.Equals(i.ItemName, itemName));