aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Api
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Api')
-rw-r--r--MediaBrowser.Api/Images/ImageService.cs28
-rw-r--r--MediaBrowser.Api/UserLibrary/PlaystateService.cs12
2 files changed, 38 insertions, 2 deletions
diff --git a/MediaBrowser.Api/Images/ImageService.cs b/MediaBrowser.Api/Images/ImageService.cs
index ec9b2571e1..7da11a405c 100644
--- a/MediaBrowser.Api/Images/ImageService.cs
+++ b/MediaBrowser.Api/Images/ImageService.cs
@@ -40,8 +40,8 @@ namespace MediaBrowser.Api.Images
[Route("/Items/{Id}/Images/{Type}/{Index}", "GET")]
[Route("/Items/{Id}/Images/{Type}", "HEAD")]
[Route("/Items/{Id}/Images/{Type}/{Index}", "HEAD")]
- [Route("/Items/{Id}/Images/{Type}/{Index}/{Tag}/{Format}/{MaxWidth}/{MaxHeight}/{PercentPlayed}", "GET")]
- [Route("/Items/{Id}/Images/{Type}/{Index}/{Tag}/{Format}/{MaxWidth}/{MaxHeight}/{PercentPlayed}", "HEAD")]
+ [Route("/Items/{Id}/Images/{Type}/{Index}/{Tag}/{Format}/{MaxWidth}/{MaxHeight}/{PercentPlayed}/{UnplayedCount}", "GET")]
+ [Route("/Items/{Id}/Images/{Type}/{Index}/{Tag}/{Format}/{MaxWidth}/{MaxHeight}/{PercentPlayed}/{UnplayedCount}", "HEAD")]
public class GetItemImage : ImageRequest
{
/// <summary>
@@ -511,6 +511,30 @@ namespace MediaBrowser.Api.Images
/// <exception cref="ResourceNotFoundException"></exception>
public object GetImage(ImageRequest request, IHasImages item, bool isHeadRequest)
{
+ if (request.PercentPlayed.HasValue)
+ {
+ if (request.PercentPlayed.Value <= 0)
+ {
+ request.PercentPlayed = null;
+ }
+ else if (request.PercentPlayed.Value >= 100)
+ {
+ request.PercentPlayed = null;
+ request.AddPlayedIndicator = true;
+ }
+ }
+ if (request.PercentPlayed.HasValue)
+ {
+ request.UnplayedCount = null;
+ }
+ if (request.UnplayedCount.HasValue)
+ {
+ if (request.UnplayedCount.Value <= 0)
+ {
+ request.UnplayedCount = null;
+ }
+ }
+
var imageInfo = GetImageInfo(request, item);
if (imageInfo == null)
diff --git a/MediaBrowser.Api/UserLibrary/PlaystateService.cs b/MediaBrowser.Api/UserLibrary/PlaystateService.cs
index 4661abf4cc..f66f307db0 100644
--- a/MediaBrowser.Api/UserLibrary/PlaystateService.cs
+++ b/MediaBrowser.Api/UserLibrary/PlaystateService.cs
@@ -67,6 +67,13 @@ namespace MediaBrowser.Api.UserLibrary
{
}
+ [Route("/Sessions/Playing/Ping", "POST", Summary = "Pings a playback session")]
+ public class PingPlaybackSession : IReturnVoid
+ {
+ [ApiMember(Name = "PlaySessionId", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "POST")]
+ public string PlaySessionId { get; set; }
+ }
+
[Route("/Sessions/Playing/Stopped", "POST", Summary = "Reports playback has stopped within a session")]
public class ReportPlaybackStopped : PlaybackStopInfo, IReturnVoid
{
@@ -336,6 +343,11 @@ namespace MediaBrowser.Api.UserLibrary
Task.WaitAll(task);
}
+ public void Post(PingPlaybackSession request)
+ {
+ ApiEntryPoint.Instance.PingTranscodingJob(request.PlaySessionId);
+ }
+
/// <summary>
/// Posts the specified request.
/// </summary>