Ver Fonte

update dlna profiles

Luke Pulverenti há 8 anos atrás
pai
commit
2e3d1780e4
40 ficheiros alterados com 182 adições e 631 exclusões
  1. 1 4
      Emby.Dlna/DlnaManager.cs
  2. 0 6
      Emby.Dlna/Emby.Dlna.csproj
  3. 0 146
      Emby.Dlna/Profiles/BubbleUpnpProfile.cs
  4. 54 8
      Emby.Dlna/Profiles/DefaultProfile.cs
  5. 0 151
      Emby.Dlna/Profiles/KodiProfile.cs
  6. 0 149
      Emby.Dlna/Profiles/VlcProfile.cs
  7. 0 29
      Emby.Dlna/Profiles/Xml/BubbleUPnp.xml
  8. 13 5
      Emby.Dlna/Profiles/Xml/Default.xml
  9. 11 3
      Emby.Dlna/Profiles/Xml/Denon AVR.xml
  10. 2 2
      Emby.Dlna/Profiles/Xml/DirecTV HD-DVR.xml
  11. 2 2
      Emby.Dlna/Profiles/Xml/Dish Hopper-Joey.xml
  12. 0 29
      Emby.Dlna/Profiles/Xml/Kodi.xml
  13. 2 2
      Emby.Dlna/Profiles/Xml/LG Smart TV.xml
  14. 2 2
      Emby.Dlna/Profiles/Xml/Linksys DMA2100.xml
  15. 11 3
      Emby.Dlna/Profiles/Xml/MediaMonkey.xml
  16. 2 2
      Emby.Dlna/Profiles/Xml/Panasonic Viera.xml
  17. 2 2
      Emby.Dlna/Profiles/Xml/Popcorn Hour.xml
  18. 2 2
      Emby.Dlna/Profiles/Xml/Samsung Smart TV.xml
  19. 2 2
      Emby.Dlna/Profiles/Xml/Sharp Smart TV.xml
  20. 2 2
      Emby.Dlna/Profiles/Xml/Sony Blu-ray Player 2013.xml
  21. 2 2
      Emby.Dlna/Profiles/Xml/Sony Blu-ray Player 2014.xml
  22. 2 2
      Emby.Dlna/Profiles/Xml/Sony Blu-ray Player 2015.xml
  23. 2 2
      Emby.Dlna/Profiles/Xml/Sony Blu-ray Player 2016.xml
  24. 2 2
      Emby.Dlna/Profiles/Xml/Sony Blu-ray Player.xml
  25. 2 2
      Emby.Dlna/Profiles/Xml/Sony Bravia (2010).xml
  26. 2 2
      Emby.Dlna/Profiles/Xml/Sony Bravia (2011).xml
  27. 2 2
      Emby.Dlna/Profiles/Xml/Sony Bravia (2012).xml
  28. 2 2
      Emby.Dlna/Profiles/Xml/Sony Bravia (2013).xml
  29. 2 2
      Emby.Dlna/Profiles/Xml/Sony Bravia (2014).xml
  30. 2 2
      Emby.Dlna/Profiles/Xml/Sony PlayStation 3.xml
  31. 2 2
      Emby.Dlna/Profiles/Xml/Sony PlayStation 4.xml
  32. 0 29
      Emby.Dlna/Profiles/Xml/Vlc.xml
  33. 2 2
      Emby.Dlna/Profiles/Xml/WDTV Live.xml
  34. 2 2
      Emby.Dlna/Profiles/Xml/Xbox 360.xml
  35. 2 2
      Emby.Dlna/Profiles/Xml/Xbox One.xml
  36. 11 3
      Emby.Dlna/Profiles/Xml/foobar2000.xml
  37. 16 2
      Emby.Drawing/ImageProcessor.cs
  38. 2 9
      Emby.Server.Core/ApplicationHost.cs
  39. 2 0
      MediaBrowser.Controller/Drawing/IImageProcessor.cs
  40. 15 9
      MediaBrowser.ServerApplication/MainStartup.cs

+ 1 - 4
Emby.Dlna/DlnaManager.cs

@@ -587,10 +587,7 @@ namespace Emby.Dlna
                 new DirectTvProfile(),
                 new DishHopperJoeyProfile(),
                 new DefaultProfile(),
-                new PopcornHourProfile(),
-                new VlcProfile(),
-                new BubbleUpnpProfile(),
-                new KodiProfile(),
+                new PopcornHourProfile()
             };
 
             foreach (var item in list)

+ 0 - 6
Emby.Dlna/Emby.Dlna.csproj

@@ -79,13 +79,11 @@
     <Compile Include="PlayTo\uParserObject.cs" />
     <Compile Include="PlayTo\UpnpContainer.cs" />
     <Compile Include="PlayTo\uPnpNamespaces.cs" />
-    <Compile Include="Profiles\BubbleUpnpProfile.cs" />
     <Compile Include="Profiles\DefaultProfile.cs" />
     <Compile Include="Profiles\DenonAvrProfile.cs" />
     <Compile Include="Profiles\DirectTvProfile.cs" />
     <Compile Include="Profiles\DishHopperJoeyProfile.cs" />
     <Compile Include="Profiles\Foobar2000Profile.cs" />
-    <Compile Include="Profiles\KodiProfile.cs" />
     <Compile Include="Profiles\LgTvProfile.cs" />
     <Compile Include="Profiles\LinksysDMA2100Profile.cs" />
     <Compile Include="Profiles\MediaMonkeyProfile.cs" />
@@ -105,7 +103,6 @@
     <Compile Include="Profiles\SonyBravia2014Profile.cs" />
     <Compile Include="Profiles\SonyPs3Profile.cs" />
     <Compile Include="Profiles\SonyPs4Profile.cs" />
-    <Compile Include="Profiles\VlcProfile.cs" />
     <Compile Include="Profiles\WdtvLiveProfile.cs" />
     <Compile Include="Profiles\Xbox360Profile.cs" />
     <Compile Include="Profiles\XboxOneProfile.cs" />
@@ -153,13 +150,11 @@
     <EmbeddedResource Include="Profiles\Xml\Sharp Smart TV.xml" />
   </ItemGroup>
   <ItemGroup>
-    <EmbeddedResource Include="Profiles\Xml\BubbleUPnp.xml" />
     <EmbeddedResource Include="Profiles\Xml\Default.xml" />
     <EmbeddedResource Include="Profiles\Xml\Denon AVR.xml" />
     <EmbeddedResource Include="Profiles\Xml\DirecTV HD-DVR.xml" />
     <EmbeddedResource Include="Profiles\Xml\Dish Hopper-Joey.xml" />
     <EmbeddedResource Include="Profiles\Xml\foobar2000.xml" />
-    <EmbeddedResource Include="Profiles\Xml\Kodi.xml" />
     <EmbeddedResource Include="Profiles\Xml\LG Smart TV.xml" />
     <EmbeddedResource Include="Profiles\Xml\Linksys DMA2100.xml" />
     <EmbeddedResource Include="Profiles\Xml\MediaMonkey.xml" />
@@ -178,7 +173,6 @@
     <EmbeddedResource Include="Profiles\Xml\Sony Bravia %282014%29.xml" />
     <EmbeddedResource Include="Profiles\Xml\Sony PlayStation 3.xml" />
     <EmbeddedResource Include="Profiles\Xml\Sony PlayStation 4.xml" />
-    <EmbeddedResource Include="Profiles\Xml\Vlc.xml" />
     <EmbeddedResource Include="Profiles\Xml\WDTV Live.xml" />
     <EmbeddedResource Include="Profiles\Xml\Xbox 360.xml" />
     <EmbeddedResource Include="Profiles\Xml\Xbox One.xml" />

+ 0 - 146
Emby.Dlna/Profiles/BubbleUpnpProfile.cs

@@ -1,146 +0,0 @@
-using MediaBrowser.Model.Dlna;
-using System.Xml.Serialization;
-
-namespace Emby.Dlna.Profiles
-{
-    [XmlRoot("Profile")]
-    public class BubbleUpnpProfile : DefaultProfile
-    {
-        public BubbleUpnpProfile()
-        {
-            Name = "BubbleUPnp";
-
-            Identification = new DeviceIdentification
-            {
-                ModelName = "BubbleUPnp",
-
-                Headers = new[]
-                {
-                    new HttpHeaderInfo {Name = "User-Agent", Value = "BubbleUPnp", Match = HeaderMatchType.Substring}
-                }
-            };
-
-            TranscodingProfiles = new[]
-            {
-                new TranscodingProfile
-                {
-                    Container = "mp3",
-                    AudioCodec = "mp3",
-                    Type = DlnaProfileType.Audio
-                },
-
-                new TranscodingProfile
-                {
-                    Container = "ts",
-                    Type = DlnaProfileType.Video,
-                    AudioCodec = "aac",
-                    VideoCodec = "h264"
-                },
-
-                new TranscodingProfile
-                {
-                    Container = "jpeg",
-                    Type = DlnaProfileType.Photo
-                }
-            };
-
-            DirectPlayProfiles = new[]
-            {
-                new DirectPlayProfile
-                {
-                    Container = "",
-                    Type = DlnaProfileType.Video
-                },
-
-                new DirectPlayProfile
-                {
-                    Container = "",
-                    Type = DlnaProfileType.Audio
-                },
-
-                new DirectPlayProfile
-                {
-                    Container = "",
-                    Type = DlnaProfileType.Photo,
-                }
-            };
-
-            ResponseProfiles = new ResponseProfile[] { };
-
-            ContainerProfiles = new ContainerProfile[] { };
-
-            CodecProfiles = new CodecProfile[] { };
-
-            SubtitleProfiles = new[]
-            {
-                new SubtitleProfile
-                {
-                    Format = "srt",
-                    Method = SubtitleDeliveryMethod.External,
-                },
-
-                new SubtitleProfile
-                {
-                    Format = "sub",
-                    Method = SubtitleDeliveryMethod.External,
-                },
-
-                new SubtitleProfile
-                {
-                    Format = "srt",
-                    Method = SubtitleDeliveryMethod.Embed,
-                    DidlMode = "",
-                },
-
-                new SubtitleProfile
-                {
-                    Format = "ass",
-                    Method = SubtitleDeliveryMethod.Embed,
-                    DidlMode = "",
-                },
-
-                new SubtitleProfile
-                {
-                    Format = "ssa",
-                    Method = SubtitleDeliveryMethod.Embed,
-                    DidlMode = "",
-                },
-
-                new SubtitleProfile
-                {
-                    Format = "smi",
-                    Method = SubtitleDeliveryMethod.Embed,
-                    DidlMode = "",
-                },
-
-                new SubtitleProfile
-                {
-                    Format = "dvdsub",
-                    Method = SubtitleDeliveryMethod.Embed,
-                    DidlMode = "",
-                },
-
-                new SubtitleProfile
-                {
-                    Format = "pgs",
-                    Method = SubtitleDeliveryMethod.Embed,
-                    DidlMode = "",
-                },
-
-                new SubtitleProfile
-                {
-                    Format = "pgssub",
-                    Method = SubtitleDeliveryMethod.Embed,
-                    DidlMode = "",
-                },
-
-                new SubtitleProfile
-                {
-                    Format = "sub",
-                    Method = SubtitleDeliveryMethod.Embed,
-                    DidlMode = "",
-                }
-            };
-        }
-    }
-}

+ 54 - 8
Emby.Dlna/Profiles/DefaultProfile.cs

@@ -30,8 +30,8 @@ namespace Emby.Dlna.Profiles
             MaxIconWidth = 48;
             MaxIconHeight = 48;
 
-            MaxStreamingBitrate = 30000000;
-            MaxStaticBitrate = 30000000;
+            MaxStreamingBitrate = 40000000;
+            MaxStaticBitrate = 40000000;
             MusicStreamingTranscodingBitrate = 192000;
 
             EnableAlbumArtInDidl = false;
@@ -64,15 +64,13 @@ namespace Emby.Dlna.Profiles
             {
                 new DirectPlayProfile
                 {
-                    Container = "m4v,ts,mpegts,mkv,avi,mpg,mpeg,mp4,mov",
-                    VideoCodec = "h264",
-                    AudioCodec = "aac,mp3,ac3",
+                    Container = "m4v,mpegts,ts,3gp,mov,xvid,vob,mkv,wmv,asf,ogm,ogv,m2v,avi,mpg,mpeg,mp4,webm,wtv,m2ts,dvr-ms",
                     Type = DlnaProfileType.Video
                 },
 
                 new DirectPlayProfile
                 {
-                    Container = "mp3,wma,aac,wav,flac",
+                    Container = "aac,mp3,mpa,wav,wma,mp2,ogg,oga,webma,ape,opus,flac",
                     Type = DlnaProfileType.Audio
                 }
             };
@@ -82,13 +80,61 @@ namespace Emby.Dlna.Profiles
                 new SubtitleProfile
                 {
                     Format = "srt",
-                    Method = SubtitleDeliveryMethod.Embed
+                    Method = SubtitleDeliveryMethod.External,
                 },
 
                 new SubtitleProfile
                 {
-                    Format = "srt",
+                    Format = "sub",
                     Method = SubtitleDeliveryMethod.External,
+                },
+
+                new SubtitleProfile
+                {
+                    Format = "srt",
+                    Method = SubtitleDeliveryMethod.Embed
+                },
+
+                new SubtitleProfile
+                {
+                    Format = "ass",
+                    Method = SubtitleDeliveryMethod.Embed
+                },
+
+                new SubtitleProfile
+                {
+                    Format = "ssa",
+                    Method = SubtitleDeliveryMethod.Embed
+                },
+
+                new SubtitleProfile
+                {
+                    Format = "smi",
+                    Method = SubtitleDeliveryMethod.Embed
+                },
+
+                new SubtitleProfile
+                {
+                    Format = "dvdsub",
+                    Method = SubtitleDeliveryMethod.Embed
+                },
+
+                new SubtitleProfile
+                {
+                    Format = "pgs",
+                    Method = SubtitleDeliveryMethod.Embed
+                },
+
+                new SubtitleProfile
+                {
+                    Format = "pgssub",
+                    Method = SubtitleDeliveryMethod.Embed
+                },
+
+                new SubtitleProfile
+                {
+                    Format = "sub",
+                    Method = SubtitleDeliveryMethod.Embed
                 }
             };
 

+ 0 - 151
Emby.Dlna/Profiles/KodiProfile.cs

@@ -1,151 +0,0 @@
-using MediaBrowser.Model.Dlna;
-using System.Xml.Serialization;
-
-namespace Emby.Dlna.Profiles
-{
-    [XmlRoot("Profile")]
-    public class KodiProfile : DefaultProfile
-    {
-        public KodiProfile()
-        {
-            Name = "Kodi";
-
-            MaxStreamingBitrate = 100000000;
-            MusicStreamingTranscodingBitrate = 1280000;
-
-            TimelineOffsetSeconds = 5;
-
-            Identification = new DeviceIdentification
-            {
-                ModelName = "Kodi",
-
-                Headers = new[]
-                {
-                    new HttpHeaderInfo {Name = "User-Agent", Value = "Kodi", Match = HeaderMatchType.Substring}
-                }
-            };
-
-            TranscodingProfiles = new[]
-            {
-                new TranscodingProfile
-                {
-                    Container = "mp3",
-                    AudioCodec = "mp3",
-                    Type = DlnaProfileType.Audio
-                },
-
-                new TranscodingProfile
-                {
-                    Container = "ts",
-                    Type = DlnaProfileType.Video,
-                    AudioCodec = "aac",
-                    VideoCodec = "h264"
-                },
-
-                new TranscodingProfile
-                {
-                    Container = "jpeg",
-                    Type = DlnaProfileType.Photo
-                }
-            };
-
-            DirectPlayProfiles = new[]
-            {
-                new DirectPlayProfile
-                {
-                    Container = "",
-                    Type = DlnaProfileType.Video
-                },
-
-                new DirectPlayProfile
-                {
-                    Container = "",
-                    Type = DlnaProfileType.Audio
-                },
-
-                new DirectPlayProfile
-                {
-                    Container = "",
-                    Type = DlnaProfileType.Photo,
-                }
-            };
-
-            ResponseProfiles = new ResponseProfile[] { };
-
-            ContainerProfiles = new ContainerProfile[] { };
-
-            CodecProfiles = new CodecProfile[] { };
-
-            SubtitleProfiles = new[]
-            {
-                new SubtitleProfile
-                {
-                    Format = "srt",
-                    Method = SubtitleDeliveryMethod.External,
-                },
-
-                new SubtitleProfile
-                {
-                    Format = "sub",
-                    Method = SubtitleDeliveryMethod.External,
-                },
-
-                new SubtitleProfile
-                {
-                    Format = "srt",
-                    Method = SubtitleDeliveryMethod.Embed,
-                    DidlMode = "",
-                },
-
-                new SubtitleProfile
-                {
-                    Format = "ass",
-                    Method = SubtitleDeliveryMethod.Embed,
-                    DidlMode = "",
-                },
-
-                new SubtitleProfile
-                {
-                    Format = "ssa",
-                    Method = SubtitleDeliveryMethod.Embed,
-                    DidlMode = "",
-                },
-
-                new SubtitleProfile
-                {
-                    Format = "smi",
-                    Method = SubtitleDeliveryMethod.Embed,
-                    DidlMode = "",
-                },
-
-                new SubtitleProfile
-                {
-                    Format = "dvdsub",
-                    Method = SubtitleDeliveryMethod.Embed,
-                    DidlMode = "",
-                },
-
-                new SubtitleProfile
-                {
-                    Format = "pgs",
-                    Method = SubtitleDeliveryMethod.Embed,
-                    DidlMode = "",
-                },
-
-                new SubtitleProfile
-                {
-                    Format = "pgssub",
-                    Method = SubtitleDeliveryMethod.Embed,
-                    DidlMode = "",
-                },
-
-                new SubtitleProfile
-                {
-                    Format = "sub",
-                    Method = SubtitleDeliveryMethod.Embed,
-                    DidlMode = "",
-                }
-            };
-        }
-    }
-}

+ 0 - 149
Emby.Dlna/Profiles/VlcProfile.cs

@@ -1,149 +0,0 @@
-using MediaBrowser.Model.Dlna;
-using System.Xml.Serialization;
-
-namespace Emby.Dlna.Profiles
-{
-    [XmlRoot("Profile")]
-    public class VlcProfile : DefaultProfile
-    {
-        public VlcProfile()
-        {
-            Name = "Vlc";
-
-
-            TimelineOffsetSeconds = 5;
-
-            Identification = new DeviceIdentification
-            {
-                ModelName = "Vlc",
-
-                Headers = new[]
-                {
-                    new HttpHeaderInfo {Name = "User-Agent", Value = "vlc", Match = HeaderMatchType.Substring}
-                }
-            };
-
-            TranscodingProfiles = new[]
-            {
-                new TranscodingProfile
-                {
-                    Container = "mp3",
-                    AudioCodec = "mp3",
-                    Type = DlnaProfileType.Audio
-                },
-
-                new TranscodingProfile
-                {
-                    Container = "ts",
-                    Type = DlnaProfileType.Video,
-                    AudioCodec = "aac",
-                    VideoCodec = "h264"
-                },
-
-                new TranscodingProfile
-                {
-                    Container = "jpeg",
-                    Type = DlnaProfileType.Photo
-                }
-            };
-
-            DirectPlayProfiles = new[]
-            {
-                new DirectPlayProfile
-                {
-                    Container = "",
-                    Type = DlnaProfileType.Video
-                },
-
-                new DirectPlayProfile
-                {
-                    Container = "",
-                    Type = DlnaProfileType.Audio
-                },
-
-                new DirectPlayProfile
-                {
-                    Container = "",
-                    Type = DlnaProfileType.Photo,
-                }
-            };
-
-            ResponseProfiles = new ResponseProfile[] { };
-
-            ContainerProfiles = new ContainerProfile[] { };
-
-            CodecProfiles = new CodecProfile[] { };
-
-            SubtitleProfiles = new[]
-            {
-                new SubtitleProfile
-                {
-                    Format = "srt",
-                    Method = SubtitleDeliveryMethod.External,
-                },
-
-                new SubtitleProfile
-                {
-                    Format = "sub",
-                    Method = SubtitleDeliveryMethod.External,
-                },
-
-                new SubtitleProfile
-                {
-                    Format = "srt",
-                    Method = SubtitleDeliveryMethod.Embed,
-                    DidlMode = "",
-                },
-
-                new SubtitleProfile
-                {
-                    Format = "ass",
-                    Method = SubtitleDeliveryMethod.Embed,
-                    DidlMode = "",
-                },
-
-                new SubtitleProfile
-                {
-                    Format = "ssa",
-                    Method = SubtitleDeliveryMethod.Embed,
-                    DidlMode = "",
-                },
-
-                new SubtitleProfile
-                {
-                    Format = "smi",
-                    Method = SubtitleDeliveryMethod.Embed,
-                    DidlMode = "",
-                },
-
-                new SubtitleProfile
-                {
-                    Format = "dvdsub",
-                    Method = SubtitleDeliveryMethod.Embed,
-                    DidlMode = "",
-                },
-
-                new SubtitleProfile
-                {
-                    Format = "pgs",
-                    Method = SubtitleDeliveryMethod.Embed,
-                    DidlMode = "",
-                },
-
-                new SubtitleProfile
-                {
-                    Format = "pgssub",
-                    Method = SubtitleDeliveryMethod.Embed,
-                    DidlMode = "",
-                },
-
-                new SubtitleProfile
-                {
-                    Format = "sub",
-                    Method = SubtitleDeliveryMethod.Embed,
-                    DidlMode = "",
-                }
-            };
-        }
-    }
-}

Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 29
Emby.Dlna/Profiles/Xml/BubbleUPnp.xml


+ 13 - 5
Emby.Dlna/Profiles/Xml/Default.xml

@@ -16,8 +16,8 @@
   <MaxAlbumArtHeight>480</MaxAlbumArtHeight>
   <MaxIconWidth>48</MaxIconWidth>
   <MaxIconHeight>48</MaxIconHeight>
-  <MaxStreamingBitrate>30000000</MaxStreamingBitrate>
-  <MaxStaticBitrate>30000000</MaxStaticBitrate>
+  <MaxStreamingBitrate>40000000</MaxStreamingBitrate>
+  <MaxStaticBitrate>40000000</MaxStaticBitrate>
   <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate>
   <MaxStaticMusicBitrate xsi:nil="true" />
   <XDlnaDoc>DMS-1.50</XDlnaDoc>
@@ -29,8 +29,8 @@
   <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests>
   <XmlRootAttributes />
   <DirectPlayProfiles>
-    <DirectPlayProfile container="m4v,ts,mpegts,mkv,avi,mpg,mpeg,mp4,mov" audioCodec="aac,mp3,ac3" videoCodec="h264" type="Video" />
-    <DirectPlayProfile container="mp3,wma,aac,wav,flac" type="Audio" />
+    <DirectPlayProfile container="m4v,mpegts,ts,3gp,mov,xvid,vob,mkv,wmv,asf,ogm,ogv,m2v,avi,mpg,mpeg,mp4,webm,wtv,m2ts,dvr-ms" type="Video" />
+    <DirectPlayProfile container="aac,mp3,mpa,wav,wma,mp2,ogg,oga,webma,ape,opus,flac" type="Audio" />
   </DirectPlayProfiles>
   <TranscodingProfiles>
     <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" />
@@ -45,7 +45,15 @@
     </ResponseProfile>
   </ResponseProfiles>
   <SubtitleProfiles>
-    <SubtitleProfile format="srt" method="Embed" />
     <SubtitleProfile format="srt" method="External" />
+    <SubtitleProfile format="sub" method="External" />
+    <SubtitleProfile format="srt" method="Embed" />
+    <SubtitleProfile format="ass" method="Embed" />
+    <SubtitleProfile format="ssa" method="Embed" />
+    <SubtitleProfile format="smi" method="Embed" />
+    <SubtitleProfile format="dvdsub" method="Embed" />
+    <SubtitleProfile format="pgs" method="Embed" />
+    <SubtitleProfile format="pgssub" method="Embed" />
+    <SubtitleProfile format="sub" method="Embed" />
   </SubtitleProfiles>
 </Profile>

+ 11 - 3
Emby.Dlna/Profiles/Xml/Denon AVR.xml

@@ -21,8 +21,8 @@
   <MaxAlbumArtHeight>480</MaxAlbumArtHeight>
   <MaxIconWidth>48</MaxIconWidth>
   <MaxIconHeight>48</MaxIconHeight>
-  <MaxStreamingBitrate>30000000</MaxStreamingBitrate>
-  <MaxStaticBitrate>30000000</MaxStaticBitrate>
+  <MaxStreamingBitrate>40000000</MaxStreamingBitrate>
+  <MaxStaticBitrate>40000000</MaxStaticBitrate>
   <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate>
   <MaxStaticMusicBitrate xsi:nil="true" />
   <XDlnaDoc>DMS-1.50</XDlnaDoc>
@@ -45,7 +45,15 @@
   <CodecProfiles />
   <ResponseProfiles />
   <SubtitleProfiles>
-    <SubtitleProfile format="srt" method="Embed" />
     <SubtitleProfile format="srt" method="External" />
+    <SubtitleProfile format="sub" method="External" />
+    <SubtitleProfile format="srt" method="Embed" />
+    <SubtitleProfile format="ass" method="Embed" />
+    <SubtitleProfile format="ssa" method="Embed" />
+    <SubtitleProfile format="smi" method="Embed" />
+    <SubtitleProfile format="dvdsub" method="Embed" />
+    <SubtitleProfile format="pgs" method="Embed" />
+    <SubtitleProfile format="pgssub" method="Embed" />
+    <SubtitleProfile format="sub" method="Embed" />
   </SubtitleProfiles>
 </Profile>

+ 2 - 2
Emby.Dlna/Profiles/Xml/DirecTV HD-DVR.xml

@@ -22,8 +22,8 @@
   <MaxAlbumArtHeight>480</MaxAlbumArtHeight>
   <MaxIconWidth>48</MaxIconWidth>
   <MaxIconHeight>48</MaxIconHeight>
-  <MaxStreamingBitrate>30000000</MaxStreamingBitrate>
-  <MaxStaticBitrate>30000000</MaxStaticBitrate>
+  <MaxStreamingBitrate>40000000</MaxStreamingBitrate>
+  <MaxStaticBitrate>40000000</MaxStaticBitrate>
   <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate>
   <MaxStaticMusicBitrate xsi:nil="true" />
   <XDlnaDoc>DMS-1.50</XDlnaDoc>

+ 2 - 2
Emby.Dlna/Profiles/Xml/Dish Hopper-Joey.xml

@@ -23,8 +23,8 @@
   <MaxAlbumArtHeight>480</MaxAlbumArtHeight>
   <MaxIconWidth>48</MaxIconWidth>
   <MaxIconHeight>48</MaxIconHeight>
-  <MaxStreamingBitrate>30000000</MaxStreamingBitrate>
-  <MaxStaticBitrate>30000000</MaxStaticBitrate>
+  <MaxStreamingBitrate>40000000</MaxStreamingBitrate>
+  <MaxStaticBitrate>40000000</MaxStaticBitrate>
   <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate>
   <MaxStaticMusicBitrate xsi:nil="true" />
   <XDlnaDoc>DMS-1.50</XDlnaDoc>

Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 29
Emby.Dlna/Profiles/Xml/Kodi.xml


+ 2 - 2
Emby.Dlna/Profiles/Xml/LG Smart TV.xml

@@ -22,8 +22,8 @@
   <MaxAlbumArtHeight>480</MaxAlbumArtHeight>
   <MaxIconWidth>48</MaxIconWidth>
   <MaxIconHeight>48</MaxIconHeight>
-  <MaxStreamingBitrate>30000000</MaxStreamingBitrate>
-  <MaxStaticBitrate>30000000</MaxStaticBitrate>
+  <MaxStreamingBitrate>40000000</MaxStreamingBitrate>
+  <MaxStaticBitrate>40000000</MaxStaticBitrate>
   <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate>
   <MaxStaticMusicBitrate xsi:nil="true" />
   <XDlnaDoc>DMS-1.50</XDlnaDoc>

+ 2 - 2
Emby.Dlna/Profiles/Xml/Linksys DMA2100.xml

@@ -20,8 +20,8 @@
   <MaxAlbumArtHeight>480</MaxAlbumArtHeight>
   <MaxIconWidth>48</MaxIconWidth>
   <MaxIconHeight>48</MaxIconHeight>
-  <MaxStreamingBitrate>30000000</MaxStreamingBitrate>
-  <MaxStaticBitrate>30000000</MaxStaticBitrate>
+  <MaxStreamingBitrate>40000000</MaxStreamingBitrate>
+  <MaxStaticBitrate>40000000</MaxStaticBitrate>
   <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate>
   <MaxStaticMusicBitrate xsi:nil="true" />
   <XDlnaDoc>DMS-1.50</XDlnaDoc>

+ 11 - 3
Emby.Dlna/Profiles/Xml/MediaMonkey.xml

@@ -22,8 +22,8 @@
   <MaxAlbumArtHeight>480</MaxAlbumArtHeight>
   <MaxIconWidth>48</MaxIconWidth>
   <MaxIconHeight>48</MaxIconHeight>
-  <MaxStreamingBitrate>30000000</MaxStreamingBitrate>
-  <MaxStaticBitrate>30000000</MaxStaticBitrate>
+  <MaxStreamingBitrate>40000000</MaxStreamingBitrate>
+  <MaxStaticBitrate>40000000</MaxStaticBitrate>
   <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate>
   <MaxStaticMusicBitrate xsi:nil="true" />
   <XDlnaDoc>DMS-1.50</XDlnaDoc>
@@ -51,7 +51,15 @@
   <CodecProfiles />
   <ResponseProfiles />
   <SubtitleProfiles>
-    <SubtitleProfile format="srt" method="Embed" />
     <SubtitleProfile format="srt" method="External" />
+    <SubtitleProfile format="sub" method="External" />
+    <SubtitleProfile format="srt" method="Embed" />
+    <SubtitleProfile format="ass" method="Embed" />
+    <SubtitleProfile format="ssa" method="Embed" />
+    <SubtitleProfile format="smi" method="Embed" />
+    <SubtitleProfile format="dvdsub" method="Embed" />
+    <SubtitleProfile format="pgs" method="Embed" />
+    <SubtitleProfile format="pgssub" method="Embed" />
+    <SubtitleProfile format="sub" method="Embed" />
   </SubtitleProfiles>
 </Profile>

+ 2 - 2
Emby.Dlna/Profiles/Xml/Panasonic Viera.xml

@@ -23,8 +23,8 @@
   <MaxAlbumArtHeight>480</MaxAlbumArtHeight>
   <MaxIconWidth>48</MaxIconWidth>
   <MaxIconHeight>48</MaxIconHeight>
-  <MaxStreamingBitrate>30000000</MaxStreamingBitrate>
-  <MaxStaticBitrate>30000000</MaxStaticBitrate>
+  <MaxStreamingBitrate>40000000</MaxStreamingBitrate>
+  <MaxStaticBitrate>40000000</MaxStaticBitrate>
   <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate>
   <MaxStaticMusicBitrate xsi:nil="true" />
   <XDlnaDoc>DMS-1.50</XDlnaDoc>

+ 2 - 2
Emby.Dlna/Profiles/Xml/Popcorn Hour.xml

@@ -16,8 +16,8 @@
   <MaxAlbumArtHeight>480</MaxAlbumArtHeight>
   <MaxIconWidth>48</MaxIconWidth>
   <MaxIconHeight>48</MaxIconHeight>
-  <MaxStreamingBitrate>30000000</MaxStreamingBitrate>
-  <MaxStaticBitrate>30000000</MaxStaticBitrate>
+  <MaxStreamingBitrate>40000000</MaxStreamingBitrate>
+  <MaxStaticBitrate>40000000</MaxStaticBitrate>
   <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate>
   <MaxStaticMusicBitrate xsi:nil="true" />
   <XDlnaDoc>DMS-1.50</XDlnaDoc>

+ 2 - 2
Emby.Dlna/Profiles/Xml/Samsung Smart TV.xml

@@ -22,8 +22,8 @@
   <MaxAlbumArtHeight>480</MaxAlbumArtHeight>
   <MaxIconWidth>48</MaxIconWidth>
   <MaxIconHeight>48</MaxIconHeight>
-  <MaxStreamingBitrate>30000000</MaxStreamingBitrate>
-  <MaxStaticBitrate>30000000</MaxStaticBitrate>
+  <MaxStreamingBitrate>40000000</MaxStreamingBitrate>
+  <MaxStaticBitrate>40000000</MaxStaticBitrate>
   <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate>
   <MaxStaticMusicBitrate xsi:nil="true" />
   <XDlnaDoc>DMS-1.50</XDlnaDoc>

+ 2 - 2
Emby.Dlna/Profiles/Xml/Sharp Smart TV.xml

@@ -22,8 +22,8 @@
   <MaxAlbumArtHeight>480</MaxAlbumArtHeight>
   <MaxIconWidth>48</MaxIconWidth>
   <MaxIconHeight>48</MaxIconHeight>
-  <MaxStreamingBitrate>30000000</MaxStreamingBitrate>
-  <MaxStaticBitrate>30000000</MaxStaticBitrate>
+  <MaxStreamingBitrate>40000000</MaxStreamingBitrate>
+  <MaxStaticBitrate>40000000</MaxStaticBitrate>
   <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate>
   <MaxStaticMusicBitrate xsi:nil="true" />
   <XDlnaDoc>DMS-1.50</XDlnaDoc>

+ 2 - 2
Emby.Dlna/Profiles/Xml/Sony Blu-ray Player 2013.xml

@@ -26,8 +26,8 @@
   <MaxAlbumArtHeight>480</MaxAlbumArtHeight>
   <MaxIconWidth>48</MaxIconWidth>
   <MaxIconHeight>48</MaxIconHeight>
-  <MaxStreamingBitrate>30000000</MaxStreamingBitrate>
-  <MaxStaticBitrate>30000000</MaxStaticBitrate>
+  <MaxStreamingBitrate>40000000</MaxStreamingBitrate>
+  <MaxStaticBitrate>40000000</MaxStaticBitrate>
   <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate>
   <MaxStaticMusicBitrate xsi:nil="true" />
   <XDlnaDoc>DMS-1.50</XDlnaDoc>

+ 2 - 2
Emby.Dlna/Profiles/Xml/Sony Blu-ray Player 2014.xml

@@ -26,8 +26,8 @@
   <MaxAlbumArtHeight>480</MaxAlbumArtHeight>
   <MaxIconWidth>48</MaxIconWidth>
   <MaxIconHeight>48</MaxIconHeight>
-  <MaxStreamingBitrate>30000000</MaxStreamingBitrate>
-  <MaxStaticBitrate>30000000</MaxStaticBitrate>
+  <MaxStreamingBitrate>40000000</MaxStreamingBitrate>
+  <MaxStaticBitrate>40000000</MaxStaticBitrate>
   <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate>
   <MaxStaticMusicBitrate xsi:nil="true" />
   <XDlnaDoc>DMS-1.50</XDlnaDoc>

+ 2 - 2
Emby.Dlna/Profiles/Xml/Sony Blu-ray Player 2015.xml

@@ -24,8 +24,8 @@
   <MaxAlbumArtHeight>480</MaxAlbumArtHeight>
   <MaxIconWidth>48</MaxIconWidth>
   <MaxIconHeight>48</MaxIconHeight>
-  <MaxStreamingBitrate>30000000</MaxStreamingBitrate>
-  <MaxStaticBitrate>30000000</MaxStaticBitrate>
+  <MaxStreamingBitrate>40000000</MaxStreamingBitrate>
+  <MaxStaticBitrate>40000000</MaxStaticBitrate>
   <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate>
   <MaxStaticMusicBitrate xsi:nil="true" />
   <XDlnaDoc>DMS-1.50</XDlnaDoc>

+ 2 - 2
Emby.Dlna/Profiles/Xml/Sony Blu-ray Player 2016.xml

@@ -24,8 +24,8 @@
   <MaxAlbumArtHeight>480</MaxAlbumArtHeight>
   <MaxIconWidth>48</MaxIconWidth>
   <MaxIconHeight>48</MaxIconHeight>
-  <MaxStreamingBitrate>30000000</MaxStreamingBitrate>
-  <MaxStaticBitrate>30000000</MaxStaticBitrate>
+  <MaxStreamingBitrate>40000000</MaxStreamingBitrate>
+  <MaxStaticBitrate>40000000</MaxStaticBitrate>
   <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate>
   <MaxStaticMusicBitrate xsi:nil="true" />
   <XDlnaDoc>DMS-1.50</XDlnaDoc>

+ 2 - 2
Emby.Dlna/Profiles/Xml/Sony Blu-ray Player.xml

@@ -24,8 +24,8 @@
   <MaxAlbumArtHeight>480</MaxAlbumArtHeight>
   <MaxIconWidth>48</MaxIconWidth>
   <MaxIconHeight>48</MaxIconHeight>
-  <MaxStreamingBitrate>30000000</MaxStreamingBitrate>
-  <MaxStaticBitrate>30000000</MaxStaticBitrate>
+  <MaxStreamingBitrate>40000000</MaxStreamingBitrate>
+  <MaxStaticBitrate>40000000</MaxStaticBitrate>
   <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate>
   <MaxStaticMusicBitrate xsi:nil="true" />
   <XDlnaDoc>DMS-1.50</XDlnaDoc>

+ 2 - 2
Emby.Dlna/Profiles/Xml/Sony Bravia (2010).xml

@@ -23,8 +23,8 @@
   <MaxAlbumArtHeight>480</MaxAlbumArtHeight>
   <MaxIconWidth>48</MaxIconWidth>
   <MaxIconHeight>48</MaxIconHeight>
-  <MaxStreamingBitrate>30000000</MaxStreamingBitrate>
-  <MaxStaticBitrate>30000000</MaxStaticBitrate>
+  <MaxStreamingBitrate>40000000</MaxStreamingBitrate>
+  <MaxStaticBitrate>40000000</MaxStaticBitrate>
   <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate>
   <MaxStaticMusicBitrate xsi:nil="true" />
   <XDlnaDoc>DMS-1.50</XDlnaDoc>

+ 2 - 2
Emby.Dlna/Profiles/Xml/Sony Bravia (2011).xml

@@ -23,8 +23,8 @@
   <MaxAlbumArtHeight>480</MaxAlbumArtHeight>
   <MaxIconWidth>48</MaxIconWidth>
   <MaxIconHeight>48</MaxIconHeight>
-  <MaxStreamingBitrate>30000000</MaxStreamingBitrate>
-  <MaxStaticBitrate>30000000</MaxStaticBitrate>
+  <MaxStreamingBitrate>40000000</MaxStreamingBitrate>
+  <MaxStaticBitrate>40000000</MaxStaticBitrate>
   <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate>
   <MaxStaticMusicBitrate xsi:nil="true" />
   <XDlnaDoc>DMS-1.50</XDlnaDoc>

+ 2 - 2
Emby.Dlna/Profiles/Xml/Sony Bravia (2012).xml

@@ -23,8 +23,8 @@
   <MaxAlbumArtHeight>480</MaxAlbumArtHeight>
   <MaxIconWidth>48</MaxIconWidth>
   <MaxIconHeight>48</MaxIconHeight>
-  <MaxStreamingBitrate>30000000</MaxStreamingBitrate>
-  <MaxStaticBitrate>30000000</MaxStaticBitrate>
+  <MaxStreamingBitrate>40000000</MaxStreamingBitrate>
+  <MaxStaticBitrate>40000000</MaxStaticBitrate>
   <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate>
   <MaxStaticMusicBitrate xsi:nil="true" />
   <XDlnaDoc>DMS-1.50</XDlnaDoc>

+ 2 - 2
Emby.Dlna/Profiles/Xml/Sony Bravia (2013).xml

@@ -23,8 +23,8 @@
   <MaxAlbumArtHeight>480</MaxAlbumArtHeight>
   <MaxIconWidth>48</MaxIconWidth>
   <MaxIconHeight>48</MaxIconHeight>
-  <MaxStreamingBitrate>30000000</MaxStreamingBitrate>
-  <MaxStaticBitrate>30000000</MaxStaticBitrate>
+  <MaxStreamingBitrate>40000000</MaxStreamingBitrate>
+  <MaxStaticBitrate>40000000</MaxStaticBitrate>
   <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate>
   <MaxStaticMusicBitrate xsi:nil="true" />
   <XDlnaDoc>DMS-1.50</XDlnaDoc>

+ 2 - 2
Emby.Dlna/Profiles/Xml/Sony Bravia (2014).xml

@@ -23,8 +23,8 @@
   <MaxAlbumArtHeight>480</MaxAlbumArtHeight>
   <MaxIconWidth>48</MaxIconWidth>
   <MaxIconHeight>48</MaxIconHeight>
-  <MaxStreamingBitrate>30000000</MaxStreamingBitrate>
-  <MaxStaticBitrate>30000000</MaxStaticBitrate>
+  <MaxStreamingBitrate>40000000</MaxStreamingBitrate>
+  <MaxStaticBitrate>40000000</MaxStaticBitrate>
   <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate>
   <MaxStaticMusicBitrate xsi:nil="true" />
   <XDlnaDoc>DMS-1.50</XDlnaDoc>

+ 2 - 2
Emby.Dlna/Profiles/Xml/Sony PlayStation 3.xml

@@ -23,8 +23,8 @@
   <MaxAlbumArtHeight>480</MaxAlbumArtHeight>
   <MaxIconWidth>48</MaxIconWidth>
   <MaxIconHeight>48</MaxIconHeight>
-  <MaxStreamingBitrate>30000000</MaxStreamingBitrate>
-  <MaxStaticBitrate>30000000</MaxStaticBitrate>
+  <MaxStreamingBitrate>40000000</MaxStreamingBitrate>
+  <MaxStaticBitrate>40000000</MaxStaticBitrate>
   <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate>
   <MaxStaticMusicBitrate xsi:nil="true" />
   <XDlnaDoc>DMS-1.50</XDlnaDoc>

+ 2 - 2
Emby.Dlna/Profiles/Xml/Sony PlayStation 4.xml

@@ -23,8 +23,8 @@
   <MaxAlbumArtHeight>480</MaxAlbumArtHeight>
   <MaxIconWidth>48</MaxIconWidth>
   <MaxIconHeight>48</MaxIconHeight>
-  <MaxStreamingBitrate>30000000</MaxStreamingBitrate>
-  <MaxStaticBitrate>30000000</MaxStaticBitrate>
+  <MaxStreamingBitrate>40000000</MaxStreamingBitrate>
+  <MaxStaticBitrate>40000000</MaxStaticBitrate>
   <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate>
   <MaxStaticMusicBitrate xsi:nil="true" />
   <XDlnaDoc>DMS-1.50</XDlnaDoc>

Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 29
Emby.Dlna/Profiles/Xml/Vlc.xml


+ 2 - 2
Emby.Dlna/Profiles/Xml/WDTV Live.xml

@@ -23,8 +23,8 @@
   <MaxAlbumArtHeight>480</MaxAlbumArtHeight>
   <MaxIconWidth>48</MaxIconWidth>
   <MaxIconHeight>48</MaxIconHeight>
-  <MaxStreamingBitrate>30000000</MaxStreamingBitrate>
-  <MaxStaticBitrate>30000000</MaxStaticBitrate>
+  <MaxStreamingBitrate>40000000</MaxStreamingBitrate>
+  <MaxStaticBitrate>40000000</MaxStaticBitrate>
   <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate>
   <MaxStaticMusicBitrate xsi:nil="true" />
   <XDlnaDoc>DMS-1.50</XDlnaDoc>

+ 2 - 2
Emby.Dlna/Profiles/Xml/Xbox 360.xml

@@ -24,8 +24,8 @@
   <MaxAlbumArtHeight>480</MaxAlbumArtHeight>
   <MaxIconWidth>48</MaxIconWidth>
   <MaxIconHeight>48</MaxIconHeight>
-  <MaxStreamingBitrate>30000000</MaxStreamingBitrate>
-  <MaxStaticBitrate>30000000</MaxStaticBitrate>
+  <MaxStreamingBitrate>40000000</MaxStreamingBitrate>
+  <MaxStaticBitrate>40000000</MaxStaticBitrate>
   <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate>
   <MaxStaticMusicBitrate xsi:nil="true" />
   <XDlnaDoc>DMS-1.50</XDlnaDoc>

+ 2 - 2
Emby.Dlna/Profiles/Xml/Xbox One.xml

@@ -23,8 +23,8 @@
   <MaxAlbumArtHeight>480</MaxAlbumArtHeight>
   <MaxIconWidth>48</MaxIconWidth>
   <MaxIconHeight>48</MaxIconHeight>
-  <MaxStreamingBitrate>30000000</MaxStreamingBitrate>
-  <MaxStaticBitrate>30000000</MaxStaticBitrate>
+  <MaxStreamingBitrate>40000000</MaxStreamingBitrate>
+  <MaxStaticBitrate>40000000</MaxStaticBitrate>
   <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate>
   <MaxStaticMusicBitrate xsi:nil="true" />
   <XDlnaDoc>DMS-1.50</XDlnaDoc>

+ 11 - 3
Emby.Dlna/Profiles/Xml/foobar2000.xml

@@ -22,8 +22,8 @@
   <MaxAlbumArtHeight>480</MaxAlbumArtHeight>
   <MaxIconWidth>48</MaxIconWidth>
   <MaxIconHeight>48</MaxIconHeight>
-  <MaxStreamingBitrate>30000000</MaxStreamingBitrate>
-  <MaxStaticBitrate>30000000</MaxStaticBitrate>
+  <MaxStreamingBitrate>40000000</MaxStreamingBitrate>
+  <MaxStaticBitrate>40000000</MaxStaticBitrate>
   <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate>
   <MaxStaticMusicBitrate xsi:nil="true" />
   <XDlnaDoc>DMS-1.50</XDlnaDoc>
@@ -51,7 +51,15 @@
   <CodecProfiles />
   <ResponseProfiles />
   <SubtitleProfiles>
-    <SubtitleProfile format="srt" method="Embed" />
     <SubtitleProfile format="srt" method="External" />
+    <SubtitleProfile format="sub" method="External" />
+    <SubtitleProfile format="srt" method="Embed" />
+    <SubtitleProfile format="ass" method="Embed" />
+    <SubtitleProfile format="ssa" method="Embed" />
+    <SubtitleProfile format="smi" method="Embed" />
+    <SubtitleProfile format="dvdsub" method="Embed" />
+    <SubtitleProfile format="pgs" method="Embed" />
+    <SubtitleProfile format="pgssub" method="Embed" />
+    <SubtitleProfile format="sub" method="Embed" />
   </SubtitleProfiles>
 </Profile>

+ 16 - 2
Emby.Drawing/ImageProcessor.cs

@@ -56,7 +56,7 @@ namespace Emby.Drawing
         private readonly IFileSystem _fileSystem;
         private readonly IJsonSerializer _jsonSerializer;
         private readonly IServerApplicationPaths _appPaths;
-        private readonly IImageEncoder _imageEncoder;
+        private IImageEncoder _imageEncoder;
         private readonly Func<ILibraryManager> _libraryManager;
 
         public ImageProcessor(ILogger logger,
@@ -64,7 +64,7 @@ namespace Emby.Drawing
             IFileSystem fileSystem,
             IJsonSerializer jsonSerializer,
             IImageEncoder imageEncoder,
-            int maxConcurrentImageProcesses, Func<ILibraryManager> libraryManager, ITimerFactory timerFactory)
+            Func<ILibraryManager> libraryManager, ITimerFactory timerFactory)
         {
             _logger = logger;
             _fileSystem = fileSystem;
@@ -103,6 +103,20 @@ namespace Emby.Drawing
             _cachedImagedSizes = new ConcurrentDictionary<Guid, ImageSize>(sizeDictionary);
         }
 
+        public IImageEncoder ImageEncoder
+        {
+            get { return _imageEncoder; }
+            set
+            {
+                if (value == null)
+                {
+                    throw new ArgumentNullException("value");
+                }
+
+                _imageEncoder = value;
+            }
+        }
+
         public string[] SupportedInputFormats
         {
             get

+ 2 - 9
Emby.Server.Core/ApplicationHost.cs

@@ -187,7 +187,7 @@ namespace Emby.Server.Core
         /// <value>The HTTP server.</value>
         private IHttpServer HttpServer { get; set; }
         private IDtoService DtoService { get; set; }
-        private IImageProcessor ImageProcessor { get; set; }
+        public IImageProcessor ImageProcessor { get; set; }
 
         /// <summary>
         /// Gets or sets the media encoder.
@@ -783,14 +783,7 @@ namespace Emby.Server.Core
 
         private IImageProcessor GetImageProcessor()
         {
-            var maxConcurrentImageProcesses = Math.Max(Environment.ProcessorCount, 4);
-
-            if (StartupOptions.ContainsOption("-imagethreads"))
-            {
-                int.TryParse(StartupOptions.GetOption("-imagethreads"), NumberStyles.Any, CultureInfo.InvariantCulture, out maxConcurrentImageProcesses);
-            }
-
-            return new ImageProcessor(LogManager.GetLogger("ImageProcessor"), ServerConfigurationManager.ApplicationPaths, FileSystemManager, JsonSerializer, ImageEncoder, maxConcurrentImageProcesses, () => LibraryManager, TimerFactory);
+            return new ImageProcessor(LogManager.GetLogger("ImageProcessor"), ServerConfigurationManager.ApplicationPaths, FileSystemManager, JsonSerializer, ImageEncoder, () => LibraryManager, TimerFactory);
         }
 
         protected virtual FFMpegInstallInfo GetFfmpegInstallInfo()

+ 2 - 0
MediaBrowser.Controller/Drawing/IImageProcessor.cs

@@ -112,5 +112,7 @@ namespace MediaBrowser.Controller.Drawing
         /// </summary>
         /// <value><c>true</c> if [supports image collage creation]; otherwise, <c>false</c>.</value>
         bool SupportsImageCollageCreation { get; }
+
+        IImageEncoder ImageEncoder { get; set; }
     }
 }

+ 15 - 9
MediaBrowser.ServerApplication/MainStartup.cs

@@ -22,6 +22,7 @@ using Emby.Common.Implementations.IO;
 using Emby.Common.Implementations.Logging;
 using Emby.Common.Implementations.Networking;
 using Emby.Common.Implementations.Security;
+using Emby.Drawing;
 using Emby.Server.Core;
 using Emby.Server.Core.Logging;
 using Emby.Server.Implementations;
@@ -335,8 +336,6 @@ namespace MediaBrowser.ServerApplication
 
             var fileSystem = new ManagedFileSystem(logManager.GetLogger("FileSystem"), environmentInfo, appPaths.TempDirectory);
 
-            var imageEncoder = ImageEncoderHelper.GetImageEncoder(_logger, logManager, fileSystem, options, () => _appHost.HttpClient, appPaths);
-
             FileSystem = fileSystem;
 
             _appHost = new WindowsAppHost(appPaths,
@@ -346,7 +345,7 @@ namespace MediaBrowser.ServerApplication
                 new PowerManagement(),
                 "emby.windows.zip",
                 environmentInfo,
-                imageEncoder,
+                new NullImageEncoder(),
                 new Server.Startup.Common.SystemEvents(logManager.GetLogger("SystemEvents")),
                 new RecyclableMemoryStreamProvider(),
                 new Networking.NetworkManager(logManager.GetLogger("NetworkManager")),
@@ -367,6 +366,19 @@ namespace MediaBrowser.ServerApplication
             var task = _appHost.Init(initProgress);
             Task.WaitAll(task);
 
+            if (!runService)
+            {
+                task = InstallVcredist2013IfNeeded(_appHost, _logger);
+                Task.WaitAll(task);
+
+                // needed by skia
+                task = InstallVcredist2015IfNeeded(_appHost, _logger);
+                Task.WaitAll(task);
+            }
+
+            // set image encoder here
+            _appHost.ImageProcessor.ImageEncoder = ImageEncoderHelper.GetImageEncoder(_logger, logManager, fileSystem, options, () => _appHost.HttpClient, appPaths);
+
             task = task.ContinueWith(new Action<Task>(a => _appHost.RunStartupTasks()), TaskContinuationOptions.OnlyOnRanToCompletion | TaskContinuationOptions.AttachedToParent);
 
             if (runService)
@@ -377,12 +389,6 @@ namespace MediaBrowser.ServerApplication
             {
                 Task.WaitAll(task);
 
-                task = InstallVcredist2013IfNeeded(_appHost, _logger);
-                Task.WaitAll(task);
-
-                task = InstallVcredist2015IfNeeded(_appHost, _logger);
-                Task.WaitAll(task);
-
                 Microsoft.Win32.SystemEvents.SessionSwitch += SystemEvents_SessionSwitch;
 
                 HideSplashScreen();

Alguns ficheiros não foram mostrados porque muitos ficheiros mudaram neste diff