mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-06-01 21:38:27 +01:00
support display of channel images
This commit is contained in:
@@ -5,6 +5,7 @@ using MediaBrowser.Controller.Drawing;
|
||||
using MediaBrowser.Controller.Dto;
|
||||
using MediaBrowser.Controller.Entities;
|
||||
using MediaBrowser.Controller.Library;
|
||||
using MediaBrowser.Controller.LiveTv;
|
||||
using MediaBrowser.Controller.Persistence;
|
||||
using MediaBrowser.Controller.Providers;
|
||||
using MediaBrowser.Model.Drawing;
|
||||
@@ -67,6 +68,19 @@ namespace MediaBrowser.Api.Images
|
||||
public string Id { get; set; }
|
||||
}
|
||||
|
||||
[Route("/LiveTV/Channels/{Id}/Images/{Type}", "GET")]
|
||||
[Route("/LiveTV/Channels/{Id}/Images/{Type}/{Index}", "GET")]
|
||||
[Api(Description = "Gets an item image")]
|
||||
public class GetChannelImage : ImageRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets or sets the id.
|
||||
/// </summary>
|
||||
/// <value>The id.</value>
|
||||
[ApiMember(Name = "Id", Description = "Channel Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")]
|
||||
public string Id { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Class UpdateItemImageIndex
|
||||
/// </summary>
|
||||
@@ -341,10 +355,12 @@ namespace MediaBrowser.Api.Images
|
||||
private readonly IDtoService _dtoService;
|
||||
private readonly IImageProcessor _imageProcessor;
|
||||
|
||||
private readonly ILiveTvManager _liveTv;
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="ImageService" /> class.
|
||||
/// </summary>
|
||||
public ImageService(IUserManager userManager, ILibraryManager libraryManager, IApplicationPaths appPaths, IProviderManager providerManager, IItemRepository itemRepo, IDtoService dtoService, IImageProcessor imageProcessor)
|
||||
public ImageService(IUserManager userManager, ILibraryManager libraryManager, IApplicationPaths appPaths, IProviderManager providerManager, IItemRepository itemRepo, IDtoService dtoService, IImageProcessor imageProcessor, ILiveTvManager liveTv)
|
||||
{
|
||||
_userManager = userManager;
|
||||
_libraryManager = libraryManager;
|
||||
@@ -353,6 +369,7 @@ namespace MediaBrowser.Api.Images
|
||||
_itemRepo = itemRepo;
|
||||
_dtoService = dtoService;
|
||||
_imageProcessor = imageProcessor;
|
||||
_liveTv = liveTv;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -492,6 +509,13 @@ namespace MediaBrowser.Api.Images
|
||||
}
|
||||
}
|
||||
|
||||
public object Get(GetChannelImage request)
|
||||
{
|
||||
var item = _liveTv.GetChannel(request.Id);
|
||||
|
||||
return GetImage(request, item);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the specified request.
|
||||
/// </summary>
|
||||
|
||||
@@ -30,6 +30,18 @@ namespace MediaBrowser.Api.LiveTv
|
||||
public string UserId { get; set; }
|
||||
}
|
||||
|
||||
[Route("/LiveTv/Channels/{Id}", "GET")]
|
||||
[Api(Description = "Gets a live tv channel")]
|
||||
public class GetChannel : IReturn<ChannelInfoDto>
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets or sets the id.
|
||||
/// </summary>
|
||||
/// <value>The id.</value>
|
||||
[ApiMember(Name = "Id", Description = "Channel Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")]
|
||||
public string Id { get; set; }
|
||||
}
|
||||
|
||||
[Route("/LiveTv/Recordings", "GET")]
|
||||
[Api(Description = "Gets available live tv recordings.")]
|
||||
public class GetRecordings : IReturn<List<RecordingInfo>>
|
||||
@@ -101,6 +113,13 @@ namespace MediaBrowser.Api.LiveTv
|
||||
return ToOptimizedResult(result.ToList());
|
||||
}
|
||||
|
||||
public object Get(GetChannel request)
|
||||
{
|
||||
var result = _liveTvManager.GetChannel(request.Id);
|
||||
|
||||
return ToOptimizedResult(_liveTvManager.GetChannelInfoDto(result));
|
||||
}
|
||||
|
||||
public object Get(GetRecordings request)
|
||||
{
|
||||
var result = GetRecordingsAsync(request).Result;
|
||||
|
||||
@@ -307,7 +307,7 @@ namespace MediaBrowser.Api.Playback.Progressive
|
||||
}
|
||||
}
|
||||
|
||||
return new ImageService(UserManager, LibraryManager, ApplicationPaths, null, ItemRepository, DtoService, ImageProcessor)
|
||||
return new ImageService(UserManager, LibraryManager, ApplicationPaths, null, ItemRepository, DtoService, ImageProcessor, null)
|
||||
{
|
||||
Logger = Logger,
|
||||
RequestContext = RequestContext,
|
||||
|
||||
Reference in New Issue
Block a user