aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Api
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Api')
-rw-r--r--MediaBrowser.Api/ItemUpdateService.cs7
-rw-r--r--MediaBrowser.Api/Playback/BaseStreamingService.cs46
-rw-r--r--MediaBrowser.Api/Playback/StreamRequest.cs3
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>