diff --git a/MediaBrowser.Api/ApiEntryPoint.cs b/MediaBrowser.Api/ApiEntryPoint.cs index 7109fc8cf8..f711807541 100644 --- a/MediaBrowser.Api/ApiEntryPoint.cs +++ b/MediaBrowser.Api/ApiEntryPoint.cs @@ -176,7 +176,10 @@ namespace MediaBrowser.Api VideoCodec = videoCodec, Container = state.OutputContainer, Framerate = framerate, - CompletionPercentage = percentComplete + CompletionPercentage = percentComplete, + Width = state.OutputWidth, + Height = state.OutputHeight, + AudioChannels = state.OutputAudioChannels }); } } diff --git a/MediaBrowser.Api/Playback/BaseStreamingService.cs b/MediaBrowser.Api/Playback/BaseStreamingService.cs index 202862da4a..6362f1084c 100644 --- a/MediaBrowser.Api/Playback/BaseStreamingService.cs +++ b/MediaBrowser.Api/Playback/BaseStreamingService.cs @@ -1584,6 +1584,8 @@ namespace MediaBrowser.Api.Playback state.OutputAudioCodec = GetAudioCodec(state.Request); + state.OutputAudioChannels = GetNumAudioChannelsParam(state.Request, state.AudioStream, state.OutputAudioCodec); + if (videoRequest != null) { state.OutputVideoCodec = GetVideoCodec(videoRequest); diff --git a/MediaBrowser.Model/Session/PlayerStateInfo.cs b/MediaBrowser.Model/Session/PlayerStateInfo.cs index 24f9ef3e0c..e196d9d59e 100644 --- a/MediaBrowser.Model/Session/PlayerStateInfo.cs +++ b/MediaBrowser.Model/Session/PlayerStateInfo.cs @@ -66,5 +66,9 @@ public float? Framerate { get; set; } public double? CompletionPercentage { get; set; } + + public int? Width { get; set; } + public int? Height { get; set; } + public int? AudioChannels { get; set; } } } \ No newline at end of file diff --git a/MediaBrowser.Server.Implementations/Session/SessionManager.cs b/MediaBrowser.Server.Implementations/Session/SessionManager.cs index 2d032cc31e..a758b3b8da 100644 --- a/MediaBrowser.Server.Implementations/Session/SessionManager.cs +++ b/MediaBrowser.Server.Implementations/Session/SessionManager.cs @@ -464,7 +464,7 @@ namespace MediaBrowser.Server.Implementations.Session UpdateNowPlayingItem(session, info, libraryItem); - if (!string.IsNullOrEmpty(session.DeviceId)) + if (!string.IsNullOrEmpty(session.DeviceId) && info.PlayMethod != PlayMethod.Transcode) { ClearTranscodingInfo(session.DeviceId); }