|
@@ -120,7 +120,7 @@ namespace MediaBrowser.Dlna.Didl
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- AddCover(item, null, element);
|
|
|
+ AddCover(item, context, null, element);
|
|
|
|
|
|
return element;
|
|
|
}
|
|
@@ -481,7 +481,7 @@ namespace MediaBrowser.Dlna.Didl
|
|
|
|
|
|
AddCommonFields(folder, stubType, null, container, filter);
|
|
|
|
|
|
- AddCover(folder, stubType, container);
|
|
|
+ AddCover(folder, context, stubType, container);
|
|
|
|
|
|
return container;
|
|
|
}
|
|
@@ -764,7 +764,7 @@ namespace MediaBrowser.Dlna.Didl
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private void AddCover(BaseItem item, StubType? stubType, XmlElement element)
|
|
|
+ private void AddCover(BaseItem item, BaseItem context, StubType? stubType, XmlElement element)
|
|
|
{
|
|
|
if (stubType.HasValue && stubType.Value == StubType.People)
|
|
|
{
|
|
@@ -772,7 +772,26 @@ namespace MediaBrowser.Dlna.Didl
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- var imageInfo = GetImageInfo(item);
|
|
|
+ ImageDownloadInfo imageInfo = null;
|
|
|
+
|
|
|
+ if (context is UserView)
|
|
|
+ {
|
|
|
+ var episode = item as Episode;
|
|
|
+ if (episode != null)
|
|
|
+ {
|
|
|
+ var parent = (BaseItem)episode.Series ?? episode.Season;
|
|
|
+ if (parent != null)
|
|
|
+ {
|
|
|
+ imageInfo = GetImageInfo(parent);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // Finally, just use the image from the item
|
|
|
+ if (imageInfo == null)
|
|
|
+ {
|
|
|
+ imageInfo = GetImageInfo(item);
|
|
|
+ }
|
|
|
|
|
|
if (imageInfo == null)
|
|
|
{
|
|
@@ -850,7 +869,7 @@ namespace MediaBrowser.Dlna.Didl
|
|
|
private void AddEmbeddedImageAsCover(string name, XmlElement element)
|
|
|
{
|
|
|
var result = element.OwnerDocument;
|
|
|
-
|
|
|
+
|
|
|
var icon = result.CreateElement("upnp", "albumArtURI", NS_UPNP);
|
|
|
var profile = result.CreateAttribute("dlna", "profileID", NS_DLNA);
|
|
|
profile.InnerText = _profile.AlbumArtPn;
|
|
@@ -925,14 +944,11 @@ namespace MediaBrowser.Dlna.Didl
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- if (item is Audio || item is Episode)
|
|
|
- {
|
|
|
- item = item.Parents.FirstOrDefault(i => i.HasImage(ImageType.Primary));
|
|
|
+ item = item.Parents.FirstOrDefault(i => i.HasImage(ImageType.Primary));
|
|
|
|
|
|
- if (item != null)
|
|
|
- {
|
|
|
- return GetImageInfo(item, ImageType.Primary);
|
|
|
- }
|
|
|
+ if (item != null)
|
|
|
+ {
|
|
|
+ return GetImageInfo(item, ImageType.Primary);
|
|
|
}
|
|
|
|
|
|
return null;
|