aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Session/WebSocketController.cs
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-07-11 22:31:08 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-07-11 22:31:08 -0400
commitb5641013cea8542d3a992fb11811347e761a1f50 (patch)
treeedf14d9448f57e7e567668b6b1915844d9c5de58 /MediaBrowser.Server.Implementations/Session/WebSocketController.cs
parent59de5c0d14fbf0c09926e37dce0c2e6de69000dd (diff)
Add api key functions
Diffstat (limited to 'MediaBrowser.Server.Implementations/Session/WebSocketController.cs')
-rw-r--r--MediaBrowser.Server.Implementations/Session/WebSocketController.cs26
1 files changed, 20 insertions, 6 deletions
diff --git a/MediaBrowser.Server.Implementations/Session/WebSocketController.cs b/MediaBrowser.Server.Implementations/Session/WebSocketController.cs
index 5fc28e81b..e1d77c268 100644
--- a/MediaBrowser.Server.Implementations/Session/WebSocketController.cs
+++ b/MediaBrowser.Server.Implementations/Session/WebSocketController.cs
@@ -62,14 +62,28 @@ namespace MediaBrowser.Server.Implementations.Session
void connection_Closed(object sender, EventArgs e)
{
- var capabilities = new SessionCapabilities
+ if (!GetActiveSockets().Any())
{
- PlayableMediaTypes = Session.PlayableMediaTypes,
- SupportedCommands = Session.SupportedCommands,
- SupportsMediaControl = SupportsMediaControl
- };
+ try
+ {
+ _sessionManager.ReportSessionEnded(Session.Id);
+ }
+ catch (Exception ex)
+ {
+ _logger.ErrorException("Error reporting session ended.", ex);
+ }
+ }
+ else
+ {
+ var capabilities = new SessionCapabilities
+ {
+ PlayableMediaTypes = Session.PlayableMediaTypes,
+ SupportedCommands = Session.SupportedCommands,
+ SupportsMediaControl = SupportsMediaControl
+ };
- _sessionManager.ReportCapabilities(Session.Id, capabilities);
+ _sessionManager.ReportCapabilities(Session.Id, capabilities);
+ }
}
private IWebSocketConnection GetActiveSocket()