aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Session/SessionInfo.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Controller/Session/SessionInfo.cs')
-rw-r--r--MediaBrowser.Controller/Session/SessionInfo.cs14
1 files changed, 14 insertions, 0 deletions
diff --git a/MediaBrowser.Controller/Session/SessionInfo.cs b/MediaBrowser.Controller/Session/SessionInfo.cs
index f590d9aec..11a9ceac4 100644
--- a/MediaBrowser.Controller/Session/SessionInfo.cs
+++ b/MediaBrowser.Controller/Session/SessionInfo.cs
@@ -203,6 +203,11 @@ namespace MediaBrowser.Controller.Session
public void StartAutomaticProgress(ITimerFactory timerFactory, PlaybackProgressInfo progressInfo)
{
+ if (_disposed)
+ {
+ return;
+ }
+
lock (_progressLock)
{
_lastProgressInfo = progressInfo;
@@ -223,6 +228,11 @@ namespace MediaBrowser.Controller.Session
private async void OnProgressTimerCallback(object state)
{
+ if (_disposed)
+ {
+ return;
+ }
+
var progressInfo = _lastProgressInfo;
if (progressInfo == null)
{
@@ -274,8 +284,12 @@ namespace MediaBrowser.Controller.Session
}
}
+ private bool _disposed = false;
+
public void Dispose()
{
+ _disposed = true;
+
StopAutomaticProgress();
_sessionManager = null;
}