diff options
Diffstat (limited to 'MediaBrowser.Api/Playback/BaseStreamingService.cs')
| -rw-r--r-- | MediaBrowser.Api/Playback/BaseStreamingService.cs | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/MediaBrowser.Api/Playback/BaseStreamingService.cs b/MediaBrowser.Api/Playback/BaseStreamingService.cs index c9437b2c3..93197c387 100644 --- a/MediaBrowser.Api/Playback/BaseStreamingService.cs +++ b/MediaBrowser.Api/Playback/BaseStreamingService.cs @@ -659,6 +659,32 @@ namespace MediaBrowser.Api.Playback } } + protected int? GetVideoBitrateParam(StreamState state) + { + if (state.VideoRequest.VideoBitRate.HasValue) + { + // Make sure we don't request a bitrate higher than the source + var currentBitrate = state.VideoStream == null ? state.VideoRequest.VideoBitRate.Value : state.VideoStream.BitRate ?? state.VideoRequest.VideoBitRate.Value; + + return Math.Min(currentBitrate, state.VideoRequest.VideoBitRate.Value); + } + + return null; + } + + protected int? GetAudioBitrateParam(StreamState state) + { + if (state.Request.AudioBitRate.HasValue) + { + // Make sure we don't request a bitrate higher than the source + var currentBitrate = state.AudioStream == null ? state.Request.AudioBitRate.Value : state.AudioStream.BitRate ?? state.Request.AudioBitRate.Value; + + return Math.Min(currentBitrate, state.Request.AudioBitRate.Value); + } + + return null; + } + /// <summary> /// Gets the user agent param. /// </summary> |
