From 77afd4ba544abf2c92cd6d098e997dfc2d9b39c9 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Fri, 24 Jul 2015 11:20:11 -0400 Subject: [PATCH] update live tv --- .../HttpClientManager/HttpClientManager.cs | 2 +- .../Session/GeneralCommandType.cs | 4 +++- .../Session/PlaybackProgressInfo.cs | 12 +++++++++++ .../Library/UserViewManager.cs | 2 +- .../LiveTv/LiveTvManager.cs | 20 +++++++++---------- .../TunerHosts/HdHomerun/HdHomerunHost.cs | 3 ++- .../Playlists/PlaylistManager.cs | 15 ++++++++------ .../ApplicationHost.cs | 2 +- 8 files changed, 39 insertions(+), 21 deletions(-) diff --git a/MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs b/MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs index 18441161f0..89f405e8a0 100644 --- a/MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs +++ b/MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs @@ -127,7 +127,7 @@ namespace MediaBrowser.Common.Implementations.HttpClientManager private WebRequest GetRequest(HttpRequestOptions options, string method, bool enableHttpCompression) { - var request = WebRequest.Create(options.Url); + var request = CreateWebRequest(options.Url); var httpWebRequest = request as HttpWebRequest; if (httpWebRequest != null) diff --git a/MediaBrowser.Model/Session/GeneralCommandType.cs b/MediaBrowser.Model/Session/GeneralCommandType.cs index f8773a2463..dcb3b20ca1 100644 --- a/MediaBrowser.Model/Session/GeneralCommandType.cs +++ b/MediaBrowser.Model/Session/GeneralCommandType.cs @@ -33,6 +33,8 @@ ToggleFullscreen = 25, DisplayContent = 26, GoToSearch = 27, - DisplayMessage = 28 + DisplayMessage = 28, + SetRepeatAll = 29, + SetRepeatOne = 30 } } \ No newline at end of file diff --git a/MediaBrowser.Model/Session/PlaybackProgressInfo.cs b/MediaBrowser.Model/Session/PlaybackProgressInfo.cs index a7ca09c15a..345931a623 100644 --- a/MediaBrowser.Model/Session/PlaybackProgressInfo.cs +++ b/MediaBrowser.Model/Session/PlaybackProgressInfo.cs @@ -88,5 +88,17 @@ namespace MediaBrowser.Model.Session /// /// The play session identifier. public string PlaySessionId { get; set; } + /// + /// Gets or sets the repeat mode. + /// + /// The repeat mode. + public RepeatMode RepeatMode { get; set; } + } + + public enum RepeatMode + { + RepeatNone = 0, + RepeatAll = 1, + RepeatOne = 2 } } \ No newline at end of file diff --git a/MediaBrowser.Server.Implementations/Library/UserViewManager.cs b/MediaBrowser.Server.Implementations/Library/UserViewManager.cs index 69600f0fef..14c5c9a03f 100644 --- a/MediaBrowser.Server.Implementations/Library/UserViewManager.cs +++ b/MediaBrowser.Server.Implementations/Library/UserViewManager.cs @@ -99,7 +99,7 @@ namespace MediaBrowser.Server.Implementations.Library list.Add(await GetUserView(parents, list, CollectionType.TvShows, string.Empty, user, cancellationToken).ConfigureAwait(false)); } - parents = foldersWithViewTypes.Where(i => string.Equals(i.CollectionType, CollectionType.Music, StringComparison.OrdinalIgnoreCase) || string.Equals(i.CollectionType, CollectionType.MusicVideos, StringComparison.OrdinalIgnoreCase) || string.IsNullOrWhiteSpace(i.CollectionType)) + parents = foldersWithViewTypes.Where(i => string.Equals(i.CollectionType, CollectionType.Music, StringComparison.OrdinalIgnoreCase) || string.IsNullOrWhiteSpace(i.CollectionType)) .ToList(); if (parents.Count > 0) diff --git a/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs b/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs index 6ef5651296..3ca60ec513 100644 --- a/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs +++ b/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs @@ -544,16 +544,16 @@ namespace MediaBrowser.Server.Implementations.LiveTv var replaceImages = new List(); - if (!string.Equals(item.ProviderImageUrl, channelInfo.ImageUrl, StringComparison.OrdinalIgnoreCase)) - { - isNew = true; - replaceImages.Add(ImageType.Primary); - } - if (!string.Equals(item.ProviderImagePath, channelInfo.ImagePath, StringComparison.OrdinalIgnoreCase)) - { - isNew = true; - replaceImages.Add(ImageType.Primary); - } + //if (!string.Equals(item.ProviderImageUrl, channelInfo.ImageUrl, StringComparison.OrdinalIgnoreCase)) + //{ + // isNew = true; + // replaceImages.Add(ImageType.Primary); + //} + //if (!string.Equals(item.ProviderImagePath, channelInfo.ImagePath, StringComparison.OrdinalIgnoreCase)) + //{ + // isNew = true; + // replaceImages.Add(ImageType.Primary); + //} item.ProviderImageUrl = channelInfo.ImageUrl; item.HasProviderImage = channelInfo.HasImage; diff --git a/MediaBrowser.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs b/MediaBrowser.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs index 50303a89a5..eb8f8f80ee 100644 --- a/MediaBrowser.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs +++ b/MediaBrowser.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs @@ -325,7 +325,8 @@ namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts.HdHomerun if (model.IndexOf("hdtc", StringComparison.OrdinalIgnoreCase) != -1) { - list.Add(GetMediaSource(info, channelId, "heavy")); + list.Insert(0, GetMediaSource(info, channelId, "heavy")); + list.Add(GetMediaSource(info, channelId, "internet480")); list.Add(GetMediaSource(info, channelId, "internet360")); list.Add(GetMediaSource(info, channelId, "internet240")); diff --git a/MediaBrowser.Server.Implementations/Playlists/PlaylistManager.cs b/MediaBrowser.Server.Implementations/Playlists/PlaylistManager.cs index 311cb9b516..857cf743f3 100644 --- a/MediaBrowser.Server.Implementations/Playlists/PlaylistManager.cs +++ b/MediaBrowser.Server.Implementations/Playlists/PlaylistManager.cs @@ -23,14 +23,16 @@ namespace MediaBrowser.Server.Implementations.Playlists private readonly ILibraryMonitor _iLibraryMonitor; private readonly ILogger _logger; private readonly IUserManager _userManager; + private readonly IProviderManager _providerManager; - public PlaylistManager(ILibraryManager libraryManager, IFileSystem fileSystem, ILibraryMonitor iLibraryMonitor, ILogger logger, IUserManager userManager) + public PlaylistManager(ILibraryManager libraryManager, IFileSystem fileSystem, ILibraryMonitor iLibraryMonitor, ILogger logger, IUserManager userManager, IProviderManager providerManager) { _libraryManager = libraryManager; _fileSystem = fileSystem; _iLibraryMonitor = iLibraryMonitor; _logger = logger; _userManager = userManager; + _providerManager = providerManager; } public IEnumerable GetPlaylists(string userId) @@ -193,11 +195,11 @@ namespace MediaBrowser.Server.Implementations.Playlists playlist.LinkedChildren.AddRange(list); await playlist.UpdateToRepository(ItemUpdateType.MetadataEdit, CancellationToken.None).ConfigureAwait(false); - await playlist.RefreshMetadata(new MetadataRefreshOptions + + _providerManager.QueueRefresh(playlist.Id, new MetadataRefreshOptions { ForceSave = true - - }, CancellationToken.None).ConfigureAwait(false); + }); } public async Task RemoveFromPlaylist(string playlistId, IEnumerable entryIds) @@ -220,10 +222,11 @@ namespace MediaBrowser.Server.Implementations.Playlists .ToList(); await playlist.UpdateToRepository(ItemUpdateType.MetadataEdit, CancellationToken.None).ConfigureAwait(false); - await playlist.RefreshMetadata(new MetadataRefreshOptions + + _providerManager.QueueRefresh(playlist.Id, new MetadataRefreshOptions { ForceSave = true - }, CancellationToken.None).ConfigureAwait(false); + }); } public Folder GetPlaylistsFolder(string userId) diff --git a/MediaBrowser.Server.Startup.Common/ApplicationHost.cs b/MediaBrowser.Server.Startup.Common/ApplicationHost.cs index 5fd1dca433..5e5babbb40 100644 --- a/MediaBrowser.Server.Startup.Common/ApplicationHost.cs +++ b/MediaBrowser.Server.Startup.Common/ApplicationHost.cs @@ -493,7 +493,7 @@ namespace MediaBrowser.Server.Startup.Common CollectionManager = new CollectionManager(LibraryManager, FileSystemManager, LibraryMonitor, LogManager.GetLogger("CollectionManager")); RegisterSingleInstance(CollectionManager); - PlaylistManager = new PlaylistManager(LibraryManager, FileSystemManager, LibraryMonitor, LogManager.GetLogger("PlaylistManager"), UserManager); + PlaylistManager = new PlaylistManager(LibraryManager, FileSystemManager, LibraryMonitor, LogManager.GetLogger("PlaylistManager"), UserManager, ProviderManager); RegisterSingleInstance(PlaylistManager); LiveTvManager = new LiveTvManager(this, ServerConfigurationManager, Logger, ItemRepository, ImageProcessor, UserDataManager, DtoService, UserManager, LibraryManager, TaskManager, LocalizationManager, JsonSerializer, ProviderManager);