diff options
Diffstat (limited to 'MediaBrowser.Api/UserLibrary')
| -rw-r--r-- | MediaBrowser.Api/UserLibrary/ArtistsService.cs | 4 | ||||
| -rw-r--r-- | MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs | 3 | ||||
| -rw-r--r-- | MediaBrowser.Api/UserLibrary/GameGenresService.cs | 2 | ||||
| -rw-r--r-- | MediaBrowser.Api/UserLibrary/GenresService.cs | 2 | ||||
| -rw-r--r-- | MediaBrowser.Api/UserLibrary/MusicGenresService.cs | 2 | ||||
| -rw-r--r-- | MediaBrowser.Api/UserLibrary/PersonsService.cs | 2 | ||||
| -rw-r--r-- | MediaBrowser.Api/UserLibrary/PlaystateService.cs | 48 | ||||
| -rw-r--r-- | MediaBrowser.Api/UserLibrary/StudiosService.cs | 2 |
8 files changed, 53 insertions, 12 deletions
diff --git a/MediaBrowser.Api/UserLibrary/ArtistsService.cs b/MediaBrowser.Api/UserLibrary/ArtistsService.cs index dd9825deb..9f3f17465 100644 --- a/MediaBrowser.Api/UserLibrary/ArtistsService.cs +++ b/MediaBrowser.Api/UserLibrary/ArtistsService.cs @@ -132,7 +132,7 @@ namespace MediaBrowser.Api.UserLibrary .Where(i => !i.IsFolder) .OfType<IHasAlbumArtist>() .SelectMany(i => i.AlbumArtists) - .Distinct(StringComparer.OrdinalIgnoreCase) + .DistinctNames() .Select(name => { try @@ -152,7 +152,7 @@ namespace MediaBrowser.Api.UserLibrary .Where(i => !i.IsFolder) .OfType<IHasArtist>() .SelectMany(i => i.AllArtists) - .Distinct(StringComparer.OrdinalIgnoreCase) + .DistinctNames() .Select(name => { try diff --git a/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs b/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs index 609c1048f..b2364ce3c 100644 --- a/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs +++ b/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs @@ -142,7 +142,7 @@ namespace MediaBrowser.Api.UserLibrary } IEnumerable<Tuple<TItemType, List<BaseItem>>> tuples; - if (dtoOptions.Fields.Contains(ItemFields.ItemCounts) || true) + if (dtoOptions.Fields.Contains(ItemFields.ItemCounts)) { tuples = ibnItems.Select(i => new Tuple<TItemType, List<BaseItem>>(i, i.GetTaggedItems(libraryItems).ToList())); } @@ -177,7 +177,6 @@ namespace MediaBrowser.Api.UserLibrary return true; } - return true; return options.Fields.Contains(ItemFields.ItemCounts); } diff --git a/MediaBrowser.Api/UserLibrary/GameGenresService.cs b/MediaBrowser.Api/UserLibrary/GameGenresService.cs index 3063e19c7..2f7430d33 100644 --- a/MediaBrowser.Api/UserLibrary/GameGenresService.cs +++ b/MediaBrowser.Api/UserLibrary/GameGenresService.cs @@ -105,7 +105,7 @@ namespace MediaBrowser.Api.UserLibrary return itemsList .SelectMany(i => i.Genres) - .Distinct(StringComparer.OrdinalIgnoreCase) + .DistinctNames() .Select(name => LibraryManager.GetGameGenre(name)); } } diff --git a/MediaBrowser.Api/UserLibrary/GenresService.cs b/MediaBrowser.Api/UserLibrary/GenresService.cs index c659852de..63c0575bf 100644 --- a/MediaBrowser.Api/UserLibrary/GenresService.cs +++ b/MediaBrowser.Api/UserLibrary/GenresService.cs @@ -108,7 +108,7 @@ namespace MediaBrowser.Api.UserLibrary { return items .SelectMany(i => i.Genres) - .Distinct(StringComparer.OrdinalIgnoreCase) + .DistinctNames() .Select(name => { try diff --git a/MediaBrowser.Api/UserLibrary/MusicGenresService.cs b/MediaBrowser.Api/UserLibrary/MusicGenresService.cs index 3733128f0..1fe9dfaaa 100644 --- a/MediaBrowser.Api/UserLibrary/MusicGenresService.cs +++ b/MediaBrowser.Api/UserLibrary/MusicGenresService.cs @@ -105,7 +105,7 @@ namespace MediaBrowser.Api.UserLibrary return itemsList .SelectMany(i => i.Genres) - .Distinct(StringComparer.OrdinalIgnoreCase) + .DistinctNames() .Select(name => LibraryManager.GetMusicGenre(name)); } } diff --git a/MediaBrowser.Api/UserLibrary/PersonsService.cs b/MediaBrowser.Api/UserLibrary/PersonsService.cs index e9b3fa402..08ee6e462 100644 --- a/MediaBrowser.Api/UserLibrary/PersonsService.cs +++ b/MediaBrowser.Api/UserLibrary/PersonsService.cs @@ -127,7 +127,7 @@ namespace MediaBrowser.Api.UserLibrary return allPeople .Select(i => i.Name) - .Distinct(StringComparer.OrdinalIgnoreCase) + .DistinctNames() .Select(name => { diff --git a/MediaBrowser.Api/UserLibrary/PlaystateService.cs b/MediaBrowser.Api/UserLibrary/PlaystateService.cs index 55e1681e0..4661abf4c 100644 --- a/MediaBrowser.Api/UserLibrary/PlaystateService.cs +++ b/MediaBrowser.Api/UserLibrary/PlaystateService.cs @@ -114,6 +114,15 @@ namespace MediaBrowser.Api.UserLibrary [ApiMember(Name = "SubtitleStreamIndex", IsRequired = false, DataType = "int", ParameterType = "query", Verb = "POST")] public int? SubtitleStreamIndex { get; set; } + + [ApiMember(Name = "PlayMethod", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "POST")] + public PlayMethod PlayMethod { get; set; } + + [ApiMember(Name = "LiveStreamId", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "POST")] + public string LiveStreamId { get; set; } + + [ApiMember(Name = "PlaySessionId", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "POST")] + public string PlaySessionId { get; set; } } /// <summary> @@ -160,6 +169,15 @@ namespace MediaBrowser.Api.UserLibrary [ApiMember(Name = "VolumeLevel", Description = "Scale of 0-100", IsRequired = false, DataType = "int", ParameterType = "query", Verb = "POST")] public int? VolumeLevel { get; set; } + + [ApiMember(Name = "PlayMethod", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "POST")] + public PlayMethod PlayMethod { get; set; } + + [ApiMember(Name = "LiveStreamId", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "POST")] + public string LiveStreamId { get; set; } + + [ApiMember(Name = "PlaySessionId", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "POST")] + public string PlaySessionId { get; set; } } /// <summary> @@ -191,6 +209,12 @@ namespace MediaBrowser.Api.UserLibrary /// <value>The position ticks.</value> [ApiMember(Name = "PositionTicks", Description = "Optional. The position, in ticks, where playback stopped. 1 tick = 10000 ms", IsRequired = false, DataType = "int", ParameterType = "query", Verb = "DELETE")] public long? PositionTicks { get; set; } + + [ApiMember(Name = "LiveStreamId", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "POST")] + public string LiveStreamId { get; set; } + + [ApiMember(Name = "PlaySessionId", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "POST")] + public string PlaySessionId { get; set; } } [Authenticated] @@ -260,7 +284,10 @@ namespace MediaBrowser.Api.UserLibrary QueueableMediaTypes = queueableMediaTypes.Split(',').ToList(), MediaSourceId = request.MediaSourceId, AudioStreamIndex = request.AudioStreamIndex, - SubtitleStreamIndex = request.SubtitleStreamIndex + SubtitleStreamIndex = request.SubtitleStreamIndex, + PlayMethod = request.PlayMethod, + PlaySessionId = request.PlaySessionId, + LiveStreamId = request.LiveStreamId }); } @@ -288,12 +315,20 @@ namespace MediaBrowser.Api.UserLibrary MediaSourceId = request.MediaSourceId, AudioStreamIndex = request.AudioStreamIndex, SubtitleStreamIndex = request.SubtitleStreamIndex, - VolumeLevel = request.VolumeLevel + VolumeLevel = request.VolumeLevel, + PlayMethod = request.PlayMethod, + PlaySessionId = request.PlaySessionId, + LiveStreamId = request.LiveStreamId }); } public void Post(ReportPlaybackProgress request) { + if (!string.IsNullOrWhiteSpace(request.PlaySessionId)) + { + ApiEntryPoint.Instance.PingTranscodingJob(request.PlaySessionId); + } + request.SessionId = GetSession().Result.Id; var task = _sessionManager.OnPlaybackProgress(request); @@ -311,12 +346,19 @@ namespace MediaBrowser.Api.UserLibrary { ItemId = request.Id, PositionTicks = request.PositionTicks, - MediaSourceId = request.MediaSourceId + MediaSourceId = request.MediaSourceId, + PlaySessionId = request.PlaySessionId, + LiveStreamId = request.LiveStreamId }); } public void Post(ReportPlaybackStopped request) { + if (!string.IsNullOrWhiteSpace(request.PlaySessionId)) + { + ApiEntryPoint.Instance.KillTranscodingJobs(AuthorizationContext.GetAuthorizationInfo(Request).DeviceId, request.PlaySessionId, s => true); + } + request.SessionId = GetSession().Result.Id; var task = _sessionManager.OnPlaybackStopped(request); diff --git a/MediaBrowser.Api/UserLibrary/StudiosService.cs b/MediaBrowser.Api/UserLibrary/StudiosService.cs index a4ebef684..ae1da0346 100644 --- a/MediaBrowser.Api/UserLibrary/StudiosService.cs +++ b/MediaBrowser.Api/UserLibrary/StudiosService.cs @@ -109,7 +109,7 @@ namespace MediaBrowser.Api.UserLibrary return itemsList .SelectMany(i => i.Studios) - .Distinct(StringComparer.OrdinalIgnoreCase) + .DistinctNames() .Select(name => LibraryManager.GetStudio(name)); } } |
