瀏覽代碼

update device discovery

Luke Pulverenti 8 年之前
父節點
當前提交
020ceb97d2
共有 2 個文件被更改,包括 13 次插入15 次删除
  1. 12 14
      MediaBrowser.Dlna/Ssdp/DeviceDiscovery.cs
  2. 1 1
      MediaBrowser.Server.Implementations/Connect/ConnectManager.cs

+ 12 - 14
MediaBrowser.Dlna/Ssdp/DeviceDiscovery.cs

@@ -50,8 +50,6 @@ namespace MediaBrowser.Dlna.Ssdp
             // Connect our event handler so we process devices as they are found
             _DeviceLocator.DeviceAvailable += deviceLocator_DeviceAvailable;
             _DeviceLocator.DeviceUnavailable += _DeviceLocator_DeviceUnavailable;
-            // Enable listening for notifications (optional)
-            _DeviceLocator.StartListeningForNotifications();
 
             // Perform a search so we don't have to wait for devices to broadcast notifications 
             // again to get any results right away (notifications are broadcast periodically).
@@ -62,23 +60,23 @@ namespace MediaBrowser.Dlna.Ssdp
         {
             Task.Factory.StartNew(async (o) =>
             {
-                try
+                while (!_tokenSource.IsCancellationRequested)
                 {
-                    while (true)
+                    try
                     {
+                        // Enable listening for notifications (optional)
+                        _DeviceLocator.StartListeningForNotifications();
+
                         await _DeviceLocator.SearchAsync().ConfigureAwait(false);
+                    }
+                    catch (Exception ex)
+                    {
+                        _logger.ErrorException("Error searching for devices", ex);
+                    }
 
-                        var delay = _config.GetDlnaConfiguration().ClientDiscoveryIntervalSeconds * 1000;
+                    var delay = _config.GetDlnaConfiguration().ClientDiscoveryIntervalSeconds * 1000;
 
-                        await Task.Delay(delay, _tokenSource.Token).ConfigureAwait(false);
-                    }
-                }
-                catch (OperationCanceledException)
-                {
-                }
-                catch (Exception ex)
-                {
-                    _logger.ErrorException("Error searching for devices", ex);
+                    await Task.Delay(delay, _tokenSource.Token).ConfigureAwait(false);
                 }
 
             }, CancellationToken.None, TaskCreationOptions.LongRunning);

+ 1 - 1
MediaBrowser.Server.Implementations/Connect/ConnectManager.cs

@@ -450,7 +450,7 @@ namespace MediaBrowser.Server.Implementations.Connect
 
             if (!string.IsNullOrWhiteSpace(user.ConnectUserId))
             {
-                await RemoveConnect(user, connectUser.Id).ConfigureAwait(false);
+                await RemoveConnect(user, user.ConnectUserId).ConfigureAwait(false);
             }
 
             var url = GetConnectUrl("ServerAuthorizations");