diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-01-11 00:49:18 -0500 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-01-11 00:49:18 -0500 |
| commit | ef8b02d28543f9e9070c00877070016f032793bc (patch) | |
| tree | 5598a7559da82ca4e29fb6b6753a1fe47a70b1ad | |
| parent | ec4000404d59ee0e8342805cf7ce0c4ca04023b4 (diff) | |
added dvdlib for better dvd runtimes
16 files changed, 80 insertions, 228 deletions
diff --git a/MediaBrowser.Api/LiveTv/LiveTvImageService.cs b/MediaBrowser.Api/LiveTv/LiveTvImageService.cs deleted file mode 100644 index 65c4e5e23..000000000 --- a/MediaBrowser.Api/LiveTv/LiveTvImageService.cs +++ /dev/null @@ -1,195 +0,0 @@ -using MediaBrowser.Api.Images; -using MediaBrowser.Common.Configuration; -using MediaBrowser.Controller.Drawing; -using MediaBrowser.Controller.Dto; -using MediaBrowser.Controller.Library; -using MediaBrowser.Controller.LiveTv; -using MediaBrowser.Controller.Persistence; -using MediaBrowser.Controller.Providers; -using MediaBrowser.Model.Dto; -using MediaBrowser.Model.Entities; -using ServiceStack; -using ServiceStack.Text.Controller; -using ServiceStack.Web; -using System; -using System.Collections.Generic; -using System.IO; -using System.Threading; -using System.Threading.Tasks; - -namespace MediaBrowser.Api.LiveTv -{ - [Route("/LiveTv/Channels/{Id}/Images/{Type}", "POST")] - [Route("/LiveTv/Channels/{Id}/Images/{Type}/{Index}", "POST")] - [Api(Description = "Posts an item image")] - public class PostChannelImage : DeleteImageRequest, IRequiresRequestStream, IReturnVoid - { - /// <summary> - /// Gets or sets the id. - /// </summary> - /// <value>The id.</value> - [ApiMember(Name = "Id", Description = "Item Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "POST")] - public string Id { get; set; } - - /// <summary> - /// The raw Http Request Input Stream - /// </summary> - /// <value>The request stream.</value> - public Stream RequestStream { get; set; } - } - - [Route("/LiveTv/Channels/{Id}/Images/{Type}", "DELETE")] - [Route("/LiveTv/Channels/{Id}/Images/{Type}/{Index}", "DELETE")] - [Api(Description = "Deletes an item image")] - public class DeleteChannelImage : DeleteImageRequest, IReturnVoid - { - /// <summary> - /// Gets or sets the id. - /// </summary> - /// <value>The id.</value> - [ApiMember(Name = "Id", Description = "Channel Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "DELETE")] - 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; } - } - - [Route("/LiveTv/Recordings/{Id}/Images/{Type}", "GET")] - [Route("/LiveTv/Recordings/{Id}/Images/{Type}/{Index}", "GET")] - [Api(Description = "Gets an item image")] - public class GetRecordingImage : ImageRequest - { - /// <summary> - /// Gets or sets the id. - /// </summary> - /// <value>The id.</value> - [ApiMember(Name = "Id", Description = "Recording Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")] - public string Id { get; set; } - } - - [Route("/LiveTv/Programs/{Id}/Images/{Type}", "GET")] - [Route("/LiveTv/Programs/{Id}/Images/{Type}/{Index}", "GET")] - [Api(Description = "Gets an item image")] - public class GetProgramImage : ImageRequest - { - /// <summary> - /// Gets or sets the id. - /// </summary> - /// <value>The id.</value> - [ApiMember(Name = "Id", Description = "Program Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")] - public string Id { get; set; } - } - - [Route("/LiveTv/Channels/{Id}/Images", "GET")] - [Api(Description = "Gets information about an item's images")] - public class GetChannelImageInfos : IReturn<List<ImageInfo>> - { - /// <summary> - /// Gets or sets the id. - /// </summary> - /// <value>The id.</value> - [ApiMember(Name = "Id", Description = "Item Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")] - public string Id { get; set; } - } - - public class LiveTvImageService : BaseApiService - { - private readonly ILiveTvManager _liveTv; - - private readonly IUserManager _userManager; - - private readonly ILibraryManager _libraryManager; - - private readonly IApplicationPaths _appPaths; - - private readonly IProviderManager _providerManager; - - private readonly IItemRepository _itemRepo; - private readonly IDtoService _dtoService; - private readonly IImageProcessor _imageProcessor; - - public LiveTvImageService(ILiveTvManager liveTv, IUserManager userManager, ILibraryManager libraryManager, IApplicationPaths appPaths, IProviderManager providerManager, IItemRepository itemRepo, IDtoService dtoService, IImageProcessor imageProcessor) - { - _liveTv = liveTv; - _userManager = userManager; - _libraryManager = libraryManager; - _appPaths = appPaths; - _providerManager = providerManager; - _itemRepo = itemRepo; - _dtoService = dtoService; - _imageProcessor = imageProcessor; - } - - public object Get(GetChannelImageInfos request) - { - var item = _liveTv.GetInternalChannel(request.Id); - - var result = GetImageService().GetItemImageInfos(item); - - return ToOptimizedResult(result); - } - - public object Get(GetChannelImage request) - { - var item = _liveTv.GetInternalChannel(request.Id); - - return GetImageService().GetImage(request, item); - } - - public object Get(GetRecordingImage request) - { - var item = _liveTv.GetInternalRecording(request.Id, CancellationToken.None).Result; - - return GetImageService().GetImage(request, item); - } - - public object Get(GetProgramImage request) - { - var item = _liveTv.GetInternalProgram(request.Id); - - return GetImageService().GetImage(request, item); - } - - public void Post(PostChannelImage request) - { - var pathInfo = PathInfo.Parse(Request.PathInfo); - var id = pathInfo.GetArgumentValue<string>(2); - - request.Type = (ImageType)Enum.Parse(typeof(ImageType), pathInfo.GetArgumentValue<string>(4), true); - - var item = _liveTv.GetInternalChannel(id); - - var task = GetImageService().PostImage(item, request.RequestStream, request.Type, Request.ContentType); - - Task.WaitAll(task); - } - - public void Delete(DeleteChannelImage request) - { - var item = _liveTv.GetInternalChannel(request.Id); - - var task = item.DeleteImage(request.Type, request.Index); - - Task.WaitAll(task); - } - - private ImageService GetImageService() - { - return new ImageService(_userManager, _libraryManager, _appPaths, _providerManager, _itemRepo, _dtoService, - _imageProcessor) - { - ResultFactory = ResultFactory, - Request = Request - }; - } - } -} diff --git a/MediaBrowser.Api/MediaBrowser.Api.csproj b/MediaBrowser.Api/MediaBrowser.Api.csproj index 4fc989fc5..409d152f7 100644 --- a/MediaBrowser.Api/MediaBrowser.Api.csproj +++ b/MediaBrowser.Api/MediaBrowser.Api.csproj @@ -90,7 +90,6 @@ <Compile Include="Library\LibraryHelpers.cs" /> <Compile Include="Library\LibraryService.cs" /> <Compile Include="Library\LibraryStructureService.cs" /> - <Compile Include="LiveTv\LiveTvImageService.cs" /> <Compile Include="LiveTv\LiveTvService.cs" /> <Compile Include="LocalizationService.cs" /> <Compile Include="MoviesService.cs" /> diff --git a/MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs b/MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs index 440632825..0ae96effd 100644 --- a/MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs +++ b/MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs @@ -163,6 +163,11 @@ namespace MediaBrowser.Api.Playback.Progressive { responseHeaders["ContentFeatures.DLNA.ORG"] = (contentFeatures + orgOp + orgCi + dlnaflags).Trim(';'); } + + foreach (var item in responseHeaders) + { + Request.Response.AddHeader(item.Key, item.Value); + } } /// <summary> diff --git a/MediaBrowser.Controller/Library/ILibraryManager.cs b/MediaBrowser.Controller/Library/ILibraryManager.cs index 036ac7e81..c3a87fc31 100644 --- a/MediaBrowser.Controller/Library/ILibraryManager.cs +++ b/MediaBrowser.Controller/Library/ILibraryManager.cs @@ -327,5 +327,11 @@ namespace MediaBrowser.Controller.Library /// <param name="paths">The paths.</param> /// <returns>IEnumerable{System.String}.</returns> IEnumerable<string> NormalizeRootPathList(IEnumerable<string> paths); + + /// <summary> + /// Registers the item. + /// </summary> + /// <param name="item">The item.</param> + void RegisterItem(BaseItem item); } }
\ No newline at end of file diff --git a/MediaBrowser.Mono.userprefs b/MediaBrowser.Mono.userprefs index da74b9ccd..a65710851 100644 --- a/MediaBrowser.Mono.userprefs +++ b/MediaBrowser.Mono.userprefs @@ -4,7 +4,7 @@ <Files> <File FileName="MediaBrowser.Server.Mono\app.config" Line="1" Column="1" /> <File FileName="MediaBrowser.ServerApplication\ApplicationHost.cs" Line="1" Column="1" /> - <File FileName="MediaBrowser.Server.Mono\Native\NativeApp.cs" Line="12" Column="23" /> + <File FileName="MediaBrowser.Server.Mono\Native\NativeApp.cs" Line="1" Column="1" /> <File FileName="MediaBrowser.Server.Mono\Program.cs" Line="36" Column="34" /> </Files> </MonoDevelop.Ide.Workbench> diff --git a/MediaBrowser.Providers/MediaBrowser.Providers.csproj b/MediaBrowser.Providers/MediaBrowser.Providers.csproj index 6b87f1dfe..e686e7eda 100644 --- a/MediaBrowser.Providers/MediaBrowser.Providers.csproj +++ b/MediaBrowser.Providers/MediaBrowser.Providers.csproj @@ -45,6 +45,12 @@ <TargetFrameworkVersion>v4.5</TargetFrameworkVersion> </PropertyGroup> <ItemGroup> + <Reference Include="BDInfo"> + <HintPath>..\packages\MediaBrowser.BdInfo.1.0.0.7\lib\net35\BDInfo.dll</HintPath> + </Reference> + <Reference Include="DvdLib"> + <HintPath>..\packages\MediaBrowser.BdInfo.1.0.0.7\lib\net35\DvdLib.dll</HintPath> + </Reference> <Reference Include="System" /> <Reference Include="System.Core" /> <Reference Include="System.Net" /> diff --git a/MediaBrowser.Providers/MediaInfo/FFProbeVideoInfoProvider.cs b/MediaBrowser.Providers/MediaInfo/FFProbeVideoInfoProvider.cs index 8e07bc266..e386c78a4 100644 --- a/MediaBrowser.Providers/MediaInfo/FFProbeVideoInfoProvider.cs +++ b/MediaBrowser.Providers/MediaInfo/FFProbeVideoInfoProvider.cs @@ -1,4 +1,5 @@ -using MediaBrowser.Common.MediaInfo; +using DvdLib.Ifo; +using MediaBrowser.Common.MediaInfo; using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Localization; @@ -132,12 +133,30 @@ namespace MediaBrowser.Providers.MediaInfo if (item.VideoType == VideoType.Dvd || (item.IsoType.HasValue && item.IsoType == IsoType.Dvd)) { - PopulateDvdStreamFiles(item, mount); + FetchFromDvdLib(item, mount); } base.OnPreFetch(item, mount); } + private void FetchFromDvdLib(Video item, IIsoMount mount) + { + var path = mount == null ? item.Path : mount.MountedPath; + var dvd = new Dvd(path); + + item.RunTimeTicks = dvd.Titles.Select(GetRuntime).Max(); + + PopulateDvdStreamFiles(item, mount); + } + + private long GetRuntime(Title title) + { + return title.ProgramChains + .Select(i => (TimeSpan)i.PlaybackTime) + .Select(i => i.Ticks) + .Sum(); + } + public override async Task<bool> FetchAsync(BaseItem item, bool force, BaseProviderInfo providerInfo, CancellationToken cancellationToken) { var video = (Video)item; diff --git a/MediaBrowser.Providers/packages.config b/MediaBrowser.Providers/packages.config index f40bfae21..4a4fef846 100644 --- a/MediaBrowser.Providers/packages.config +++ b/MediaBrowser.Providers/packages.config @@ -1,4 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> <packages> + <package id="MediaBrowser.BdInfo" version="1.0.0.7" targetFramework="net45" /> <package id="morelinq" version="1.0.16006" targetFramework="net45" /> </packages>
\ No newline at end of file diff --git a/MediaBrowser.Server.Implementations/HttpServer/HttpResultFactory.cs b/MediaBrowser.Server.Implementations/HttpServer/HttpResultFactory.cs index 798632af7..2419320a5 100644 --- a/MediaBrowser.Server.Implementations/HttpServer/HttpResultFactory.cs +++ b/MediaBrowser.Server.Implementations/HttpServer/HttpResultFactory.cs @@ -360,11 +360,19 @@ namespace MediaBrowser.Server.Implementations.HttpServer var compress = ShouldCompressResponse(requestContext, contentType); - var hasOptions = GetStaticResult(requestContext, responseHeaders, contentType, factoryFn, compress, isHeadRequest).Result; + var hasOptions = GetStaticResult(requestContext, responseHeaders, contentType, factoryFn, compress, isHeadRequest); - AddResponseHeaders(hasOptions, responseHeaders); + return GetStaticResultTask(hasOptions, responseHeaders); + } + + private async Task<object> GetStaticResultTask(Task<IHasOptions> optionsTask, + IEnumerable<KeyValuePair<string, string>> responseHeaders) + { + var options = await optionsTask.ConfigureAwait(false); + + AddResponseHeaders(options, responseHeaders); - return hasOptions; + return options; } /// <summary> diff --git a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs index 8e4e71fd4..fc5497fa3 100644 --- a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs +++ b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs @@ -407,6 +407,11 @@ namespace MediaBrowser.Server.Implementations.Library } } + RegisterItem(item); + } + + public void RegisterItem(BaseItem item) + { LibraryItemsCache.AddOrUpdate(item.Id, item, delegate { return item; }); } diff --git a/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs b/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs index b6622a310..182ce1cbc 100644 --- a/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs +++ b/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs @@ -30,21 +30,23 @@ namespace MediaBrowser.Server.Implementations.LiveTv private readonly ILogger _logger; private readonly IItemRepository _itemRepo; private readonly IUserManager _userManager; + private readonly ILibraryManager _libraryManager; private readonly LiveTvDtoService _tvDtoService; private readonly List<ILiveTvService> _services = new List<ILiveTvService>(); - private Dictionary<Guid, LiveTvChannel> _channels = new Dictionary<Guid, LiveTvChannel>(); + private List<Guid> _channelIdList = new List<Guid>(); private Dictionary<Guid, LiveTvProgram> _programs = new Dictionary<Guid, LiveTvProgram>(); - public LiveTvManager(IServerApplicationPaths appPaths, IFileSystem fileSystem, ILogger logger, IItemRepository itemRepo, IImageProcessor imageProcessor, IUserDataManager userDataManager, IDtoService dtoService, IUserManager userManager) + public LiveTvManager(IServerApplicationPaths appPaths, IFileSystem fileSystem, ILogger logger, IItemRepository itemRepo, IImageProcessor imageProcessor, IUserDataManager userDataManager, IDtoService dtoService, IUserManager userManager, ILibraryManager libraryManager) { _appPaths = appPaths; _fileSystem = fileSystem; _logger = logger; _itemRepo = itemRepo; _userManager = userManager; + _libraryManager = libraryManager; _tvDtoService = new LiveTvDtoService(dtoService, userDataManager, imageProcessor, logger, _itemRepo); } @@ -75,7 +77,9 @@ namespace MediaBrowser.Server.Implementations.LiveTv { var user = string.IsNullOrEmpty(query.UserId) ? null : _userManager.GetUserById(new Guid(query.UserId)); - IEnumerable<LiveTvChannel> channels = _channels.Values; + var channels = _channelIdList.Select(_libraryManager.GetItemById) + .Where(i => i != null) + .OfType<LiveTvChannel>(); if (user != null) { @@ -144,10 +148,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv private LiveTvChannel GetInternalChannel(Guid id) { - LiveTvChannel channel = null; - - _channels.TryGetValue(id, out channel); - return channel; + return _libraryManager.GetItemById(id) as LiveTvChannel; } public LiveTvProgram GetInternalProgram(string id) @@ -320,6 +321,8 @@ namespace MediaBrowser.Server.Implementations.LiveTv await item.RefreshMetadata(cancellationToken, forceSave: isNew, resetResolveArgs: false); + _libraryManager.RegisterItem((BaseItem)item); + return item; } @@ -477,6 +480,8 @@ namespace MediaBrowser.Server.Implementations.LiveTv var item = await GetChannel(channelInfo.Item2, channelInfo.Item1, cancellationToken).ConfigureAwait(false); list.Add(item); + + _libraryManager.RegisterItem(item); } catch (OperationCanceledException) { @@ -493,7 +498,8 @@ namespace MediaBrowser.Server.Implementations.LiveTv progress.Report(5 * percent + 10); } - _channels = list.ToDictionary(i => i.Id); + + _channelIdList = list.Select(i => i.Id).ToList(); progress.Report(15); numComplete = 0; diff --git a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj index b083b7b84..6513446b7 100644 --- a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj +++ b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj @@ -48,6 +48,13 @@ <Reference Include="Alchemy"> <HintPath>..\packages\Alchemy.2.2.1\lib\net40\Alchemy.dll</HintPath> </Reference> + <Reference Include="BDInfo, Version=1.0.5124.611, Culture=neutral, processorArchitecture=MSIL"> + <SpecificVersion>False</SpecificVersion> + <HintPath>..\packages\MediaBrowser.BdInfo.1.0.0.7\lib\net35\BDInfo.dll</HintPath> + </Reference> + <Reference Include="DvdLib"> + <HintPath>..\packages\MediaBrowser.BdInfo.1.0.0.7\lib\net35\DvdLib.dll</HintPath> + </Reference> <Reference Include="ServiceStack.Api.Swagger"> <HintPath>..\ThirdParty\ServiceStack\ServiceStack.Api.Swagger.dll</HintPath> </Reference> @@ -68,9 +75,6 @@ <Reference Include="MoreLinq"> <HintPath>..\packages\morelinq.1.0.16006\lib\net35\MoreLinq.dll</HintPath> </Reference> - <Reference Include="BDInfo"> - <HintPath>..\packages\MediaBrowser.BdInfo.1.0.0.5\lib\net20\BDInfo.dll</HintPath> - </Reference> <Reference Include="System.Data.SQLite" Condition=" '$(ConfigurationName)' == 'Release Mono' "> <SpecificVersion>False</SpecificVersion> <HintPath>..\ThirdParty\System.Data.SQLite.ManagedOnly\x86\1.0.90.0\net40\System.Data.SQLite.dll</HintPath> diff --git a/MediaBrowser.Server.Implementations/packages.config b/MediaBrowser.Server.Implementations/packages.config index a504bc6ab..503e916e5 100644 --- a/MediaBrowser.Server.Implementations/packages.config +++ b/MediaBrowser.Server.Implementations/packages.config @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Alchemy" version="2.2.1" targetFramework="net45" />
- <package id="MediaBrowser.BdInfo" version="1.0.0.5" targetFramework="net45" />
+ <package id="MediaBrowser.BdInfo" version="1.0.0.7" targetFramework="net45" />
<package id="morelinq" version="1.0.16006" targetFramework="net45" />
<package id="System.Data.SQLite.x86" version="1.0.90.0" targetFramework="net45" />
</packages>
\ No newline at end of file diff --git a/MediaBrowser.ServerApplication/ApplicationHost.cs b/MediaBrowser.ServerApplication/ApplicationHost.cs index bf20c8fb8..a14ffc433 100644 --- a/MediaBrowser.ServerApplication/ApplicationHost.cs +++ b/MediaBrowser.ServerApplication/ApplicationHost.cs @@ -285,7 +285,7 @@ namespace MediaBrowser.ServerApplication DtoService = new DtoService(Logger, LibraryManager, UserManager, UserDataManager, ItemRepository, ImageProcessor); RegisterSingleInstance(DtoService); - LiveTvManager = new LiveTvManager(ApplicationPaths, FileSystemManager, Logger, ItemRepository, ImageProcessor, UserDataManager, DtoService, UserManager); + LiveTvManager = new LiveTvManager(ApplicationPaths, FileSystemManager, Logger, ItemRepository, ImageProcessor, UserDataManager, DtoService, UserManager, LibraryManager); RegisterSingleInstance(LiveTvManager); progress.Report(15); diff --git a/MediaBrowser.WebDashboard/ApiClient.js b/MediaBrowser.WebDashboard/ApiClient.js index cbe815c03..fe0e5e541 100644 --- a/MediaBrowser.WebDashboard/ApiClient.js +++ b/MediaBrowser.WebDashboard/ApiClient.js @@ -1594,9 +1594,6 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout, wi if (itemType == "Artist") { url = self.getUrl("Artists/" + self.encodeName(itemName) + "/Images"); } - else if (itemType == "Channel") { - url = self.getUrl("LiveTv/Channels/" + itemId + "/Images"); - } else if (itemType == "Genre") { url = self.getUrl("Genres/" + self.encodeName(itemName) + "/Images"); } else if (itemType == "GameGenre") { @@ -1667,9 +1664,6 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout, wi if (itemType == "Artist") { url = self.getUrl("Artists/" + self.encodeName(itemName) + "/Images/" + imageType + "/" + imageIndex + "/Index", options); } - else if (itemType == "Channel") { - url = self.getUrl("LiveTv/Channels/" + itemId + "/Images/" + imageType + "/" + imageIndex + "/Index", options); - } else if (itemType == "Genre") { url = self.getUrl("Genres/" + self.encodeName(itemName) + "/Images/" + imageType + "/" + imageIndex + "/Index", options); } else if (itemType == "GameGenre") { @@ -1701,9 +1695,6 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout, wi if (itemType == "Artist") { url = self.getUrl("Artists/" + self.encodeName(itemName) + "/Images"); } - else if (itemType == "Channel") { - url = self.getUrl("LiveTv/Channels/" + itemId + "/Images"); - } else if (itemType == "Genre") { url = self.getUrl("Genres/" + self.encodeName(itemName) + "/Images"); } else if (itemType == "GameGenre") { @@ -1838,9 +1829,6 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout, wi if (itemType == "Artist") { url = self.getUrl("Artists/" + self.encodeName(itemName) + "/Images"); } - else if (itemType == "Channel") { - url = self.getUrl("LiveTv/Channels/" + itemId + "/Images"); - } else if (itemType == "Genre") { url = self.getUrl("Genres/" + self.encodeName(itemName) + "/Images"); } else if (itemType == "GameGenre") { diff --git a/MediaBrowser.WebDashboard/packages.config b/MediaBrowser.WebDashboard/packages.config index c47d67815..6c512e8bb 100644 --- a/MediaBrowser.WebDashboard/packages.config +++ b/MediaBrowser.WebDashboard/packages.config @@ -1,4 +1,4 @@ <?xml version="1.0" encoding="utf-8"?> <packages> - <package id="MediaBrowser.ApiClient.Javascript" version="3.0.223" targetFramework="net45" /> + <package id="MediaBrowser.ApiClient.Javascript" version="3.0.224" targetFramework="net45" /> </packages>
\ No newline at end of file |
