Merge pull request #5903 from iwalton3/auto-leave-syncplay

Leave SyncPlay group on session disconnect.

(cherry picked from commit dcc2df75ec176ca2b4958b0f358f68f2bbaeddd5)
Signed-off-by: Joshua M. Boniface <joshua@boniface.me>
This commit is contained in:
Bond-009 2021-04-29 14:19:07 +02:00 committed by Joshua M. Boniface
parent 53239b0529
commit ee94fad8f7

View File

@ -87,7 +87,7 @@ namespace Emby.Server.Implementations.SyncPlay
_sessionManager = sessionManager; _sessionManager = sessionManager;
_libraryManager = libraryManager; _libraryManager = libraryManager;
_logger = loggerFactory.CreateLogger<SyncPlayManager>(); _logger = loggerFactory.CreateLogger<SyncPlayManager>();
_sessionManager.SessionControllerConnected += OnSessionControllerConnected; _sessionManager.SessionEnded += OnSessionEnded;
} }
/// <inheritdoc /> /// <inheritdoc />
@ -352,18 +352,18 @@ namespace Emby.Server.Implementations.SyncPlay
return; return;
} }
_sessionManager.SessionControllerConnected -= OnSessionControllerConnected; _sessionManager.SessionEnded -= OnSessionEnded;
_disposed = true; _disposed = true;
} }
private void OnSessionControllerConnected(object sender, SessionEventArgs e) private void OnSessionEnded(object sender, SessionEventArgs e)
{ {
var session = e.SessionInfo; var session = e.SessionInfo;
if (_sessionToGroupMap.TryGetValue(session.Id, out var group)) if (_sessionToGroupMap.TryGetValue(session.Id, out var group))
{ {
var request = new JoinGroupRequest(group.GroupId); var leaveGroupRequest = new LeaveGroupRequest();
JoinGroup(session, request, CancellationToken.None); LeaveGroup(session, leaveGroupRequest, CancellationToken.None);
} }
} }