aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-02-03 12:44:13 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-02-03 12:44:13 -0500
commit4205dcac9db652a2576f965d80a900bd390f125c (patch)
treed931a2c6e4af128f218dec3100141888f7fbd551
parent1de89cf27203b7d3df488e2c4785df6205e9123a (diff)
Add dlna headers to static responses
-rw-r--r--MediaBrowser.Api/Images/ImageService.cs2
-rw-r--r--MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs3
-rw-r--r--MediaBrowser.Controller/Entities/Audio/MusicArtist.cs3
-rw-r--r--MediaBrowser.Controller/MediaBrowser.Controller.csproj1
-rw-r--r--MediaBrowser.Controller/Providers/IHasChangeMonitor.cs15
-rw-r--r--MediaBrowser.Controller/Providers/IMetadataProvider.cs11
-rw-r--r--MediaBrowser.Controller/Providers/IProviderManager.cs3
-rw-r--r--MediaBrowser.Providers/BoxSets/MovieDbBoxSetProvider.cs5
-rw-r--r--MediaBrowser.Providers/Games/GameSystemXmlParser.cs3
-rw-r--r--MediaBrowser.Providers/Games/GameXmlParser.cs3
-rw-r--r--MediaBrowser.Providers/Manager/ImageSaver.cs8
-rw-r--r--MediaBrowser.Providers/Manager/ItemImageProvider.cs10
-rw-r--r--MediaBrowser.Providers/Manager/MetadataService.cs16
-rw-r--r--MediaBrowser.Providers/Manager/ProviderManager.cs7
-rw-r--r--MediaBrowser.Providers/Movies/FanArtMovieProvider.cs3
-rw-r--r--MediaBrowser.Providers/Movies/MovieDbImagesProvider.cs4
-rw-r--r--MediaBrowser.Providers/Movies/MovieDbProvider.cs5
-rw-r--r--MediaBrowser.Providers/Music/FanArtArtistProvider.cs3
-rw-r--r--MediaBrowser.Providers/Music/SoundtrackPostScanTask.cs3
-rw-r--r--MediaBrowser.Providers/TV/FanArtTVProvider.cs3
-rw-r--r--MediaBrowser.Providers/TV/TvdbPrescanTask.cs2
-rw-r--r--MediaBrowser.Server.Implementations/LiveTv/RecordingImageProvider.cs2
-rw-r--r--MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs3
-rw-r--r--MediaBrowser.Server.Implementations/Roku/RokuSessionController.cs5
-rw-r--r--MediaBrowser.Server.Implementations/WebSocket/AlchemyWebSocket.cs5
25 files changed, 70 insertions, 58 deletions
diff --git a/MediaBrowser.Api/Images/ImageService.cs b/MediaBrowser.Api/Images/ImageService.cs
index bfa2b645a..aeae9c507 100644
--- a/MediaBrowser.Api/Images/ImageService.cs
+++ b/MediaBrowser.Api/Images/ImageService.cs
@@ -797,7 +797,7 @@ namespace MediaBrowser.Api.Images
// Handle image/png; charset=utf-8
mimeType = mimeType.Split(';').FirstOrDefault();
- await _providerManager.SaveImage(entity, memoryStream, mimeType, imageType, null, null, CancellationToken.None).ConfigureAwait(false);
+ await _providerManager.SaveImage(entity, memoryStream, mimeType, imageType, null, CancellationToken.None).ConfigureAwait(false);
await entity.RefreshMetadata(new MetadataRefreshOptions
{
diff --git a/MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs b/MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs
index d53338c86..7924b57d8 100644
--- a/MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs
+++ b/MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs
@@ -193,6 +193,8 @@ namespace MediaBrowser.Api.Playback.Progressive
if (request.Static && state.IsRemote)
{
+ AddDlnaHeaders(state, responseHeaders, true);
+
return GetStaticRemoteStreamResult(state.MediaPath, responseHeaders, isHeadRequest).Result;
}
@@ -257,7 +259,6 @@ namespace MediaBrowser.Api.Playback.Progressive
var result = new StaticRemoteStreamWriter(response, httpClient);
result.Options["Content-Type"] = contentType;
- AddDlnaHeaders(state, responseHeaders, isStatic);
// Add the response headers to the result object
foreach (var header in responseHeaders)
diff --git a/MediaBrowser.Controller/Entities/Audio/MusicArtist.cs b/MediaBrowser.Controller/Entities/Audio/MusicArtist.cs
index b2d95ed30..9b4e3a736 100644
--- a/MediaBrowser.Controller/Entities/Audio/MusicArtist.cs
+++ b/MediaBrowser.Controller/Entities/Audio/MusicArtist.cs
@@ -48,12 +48,13 @@ namespace MediaBrowser.Controller.Entities.Audio
}
}
+ private readonly Task _cachedTask = Task.FromResult(true);
protected override Task ValidateChildrenInternal(IProgress<double> progress, CancellationToken cancellationToken, bool? recursive = null, bool forceRefreshMetadata = false)
{
if (IsAccessedByName)
{
// Should never get in here anyway
- return Task.FromResult(true);
+ return _cachedTask;
}
return base.ValidateChildrenInternal(progress, cancellationToken, recursive, forceRefreshMetadata);
diff --git a/MediaBrowser.Controller/MediaBrowser.Controller.csproj b/MediaBrowser.Controller/MediaBrowser.Controller.csproj
index 6b4228524..7bc815423 100644
--- a/MediaBrowser.Controller/MediaBrowser.Controller.csproj
+++ b/MediaBrowser.Controller/MediaBrowser.Controller.csproj
@@ -145,6 +145,7 @@
<Compile Include="Persistence\MediaStreamQuery.cs" />
<Compile Include="Providers\ICustomMetadataProvider.cs" />
<Compile Include="Providers\IDynamicInfoProvider.cs" />
+ <Compile Include="Providers\IHasChangeMonitor.cs" />
<Compile Include="Providers\IHasMetadata.cs" />
<Compile Include="Providers\IImageProvider.cs" />
<Compile Include="Providers\ILocalMetadataProvider.cs" />
diff --git a/MediaBrowser.Controller/Providers/IHasChangeMonitor.cs b/MediaBrowser.Controller/Providers/IHasChangeMonitor.cs
new file mode 100644
index 000000000..41313da3d
--- /dev/null
+++ b/MediaBrowser.Controller/Providers/IHasChangeMonitor.cs
@@ -0,0 +1,15 @@
+using System;
+
+namespace MediaBrowser.Controller.Providers
+{
+ public interface IHasChangeMonitor
+ {
+ /// <summary>
+ /// Determines whether the specified item has changed.
+ /// </summary>
+ /// <param name="item">The item.</param>
+ /// <param name="date">The date.</param>
+ /// <returns><c>true</c> if the specified item has changed; otherwise, <c>false</c>.</returns>
+ bool HasChanged(IHasMetadata item, DateTime date);
+ }
+}
diff --git a/MediaBrowser.Controller/Providers/IMetadataProvider.cs b/MediaBrowser.Controller/Providers/IMetadataProvider.cs
index 123e806ed..910c88e53 100644
--- a/MediaBrowser.Controller/Providers/IMetadataProvider.cs
+++ b/MediaBrowser.Controller/Providers/IMetadataProvider.cs
@@ -19,17 +19,6 @@ namespace MediaBrowser.Controller.Providers
{
}
- public interface IHasChangeMonitor
- {
- /// <summary>
- /// Determines whether the specified item has changed.
- /// </summary>
- /// <param name="item">The item.</param>
- /// <param name="date">The date.</param>
- /// <returns><c>true</c> if the specified item has changed; otherwise, <c>false</c>.</returns>
- bool HasChanged(IHasMetadata item, DateTime date);
- }
-
public interface IHasOrder
{
int Order { get; }
diff --git a/MediaBrowser.Controller/Providers/IProviderManager.cs b/MediaBrowser.Controller/Providers/IProviderManager.cs
index 0e4f70c06..7019623ee 100644
--- a/MediaBrowser.Controller/Providers/IProviderManager.cs
+++ b/MediaBrowser.Controller/Providers/IProviderManager.cs
@@ -53,10 +53,9 @@ namespace MediaBrowser.Controller.Providers
/// <param name="mimeType">Type of the MIME.</param>
/// <param name="type">The type.</param>
/// <param name="imageIndex">Index of the image.</param>
- /// <param name="sourceUrl">The source URL.</param>
/// <param name="cancellationToken">The cancellation token.</param>
/// <returns>Task.</returns>
- Task SaveImage(BaseItem item, Stream source, string mimeType, ImageType type, int? imageIndex, string sourceUrl, CancellationToken cancellationToken);
+ Task SaveImage(BaseItem item, Stream source, string mimeType, ImageType type, int? imageIndex, CancellationToken cancellationToken);
/// <summary>
/// Adds the metadata providers.
diff --git a/MediaBrowser.Providers/BoxSets/MovieDbBoxSetProvider.cs b/MediaBrowser.Providers/BoxSets/MovieDbBoxSetProvider.cs
index 3908535f4..b04687350 100644
--- a/MediaBrowser.Providers/BoxSets/MovieDbBoxSetProvider.cs
+++ b/MediaBrowser.Providers/BoxSets/MovieDbBoxSetProvider.cs
@@ -168,7 +168,8 @@ namespace MediaBrowser.Providers.BoxSets
}
return mainResult;
}
-
+
+ private readonly Task _cachedTask = Task.FromResult(true);
internal Task EnsureInfo(string tmdbId, string preferredMetadataLanguage, CancellationToken cancellationToken)
{
var path = GetDataFilePath(_config.ApplicationPaths, tmdbId, preferredMetadataLanguage);
@@ -180,7 +181,7 @@ namespace MediaBrowser.Providers.BoxSets
// If it's recent or automatic updates are enabled, don't re-download
if ((DateTime.UtcNow - _fileSystem.GetLastWriteTimeUtc(fileInfo)).TotalDays <= 7)
{
- return Task.FromResult(true);
+ return _cachedTask;
}
}
diff --git a/MediaBrowser.Providers/Games/GameSystemXmlParser.cs b/MediaBrowser.Providers/Games/GameSystemXmlParser.cs
index ba69c1fb2..85ee509ca 100644
--- a/MediaBrowser.Providers/Games/GameSystemXmlParser.cs
+++ b/MediaBrowser.Providers/Games/GameSystemXmlParser.cs
@@ -15,13 +15,14 @@ namespace MediaBrowser.Providers.Games
{
}
+ private readonly Task _cachedTask = Task.FromResult(true);
public Task FetchAsync(GameSystem item, string metadataFile, CancellationToken cancellationToken)
{
Fetch(item, metadataFile, cancellationToken);
cancellationToken.ThrowIfCancellationRequested();
- return Task.FromResult(true);
+ return _cachedTask;
}
/// <summary>
diff --git a/MediaBrowser.Providers/Games/GameXmlParser.cs b/MediaBrowser.Providers/Games/GameXmlParser.cs
index a5e6adbef..dfa71e5f4 100644
--- a/MediaBrowser.Providers/Games/GameXmlParser.cs
+++ b/MediaBrowser.Providers/Games/GameXmlParser.cs
@@ -21,13 +21,14 @@ namespace MediaBrowser.Providers.Games
{
}
+ private readonly Task _cachedTask = Task.FromResult(true);
public Task FetchAsync(Game item, string metadataFile, CancellationToken cancellationToken)
{
Fetch(item, metadataFile, cancellationToken);
cancellationToken.ThrowIfCancellationRequested();
- return Task.FromResult(true);
+ return _cachedTask;
}
/// <summary>
diff --git a/MediaBrowser.Providers/Manager/ImageSaver.cs b/MediaBrowser.Providers/Manager/ImageSaver.cs
index 2e0bf9a05..52aaf412a 100644
--- a/MediaBrowser.Providers/Manager/ImageSaver.cs
+++ b/MediaBrowser.Providers/Manager/ImageSaver.cs
@@ -62,11 +62,10 @@ namespace MediaBrowser.Providers.Manager
/// <param name="mimeType">Type of the MIME.</param>
/// <param name="type">The type.</param>
/// <param name="imageIndex">Index of the image.</param>
- /// <param name="sourceUrl">The source URL.</param>
/// <param name="cancellationToken">The cancellation token.</param>
/// <returns>Task.</returns>
/// <exception cref="System.ArgumentNullException">mimeType</exception>
- public async Task SaveImage(BaseItem item, Stream source, string mimeType, ImageType type, int? imageIndex, string sourceUrl, CancellationToken cancellationToken)
+ public async Task SaveImage(BaseItem item, Stream source, string mimeType, ImageType type, int? imageIndex, CancellationToken cancellationToken)
{
if (string.IsNullOrEmpty(mimeType))
{
@@ -155,7 +154,7 @@ namespace MediaBrowser.Providers.Manager
}
// Set the path into the item
- SetImagePath(item, type, imageIndex, paths[0], sourceUrl);
+ SetImagePath(item, type, imageIndex, paths[0]);
// Delete the current path
if (!string.IsNullOrEmpty(currentPath) && !paths.Contains(currentPath, StringComparer.OrdinalIgnoreCase))
@@ -271,11 +270,10 @@ namespace MediaBrowser.Providers.Manager
/// <param name="type">The type.</param>
/// <param name="imageIndex">Index of the image.</param>
/// <param name="path">The path.</param>
- /// <param name="sourceUrl">The source URL.</param>
/// <exception cref="System.ArgumentNullException">imageIndex
/// or
/// imageIndex</exception>
- private void SetImagePath(BaseItem item, ImageType type, int? imageIndex, string path, string sourceUrl)
+ private void SetImagePath(BaseItem item, ImageType type, int? imageIndex, string path)
{
switch (type)
{
diff --git a/MediaBrowser.Providers/Manager/ItemImageProvider.cs b/MediaBrowser.Providers/Manager/ItemImageProvider.cs
index ee6f7cf69..3fb1e7074 100644
--- a/MediaBrowser.Providers/Manager/ItemImageProvider.cs
+++ b/MediaBrowser.Providers/Manager/ItemImageProvider.cs
@@ -114,13 +114,13 @@ namespace MediaBrowser.Providers.Manager
var stream = _fileSystem.GetFileStream(response.Path, FileMode.Open, FileAccess.Read,
FileShare.Read, true);
- await _providerManager.SaveImage((BaseItem)item, stream, mimeType, imageType, null, Guid.NewGuid().ToString(), cancellationToken).ConfigureAwait(false);
+ await _providerManager.SaveImage((BaseItem)item, stream, mimeType, imageType, null, cancellationToken).ConfigureAwait(false);
}
else
{
var mimeType = "image/" + response.Format.ToString().ToLower();
- await _providerManager.SaveImage((BaseItem)item, response.Stream, mimeType, imageType, null, Guid.NewGuid().ToString(), cancellationToken).ConfigureAwait(false);
+ await _providerManager.SaveImage((BaseItem)item, response.Stream, mimeType, imageType, null, cancellationToken).ConfigureAwait(false);
}
result.UpdateType = result.UpdateType | ItemUpdateType.ImageUpdate;
@@ -337,7 +337,7 @@ namespace MediaBrowser.Providers.Manager
{
var response = await provider.GetImageResponse(url, cancellationToken).ConfigureAwait(false);
- await _providerManager.SaveImage((BaseItem)item, response.Content, response.ContentType, type, null, url, cancellationToken).ConfigureAwait(false);
+ await _providerManager.SaveImage((BaseItem)item, response.Content, response.ContentType, type, null, cancellationToken).ConfigureAwait(false);
result.UpdateType = result.UpdateType | ItemUpdateType.ImageUpdate;
break;
@@ -371,7 +371,7 @@ namespace MediaBrowser.Providers.Manager
{
var response = await provider.GetImageResponse(url, cancellationToken).ConfigureAwait(false);
- await _providerManager.SaveImage((BaseItem)item, response.Content, response.ContentType, imageType, null, url, cancellationToken).ConfigureAwait(false);
+ await _providerManager.SaveImage((BaseItem)item, response.Content, response.ContentType, imageType, null, cancellationToken).ConfigureAwait(false);
result.UpdateType = result.UpdateType | ItemUpdateType.ImageUpdate;
break;
}
@@ -404,7 +404,7 @@ namespace MediaBrowser.Providers.Manager
{
var response = await provider.GetImageResponse(url, cancellationToken).ConfigureAwait(false);
- await _providerManager.SaveImage((BaseItem)item, response.Content, response.ContentType, imageType, null, url, cancellationToken).ConfigureAwait(false);
+ await _providerManager.SaveImage((BaseItem)item, response.Content, response.ContentType, imageType, null, cancellationToken).ConfigureAwait(false);
result.UpdateType = result.UpdateType | ItemUpdateType.ImageUpdate;
break;
}
diff --git a/MediaBrowser.Providers/Manager/MetadataService.cs b/MediaBrowser.Providers/Manager/MetadataService.cs
index 47345126d..349a4de97 100644
--- a/MediaBrowser.Providers/Manager/MetadataService.cs
+++ b/MediaBrowser.Providers/Manager/MetadataService.cs
@@ -56,12 +56,10 @@ namespace MediaBrowser.Providers.Manager
public async Task RefreshMetadata(IHasMetadata item, MetadataRefreshOptions refreshOptions, CancellationToken cancellationToken)
{
var itemOfType = (TItemType)item;
-
var config = GetMetadataOptions(itemOfType);
var updateType = ItemUpdateType.Unspecified;
- var lastResult = GetLastResult(item.Id);
- var refreshResult = lastResult;
+ var refreshResult = GetLastResult(item.Id);
refreshResult.LastErrorMessage = string.Empty;
refreshResult.LastStatus = ProviderRefreshStatus.Success;
@@ -90,8 +88,8 @@ namespace MediaBrowser.Providers.Manager
if (refreshOptions.MetadataRefreshMode != MetadataRefreshMode.None)
{
updateType = updateType | BeforeMetadataRefresh(itemOfType);
-
- var providers = GetProviders(item, lastResult.DateLastMetadataRefresh.HasValue, refreshOptions).ToList();
+
+ var providers = GetProviders(item, refreshResult.DateLastMetadataRefresh.HasValue, refreshOptions).ToList();
if (providers.Count > 0)
{
@@ -109,7 +107,7 @@ namespace MediaBrowser.Providers.Manager
// Next run remote image providers, but only if local image providers didn't throw an exception
if (!localImagesFailed && refreshOptions.ImageRefreshMode != ImageRefreshMode.ValidationOnly)
{
- var providers = GetNonLocalImageProviders(item, allImageProviders, lastResult.DateLastImagesRefresh.HasValue, refreshOptions).ToList();
+ var providers = GetNonLocalImageProviders(item, allImageProviders, refreshResult.DateLastImagesRefresh, refreshOptions).ToList();
if (providers.Count > 0)
{
@@ -205,13 +203,13 @@ namespace MediaBrowser.Providers.Manager
return providers;
}
- protected virtual IEnumerable<IImageProvider> GetNonLocalImageProviders(IHasMetadata item, IEnumerable<IImageProvider> allImageProviders, bool hasRefreshedImages, ImageRefreshOptions options)
+ protected virtual IEnumerable<IImageProvider> GetNonLocalImageProviders(IHasMetadata item, IEnumerable<IImageProvider> allImageProviders, DateTime? dateLastImageRefresh, ImageRefreshOptions options)
{
// Get providers to refresh
var providers = allImageProviders.Where(i => !(i is ILocalImageProvider)).ToList();
// Run all if either of these flags are true
- var runAllProviders = options.ImageRefreshMode == ImageRefreshMode.FullRefresh || !hasRefreshedImages;
+ var runAllProviders = options.ImageRefreshMode == ImageRefreshMode.FullRefresh || !dateLastImageRefresh.HasValue;
if (!runAllProviders)
{
@@ -219,7 +217,7 @@ namespace MediaBrowser.Providers.Manager
var currentItem = item;
providers = providers.OfType<IHasChangeMonitor>()
- .Where(i => i.HasChanged(currentItem, currentItem.DateLastSaved))
+ .Where(i => i.HasChanged(currentItem, dateLastImageRefresh.Value))
.Cast<IImageProvider>()
.ToList();
}
diff --git a/MediaBrowser.Providers/Manager/ProviderManager.cs b/MediaBrowser.Providers/Manager/ProviderManager.cs
index 1eb17d75d..6b0ea7ed4 100644
--- a/MediaBrowser.Providers/Manager/ProviderManager.cs
+++ b/MediaBrowser.Providers/Manager/ProviderManager.cs
@@ -364,7 +364,7 @@ namespace MediaBrowser.Providers.Manager
}).ConfigureAwait(false);
- await SaveImage(item, response.Content, response.ContentType, type, imageIndex, url, cancellationToken)
+ await SaveImage(item, response.Content, response.ContentType, type, imageIndex, cancellationToken)
.ConfigureAwait(false);
}
@@ -376,12 +376,11 @@ namespace MediaBrowser.Providers.Manager
/// <param name="mimeType">Type of the MIME.</param>
/// <param name="type">The type.</param>
/// <param name="imageIndex">Index of the image.</param>
- /// <param name="sourceUrl">The source URL.</param>
/// <param name="cancellationToken">The cancellation token.</param>
/// <returns>Task.</returns>
- public Task SaveImage(BaseItem item, Stream source, string mimeType, ImageType type, int? imageIndex, string sourceUrl, CancellationToken cancellationToken)
+ public Task SaveImage(BaseItem item, Stream source, string mimeType, ImageType type, int? imageIndex, CancellationToken cancellationToken)
{
- return new ImageSaver(ConfigurationManager, _libraryMonitor, _fileSystem, _logger).SaveImage(item, source, mimeType, type, imageIndex, sourceUrl, cancellationToken);
+ return new ImageSaver(ConfigurationManager, _libraryMonitor, _fileSystem, _logger).SaveImage(item, source, mimeType, type, imageIndex, cancellationToken);
}
/// <summary>
diff --git a/MediaBrowser.Providers/Movies/FanArtMovieProvider.cs b/MediaBrowser.Providers/Movies/FanArtMovieProvider.cs
index 8eebf595a..9fc57c542 100644
--- a/MediaBrowser.Providers/Movies/FanArtMovieProvider.cs
+++ b/MediaBrowser.Providers/Movies/FanArtMovieProvider.cs
@@ -251,6 +251,7 @@ namespace MediaBrowser.Providers.Movies
}
}
+ private readonly Task _cachedTask = Task.FromResult(true);
internal Task EnsureMovieXml(string tmdbId, CancellationToken cancellationToken)
{
var path = GetFanartXmlPath(tmdbId);
@@ -261,7 +262,7 @@ namespace MediaBrowser.Providers.Movies
{
if (ConfigurationManager.Configuration.EnableFanArtUpdates || (DateTime.UtcNow - _fileSystem.GetLastWriteTimeUtc(fileInfo)).TotalDays <= 7)
{
- return Task.FromResult(true);
+ return _cachedTask;
}
}
diff --git a/MediaBrowser.Providers/Movies/MovieDbImagesProvider.cs b/MediaBrowser.Providers/Movies/MovieDbImagesProvider.cs
index e6c3a2035..9ef2e1bca 100644
--- a/MediaBrowser.Providers/Movies/MovieDbImagesProvider.cs
+++ b/MediaBrowser.Providers/Movies/MovieDbImagesProvider.cs
@@ -202,7 +202,7 @@ namespace MediaBrowser.Providers.Movies
}).ConfigureAwait(false);
- await _providerManager.SaveImage(item, img, MimeTypes.GetMimeType(url), ImageType.Primary, null, url, cancellationToken)
+ await _providerManager.SaveImage(item, img, MimeTypes.GetMimeType(url), ImageType.Primary, null, cancellationToken)
.ConfigureAwait(false);
}
@@ -233,7 +233,7 @@ namespace MediaBrowser.Providers.Movies
}).ConfigureAwait(false);
- await _providerManager.SaveImage(item, img, MimeTypes.GetMimeType(url), ImageType.Backdrop, null, url, cancellationToken)
+ await _providerManager.SaveImage(item, img, MimeTypes.GetMimeType(url), ImageType.Backdrop, null, cancellationToken)
.ConfigureAwait(false);
if (item.BackdropImagePaths.Count >= backdropLimit)
diff --git a/MediaBrowser.Providers/Movies/MovieDbProvider.cs b/MediaBrowser.Providers/Movies/MovieDbProvider.cs
index c6c47e198..87e6be1f7 100644
--- a/MediaBrowser.Providers/Movies/MovieDbProvider.cs
+++ b/MediaBrowser.Providers/Movies/MovieDbProvider.cs
@@ -366,6 +366,7 @@ namespace MediaBrowser.Providers.Movies
JsonSerializer.SerializeToFile(mainResult, dataFilePath);
}
+ private readonly Task _cachedTask = Task.FromResult(true);
internal Task EnsureMovieInfo(BaseItem item, CancellationToken cancellationToken)
{
var path = GetDataFilePath(item);
@@ -377,7 +378,7 @@ namespace MediaBrowser.Providers.Movies
// If it's recent or automatic updates are enabled, don't re-download
if ((ConfigurationManager.Configuration.EnableTmdbUpdates) || (DateTime.UtcNow - _fileSystem.GetLastWriteTimeUtc(fileInfo)).TotalDays <= 7)
{
- return Task.FromResult(true);
+ return _cachedTask;
}
}
@@ -385,7 +386,7 @@ namespace MediaBrowser.Providers.Movies
if (string.IsNullOrEmpty(id))
{
- return Task.FromResult(true);
+ return _cachedTask;
}
return DownloadMovieInfo(id, item.GetPreferredMetadataLanguage(), cancellationToken);
diff --git a/MediaBrowser.Providers/Music/FanArtArtistProvider.cs b/MediaBrowser.Providers/Music/FanArtArtistProvider.cs
index 2b4a814c5..446c80920 100644
--- a/MediaBrowser.Providers/Music/FanArtArtistProvider.cs
+++ b/MediaBrowser.Providers/Music/FanArtArtistProvider.cs
@@ -391,6 +391,7 @@ namespace MediaBrowser.Providers.Music
return false;
}
+ private readonly Task _cachedTask = Task.FromResult(true);
internal Task EnsureMovieXml(string musicBrainzId, CancellationToken cancellationToken)
{
var xmlPath = GetArtistXmlPath(_config.ApplicationPaths, musicBrainzId);
@@ -401,7 +402,7 @@ namespace MediaBrowser.Providers.Music
{
if (_config.Configuration.EnableFanArtUpdates || (DateTime.UtcNow - _fileSystem.GetLastWriteTimeUtc(fileInfo)).TotalDays <= 7)
{
- return Task.FromResult(true);
+ return _cachedTask;
}
}
diff --git a/MediaBrowser.Providers/Music/SoundtrackPostScanTask.cs b/MediaBrowser.Providers/Music/SoundtrackPostScanTask.cs
index a14f387b1..1fd3fb9d9 100644
--- a/MediaBrowser.Providers/Music/SoundtrackPostScanTask.cs
+++ b/MediaBrowser.Providers/Music/SoundtrackPostScanTask.cs
@@ -21,11 +21,12 @@ namespace MediaBrowser.Providers.Music
_libraryManager = libraryManager;
}
+ private readonly Task _cachedTask = Task.FromResult(true);
public Task Run(IProgress<double> progress, CancellationToken cancellationToken)
{
RunInternal(progress, cancellationToken);
- return Task.FromResult(true);
+ return _cachedTask;
}
private void RunInternal(IProgress<double> progress, CancellationToken cancellationToken)
diff --git a/MediaBrowser.Providers/TV/FanArtTVProvider.cs b/MediaBrowser.Providers/TV/FanArtTVProvider.cs
index baadf350f..db71d0db8 100644
--- a/MediaBrowser.Providers/TV/FanArtTVProvider.cs
+++ b/MediaBrowser.Providers/TV/FanArtTVProvider.cs
@@ -278,6 +278,7 @@ namespace MediaBrowser.Providers.TV
}
}
+ private readonly Task _cachedTask = Task.FromResult(true);
internal Task EnsureSeriesXml(string tvdbId, CancellationToken cancellationToken)
{
var xmlPath = GetSeriesDataPath(ConfigurationManager.ApplicationPaths, tvdbId);
@@ -288,7 +289,7 @@ namespace MediaBrowser.Providers.TV
{
if (ConfigurationManager.Configuration.EnableFanArtUpdates || (DateTime.UtcNow - _fileSystem.GetLastWriteTimeUtc(fileInfo)).TotalDays <= 7)
{
- return Task.FromResult(true);
+ return _cachedTask;
}
}
diff --git a/MediaBrowser.Providers/TV/TvdbPrescanTask.cs b/MediaBrowser.Providers/TV/TvdbPrescanTask.cs
index 24d231192..af4c27278 100644
--- a/MediaBrowser.Providers/TV/TvdbPrescanTask.cs
+++ b/MediaBrowser.Providers/TV/TvdbPrescanTask.cs
@@ -329,7 +329,7 @@ namespace MediaBrowser.Providers.TV
/// <returns>Task.</returns>
private Task UpdateSeries(string id, string seriesDataPath, long? lastTvDbUpdateTime, string preferredMetadataLanguage, CancellationToken cancellationToken)
{
- _logger.Info("Updating movie from tmdb " + id + ", language " + preferredMetadataLanguage);
+ _logger.Info("Updating series from tvdb " + id + ", language " + preferredMetadataLanguage);
seriesDataPath = Path.Combine(seriesDataPath, id);
diff --git a/MediaBrowser.Server.Implementations/LiveTv/RecordingImageProvider.cs b/MediaBrowser.Server.Implementations/LiveTv/RecordingImageProvider.cs
index ce7c1286b..1f5610f67 100644
--- a/MediaBrowser.Server.Implementations/LiveTv/RecordingImageProvider.cs
+++ b/MediaBrowser.Server.Implementations/LiveTv/RecordingImageProvider.cs
@@ -133,7 +133,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv
// Dummy up the original url
var url = item.ServiceName + recordingInfo.Id;
- await _providerManager.SaveImage((BaseItem)item, imageStream, contentType, ImageType.Primary, null, url, cancellationToken).ConfigureAwait(false);
+ await _providerManager.SaveImage((BaseItem)item, imageStream, contentType, ImageType.Primary, null, cancellationToken).ConfigureAwait(false);
return true;
}
diff --git a/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs b/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs
index 6b463bbdf..71cf58785 100644
--- a/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs
+++ b/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs
@@ -320,6 +320,7 @@ namespace MediaBrowser.Server.Implementations.Persistence
}
}
+ private readonly Task _cachedTask = Task.FromResult(true);
/// <summary>
/// Saves the critic reviews.
/// </summary>
@@ -334,7 +335,7 @@ namespace MediaBrowser.Server.Implementations.Persistence
_jsonSerializer.SerializeToFile(criticReviews.ToList(), path);
- return Task.FromResult(true);
+ return _cachedTask;
}
/// <summary>
diff --git a/MediaBrowser.Server.Implementations/Roku/RokuSessionController.cs b/MediaBrowser.Server.Implementations/Roku/RokuSessionController.cs
index b9e8b7950..0e2f9e1b5 100644
--- a/MediaBrowser.Server.Implementations/Roku/RokuSessionController.cs
+++ b/MediaBrowser.Server.Implementations/Roku/RokuSessionController.cs
@@ -91,10 +91,11 @@ namespace MediaBrowser.Server.Implementations.Roku
}, cancellationToken);
}
+ private readonly Task _cachedTask = Task.FromResult(true);
public Task SendLibraryUpdateInfo(LibraryUpdateInfo info, CancellationToken cancellationToken)
{
// Roku probably won't care about this
- return Task.FromResult(true);
+ return _cachedTask;
}
public Task SendRestartRequiredNotification(CancellationToken cancellationToken)
@@ -110,7 +111,7 @@ namespace MediaBrowser.Server.Implementations.Roku
public Task SendUserDataChangeInfo(UserDataChangeInfo info, CancellationToken cancellationToken)
{
// Roku probably won't care about this
- return Task.FromResult(true);
+ return _cachedTask;
}
public Task SendServerShutdownNotification(CancellationToken cancellationToken)
diff --git a/MediaBrowser.Server.Implementations/WebSocket/AlchemyWebSocket.cs b/MediaBrowser.Server.Implementations/WebSocket/AlchemyWebSocket.cs
index de998254c..2918c7ecd 100644
--- a/MediaBrowser.Server.Implementations/WebSocket/AlchemyWebSocket.cs
+++ b/MediaBrowser.Server.Implementations/WebSocket/AlchemyWebSocket.cs
@@ -81,7 +81,8 @@ namespace MediaBrowser.Server.Implementations.WebSocket
OnReceive(json);
}
}
-
+
+ private readonly Task _cachedTask = Task.FromResult(true);
/// <summary>
/// Sends the async.
/// </summary>
@@ -94,7 +95,7 @@ namespace MediaBrowser.Server.Implementations.WebSocket
{
UserContext.Send(bytes);
- return Task.FromResult(true);
+ return _cachedTask;
}
/// <summary>