diff --git a/MediaBrowser.Controller/Drawing/IImageProcessor.cs b/MediaBrowser.Controller/Drawing/IImageProcessor.cs
index e4c68a8aba..1a8583489b 100644
--- a/MediaBrowser.Controller/Drawing/IImageProcessor.cs
+++ b/MediaBrowser.Controller/Drawing/IImageProcessor.cs
@@ -68,7 +68,7 @@ namespace MediaBrowser.Controller.Drawing
/// The image enhancers.
/// Guid.
Guid GetImageCacheTag(BaseItem item, ImageType imageType, string originalImagePath, DateTime dateModified,
- IEnumerable imageEnhancers);
+ List imageEnhancers);
///
/// Processes the image.
diff --git a/MediaBrowser.Providers/Music/LastfmHelper.cs b/MediaBrowser.Providers/Music/LastfmHelper.cs
index f529fd44a1..d58aa714b0 100644
--- a/MediaBrowser.Providers/Music/LastfmHelper.cs
+++ b/MediaBrowser.Providers/Music/LastfmHelper.cs
@@ -25,8 +25,13 @@ namespace MediaBrowser.Providers.Music
}
}
- artist.PremiereDate = yearFormed > 0 ? new DateTime(yearFormed, 1, 1, 0, 0, 0, DateTimeKind.Utc) : (DateTime?)null;
- artist.ProductionYear = yearFormed;
+ if (yearFormed > 0)
+ {
+ artist.PremiereDate = new DateTime(yearFormed, 1, 1, 0, 0, 0, DateTimeKind.Utc);
+
+ artist.ProductionYear = yearFormed;
+ }
+
if (data.tags != null && !artist.LockedFields.Contains(MetadataFields.Tags))
{
AddTags(artist, data.tags);
@@ -102,10 +107,14 @@ namespace MediaBrowser.Providers.Music
DateTime release;
- if (DateTime.TryParse(data.releasedate, out release) && release.Year != 1901)
+ if (DateTime.TryParse(data.releasedate, out release))
{
- item.PremiereDate = release;
- item.ProductionYear = release.Year;
+ // Lastfm sends back null as sometimes 1901, other times 0
+ if (release.Year > 1901)
+ {
+ item.PremiereDate = release;
+ item.ProductionYear = release.Year;
+ }
}
if (data.toptags != null && !item.LockedFields.Contains(MetadataFields.Tags))
diff --git a/MediaBrowser.Server.Implementations/Drawing/ImageProcessor.cs b/MediaBrowser.Server.Implementations/Drawing/ImageProcessor.cs
index 78dcf6fd0d..fd980abc87 100644
--- a/MediaBrowser.Server.Implementations/Drawing/ImageProcessor.cs
+++ b/MediaBrowser.Server.Implementations/Drawing/ImageProcessor.cs
@@ -589,7 +589,7 @@ namespace MediaBrowser.Server.Implementations.Drawing
var supportedEnhancers = GetSupportedEnhancers(item, imageType);
- return GetImageCacheTag(item, imageType, imagePath, dateModified, supportedEnhancers);
+ return GetImageCacheTag(item, imageType, imagePath, dateModified, supportedEnhancers.ToList());
}
///
@@ -602,7 +602,7 @@ namespace MediaBrowser.Server.Implementations.Drawing
/// The image enhancers.
/// Guid.
/// item
- public Guid GetImageCacheTag(BaseItem item, ImageType imageType, string originalImagePath, DateTime dateModified, IEnumerable imageEnhancers)
+ public Guid GetImageCacheTag(BaseItem item, ImageType imageType, string originalImagePath, DateTime dateModified, List imageEnhancers)
{
if (item == null)
{
@@ -619,6 +619,12 @@ namespace MediaBrowser.Server.Implementations.Drawing
throw new ArgumentNullException("originalImagePath");
}
+ // Optimization
+ if (imageEnhancers.Count == 0)
+ {
+ return (originalImagePath + dateModified.Ticks).GetMD5();
+ }
+
// Cache name is created with supported enhancers combined with the last config change so we pick up new config changes
var cacheKeys = imageEnhancers.Select(i => i.GetConfigurationCacheKey(item, imageType)).ToList();
cacheKeys.Add(originalImagePath + dateModified.Ticks);
@@ -879,7 +885,7 @@ namespace MediaBrowser.Server.Implementations.Drawing
{
try
{
- return i.Supports(item as BaseItem, imageType);
+ return i.Supports(item, imageType);
}
catch (Exception ex)
{
@@ -888,7 +894,7 @@ namespace MediaBrowser.Server.Implementations.Drawing
return false;
}
- }).ToList();
+ });
}
public void Dispose()