diff --git a/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs b/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs index 3d486b90da..92e2aedd25 100644 --- a/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs +++ b/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs @@ -1145,6 +1145,8 @@ namespace MediaBrowser.Server.Implementations.LiveTv _refreshedPrograms.Clear(); progress.Report(90); + RefreshIfNeeded(programs.Take(500)); + // Load these now which will prefetch metadata await GetRecordings(new RecordingQuery(), cancellationToken).ConfigureAwait(false); progress.Report(100); diff --git a/MediaBrowser.Server.Implementations/LiveTv/ProgramImageProvider.cs b/MediaBrowser.Server.Implementations/LiveTv/ProgramImageProvider.cs index d29b67a8a9..b01dddb94d 100644 --- a/MediaBrowser.Server.Implementations/LiveTv/ProgramImageProvider.cs +++ b/MediaBrowser.Server.Implementations/LiveTv/ProgramImageProvider.cs @@ -12,7 +12,7 @@ using System.Threading.Tasks; namespace MediaBrowser.Server.Implementations.LiveTv { - public class ProgramImageProvider : IDynamicImageProvider, IHasItemChangeMonitor + public class ProgramImageProvider : IDynamicImageProvider, IHasItemChangeMonitor, IHasOrder { private readonly ILiveTvManager _liveTvManager; private readonly IHttpClient _httpClient; @@ -100,7 +100,11 @@ namespace MediaBrowser.Server.Implementations.LiveTv public int Order { - get { return 0; } + get + { + // Let the better providers run first + return 100; + } } public bool HasChanged(IHasMetadata item, MetadataStatus status, IDirectoryService directoryService) diff --git a/MediaBrowser.Server.Implementations/Localization/Server/server.json b/MediaBrowser.Server.Implementations/Localization/Server/server.json index a686cface8..061ee3ef0b 100644 --- a/MediaBrowser.Server.Implementations/Localization/Server/server.json +++ b/MediaBrowser.Server.Implementations/Localization/Server/server.json @@ -404,9 +404,10 @@ "ButtonRefresh": "Refresh", "ButtonAdvancedRefresh": "Advanced Refresh", "OptionPriority": "Priority", - "OptionRecordOnAllChannels": "Record program on all channels", - "OptionRecordAnytime": "Record program at any time", + "OptionRecordOnAllChannels": "Record on all channels", + "OptionRecordAnytime": "Record at any time", "OptionRecordOnlyNewEpisodes": "Record only new episodes", + "HeaderRepeatingOptions": "Repeating Options", "HeaderDays": "Days", "HeaderActiveRecordings": "Active Recordings", "HeaderLatestRecordings": "Latest Recordings", @@ -1407,17 +1408,18 @@ "LabelShowLibraryTileNamesHelp": "Determines if labels will be displayed underneath library tiles on the home page", "OptionEnableTranscodingThrottle": "Enable throttling", "OptionEnableTranscodingThrottleHelp": "Throttling will automatically adjust transcoding speed in order to minimize server cpu utilization during playback.", - "LabelUploadSpeedLimit": "Upload speed limit (mbps):", + "LabelUploadSpeedLimit": "Upload speed limit (Mbps):", "OptionAllowSyncTranscoding": "Allow syncing that requires transcoding", "HeaderPlayback": "Media Playback", "OptionAllowAudioPlaybackTranscoding": "Allow audio playback that requires transcoding", "OptionAllowVideoPlaybackTranscoding": "Allow video playback that requires transcoding", "OptionAllowMediaPlaybackTranscodingHelp": "Users will receive friendly messages when content is unplayable based on policy.", "TabStreaming": "Streaming", - "LabelRemoteClientBitrateLimit": "Remote client bitrate limit (mbps):", + "LabelRemoteClientBitrateLimit": "Remote client bitrate limit (Mbps):", "LabelRemoteClientBitrateLimitHelp": "An optional streaming bitrate limit for all remote clients. This is useful to prevent clients from requesting a higher bitrate than your connection can handle.", "LabelConversionCpuCoreLimit": "CPU core limit:", "LabelConversionCpuCoreLimitHelp": "Limit the number of CPU cores that will be used during sync conversion.", "OptionEnableFullSpeedConversion": "Enable full speed conversion", - "OptionEnableFullSpeedConversionHelp": "By default, sync conversion is performed at a low speed to minimize resource consumption." + "OptionEnableFullSpeedConversionHelp": "By default, sync conversion is performed at a low speed to minimize resource consumption.", + "HeaderPlaylists": "Playlists" } diff --git a/MediaBrowser.Server.Implementations/Sync/SyncManager.cs b/MediaBrowser.Server.Implementations/Sync/SyncManager.cs index f3662086be..69c83bd33d 100644 --- a/MediaBrowser.Server.Implementations/Sync/SyncManager.cs +++ b/MediaBrowser.Server.Implementations/Sync/SyncManager.cs @@ -512,12 +512,7 @@ namespace MediaBrowser.Server.Implementations.Sync var video = item as Video; if (video != null) { - if (video.VideoType == VideoType.Iso) - { - return false; - } - - if (video.VideoType == VideoType.BluRay || video.VideoType == VideoType.Dvd || video.VideoType == VideoType.HdDvd) + if (video.VideoType == VideoType.Iso || video.VideoType == VideoType.BluRay || video.VideoType == VideoType.Dvd || video.VideoType == VideoType.HdDvd) { return false; } @@ -552,7 +547,7 @@ namespace MediaBrowser.Server.Implementations.Sync } } - if (item is LiveTvChannel || item is IChannelItem || item is ILiveTvRecording) + if (item is LiveTvChannel || item is IChannelItem) { return false; } @@ -566,7 +561,7 @@ namespace MediaBrowser.Server.Implementations.Sync return true; } - return item.LocationType == LocationType.FileSystem || item is Season || item is ILiveTvRecording; + return item.LocationType == LocationType.FileSystem || item is Season; } private string GetDefaultName(BaseItem item)