diff options
Diffstat (limited to 'MediaBrowser.Dlna')
25 files changed, 207 insertions, 162 deletions
diff --git a/MediaBrowser.Dlna/ContentDirectory/ControlHandler.cs b/MediaBrowser.Dlna/ContentDirectory/ControlHandler.cs index 1553435aeb..8267778410 100644 --- a/MediaBrowser.Dlna/ContentDirectory/ControlHandler.cs +++ b/MediaBrowser.Dlna/ContentDirectory/ControlHandler.cs @@ -358,29 +358,45 @@ namespace MediaBrowser.Dlna.ContentDirectory if (channel != null) { - return await _channelManager.GetChannelItemsInternal(new ChannelItemQuery + try { - ChannelId = channel.Id.ToString("N"), - Limit = limit, - StartIndex = startIndex, - UserId = user.Id.ToString("N") + // Don't blow up here because it could cause parent screens with other content to fail + return await _channelManager.GetChannelItemsInternal(new ChannelItemQuery + { + ChannelId = channel.Id.ToString("N"), + Limit = limit, + StartIndex = startIndex, + UserId = user.Id.ToString("N") - }, CancellationToken.None); + }, CancellationToken.None); + } + catch + { + // Already logged at lower levels + } } var channelFolderItem = folder as ChannelFolderItem; if (channelFolderItem != null) { - return await _channelManager.GetChannelItemsInternal(new ChannelItemQuery + try { - ChannelId = channelFolderItem.ChannelId, - FolderId = channelFolderItem.Id.ToString("N"), - Limit = limit, - StartIndex = startIndex, - UserId = user.Id.ToString("N") + // Don't blow up here because it could cause parent screens with other content to fail + return await _channelManager.GetChannelItemsInternal(new ChannelItemQuery + { + ChannelId = channelFolderItem.ChannelId, + FolderId = channelFolderItem.Id.ToString("N"), + Limit = limit, + StartIndex = startIndex, + UserId = user.Id.ToString("N") - }, CancellationToken.None); + }, CancellationToken.None); + } + catch + { + // Already logged at lower levels + } } return ToResult(GetPlainFolderChildrenSorted(folder, user, sort), startIndex, limit); diff --git a/MediaBrowser.Dlna/Didl/DidlBuilder.cs b/MediaBrowser.Dlna/Didl/DidlBuilder.cs index f1377727bb..8ad2257705 100644 --- a/MediaBrowser.Dlna/Didl/DidlBuilder.cs +++ b/MediaBrowser.Dlna/Didl/DidlBuilder.cs @@ -394,9 +394,17 @@ namespace MediaBrowser.Dlna.Didl if (filter.Contains("dc:description")) { - if (!string.IsNullOrWhiteSpace(item.Overview)) + var desc = item.Overview; + + var hasShortOverview = item as IHasShortOverview; + if (hasShortOverview != null && !string.IsNullOrEmpty(hasShortOverview.ShortOverview)) + { + desc = hasShortOverview.ShortOverview; + } + + if (!string.IsNullOrWhiteSpace(desc)) { - AddValue(element, "dc", "description", item.Overview, NS_DC); + AddValue(element, "dc", "description", desc, NS_DC); } } if (filter.Contains("upnp:longDescription")) @@ -569,7 +577,7 @@ namespace MediaBrowser.Dlna.Didl var result = element.OwnerDocument; - var albumartUrlInfo = GetImageUrl(imageInfo, _profile.MaxAlbumArtWidth, _profile.MaxAlbumArtHeight); + var albumartUrlInfo = GetImageUrl(imageInfo, _profile.MaxAlbumArtWidth, _profile.MaxAlbumArtHeight, "jpg"); var icon = result.CreateElement("upnp", "albumArtURI", NS_UPNP); var profile = result.CreateAttribute("dlna", "profileID", NS_DLNA); @@ -578,11 +586,9 @@ namespace MediaBrowser.Dlna.Didl icon.InnerText = albumartUrlInfo.Url; element.AppendChild(icon); - var iconUrlInfo = GetImageUrl(imageInfo, _profile.MaxIconWidth, _profile.MaxIconHeight); + // TOOD: Remove these default values + var iconUrlInfo = GetImageUrl(imageInfo, _profile.MaxIconWidth ?? 48, _profile.MaxIconHeight ?? 48, "jpg"); icon = result.CreateElement("upnp", "icon", NS_UPNP); - profile = result.CreateAttribute("dlna", "profileID", NS_DLNA); - profile.InnerText = _profile.AlbumArtPn; - icon.SetAttributeNode(profile); icon.InnerText = iconUrlInfo.Url; element.AppendChild(icon); @@ -591,6 +597,25 @@ namespace MediaBrowser.Dlna.Didl return; } + AddImageResElement(item, element, 4096, 4096, "jpg"); + AddImageResElement(item, element, 1024, 768, "jpg"); + AddImageResElement(item, element, 640, 480, "jpg"); + AddImageResElement(item, element, 160, 160, "jpg"); + } + + private void AddImageResElement(BaseItem item, XmlElement element, int maxWidth, int maxHeight, string format) + { + var imageInfo = GetImageInfo(item); + + if (imageInfo == null) + { + return; + } + + var result = element.OwnerDocument; + + var albumartUrlInfo = GetImageUrl(imageInfo, maxWidth, maxHeight, format); + var res = result.CreateElement(string.Empty, "res", NS_DIDL); res.InnerText = albumartUrlInfo.Url; @@ -598,11 +623,11 @@ namespace MediaBrowser.Dlna.Didl var width = albumartUrlInfo.Width; var height = albumartUrlInfo.Height; - var contentFeatures = new ContentFeatureBuilder(_profile).BuildImageHeader("jpg", width, height); + var contentFeatures = new ContentFeatureBuilder(_profile).BuildImageHeader(format, width, height); res.SetAttribute("protocolInfo", String.Format( "http-get:*:{0}:{1}", - "image/jpeg", + MimeTypes.GetMimeType("file." + format), contentFeatures )); @@ -677,7 +702,7 @@ namespace MediaBrowser.Dlna.Didl return new ImageDownloadInfo { ItemId = item.Id.ToString("N"), - Type = ImageType.Primary, + Type = type, ImageTag = tag, Width = width, Height = height @@ -702,48 +727,31 @@ namespace MediaBrowser.Dlna.Didl internal int? Height; } - private ImageUrlInfo GetImageUrl(ImageDownloadInfo info, int? maxWidth, int? maxHeight) + private ImageUrlInfo GetImageUrl(ImageDownloadInfo info, int maxWidth, int maxHeight, string format) { - var url = string.Format("{0}/Items/{1}/Images/{2}?params=", + var url = string.Format("{0}/Items/{1}/Images/{2}/0/{3}/{4}/{5}/{6}", _serverAddress, info.ItemId, - info.Type); - - var options = new List<string> - { + info.Type, info.ImageTag, - "jpg" - }; - - if (maxWidth.HasValue) - { - options.Add(maxWidth.Value.ToString(_usCulture)); - } - - if (maxHeight.HasValue) - { - options.Add(maxHeight.Value.ToString(_usCulture)); - } - - url += string.Join(";", options.ToArray()); + format, + maxWidth, + maxHeight); var width = info.Width; var height = info.Height; if (width.HasValue && height.HasValue) { - if (maxWidth.HasValue || maxHeight.HasValue) + var newSize = DrawingUtils.Resize(new ImageSize { - var newSize = DrawingUtils.Resize(new ImageSize - { - Height = height.Value, - Width = width.Value + Height = height.Value, + Width = width.Value - }, null, null, maxWidth, maxHeight); + }, null, null, maxWidth, maxHeight); - width = Convert.ToInt32(newSize.Width); - height = Convert.ToInt32(newSize.Height); - } + width = Convert.ToInt32(newSize.Width); + height = Convert.ToInt32(newSize.Height); } return new ImageUrlInfo diff --git a/MediaBrowser.Dlna/Profiles/DefaultProfile.cs b/MediaBrowser.Dlna/Profiles/DefaultProfile.cs index badb37cfc5..ff5b3a046f 100644 --- a/MediaBrowser.Dlna/Profiles/DefaultProfile.cs +++ b/MediaBrowser.Dlna/Profiles/DefaultProfile.cs @@ -24,13 +24,16 @@ namespace MediaBrowser.Dlna.Profiles AlbumArtPn = "JPEG_SM"; - MaxAlbumArtHeight = 512; - MaxAlbumArtWidth = 512; + MaxAlbumArtHeight = 480; + MaxAlbumArtWidth = 480; + + MaxIconWidth = 48; + MaxIconHeight = 48; MaxStreamingBitrate = 8000000; MaxStaticBitrate = 8000000; - EnableAlbumArtInDidl = true; + EnableAlbumArtInDidl = false; TranscodingProfiles = new[] { diff --git a/MediaBrowser.Dlna/Profiles/Xml/Android.xml b/MediaBrowser.Dlna/Profiles/Xml/Android.xml index 549bea59ed..b7a6cc19c3 100644 --- a/MediaBrowser.Dlna/Profiles/Xml/Android.xml +++ b/MediaBrowser.Dlna/Profiles/Xml/Android.xml @@ -9,13 +9,13 @@ <ModelNumber>Media Browser</ModelNumber> <ModelUrl>http://mediabrowser.tv/</ModelUrl> <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> - <EnableAlbumArtInDidl>true</EnableAlbumArtInDidl> + <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> <AlbumArtPn>JPEG_SM</AlbumArtPn> - <MaxAlbumArtWidth>512</MaxAlbumArtWidth> - <MaxAlbumArtHeight>512</MaxAlbumArtHeight> - <MaxIconWidth xsi:nil="true" /> - <MaxIconHeight xsi:nil="true" /> + <MaxAlbumArtWidth>480</MaxAlbumArtWidth> + <MaxAlbumArtHeight>480</MaxAlbumArtHeight> + <MaxIconWidth>48</MaxIconWidth> + <MaxIconHeight>48</MaxIconHeight> <MaxStreamingBitrate>8000000</MaxStreamingBitrate> <MaxStaticBitrate>8000000</MaxStaticBitrate> <XDlnaDoc>DMS-1.50</XDlnaDoc> diff --git a/MediaBrowser.Dlna/Profiles/Xml/Default.xml b/MediaBrowser.Dlna/Profiles/Xml/Default.xml index 2ac840f445..6aafbe86e0 100644 --- a/MediaBrowser.Dlna/Profiles/Xml/Default.xml +++ b/MediaBrowser.Dlna/Profiles/Xml/Default.xml @@ -9,13 +9,13 @@ <ModelNumber>Media Browser</ModelNumber> <ModelUrl>http://mediabrowser.tv/</ModelUrl> <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> - <EnableAlbumArtInDidl>true</EnableAlbumArtInDidl> + <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> <AlbumArtPn>JPEG_SM</AlbumArtPn> - <MaxAlbumArtWidth>512</MaxAlbumArtWidth> - <MaxAlbumArtHeight>512</MaxAlbumArtHeight> - <MaxIconWidth xsi:nil="true" /> - <MaxIconHeight xsi:nil="true" /> + <MaxAlbumArtWidth>480</MaxAlbumArtWidth> + <MaxAlbumArtHeight>480</MaxAlbumArtHeight> + <MaxIconWidth>48</MaxIconWidth> + <MaxIconHeight>48</MaxIconHeight> <MaxStreamingBitrate>8000000</MaxStreamingBitrate> <MaxStaticBitrate>8000000</MaxStaticBitrate> <XDlnaDoc>DMS-1.50</XDlnaDoc> diff --git a/MediaBrowser.Dlna/Profiles/Xml/Denon AVR.xml b/MediaBrowser.Dlna/Profiles/Xml/Denon AVR.xml index 891353f321..28fe6e0c9d 100644 --- a/MediaBrowser.Dlna/Profiles/Xml/Denon AVR.xml +++ b/MediaBrowser.Dlna/Profiles/Xml/Denon AVR.xml @@ -14,13 +14,13 @@ <ModelNumber>Media Browser</ModelNumber> <ModelUrl>http://mediabrowser.tv/</ModelUrl> <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> - <EnableAlbumArtInDidl>true</EnableAlbumArtInDidl> + <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> <AlbumArtPn>JPEG_SM</AlbumArtPn> - <MaxAlbumArtWidth>512</MaxAlbumArtWidth> - <MaxAlbumArtHeight>512</MaxAlbumArtHeight> - <MaxIconWidth xsi:nil="true" /> - <MaxIconHeight xsi:nil="true" /> + <MaxAlbumArtWidth>480</MaxAlbumArtWidth> + <MaxAlbumArtHeight>480</MaxAlbumArtHeight> + <MaxIconWidth>48</MaxIconWidth> + <MaxIconHeight>48</MaxIconHeight> <MaxStreamingBitrate>8000000</MaxStreamingBitrate> <MaxStaticBitrate>8000000</MaxStaticBitrate> <XDlnaDoc>DMS-1.50</XDlnaDoc> diff --git a/MediaBrowser.Dlna/Profiles/Xml/LG Smart TV.xml b/MediaBrowser.Dlna/Profiles/Xml/LG Smart TV.xml index 2acee1306f..f0cf1e96c9 100644 --- a/MediaBrowser.Dlna/Profiles/Xml/LG Smart TV.xml +++ b/MediaBrowser.Dlna/Profiles/Xml/LG Smart TV.xml @@ -15,13 +15,13 @@ <ModelNumber>Media Browser</ModelNumber> <ModelUrl>http://mediabrowser.tv/</ModelUrl> <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> - <EnableAlbumArtInDidl>true</EnableAlbumArtInDidl> + <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> <AlbumArtPn>JPEG_SM</AlbumArtPn> - <MaxAlbumArtWidth>512</MaxAlbumArtWidth> - <MaxAlbumArtHeight>512</MaxAlbumArtHeight> - <MaxIconWidth xsi:nil="true" /> - <MaxIconHeight xsi:nil="true" /> + <MaxAlbumArtWidth>480</MaxAlbumArtWidth> + <MaxAlbumArtHeight>480</MaxAlbumArtHeight> + <MaxIconWidth>48</MaxIconWidth> + <MaxIconHeight>48</MaxIconHeight> <MaxStreamingBitrate>8000000</MaxStreamingBitrate> <MaxStaticBitrate>8000000</MaxStaticBitrate> <XDlnaDoc>DMS-1.50</XDlnaDoc> diff --git a/MediaBrowser.Dlna/Profiles/Xml/Linksys DMA2100.xml b/MediaBrowser.Dlna/Profiles/Xml/Linksys DMA2100.xml index e5e726cc69..775c7e4661 100644 --- a/MediaBrowser.Dlna/Profiles/Xml/Linksys DMA2100.xml +++ b/MediaBrowser.Dlna/Profiles/Xml/Linksys DMA2100.xml @@ -13,13 +13,13 @@ <ModelNumber>Media Browser</ModelNumber> <ModelUrl>http://mediabrowser.tv/</ModelUrl> <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> - <EnableAlbumArtInDidl>true</EnableAlbumArtInDidl> + <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> <AlbumArtPn>JPEG_SM</AlbumArtPn> - <MaxAlbumArtWidth>512</MaxAlbumArtWidth> - <MaxAlbumArtHeight>512</MaxAlbumArtHeight> - <MaxIconWidth xsi:nil="true" /> - <MaxIconHeight xsi:nil="true" /> + <MaxAlbumArtWidth>480</MaxAlbumArtWidth> + <MaxAlbumArtHeight>480</MaxAlbumArtHeight> + <MaxIconWidth>48</MaxIconWidth> + <MaxIconHeight>48</MaxIconHeight> <MaxStreamingBitrate>8000000</MaxStreamingBitrate> <MaxStaticBitrate>8000000</MaxStaticBitrate> <XDlnaDoc>DMS-1.50</XDlnaDoc> diff --git a/MediaBrowser.Dlna/Profiles/Xml/MediaMonkey.xml b/MediaBrowser.Dlna/Profiles/Xml/MediaMonkey.xml index fe1a987ab8..1461c2255c 100644 --- a/MediaBrowser.Dlna/Profiles/Xml/MediaMonkey.xml +++ b/MediaBrowser.Dlna/Profiles/Xml/MediaMonkey.xml @@ -15,13 +15,13 @@ <ModelNumber>Media Browser</ModelNumber> <ModelUrl>http://mediabrowser.tv/</ModelUrl> <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> - <EnableAlbumArtInDidl>true</EnableAlbumArtInDidl> + <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> <SupportedMediaTypes>Audio</SupportedMediaTypes> <AlbumArtPn>JPEG_SM</AlbumArtPn> - <MaxAlbumArtWidth>512</MaxAlbumArtWidth> - <MaxAlbumArtHeight>512</MaxAlbumArtHeight> - <MaxIconWidth xsi:nil="true" /> - <MaxIconHeight xsi:nil="true" /> + <MaxAlbumArtWidth>480</MaxAlbumArtWidth> + <MaxAlbumArtHeight>480</MaxAlbumArtHeight> + <MaxIconWidth>48</MaxIconWidth> + <MaxIconHeight>48</MaxIconHeight> <MaxStreamingBitrate>8000000</MaxStreamingBitrate> <MaxStaticBitrate>8000000</MaxStaticBitrate> <XDlnaDoc>DMS-1.50</XDlnaDoc> diff --git a/MediaBrowser.Dlna/Profiles/Xml/Panasonic Viera.xml b/MediaBrowser.Dlna/Profiles/Xml/Panasonic Viera.xml index 9b59393b4c..5b5125b30c 100644 --- a/MediaBrowser.Dlna/Profiles/Xml/Panasonic Viera.xml +++ b/MediaBrowser.Dlna/Profiles/Xml/Panasonic Viera.xml @@ -16,13 +16,13 @@ <ModelNumber>Media Browser</ModelNumber> <ModelUrl>http://mediabrowser.tv/</ModelUrl> <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> - <EnableAlbumArtInDidl>true</EnableAlbumArtInDidl> + <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> <AlbumArtPn>JPEG_SM</AlbumArtPn> - <MaxAlbumArtWidth>512</MaxAlbumArtWidth> - <MaxAlbumArtHeight>512</MaxAlbumArtHeight> - <MaxIconWidth xsi:nil="true" /> - <MaxIconHeight xsi:nil="true" /> + <MaxAlbumArtWidth>480</MaxAlbumArtWidth> + <MaxAlbumArtHeight>480</MaxAlbumArtHeight> + <MaxIconWidth>48</MaxIconWidth> + <MaxIconHeight>48</MaxIconHeight> <MaxStreamingBitrate>8000000</MaxStreamingBitrate> <MaxStaticBitrate>8000000</MaxStaticBitrate> <XDlnaDoc>DMS-1.50</XDlnaDoc> diff --git a/MediaBrowser.Dlna/Profiles/Xml/Samsung Smart TV.xml b/MediaBrowser.Dlna/Profiles/Xml/Samsung Smart TV.xml index 980983f130..209c029b5d 100644 --- a/MediaBrowser.Dlna/Profiles/Xml/Samsung Smart TV.xml +++ b/MediaBrowser.Dlna/Profiles/Xml/Samsung Smart TV.xml @@ -18,10 +18,10 @@ <EnableAlbumArtInDidl>true</EnableAlbumArtInDidl> <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> <AlbumArtPn>JPEG_SM</AlbumArtPn> - <MaxAlbumArtWidth>512</MaxAlbumArtWidth> - <MaxAlbumArtHeight>512</MaxAlbumArtHeight> - <MaxIconWidth xsi:nil="true" /> - <MaxIconHeight xsi:nil="true" /> + <MaxAlbumArtWidth>480</MaxAlbumArtWidth> + <MaxAlbumArtHeight>480</MaxAlbumArtHeight> + <MaxIconWidth>48</MaxIconWidth> + <MaxIconHeight>48</MaxIconHeight> <MaxStreamingBitrate>8000000</MaxStreamingBitrate> <MaxStaticBitrate>8000000</MaxStaticBitrate> <XDlnaDoc>DMS-1.50</XDlnaDoc> diff --git a/MediaBrowser.Dlna/Profiles/Xml/Sony Blu-ray Player 2013.xml b/MediaBrowser.Dlna/Profiles/Xml/Sony Blu-ray Player 2013.xml index f3ffd438c9..2e32b77c69 100644 --- a/MediaBrowser.Dlna/Profiles/Xml/Sony Blu-ray Player 2013.xml +++ b/MediaBrowser.Dlna/Profiles/Xml/Sony Blu-ray Player 2013.xml @@ -15,13 +15,13 @@ <ModelNumber>3.0</ModelNumber> <ModelUrl>http://mediabrowser.tv/</ModelUrl> <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> - <EnableAlbumArtInDidl>true</EnableAlbumArtInDidl> + <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> <AlbumArtPn>JPEG_SM</AlbumArtPn> - <MaxAlbumArtWidth>512</MaxAlbumArtWidth> - <MaxAlbumArtHeight>512</MaxAlbumArtHeight> - <MaxIconWidth xsi:nil="true" /> - <MaxIconHeight xsi:nil="true" /> + <MaxAlbumArtWidth>480</MaxAlbumArtWidth> + <MaxAlbumArtHeight>480</MaxAlbumArtHeight> + <MaxIconWidth>48</MaxIconWidth> + <MaxIconHeight>48</MaxIconHeight> <MaxStreamingBitrate>8000000</MaxStreamingBitrate> <MaxStaticBitrate>8000000</MaxStaticBitrate> <XDlnaDoc>DMS-1.50</XDlnaDoc> diff --git a/MediaBrowser.Dlna/Profiles/Xml/Sony Blu-ray Player.xml b/MediaBrowser.Dlna/Profiles/Xml/Sony Blu-ray Player.xml index 2ddb362ac5..87ba6e33bf 100644 --- a/MediaBrowser.Dlna/Profiles/Xml/Sony Blu-ray Player.xml +++ b/MediaBrowser.Dlna/Profiles/Xml/Sony Blu-ray Player.xml @@ -17,13 +17,13 @@ <ModelNumber>3.0</ModelNumber> <ModelUrl>http://mediabrowser.tv/</ModelUrl> <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> - <EnableAlbumArtInDidl>true</EnableAlbumArtInDidl> + <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> <AlbumArtPn>JPEG_SM</AlbumArtPn> - <MaxAlbumArtWidth>512</MaxAlbumArtWidth> - <MaxAlbumArtHeight>512</MaxAlbumArtHeight> - <MaxIconWidth xsi:nil="true" /> - <MaxIconHeight xsi:nil="true" /> + <MaxAlbumArtWidth>480</MaxAlbumArtWidth> + <MaxAlbumArtHeight>480</MaxAlbumArtHeight> + <MaxIconWidth>48</MaxIconWidth> + <MaxIconHeight>48</MaxIconHeight> <MaxStreamingBitrate>8000000</MaxStreamingBitrate> <MaxStaticBitrate>8000000</MaxStaticBitrate> <XDlnaDoc>DMS-1.50</XDlnaDoc> diff --git a/MediaBrowser.Dlna/Profiles/Xml/Sony Bravia (2010).xml b/MediaBrowser.Dlna/Profiles/Xml/Sony Bravia (2010).xml index 00f94455a1..698bb44b10 100644 --- a/MediaBrowser.Dlna/Profiles/Xml/Sony Bravia (2010).xml +++ b/MediaBrowser.Dlna/Profiles/Xml/Sony Bravia (2010).xml @@ -16,13 +16,13 @@ <ModelNumber>3.0</ModelNumber> <ModelUrl>http://www.microsoft.com/</ModelUrl> <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> - <EnableAlbumArtInDidl>true</EnableAlbumArtInDidl> + <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> <AlbumArtPn>JPEG_TN</AlbumArtPn> - <MaxAlbumArtWidth>512</MaxAlbumArtWidth> - <MaxAlbumArtHeight>512</MaxAlbumArtHeight> - <MaxIconWidth xsi:nil="true" /> - <MaxIconHeight xsi:nil="true" /> + <MaxAlbumArtWidth>480</MaxAlbumArtWidth> + <MaxAlbumArtHeight>480</MaxAlbumArtHeight> + <MaxIconWidth>48</MaxIconWidth> + <MaxIconHeight>48</MaxIconHeight> <MaxStreamingBitrate>8000000</MaxStreamingBitrate> <MaxStaticBitrate>8000000</MaxStaticBitrate> <XDlnaDoc>DMS-1.50</XDlnaDoc> diff --git a/MediaBrowser.Dlna/Profiles/Xml/Sony Bravia (2011).xml b/MediaBrowser.Dlna/Profiles/Xml/Sony Bravia (2011).xml index c985b041e8..f07536fcb5 100644 --- a/MediaBrowser.Dlna/Profiles/Xml/Sony Bravia (2011).xml +++ b/MediaBrowser.Dlna/Profiles/Xml/Sony Bravia (2011).xml @@ -16,13 +16,13 @@ <ModelNumber>3.0</ModelNumber> <ModelUrl>http://www.microsoft.com/</ModelUrl> <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> - <EnableAlbumArtInDidl>true</EnableAlbumArtInDidl> + <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> <AlbumArtPn>JPEG_TN</AlbumArtPn> - <MaxAlbumArtWidth>512</MaxAlbumArtWidth> - <MaxAlbumArtHeight>512</MaxAlbumArtHeight> - <MaxIconWidth xsi:nil="true" /> - <MaxIconHeight xsi:nil="true" /> + <MaxAlbumArtWidth>480</MaxAlbumArtWidth> + <MaxAlbumArtHeight>480</MaxAlbumArtHeight> + <MaxIconWidth>48</MaxIconWidth> + <MaxIconHeight>48</MaxIconHeight> <MaxStreamingBitrate>8000000</MaxStreamingBitrate> <MaxStaticBitrate>8000000</MaxStaticBitrate> <XDlnaDoc>DMS-1.50</XDlnaDoc> diff --git a/MediaBrowser.Dlna/Profiles/Xml/Sony Bravia (2012).xml b/MediaBrowser.Dlna/Profiles/Xml/Sony Bravia (2012).xml index 8b44b67a66..a99e4fa1e1 100644 --- a/MediaBrowser.Dlna/Profiles/Xml/Sony Bravia (2012).xml +++ b/MediaBrowser.Dlna/Profiles/Xml/Sony Bravia (2012).xml @@ -16,13 +16,13 @@ <ModelNumber>3.0</ModelNumber> <ModelUrl>http://www.microsoft.com/</ModelUrl> <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> - <EnableAlbumArtInDidl>true</EnableAlbumArtInDidl> + <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> <AlbumArtPn>JPEG_TN</AlbumArtPn> - <MaxAlbumArtWidth>512</MaxAlbumArtWidth> - <MaxAlbumArtHeight>512</MaxAlbumArtHeight> - <MaxIconWidth xsi:nil="true" /> - <MaxIconHeight xsi:nil="true" /> + <MaxAlbumArtWidth>480</MaxAlbumArtWidth> + <MaxAlbumArtHeight>480</MaxAlbumArtHeight> + <MaxIconWidth>48</MaxIconWidth> + <MaxIconHeight>48</MaxIconHeight> <MaxStreamingBitrate>8000000</MaxStreamingBitrate> <MaxStaticBitrate>8000000</MaxStaticBitrate> <XDlnaDoc>DMS-1.50</XDlnaDoc> diff --git a/MediaBrowser.Dlna/Profiles/Xml/Sony Bravia (2013).xml b/MediaBrowser.Dlna/Profiles/Xml/Sony Bravia (2013).xml index 843dc7819c..3d4661621b 100644 --- a/MediaBrowser.Dlna/Profiles/Xml/Sony Bravia (2013).xml +++ b/MediaBrowser.Dlna/Profiles/Xml/Sony Bravia (2013).xml @@ -16,13 +16,13 @@ <ModelNumber>3.0</ModelNumber> <ModelUrl>http://www.microsoft.com/</ModelUrl> <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> - <EnableAlbumArtInDidl>true</EnableAlbumArtInDidl> + <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> <AlbumArtPn>JPEG_TN</AlbumArtPn> - <MaxAlbumArtWidth>512</MaxAlbumArtWidth> - <MaxAlbumArtHeight>512</MaxAlbumArtHeight> - <MaxIconWidth xsi:nil="true" /> - <MaxIconHeight xsi:nil="true" /> + <MaxAlbumArtWidth>480</MaxAlbumArtWidth> + <MaxAlbumArtHeight>480</MaxAlbumArtHeight> + <MaxIconWidth>48</MaxIconWidth> + <MaxIconHeight>48</MaxIconHeight> <MaxStreamingBitrate>8000000</MaxStreamingBitrate> <MaxStaticBitrate>8000000</MaxStaticBitrate> <XDlnaDoc>DMS-1.50</XDlnaDoc> diff --git a/MediaBrowser.Dlna/Profiles/Xml/Sony PlayStation 3.xml b/MediaBrowser.Dlna/Profiles/Xml/Sony PlayStation 3.xml index b9e7c62a37..55f89e3eb9 100644 --- a/MediaBrowser.Dlna/Profiles/Xml/Sony PlayStation 3.xml +++ b/MediaBrowser.Dlna/Profiles/Xml/Sony PlayStation 3.xml @@ -16,13 +16,13 @@ <ModelNumber>Media Browser</ModelNumber> <ModelUrl>http://mediabrowser.tv/</ModelUrl> <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> - <EnableAlbumArtInDidl>true</EnableAlbumArtInDidl> + <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> <AlbumArtPn>JPEG_TN</AlbumArtPn> - <MaxAlbumArtWidth>512</MaxAlbumArtWidth> - <MaxAlbumArtHeight>512</MaxAlbumArtHeight> - <MaxIconWidth xsi:nil="true" /> - <MaxIconHeight xsi:nil="true" /> + <MaxAlbumArtWidth>480</MaxAlbumArtWidth> + <MaxAlbumArtHeight>480</MaxAlbumArtHeight> + <MaxIconWidth>48</MaxIconWidth> + <MaxIconHeight>48</MaxIconHeight> <MaxStreamingBitrate>8000000</MaxStreamingBitrate> <MaxStaticBitrate>8000000</MaxStaticBitrate> <XDlnaDoc>DMS-1.50</XDlnaDoc> diff --git a/MediaBrowser.Dlna/Profiles/Xml/WDTV Live.xml b/MediaBrowser.Dlna/Profiles/Xml/WDTV Live.xml index b2b4c31d39..5d12b65c81 100644 --- a/MediaBrowser.Dlna/Profiles/Xml/WDTV Live.xml +++ b/MediaBrowser.Dlna/Profiles/Xml/WDTV Live.xml @@ -16,13 +16,13 @@ <ModelNumber>Media Browser</ModelNumber> <ModelUrl>http://mediabrowser.tv/</ModelUrl> <IgnoreTranscodeByteRangeRequests>true</IgnoreTranscodeByteRangeRequests> - <EnableAlbumArtInDidl>true</EnableAlbumArtInDidl> + <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> <AlbumArtPn>JPEG_SM</AlbumArtPn> - <MaxAlbumArtWidth>512</MaxAlbumArtWidth> - <MaxAlbumArtHeight>512</MaxAlbumArtHeight> - <MaxIconWidth xsi:nil="true" /> - <MaxIconHeight xsi:nil="true" /> + <MaxAlbumArtWidth>480</MaxAlbumArtWidth> + <MaxAlbumArtHeight>480</MaxAlbumArtHeight> + <MaxIconWidth>48</MaxIconWidth> + <MaxIconHeight>48</MaxIconHeight> <MaxStreamingBitrate>8000000</MaxStreamingBitrate> <MaxStaticBitrate>8000000</MaxStaticBitrate> <XDlnaDoc>DMS-1.50</XDlnaDoc> diff --git a/MediaBrowser.Dlna/Profiles/Xml/Windows 8 RT.xml b/MediaBrowser.Dlna/Profiles/Xml/Windows 8 RT.xml index 766bfdecd4..61ee595494 100644 --- a/MediaBrowser.Dlna/Profiles/Xml/Windows 8 RT.xml +++ b/MediaBrowser.Dlna/Profiles/Xml/Windows 8 RT.xml @@ -13,13 +13,13 @@ <ModelNumber>Media Browser</ModelNumber> <ModelUrl>http://mediabrowser.tv/</ModelUrl> <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> - <EnableAlbumArtInDidl>true</EnableAlbumArtInDidl> + <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> <AlbumArtPn>JPEG_SM</AlbumArtPn> - <MaxAlbumArtWidth>512</MaxAlbumArtWidth> - <MaxAlbumArtHeight>512</MaxAlbumArtHeight> - <MaxIconWidth xsi:nil="true" /> - <MaxIconHeight xsi:nil="true" /> + <MaxAlbumArtWidth>480</MaxAlbumArtWidth> + <MaxAlbumArtHeight>480</MaxAlbumArtHeight> + <MaxIconWidth>48</MaxIconWidth> + <MaxIconHeight>48</MaxIconHeight> <MaxStreamingBitrate>8000000</MaxStreamingBitrate> <MaxStaticBitrate>8000000</MaxStaticBitrate> <XDlnaDoc>DMS-1.50</XDlnaDoc> diff --git a/MediaBrowser.Dlna/Profiles/Xml/Windows Phone.xml b/MediaBrowser.Dlna/Profiles/Xml/Windows Phone.xml index 3c9528dc20..12b7fe9c93 100644 --- a/MediaBrowser.Dlna/Profiles/Xml/Windows Phone.xml +++ b/MediaBrowser.Dlna/Profiles/Xml/Windows Phone.xml @@ -9,13 +9,13 @@ <ModelNumber>Media Browser</ModelNumber> <ModelUrl>http://mediabrowser.tv/</ModelUrl> <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> - <EnableAlbumArtInDidl>true</EnableAlbumArtInDidl> + <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> <AlbumArtPn>JPEG_SM</AlbumArtPn> - <MaxAlbumArtWidth>512</MaxAlbumArtWidth> - <MaxAlbumArtHeight>512</MaxAlbumArtHeight> - <MaxIconWidth xsi:nil="true" /> - <MaxIconHeight xsi:nil="true" /> + <MaxAlbumArtWidth>480</MaxAlbumArtWidth> + <MaxAlbumArtHeight>480</MaxAlbumArtHeight> + <MaxIconWidth>48</MaxIconWidth> + <MaxIconHeight>48</MaxIconHeight> <MaxStreamingBitrate>8000000</MaxStreamingBitrate> <MaxStaticBitrate>8000000</MaxStaticBitrate> <XDlnaDoc>DMS-1.50</XDlnaDoc> diff --git a/MediaBrowser.Dlna/Profiles/Xml/Xbox 360.xml b/MediaBrowser.Dlna/Profiles/Xml/Xbox 360.xml index 339b8debd7..f3e1531300 100644 --- a/MediaBrowser.Dlna/Profiles/Xml/Xbox 360.xml +++ b/MediaBrowser.Dlna/Profiles/Xml/Xbox 360.xml @@ -16,13 +16,13 @@ <ModelNumber>12.0</ModelNumber> <ModelUrl>http://www.microsoft.com/</ModelUrl> <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> - <EnableAlbumArtInDidl>true</EnableAlbumArtInDidl> + <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> <AlbumArtPn>JPEG_SM</AlbumArtPn> - <MaxAlbumArtWidth>512</MaxAlbumArtWidth> - <MaxAlbumArtHeight>512</MaxAlbumArtHeight> - <MaxIconWidth xsi:nil="true" /> - <MaxIconHeight xsi:nil="true" /> + <MaxAlbumArtWidth>480</MaxAlbumArtWidth> + <MaxAlbumArtHeight>480</MaxAlbumArtHeight> + <MaxIconWidth>48</MaxIconWidth> + <MaxIconHeight>48</MaxIconHeight> <MaxStreamingBitrate>8000000</MaxStreamingBitrate> <MaxStaticBitrate>8000000</MaxStaticBitrate> <XDlnaDoc>DMS-1.50</XDlnaDoc> diff --git a/MediaBrowser.Dlna/Profiles/Xml/Xbox One.xml b/MediaBrowser.Dlna/Profiles/Xml/Xbox One.xml index 63223fea71..7e057a3f9d 100644 --- a/MediaBrowser.Dlna/Profiles/Xml/Xbox One.xml +++ b/MediaBrowser.Dlna/Profiles/Xml/Xbox One.xml @@ -14,13 +14,13 @@ <ModelNumber>Media Browser</ModelNumber> <ModelUrl>http://mediabrowser.tv/</ModelUrl> <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> - <EnableAlbumArtInDidl>true</EnableAlbumArtInDidl> + <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> <AlbumArtPn>JPEG_SM</AlbumArtPn> - <MaxAlbumArtWidth>512</MaxAlbumArtWidth> - <MaxAlbumArtHeight>512</MaxAlbumArtHeight> - <MaxIconWidth xsi:nil="true" /> - <MaxIconHeight xsi:nil="true" /> + <MaxAlbumArtWidth>480</MaxAlbumArtWidth> + <MaxAlbumArtHeight>480</MaxAlbumArtHeight> + <MaxIconWidth>48</MaxIconWidth> + <MaxIconHeight>48</MaxIconHeight> <MaxStreamingBitrate>8000000</MaxStreamingBitrate> <MaxStaticBitrate>8000000</MaxStaticBitrate> <XDlnaDoc>DMS-1.50</XDlnaDoc> diff --git a/MediaBrowser.Dlna/Profiles/Xml/foobar2000.xml b/MediaBrowser.Dlna/Profiles/Xml/foobar2000.xml index 865d343b25..d099113081 100644 --- a/MediaBrowser.Dlna/Profiles/Xml/foobar2000.xml +++ b/MediaBrowser.Dlna/Profiles/Xml/foobar2000.xml @@ -15,13 +15,13 @@ <ModelNumber>Media Browser</ModelNumber> <ModelUrl>http://mediabrowser.tv/</ModelUrl> <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> - <EnableAlbumArtInDidl>true</EnableAlbumArtInDidl> + <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> <SupportedMediaTypes>Audio</SupportedMediaTypes> <AlbumArtPn>JPEG_SM</AlbumArtPn> - <MaxAlbumArtWidth>512</MaxAlbumArtWidth> - <MaxAlbumArtHeight>512</MaxAlbumArtHeight> - <MaxIconWidth xsi:nil="true" /> - <MaxIconHeight xsi:nil="true" /> + <MaxAlbumArtWidth>480</MaxAlbumArtWidth> + <MaxAlbumArtHeight>480</MaxAlbumArtHeight> + <MaxIconWidth>48</MaxIconWidth> + <MaxIconHeight>48</MaxIconHeight> <MaxStreamingBitrate>8000000</MaxStreamingBitrate> <MaxStaticBitrate>8000000</MaxStaticBitrate> <XDlnaDoc>DMS-1.50</XDlnaDoc> diff --git a/MediaBrowser.Dlna/Service/BaseControlHandler.cs b/MediaBrowser.Dlna/Service/BaseControlHandler.cs index c2af1f5a12..a17182a7e0 100644 --- a/MediaBrowser.Dlna/Service/BaseControlHandler.cs +++ b/MediaBrowser.Dlna/Service/BaseControlHandler.cs @@ -1,5 +1,4 @@ -using System.Security; -using MediaBrowser.Controller.Configuration; +using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.Dlna; using MediaBrowser.Dlna.Server; using MediaBrowser.Model.Logging; @@ -33,7 +32,14 @@ namespace MediaBrowser.Dlna.Service LogRequest(request); } - return ProcessControlRequestInternal(request); + var response = ProcessControlRequestInternal(request); + + if (Config.GetDlnaConfiguration().EnableDebugLogging) + { + LogResponse(response); + } + + return response; } catch (Exception ex) { @@ -113,5 +119,17 @@ namespace MediaBrowser.Dlna.Service Logger.LogMultiline("Control request", LogSeverity.Debug, builder); } + + private void LogResponse(ControlResponse response) + { + var builder = new StringBuilder(); + + var headers = string.Join(", ", response.Headers.Select(i => string.Format("{0}={1}", i.Key, i.Value)).ToArray()); + builder.AppendFormat("Headers: {0}", headers); + builder.AppendLine(); + builder.Append(response.Xml); + + Logger.LogMultiline("Control response", LogSeverity.Debug, builder); + } } } |
