|
|
@ -38,7 +38,7 @@ namespace MediaBrowser.Dlna.Main
|
|
|
|
private readonly IMediaSourceManager _mediaSourceManager;
|
|
|
|
private readonly IMediaSourceManager _mediaSourceManager;
|
|
|
|
|
|
|
|
|
|
|
|
private readonly SsdpHandler _ssdpHandler;
|
|
|
|
private readonly SsdpHandler _ssdpHandler;
|
|
|
|
private DeviceDiscovery _deviceDiscovery;
|
|
|
|
private readonly IDeviceDiscovery _deviceDiscovery;
|
|
|
|
|
|
|
|
|
|
|
|
private readonly List<string> _registeredServerIds = new List<string>();
|
|
|
|
private readonly List<string> _registeredServerIds = new List<string>();
|
|
|
|
private bool _dlnaServerStarted;
|
|
|
|
private bool _dlnaServerStarted;
|
|
|
@ -56,7 +56,7 @@ namespace MediaBrowser.Dlna.Main
|
|
|
|
IUserDataManager userDataManager,
|
|
|
|
IUserDataManager userDataManager,
|
|
|
|
ILocalizationManager localization,
|
|
|
|
ILocalizationManager localization,
|
|
|
|
IMediaSourceManager mediaSourceManager,
|
|
|
|
IMediaSourceManager mediaSourceManager,
|
|
|
|
ISsdpHandler ssdpHandler)
|
|
|
|
ISsdpHandler ssdpHandler, IDeviceDiscovery deviceDiscovery)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
_config = config;
|
|
|
|
_config = config;
|
|
|
|
_appHost = appHost;
|
|
|
|
_appHost = appHost;
|
|
|
@ -70,6 +70,7 @@ namespace MediaBrowser.Dlna.Main
|
|
|
|
_userDataManager = userDataManager;
|
|
|
|
_userDataManager = userDataManager;
|
|
|
|
_localization = localization;
|
|
|
|
_localization = localization;
|
|
|
|
_mediaSourceManager = mediaSourceManager;
|
|
|
|
_mediaSourceManager = mediaSourceManager;
|
|
|
|
|
|
|
|
_deviceDiscovery = deviceDiscovery;
|
|
|
|
_ssdpHandler = (SsdpHandler)ssdpHandler;
|
|
|
|
_ssdpHandler = (SsdpHandler)ssdpHandler;
|
|
|
|
_logger = logManager.GetLogger("Dlna");
|
|
|
|
_logger = logManager.GetLogger("Dlna");
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -81,7 +82,7 @@ namespace MediaBrowser.Dlna.Main
|
|
|
|
|
|
|
|
|
|
|
|
_config.NamedConfigurationUpdated += _config_NamedConfigurationUpdated;
|
|
|
|
_config.NamedConfigurationUpdated += _config_NamedConfigurationUpdated;
|
|
|
|
|
|
|
|
|
|
|
|
DlnaChannelFactory.Instance.Start(_deviceDiscovery, () => _registeredServerIds);
|
|
|
|
DlnaChannelFactory.Instance.Start(() => _registeredServerIds);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void _config_NamedConfigurationUpdated(object sender, ConfigurationUpdateEventArgs e)
|
|
|
|
void _config_NamedConfigurationUpdated(object sender, ConfigurationUpdateEventArgs e)
|
|
|
@ -125,9 +126,7 @@ namespace MediaBrowser.Dlna.Main
|
|
|
|
{
|
|
|
|
{
|
|
|
|
_ssdpHandler.Start();
|
|
|
|
_ssdpHandler.Start();
|
|
|
|
|
|
|
|
|
|
|
|
_deviceDiscovery = new DeviceDiscovery(_logger, _config, _ssdpHandler, _appHost);
|
|
|
|
((DeviceDiscovery)_deviceDiscovery).Start(_ssdpHandler);
|
|
|
|
|
|
|
|
|
|
|
|
_deviceDiscovery.Start();
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
catch (Exception ex)
|
|
|
|
catch (Exception ex)
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -135,18 +134,6 @@ namespace MediaBrowser.Dlna.Main
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void DisposeDeviceDiscovery()
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
try
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
_deviceDiscovery.Dispose();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
_logger.ErrorException("Error disposing device discovery", ex);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public void StartDlnaServer()
|
|
|
|
public void StartDlnaServer()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
try
|
|
|
|
try
|
|
|
@ -240,7 +227,6 @@ namespace MediaBrowser.Dlna.Main
|
|
|
|
{
|
|
|
|
{
|
|
|
|
DisposeDlnaServer();
|
|
|
|
DisposeDlnaServer();
|
|
|
|
DisposePlayToManager();
|
|
|
|
DisposePlayToManager();
|
|
|
|
DisposeDeviceDiscovery();
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public void DisposeDlnaServer()
|
|
|
|
public void DisposeDlnaServer()
|
|
|
|