aboutsummaryrefslogtreecommitdiff
path: root/Emby.Server.Implementations/Session/SessionManager.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Emby.Server.Implementations/Session/SessionManager.cs')
-rw-r--r--Emby.Server.Implementations/Session/SessionManager.cs8
1 files changed, 7 insertions, 1 deletions
diff --git a/Emby.Server.Implementations/Session/SessionManager.cs b/Emby.Server.Implementations/Session/SessionManager.cs
index 05a240cea..ed0a47121 100644
--- a/Emby.Server.Implementations/Session/SessionManager.cs
+++ b/Emby.Server.Implementations/Session/SessionManager.cs
@@ -197,6 +197,8 @@ namespace Emby.Server.Implementations.Session
_logger.ErrorException("Error disposing session controller", ex);
}
}
+
+ info.Dispose();
}
/// <summary>
@@ -415,7 +417,7 @@ namespace Emby.Server.Implementations.Session
if (!_activeConnections.TryGetValue(key, out sessionInfo))
{
- sessionInfo = new SessionInfo
+ sessionInfo = new SessionInfo(this, _logger)
{
Client = appName,
DeviceId = deviceId,
@@ -609,6 +611,7 @@ namespace Emby.Server.Implementations.Session
ClearTranscodingInfo(session.DeviceId);
}
+ session.StopAutomaticProgress();
session.QueueableMediaTypes = info.QueueableMediaTypes;
var users = GetUsers(session);
@@ -727,6 +730,7 @@ namespace Emby.Server.Implementations.Session
}, _logger);
+ session.StartAutomaticProgress(_timerFactory, info);
StartIdleCheckTimer();
}
@@ -788,6 +792,8 @@ namespace Emby.Server.Implementations.Session
var session = GetSession(info.SessionId);
+ session.StopAutomaticProgress();
+
var libraryItem = string.IsNullOrWhiteSpace(info.ItemId)
? null
: GetNowPlayingItem(session, info.ItemId);