aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Dlna/Ssdp/SsdpHandler.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Dlna/Ssdp/SsdpHandler.cs')
-rw-r--r--MediaBrowser.Dlna/Ssdp/SsdpHandler.cs15
1 files changed, 14 insertions, 1 deletions
diff --git a/MediaBrowser.Dlna/Ssdp/SsdpHandler.cs b/MediaBrowser.Dlna/Ssdp/SsdpHandler.cs
index 5dd05fd64..32c369a8f 100644
--- a/MediaBrowser.Dlna/Ssdp/SsdpHandler.cs
+++ b/MediaBrowser.Dlna/Ssdp/SsdpHandler.cs
@@ -15,6 +15,7 @@ using System.Net.Sockets;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
+using Microsoft.Win32;
namespace MediaBrowser.Dlna.Ssdp
{
@@ -112,7 +113,9 @@ namespace MediaBrowser.Dlna.Ssdp
{
get
{
- return _devices.Values.SelectMany(i => i).ToList();
+ var devices = _devices.Values.ToList();
+
+ return devices.SelectMany(i => i).ToList();
}
}
@@ -121,6 +124,15 @@ namespace MediaBrowser.Dlna.Ssdp
RestartSocketListener();
ReloadAliveNotifier();
+ SystemEvents.PowerModeChanged += SystemEvents_PowerModeChanged;
+ }
+
+ void SystemEvents_PowerModeChanged(object sender, PowerModeChangedEventArgs e)
+ {
+ if (e.Mode == PowerModes.Resume)
+ {
+ NotifyAll();
+ }
}
public void SendSearchMessage(EndPoint localIp)
@@ -433,6 +445,7 @@ namespace MediaBrowser.Dlna.Ssdp
public void Dispose()
{
_config.NamedConfigurationUpdated -= _config_ConfigurationUpdated;
+ SystemEvents.PowerModeChanged -= SystemEvents_PowerModeChanged;
_isDisposed = true;
while (_messageQueue.Count != 0)