diff options
Diffstat (limited to 'MediaBrowser.Api')
| -rw-r--r-- | MediaBrowser.Api/ItemUpdateService.cs | 7 | ||||
| -rw-r--r-- | MediaBrowser.Api/Playback/BaseStreamingService.cs | 46 | ||||
| -rw-r--r-- | MediaBrowser.Api/Playback/StreamRequest.cs | 3 |
3 files changed, 40 insertions, 16 deletions
diff --git a/MediaBrowser.Api/ItemUpdateService.cs b/MediaBrowser.Api/ItemUpdateService.cs index 1e9f2f7a2f..8bc06b6577 100644 --- a/MediaBrowser.Api/ItemUpdateService.cs +++ b/MediaBrowser.Api/ItemUpdateService.cs @@ -211,12 +211,7 @@ namespace MediaBrowser.Api private void UpdateItem(BaseItemDto request, BaseItem item) { item.Name = request.Name; - - // Only set the forced value if they changed it, or there's already one - if (!string.Equals(item.SortName, request.SortName) || !string.IsNullOrEmpty(item.ForcedSortName)) - { - item.ForcedSortName = request.SortName; - } + item.ForcedSortName = request.ForcedSortName; var hasBudget = item as IHasBudget; if (hasBudget != null) diff --git a/MediaBrowser.Api/Playback/BaseStreamingService.cs b/MediaBrowser.Api/Playback/BaseStreamingService.cs index a6b3b72942..7dcb06f7b3 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; } } diff --git a/MediaBrowser.Api/Playback/StreamRequest.cs b/MediaBrowser.Api/Playback/StreamRequest.cs index 3439621e95..8db5920f6b 100644 --- a/MediaBrowser.Api/Playback/StreamRequest.cs +++ b/MediaBrowser.Api/Playback/StreamRequest.cs @@ -145,6 +145,9 @@ namespace MediaBrowser.Api.Playback [ApiMember(Name = "Framerate", Description = "Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.", IsRequired = false, DataType = "double", ParameterType = "query", Verb = "GET")] public double? Framerate { get; set; } + [ApiMember(Name = "MaxFramerate", Description = "Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements.", IsRequired = false, DataType = "double", ParameterType = "query", Verb = "GET")] + public double? MaxFramerate { get; set; } + /// <summary> /// Gets or sets the profile. /// </summary> |
