diff --git a/MediaBrowser.Controller/Providers/ImageFromMediaLocationProvider.cs b/MediaBrowser.Controller/Providers/ImageFromMediaLocationProvider.cs
index 6e14682ddc..d9c97ddb10 100644
--- a/MediaBrowser.Controller/Providers/ImageFromMediaLocationProvider.cs
+++ b/MediaBrowser.Controller/Providers/ImageFromMediaLocationProvider.cs
@@ -146,7 +146,8 @@ namespace MediaBrowser.Controller.Providers
/// FileSystemInfo.
protected virtual FileSystemInfo GetImage(BaseItem item, string filenameWithoutExtension)
{
- return item.ResolveArgs.GetMetaFileByPath(Path.Combine(item.ResolveArgs.Path, filenameWithoutExtension + ".png")) ?? item.ResolveArgs.GetMetaFileByPath(Path.Combine(item.ResolveArgs.Path, filenameWithoutExtension + ".jpg"));
+ return item.ResolveArgs.GetMetaFileByPath(Path.Combine(item.ResolveArgs.Path, filenameWithoutExtension + ".png"))
+ ?? item.ResolveArgs.GetMetaFileByPath(Path.Combine(item.ResolveArgs.Path, filenameWithoutExtension + ".jpg"));
}
///
@@ -155,11 +156,13 @@ namespace MediaBrowser.Controller.Providers
/// The item.
private void PopulateBaseItemImages(BaseItem item)
{
- var backdropFiles = new List();
var screenshotFiles = new List();
// Primary Image
- var image = GetImage(item, "folder");
+ var image = GetImage(item, "folder") ??
+ GetImage(item, "poster") ??
+ GetImage(item, "cover") ??
+ GetImage(item, "default");
if (image != null)
{
@@ -223,38 +226,7 @@ namespace MediaBrowser.Controller.Providers
}
// Backdrop Image
- image = GetImage(item, "backdrop");
-
- if (image != null)
- {
- backdropFiles.Add(image.FullName);
- }
-
- var unfound = 0;
- for (var i = 1; i <= 20; i++)
- {
- // Backdrop Image
- image = GetImage(item, "backdrop" + i);
-
- if (image != null)
- {
- backdropFiles.Add(image.FullName);
- }
- else
- {
- unfound++;
-
- if (unfound >= 3)
- {
- break;
- }
- }
- }
-
- if (backdropFiles.Count > 0)
- {
- item.BackdropImagePaths = backdropFiles;
- }
+ PopulateBackdrops(item);
// Screenshot Image
image = GetImage(item, "screenshot");
@@ -264,7 +236,7 @@ namespace MediaBrowser.Controller.Providers
screenshotFiles.Add(image.FullName);
}
- unfound = 0;
+ var unfound = 0;
for (var i = 1; i <= 20; i++)
{
// Screenshot Image
@@ -290,5 +262,63 @@ namespace MediaBrowser.Controller.Providers
item.ScreenshotImagePaths = screenshotFiles;
}
}
+
+ ///
+ /// Populates the backdrops.
+ ///
+ /// The item.
+ private void PopulateBackdrops(BaseItem item)
+ {
+ var backdropFiles = new List();
+
+ PopulateBackdrops(item, backdropFiles, "backdrop", "backdrop");
+
+ // Support plex/xbmc conventions
+ PopulateBackdrops(item, backdropFiles, "fanart", "fanart-");
+ PopulateBackdrops(item, backdropFiles, "background", "background-");
+
+ if (backdropFiles.Count > 0)
+ {
+ item.BackdropImagePaths = backdropFiles;
+ }
+ }
+
+ ///
+ /// Populates the backdrops.
+ ///
+ /// The item.
+ /// The backdrop files.
+ /// The filename.
+ /// The numbered suffix.
+ private void PopulateBackdrops(BaseItem item, List backdropFiles, string filename, string numberedSuffix)
+ {
+ var image = GetImage(item, filename);
+
+ if (image != null)
+ {
+ backdropFiles.Add(image.FullName);
+ }
+
+ var unfound = 0;
+ for (var i = 1; i <= 20; i++)
+ {
+ // Backdrop Image
+ image = GetImage(item, numberedSuffix + i);
+
+ if (image != null)
+ {
+ backdropFiles.Add(image.FullName);
+ }
+ else
+ {
+ unfound++;
+
+ if (unfound >= 3)
+ {
+ break;
+ }
+ }
+ }
+ }
}
}