aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Dlna
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2016-10-18 14:23:41 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2016-10-18 14:23:41 -0400
commit2f17d160bc2c90d0fd54b42098fb7a60bc3c8264 (patch)
treece6881143c5fcf97c73869bb5ff8041594556436 /MediaBrowser.Dlna
parent5ad04bbb7754eddaf07921ee0ec699a2a934c242 (diff)
limit number of people in dlna responses
Diffstat (limited to 'MediaBrowser.Dlna')
-rw-r--r--MediaBrowser.Dlna/Didl/DidlBuilder.cs22
1 files changed, 21 insertions, 1 deletions
diff --git a/MediaBrowser.Dlna/Didl/DidlBuilder.cs b/MediaBrowser.Dlna/Didl/DidlBuilder.cs
index 1330c54c2c..a5091bf01e 100644
--- a/MediaBrowser.Dlna/Didl/DidlBuilder.cs
+++ b/MediaBrowser.Dlna/Didl/DidlBuilder.cs
@@ -696,16 +696,36 @@ namespace MediaBrowser.Dlna.Didl
private void AddPeople(BaseItem item, XmlElement element)
{
- var types = new[] { PersonType.Director, PersonType.Writer, PersonType.Producer, PersonType.Composer, "Creator" };
+ var types = new[]
+ {
+ PersonType.Director,
+ PersonType.Writer,
+ PersonType.Producer,
+ PersonType.Composer,
+ "Creator"
+ };
var people = _libraryManager.GetPeople(item);
+ var index = 0;
+
+ // Seeing some LG models locking up due content with large lists of people
+ // The actual issue might just be due to processing a more metadata than it can handle
+ var limit = 10;
+
foreach (var actor in people)
{
var type = types.FirstOrDefault(i => string.Equals(i, actor.Type, StringComparison.OrdinalIgnoreCase) || string.Equals(i, actor.Role, StringComparison.OrdinalIgnoreCase))
?? PersonType.Actor;
AddValue(element, "upnp", type.ToLower(), actor.Name, NS_UPNP);
+
+ index++;
+
+ if (index >= limit)
+ {
+ break;
+ }
}
}