diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-03-24 13:54:45 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-03-24 13:54:45 -0400 |
| commit | a94a98dc6c1381c177a407139769e0cad566346b (patch) | |
| tree | f572a431ab4a716f388a2a42ef8b243238130897 /MediaBrowser.Api/Playback/BaseStreamingService.cs | |
| parent | 501dedb13cd59dc2683ac4192cd11289bd304cfb (diff) | |
apply codec profile conditions
Diffstat (limited to 'MediaBrowser.Api/Playback/BaseStreamingService.cs')
| -rw-r--r-- | MediaBrowser.Api/Playback/BaseStreamingService.cs | 46 |
1 files changed, 36 insertions, 10 deletions
diff --git a/MediaBrowser.Api/Playback/BaseStreamingService.cs b/MediaBrowser.Api/Playback/BaseStreamingService.cs index a6b3b7294..7dcb06f7b 100644 --- a/MediaBrowser.Api/Playback/BaseStreamingService.cs +++ b/MediaBrowser.Api/Playback/BaseStreamingService.cs @@ -1168,18 +1168,23 @@ namespace MediaBrowser.Api.Playback protected double? GetFramerateParam(StreamState state) { - if (state.VideoRequest != null && state.VideoRequest.Framerate.HasValue) + if (state.VideoRequest != null) { - return state.VideoRequest.Framerate.Value; - } + if (state.VideoRequest.Framerate.HasValue) + { + return state.VideoRequest.Framerate.Value; + } - if (state.VideoStream != null) - { - var contentRate = state.VideoStream.AverageFrameRate ?? state.VideoStream.RealFrameRate; + var maxrate = state.VideoRequest.MaxFramerate ?? 23.976; - if (contentRate.HasValue && contentRate.Value > 23.976) + if (state.VideoStream != null) { - return 23.976; + var contentRate = state.VideoStream.AverageFrameRate ?? state.VideoStream.RealFrameRate; + + if (contentRate.HasValue && contentRate.Value > maxrate) + { + return maxrate; + } } } @@ -1265,20 +1270,41 @@ namespace MediaBrowser.Api.Playback { if (videoRequest != null) { - request.StartTimeTicks = long.Parse(val, UsCulture); + videoRequest.MaxWidth = int.Parse(val, UsCulture); } } else if (i == 12) { if (videoRequest != null) { - videoRequest.Profile = val; + videoRequest.MaxHeight = int.Parse(val, UsCulture); } } else if (i == 13) { if (videoRequest != null) { + videoRequest.Framerate = int.Parse(val, UsCulture); + } + } + else if (i == 14) + { + if (videoRequest != null) + { + request.StartTimeTicks = long.Parse(val, UsCulture); + } + } + else if (i == 15) + { + if (videoRequest != null) + { + videoRequest.Profile = val; + } + } + else if (i == 16) + { + if (videoRequest != null) + { videoRequest.Level = val; } } |
