diff options
Diffstat (limited to 'MediaBrowser.Server.Implementations/Session/SessionManager.cs')
| -rw-r--r-- | MediaBrowser.Server.Implementations/Session/SessionManager.cs | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/MediaBrowser.Server.Implementations/Session/SessionManager.cs b/MediaBrowser.Server.Implementations/Session/SessionManager.cs index 051c8fb68..99407e349 100644 --- a/MediaBrowser.Server.Implementations/Session/SessionManager.cs +++ b/MediaBrowser.Server.Implementations/Session/SessionManager.cs @@ -41,9 +41,6 @@ namespace MediaBrowser.Server.Implementations.Session private readonly ConcurrentDictionary<string, SessionInfo> _activeConnections = new ConcurrentDictionary<string, SessionInfo>(StringComparer.OrdinalIgnoreCase); - private readonly ConcurrentDictionary<Guid, IWebSocketConnection> _websocketConnections = - new ConcurrentDictionary<Guid, IWebSocketConnection>(); - /// <summary> /// Occurs when [playback start]. /// </summary> @@ -133,7 +130,7 @@ namespace MediaBrowser.Server.Implementations.Session var conn = GetConnection(clientType, deviceId, deviceName, user); conn.NowPlayingPositionTicks = currentPositionTicks; - conn.NowPlayingItem = DtoBuilder.GetBaseItemInfo(item); + conn.NowPlayingItem = item; conn.LastActivityDate = DateTime.UtcNow; } @@ -149,7 +146,7 @@ namespace MediaBrowser.Server.Implementations.Session { var conn = GetConnection(clientType, deviceId, deviceName, user); - if (conn.NowPlayingItem != null && conn.NowPlayingItem.Id.Equals(item.Id.ToString())) + if (conn.NowPlayingItem != null && conn.NowPlayingItem.Id == item.Id) { conn.NowPlayingItem = null; conn.NowPlayingPositionTicks = null; @@ -177,7 +174,7 @@ namespace MediaBrowser.Server.Implementations.Session connection.DeviceName = deviceName; - connection.UserId = user == null ? null : user.Id.ToString(); + connection.UserId = user == null ? (Guid?)null : user.Id; return connection; } @@ -366,7 +363,12 @@ namespace MediaBrowser.Server.Implementations.Session /// <param name="webSocket">The web socket.</param> public void IdentifyWebSocket(Guid sessionId, IWebSocketConnection webSocket) { - _websocketConnections.AddOrUpdate(sessionId, webSocket, (key, existing) => webSocket); + var session = AllConnections.FirstOrDefault(i => i.Id == sessionId); + + if (session != null) + { + session.WebSocket = webSocket; + } } } } |
