Procházet zdrojové kódy

Merge pull request #3045 from MediaBrowser/dev

Dev
Luke před 7 roky
rodič
revize
9e452423e5
52 změnil soubory, kde provedl 184 přidání a 171 odebrání
  1. 2 0
      Emby.Dlna/PlayTo/PlayToManager.cs
  2. 1 1
      Emby.Dlna/Profiles/DishHopperJoeyProfile.cs
  3. 1 1
      Emby.Dlna/Profiles/LinksysDMA2100Profile.cs
  4. 2 2
      Emby.Dlna/Profiles/PanasonicVieraProfile.cs
  5. 1 1
      Emby.Dlna/Profiles/PopcornHourProfile.cs
  6. 5 2
      Emby.Dlna/Profiles/SamsungSmartTvProfile.cs
  7. 3 3
      Emby.Dlna/Profiles/SonyBlurayPlayerProfile.cs
  8. 6 6
      Emby.Dlna/Profiles/SonyBravia2010Profile.cs
  9. 6 6
      Emby.Dlna/Profiles/SonyBravia2011Profile.cs
  10. 6 6
      Emby.Dlna/Profiles/SonyBravia2012Profile.cs
  11. 6 6
      Emby.Dlna/Profiles/SonyBravia2013Profile.cs
  12. 6 6
      Emby.Dlna/Profiles/SonyBravia2014Profile.cs
  13. 1 1
      Emby.Dlna/Profiles/SonyPs3Profile.cs
  14. 1 1
      Emby.Dlna/Profiles/SonyPs4Profile.cs
  15. 2 2
      Emby.Dlna/Profiles/WdtvLiveProfile.cs
  16. 1 1
      Emby.Dlna/Profiles/XboxOneProfile.cs
  17. 1 1
      Emby.Dlna/Profiles/Xml/Default.xml
  18. 1 1
      Emby.Dlna/Profiles/Xml/Denon AVR.xml
  19. 1 1
      Emby.Dlna/Profiles/Xml/DirecTV HD-DVR.xml
  20. 2 2
      Emby.Dlna/Profiles/Xml/Dish Hopper-Joey.xml
  21. 1 1
      Emby.Dlna/Profiles/Xml/LG Smart TV.xml
  22. 2 2
      Emby.Dlna/Profiles/Xml/Linksys DMA2100.xml
  23. 1 1
      Emby.Dlna/Profiles/Xml/Marantz.xml
  24. 1 1
      Emby.Dlna/Profiles/Xml/MediaMonkey.xml
  25. 3 3
      Emby.Dlna/Profiles/Xml/Panasonic Viera.xml
  26. 2 2
      Emby.Dlna/Profiles/Xml/Popcorn Hour.xml
  27. 4 4
      Emby.Dlna/Profiles/Xml/Samsung Smart TV.xml
  28. 1 1
      Emby.Dlna/Profiles/Xml/Sharp Smart TV.xml
  29. 1 1
      Emby.Dlna/Profiles/Xml/Sony Blu-ray Player 2013.xml
  30. 1 1
      Emby.Dlna/Profiles/Xml/Sony Blu-ray Player 2014.xml
  31. 1 1
      Emby.Dlna/Profiles/Xml/Sony Blu-ray Player 2015.xml
  32. 1 1
      Emby.Dlna/Profiles/Xml/Sony Blu-ray Player 2016.xml
  33. 4 4
      Emby.Dlna/Profiles/Xml/Sony Blu-ray Player.xml
  34. 7 7
      Emby.Dlna/Profiles/Xml/Sony Bravia (2010).xml
  35. 7 7
      Emby.Dlna/Profiles/Xml/Sony Bravia (2011).xml
  36. 7 7
      Emby.Dlna/Profiles/Xml/Sony Bravia (2012).xml
  37. 7 7
      Emby.Dlna/Profiles/Xml/Sony Bravia (2013).xml
  38. 7 7
      Emby.Dlna/Profiles/Xml/Sony Bravia (2014).xml
  39. 2 2
      Emby.Dlna/Profiles/Xml/Sony PlayStation 3.xml
  40. 2 2
      Emby.Dlna/Profiles/Xml/Sony PlayStation 4.xml
  41. 3 3
      Emby.Dlna/Profiles/Xml/WDTV Live.xml
  42. 2 2
      Emby.Dlna/Profiles/Xml/Xbox One.xml
  43. 1 1
      Emby.Dlna/Profiles/Xml/foobar2000.xml
  44. 0 11
      Emby.Server.Implementations/Library/CoreResolutionIgnoreRule.cs
  45. 0 20
      Emby.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs
  46. 34 3
      Emby.Server.Implementations/Networking/NetworkManager.cs
  47. 1 12
      MediaBrowser.Common/Updates/GithubUpdater.cs
  48. 4 0
      MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs
  49. 6 3
      RSSDP/HttpRequestParser.cs
  50. 7 3
      RSSDP/HttpResponseParser.cs
  51. 8 0
      RSSDP/SsdpDevice.cs
  52. 1 1
      SharedVersion.cs

+ 2 - 0
Emby.Dlna/PlayTo/PlayToManager.cs

@@ -93,6 +93,7 @@ namespace Emby.Dlna.PlayTo
             if (usn.IndexOf("MediaRenderer:", StringComparison.OrdinalIgnoreCase) == -1 &&
                      nt.IndexOf("MediaRenderer:", StringComparison.OrdinalIgnoreCase) == -1)
             {
+                //_logger.Debug("Upnp device {0} does not contain a MediaRenderer device (0).", location);
                 return;
             }
 
@@ -149,6 +150,7 @@ namespace Emby.Dlna.PlayTo
 
             if (device.RendererCommands == null)
             {
+                //_logger.Debug("Upnp device {0} does not contain a MediaRenderer device (1).", location);
                 _nonRendererUrls.Add(location);
                 return;
             }

+ 1 - 1
Emby.Dlna/Profiles/DishHopperJoeyProfile.cs

@@ -208,7 +208,7 @@ namespace Emby.Dlna.Profiles
             {
                 new ResponseProfile
                 {
-                    Container = "mkv,ts",
+                    Container = "mkv,ts,mpegts",
                     Type = DlnaProfileType.Video,
                     MimeType = "video/mp4"
                 }

+ 1 - 1
Emby.Dlna/Profiles/LinksysDMA2100Profile.cs

@@ -26,7 +26,7 @@ namespace Emby.Dlna.Profiles
 
                 new DirectPlayProfile
                 {
-                    Container = "avi,mp4,mkv,ts,m4v",
+                    Container = "avi,mp4,mkv,ts,mpegts,m4v",
                     Type = DlnaProfileType.Video
                 }
             };

+ 2 - 2
Emby.Dlna/Profiles/PanasonicVieraProfile.cs

@@ -72,7 +72,7 @@ namespace Emby.Dlna.Profiles
 
                 new DirectPlayProfile
                 {
-                    Container = "ts",
+                    Container = "ts,mpegts",
                     VideoCodec = "h264,mpeg2video",
                     AudioCodec = "aac,mp3,mp2",
                     Type = DlnaProfileType.Video
@@ -205,7 +205,7 @@ namespace Emby.Dlna.Profiles
                 new ResponseProfile
                 {
                     Type = DlnaProfileType.Video,
-                    Container = "ts",
+                    Container = "ts,mpegts",
                     OrgPn = "MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO",
                     MimeType = "video/vnd.dlna.mpeg-tts"
                 },

+ 1 - 1
Emby.Dlna/Profiles/PopcornHourProfile.cs

@@ -46,7 +46,7 @@ namespace Emby.Dlna.Profiles
 
                 new DirectPlayProfile
                 {
-                    Container = "ts",
+                    Container = "ts,mpegts",
                     Type = DlnaProfileType.Video,
                     VideoCodec = "h264",
                     AudioCodec = "aac,ac3,eac3,mp3,mp2,pcm"

+ 5 - 2
Emby.Dlna/Profiles/SamsungSmartTvProfile.cs

@@ -12,6 +12,9 @@ namespace Emby.Dlna.Profiles
 
             EnableAlbumArtInDidl = true;
 
+            // Without this, older samsungs fail to browse
+            EnableSingleAlbumArtLimit = true;
+
             Identification = new DeviceIdentification
             {
                 ModelUrl = "samsung.com",
@@ -39,7 +42,7 @@ namespace Emby.Dlna.Profiles
                },
                new TranscodingProfile
                {
-                   Container = "ts",
+                   Container = "ts,mpegts",
                    AudioCodec = "ac3",
                    VideoCodec = "h264",
                    Type = DlnaProfileType.Video,
@@ -300,7 +303,7 @@ namespace Emby.Dlna.Profiles
                new CodecProfile
                {
                    Type = CodecType.VideoAudio,
-                   Codec = "ac3,wmav2,dca,aac,mp3,dts",
+                   Codec = "wmav2,dca,aac,mp3,dts",
 
                    Conditions = new[]
                    {

+ 3 - 3
Emby.Dlna/Profiles/SonyBlurayPlayerProfile.cs

@@ -69,7 +69,7 @@ namespace Emby.Dlna.Profiles
             {
                 new DirectPlayProfile
                 {
-                    Container = "ts",
+                    Container = "ts,mpegts",
                     VideoCodec = "mpeg1video,mpeg2video,h264",
                     AudioCodec = "ac3,aac,mp3,pcm",
                     Type = DlnaProfileType.Video
@@ -212,7 +212,7 @@ namespace Emby.Dlna.Profiles
             {
                 new ResponseProfile
                 {
-                    Container = "ts",
+                    Container = "ts,mpegts",
                     VideoCodec = "h264,mpeg4,vc1",
                     AudioCodec = "ac3,aac,mp3",
                     MimeType = "video/vnd.dlna.mpeg-tts",
@@ -236,7 +236,7 @@ namespace Emby.Dlna.Profiles
 
                 new ResponseProfile
                 {
-                    Container = "ts",
+                    Container = "ts,mpegts",
                     MimeType = "video/vnd.dlna.mpeg-tts",
                     Type = DlnaProfileType.Video
                 },

+ 6 - 6
Emby.Dlna/Profiles/SonyBravia2010Profile.cs

@@ -69,14 +69,14 @@ namespace Emby.Dlna.Profiles
             {
                 new DirectPlayProfile
                 {
-                    Container = "ts",
+                    Container = "ts,mpegts",
                     VideoCodec = "h264",
                     AudioCodec = "ac3,aac,mp3",
                     Type = DlnaProfileType.Video
                 },
                 new DirectPlayProfile
                 {
-                    Container = "ts",
+                    Container = "ts,mpegts",
                     VideoCodec = "mpeg1video,mpeg2video",
                     AudioCodec = "mp3,mp2",
                     Type = DlnaProfileType.Video
@@ -100,7 +100,7 @@ namespace Emby.Dlna.Profiles
             {
                 new ResponseProfile
                 {
-                    Container = "ts",
+                    Container = "ts,mpegts",
                     VideoCodec="h264",
                     AudioCodec="ac3,aac,mp3",
                     MimeType = "video/vnd.dlna.mpeg-tts",
@@ -126,7 +126,7 @@ namespace Emby.Dlna.Profiles
 
                 new ResponseProfile
                 {
-                    Container = "ts",
+                    Container = "ts,mpegts",
                     VideoCodec="h264",
                     AudioCodec="ac3,aac,mp3",
                     MimeType = "video/mpeg",
@@ -146,7 +146,7 @@ namespace Emby.Dlna.Profiles
 
                 new ResponseProfile
                 {
-                    Container = "ts",
+                    Container = "ts,mpegts",
                     VideoCodec="h264",
                     AudioCodec="ac3,aac,mp3",
                     MimeType = "video/vnd.dlna.mpeg-tts",
@@ -156,7 +156,7 @@ namespace Emby.Dlna.Profiles
 
                 new ResponseProfile
                 {
-                    Container = "ts",
+                    Container = "ts,mpegts",
                     VideoCodec="mpeg2video",
                     MimeType = "video/vnd.dlna.mpeg-tts",
                     OrgPn="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO",

+ 6 - 6
Emby.Dlna/Profiles/SonyBravia2011Profile.cs

@@ -66,14 +66,14 @@ namespace Emby.Dlna.Profiles
             {
                 new DirectPlayProfile
                 {
-                    Container = "ts",
+                    Container = "ts,mpegts",
                     VideoCodec = "h264",
                     AudioCodec = "ac3,aac,mp3",
                     Type = DlnaProfileType.Video
                 },
                 new DirectPlayProfile
                 {
-                    Container = "ts",
+                    Container = "ts,mpegts",
                     VideoCodec = "mpeg2video",
                     AudioCodec = "mp3",
                     Type = DlnaProfileType.Video
@@ -141,7 +141,7 @@ namespace Emby.Dlna.Profiles
             {
                 new ResponseProfile
                 {
-                    Container = "ts",
+                    Container = "ts,mpegts",
                     VideoCodec="h264",
                     AudioCodec="ac3,aac,mp3",
                     MimeType = "video/vnd.dlna.mpeg-tts",
@@ -167,7 +167,7 @@ namespace Emby.Dlna.Profiles
 
                 new ResponseProfile
                 {
-                    Container = "ts",
+                    Container = "ts,mpegts",
                     VideoCodec="h264",
                     AudioCodec="ac3,aac,mp3",
                     MimeType = "video/mpeg",
@@ -187,7 +187,7 @@ namespace Emby.Dlna.Profiles
 
                 new ResponseProfile
                 {
-                    Container = "ts",
+                    Container = "ts,mpegts",
                     VideoCodec="h264",
                     AudioCodec="ac3,aac,mp3",
                     MimeType = "video/vnd.dlna.mpeg-tts",
@@ -197,7 +197,7 @@ namespace Emby.Dlna.Profiles
 
                 new ResponseProfile
                 {
-                    Container = "ts",
+                    Container = "ts,mpegts",
                     VideoCodec="mpeg2video",
                     MimeType = "video/vnd.dlna.mpeg-tts",
                     OrgPn="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO",

+ 6 - 6
Emby.Dlna/Profiles/SonyBravia2012Profile.cs

@@ -66,14 +66,14 @@ namespace Emby.Dlna.Profiles
             {
                 new DirectPlayProfile
                 {
-                    Container = "ts",
+                    Container = "ts,mpegts",
                     VideoCodec = "h264",
                     AudioCodec = "ac3,aac,mp3",
                     Type = DlnaProfileType.Video
                 },
                 new DirectPlayProfile
                 {
-                    Container = "ts",
+                    Container = "ts,mpegts",
                     VideoCodec = "mpeg2video",
                     AudioCodec = "mp3,mp2",
                     Type = DlnaProfileType.Video
@@ -129,7 +129,7 @@ namespace Emby.Dlna.Profiles
             {
                 new ResponseProfile
                 {
-                    Container = "ts",
+                    Container = "ts,mpegts",
                     VideoCodec="h264",
                     AudioCodec="ac3,aac,mp3",
                     MimeType = "video/vnd.dlna.mpeg-tts",
@@ -155,7 +155,7 @@ namespace Emby.Dlna.Profiles
 
                 new ResponseProfile
                 {
-                    Container = "ts",
+                    Container = "ts,mpegts",
                     VideoCodec="h264",
                     AudioCodec="ac3,aac,mp3",
                     MimeType = "video/mpeg",
@@ -175,7 +175,7 @@ namespace Emby.Dlna.Profiles
 
                 new ResponseProfile
                 {
-                    Container = "ts",
+                    Container = "ts,mpegts",
                     VideoCodec="h264",
                     AudioCodec="ac3,aac,mp3",
                     MimeType = "video/vnd.dlna.mpeg-tts",
@@ -185,7 +185,7 @@ namespace Emby.Dlna.Profiles
 
                 new ResponseProfile
                 {
-                    Container = "ts",
+                    Container = "ts,mpegts",
                     VideoCodec="mpeg2video",
                     MimeType = "video/vnd.dlna.mpeg-tts",
                     OrgPn="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO",

+ 6 - 6
Emby.Dlna/Profiles/SonyBravia2013Profile.cs

@@ -65,14 +65,14 @@ namespace Emby.Dlna.Profiles
             {
                 new DirectPlayProfile
                 {
-                    Container = "ts",
+                    Container = "ts,mpegts",
                     VideoCodec = "h264",
                     AudioCodec = "ac3,eac3,aac,mp3",
                     Type = DlnaProfileType.Video
                 },
                 new DirectPlayProfile
                 {
-                    Container = "ts",
+                    Container = "ts,mpegts",
                     VideoCodec = "mpeg2video",
                     AudioCodec = "mp3,mp2",
                     Type = DlnaProfileType.Video
@@ -185,7 +185,7 @@ namespace Emby.Dlna.Profiles
             {
                 new ResponseProfile
                 {
-                    Container = "ts",
+                    Container = "ts,mpegts",
                     VideoCodec="h264",
                     AudioCodec="ac3,aac,mp3",
                     MimeType = "video/vnd.dlna.mpeg-tts",
@@ -211,7 +211,7 @@ namespace Emby.Dlna.Profiles
 
                 new ResponseProfile
                 {
-                    Container = "ts",
+                    Container = "ts,mpegts",
                     VideoCodec="h264",
                     AudioCodec="ac3,aac,mp3",
                     MimeType = "video/mpeg",
@@ -231,7 +231,7 @@ namespace Emby.Dlna.Profiles
 
                 new ResponseProfile
                 {
-                    Container = "ts",
+                    Container = "ts,mpegts",
                     VideoCodec="h264",
                     AudioCodec="ac3,aac,mp3",
                     MimeType = "video/vnd.dlna.mpeg-tts",
@@ -241,7 +241,7 @@ namespace Emby.Dlna.Profiles
 
                 new ResponseProfile
                 {
-                    Container = "ts",
+                    Container = "ts,mpegts",
                     VideoCodec="mpeg2video",
                     MimeType = "video/vnd.dlna.mpeg-tts",
                     OrgPn="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO",

+ 6 - 6
Emby.Dlna/Profiles/SonyBravia2014Profile.cs

@@ -65,14 +65,14 @@ namespace Emby.Dlna.Profiles
             {
                 new DirectPlayProfile
                 {
-                    Container = "ts",
+                    Container = "ts,mpegts",
                     VideoCodec = "h264",
                     AudioCodec = "ac3,eac3,aac,mp3",
                     Type = DlnaProfileType.Video
                 },
                 new DirectPlayProfile
                 {
-                    Container = "ts",
+                    Container = "ts,mpegts",
                     VideoCodec = "mpeg2video",
                     AudioCodec = "mp3,mp2",
                     Type = DlnaProfileType.Video
@@ -185,7 +185,7 @@ namespace Emby.Dlna.Profiles
             {
                 new ResponseProfile
                 {
-                    Container = "ts",
+                    Container = "ts,mpegts",
                     VideoCodec="h264",
                     AudioCodec="ac3,aac,mp3",
                     MimeType = "video/vnd.dlna.mpeg-tts",
@@ -211,7 +211,7 @@ namespace Emby.Dlna.Profiles
 
                 new ResponseProfile
                 {
-                    Container = "ts",
+                    Container = "ts,mpegts",
                     VideoCodec="h264",
                     AudioCodec="ac3,aac,mp3",
                     MimeType = "video/mpeg",
@@ -231,7 +231,7 @@ namespace Emby.Dlna.Profiles
 
                 new ResponseProfile
                 {
-                    Container = "ts",
+                    Container = "ts,mpegts",
                     VideoCodec="h264",
                     AudioCodec="ac3,aac,mp3",
                     MimeType = "video/vnd.dlna.mpeg-tts",
@@ -241,7 +241,7 @@ namespace Emby.Dlna.Profiles
 
                 new ResponseProfile
                 {
-                    Container = "ts",
+                    Container = "ts,mpegts",
                     VideoCodec="mpeg2video",
                     MimeType = "video/vnd.dlna.mpeg-tts",
                     OrgPn="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO",

+ 1 - 1
Emby.Dlna/Profiles/SonyPs3Profile.cs

@@ -49,7 +49,7 @@ namespace Emby.Dlna.Profiles
                 },
                 new DirectPlayProfile
                 {
-                    Container = "ts",
+                    Container = "ts,mpegts",
                     Type = DlnaProfileType.Video,
                     VideoCodec = "mpeg1video,mpeg2video,h264",
                     AudioCodec = "ac3,mp2,mp3,aac"

+ 1 - 1
Emby.Dlna/Profiles/SonyPs4Profile.cs

@@ -49,7 +49,7 @@ namespace Emby.Dlna.Profiles
                 },
                 new DirectPlayProfile
                 {
-                    Container = "ts",
+                    Container = "ts,mpegts",
                     Type = DlnaProfileType.Video,
                     VideoCodec = "mpeg1video,mpeg2video,h264",
                     AudioCodec = "ac3,mp2,mp3,aac"

+ 2 - 2
Emby.Dlna/Profiles/WdtvLiveProfile.cs

@@ -79,7 +79,7 @@ namespace Emby.Dlna.Profiles
 
                 new DirectPlayProfile
                 {
-                    Container = "ts,m2ts",
+                    Container = "ts,m2ts,mpegts",
                     Type = DlnaProfileType.Video,
                     VideoCodec = "mpeg1video,mpeg2video,h264,vc1",
                     AudioCodec = "ac3,eac3,dca,mp2,mp3,aac,dts"
@@ -155,7 +155,7 @@ namespace Emby.Dlna.Profiles
             {
                 new ResponseProfile
                 {
-                    Container = "ts",
+                    Container = "ts,mpegts",
                     OrgPn = "MPEG_TS_SD_NA",
                     Type = DlnaProfileType.Video
                 }

+ 1 - 1
Emby.Dlna/Profiles/XboxOneProfile.cs

@@ -59,7 +59,7 @@ namespace Emby.Dlna.Profiles
             {
                 new DirectPlayProfile
                 {
-                    Container = "ts",
+                    Container = "ts,mpegts",
                     VideoCodec = "h264,mpeg2video,hevc",
                     AudioCodec = "ac3,aac,mp3",
                     Type = DlnaProfileType.Video

+ 1 - 1
Emby.Dlna/Profiles/Xml/Default.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<Profile xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <Name>Generic Device</Name>
   <Manufacturer>Emby</Manufacturer>
   <ManufacturerUrl>http://emby.media/</ManufacturerUrl>

+ 1 - 1
Emby.Dlna/Profiles/Xml/Denon AVR.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<Profile xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <Name>Denon AVR</Name>
   <Identification>
     <FriendlyName>Denon:\[AVR:.*</FriendlyName>

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

@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<Profile xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <Name>DirecTV HD-DVR</Name>
   <Identification>
     <FriendlyName>^DIRECTV.*$</FriendlyName>

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

@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<Profile xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <Name>Dish Hopper-Joey</Name>
   <Identification>
     <Manufacturer>Echostar Technologies LLC</Manufacturer>
@@ -86,7 +86,7 @@
     </CodecProfile>
   </CodecProfiles>
   <ResponseProfiles>
-    <ResponseProfile container="mkv,ts" type="Video" mimeType="video/mp4">
+    <ResponseProfile container="mkv,ts,mpegts" type="Video" mimeType="video/mp4">
       <Conditions />
     </ResponseProfile>
   </ResponseProfiles>

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

@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<Profile xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <Name>LG Smart TV</Name>
   <Identification>
     <FriendlyName>LG.*</FriendlyName>

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

@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<Profile xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <Name>Linksys DMA2100</Name>
   <Identification>
     <ModelName>DMA2100us</ModelName>
@@ -34,7 +34,7 @@
   <XmlRootAttributes />
   <DirectPlayProfiles>
     <DirectPlayProfile container="mp3,flac,m4a,wma" type="Audio" />
-    <DirectPlayProfile container="avi,mp4,mkv,ts,m4v" type="Video" />
+    <DirectPlayProfile container="avi,mp4,mkv,ts,mpegts,m4v" type="Video" />
   </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" />

+ 1 - 1
Emby.Dlna/Profiles/Xml/Marantz.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<Profile xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <Name>Marantz</Name>
   <Identification>
     <Manufacturer>Marantz</Manufacturer>

+ 1 - 1
Emby.Dlna/Profiles/Xml/MediaMonkey.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<Profile xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <Name>MediaMonkey</Name>
   <Identification>
     <FriendlyName>MediaMonkey</FriendlyName>

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

@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<Profile xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <Name>Panasonic Viera</Name>
   <Identification>
     <FriendlyName>VIERA</FriendlyName>
@@ -40,7 +40,7 @@
   <DirectPlayProfiles>
     <DirectPlayProfile container="mpeg,mpg" audioCodec="ac3,mp3,pcm_dvd" videoCodec="mpeg2video,mpeg4" type="Video" />
     <DirectPlayProfile container="mkv" audioCodec="aac,ac3,dca,mp3,mp2,pcm,dts" videoCodec="h264,mpeg2video" type="Video" />
-    <DirectPlayProfile container="ts" audioCodec="aac,mp3,mp2" videoCodec="h264,mpeg2video" type="Video" />
+    <DirectPlayProfile container="ts,mpegts" audioCodec="aac,mp3,mp2" videoCodec="h264,mpeg2video" type="Video" />
     <DirectPlayProfile container="mp4,m4v" audioCodec="aac,ac3,mp3,pcm" videoCodec="h264" type="Video" />
     <DirectPlayProfile container="mov" audioCodec="aac,pcm" videoCodec="h264" type="Video" />
     <DirectPlayProfile container="avi" audioCodec="pcm" videoCodec="mpeg4" type="Video" />
@@ -73,7 +73,7 @@
     </CodecProfile>
   </CodecProfiles>
   <ResponseProfiles>
-    <ResponseProfile container="ts" type="Video" orgPn="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO" mimeType="video/vnd.dlna.mpeg-tts">
+    <ResponseProfile container="ts,mpegts" type="Video" orgPn="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO" mimeType="video/vnd.dlna.mpeg-tts">
       <Conditions />
     </ResponseProfile>
     <ResponseProfile container="m4v" type="Video" mimeType="video/mp4">

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

@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<Profile xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <Name>Popcorn Hour</Name>
   <Manufacturer>Emby</Manufacturer>
   <ManufacturerUrl>http://emby.media/</ManufacturerUrl>
@@ -30,7 +30,7 @@
   <XmlRootAttributes />
   <DirectPlayProfiles>
     <DirectPlayProfile container="mp4,mov,m4v" audioCodec="aac" videoCodec="h264,mpeg4" type="Video" />
-    <DirectPlayProfile container="ts" audioCodec="aac,ac3,eac3,mp3,mp2,pcm" videoCodec="h264" type="Video" />
+    <DirectPlayProfile container="ts,mpegts" audioCodec="aac,ac3,eac3,mp3,mp2,pcm" videoCodec="h264" type="Video" />
     <DirectPlayProfile container="asf,wmv" audioCodec="wmav2,wmapro" videoCodec="wmv3,vc1" type="Video" />
     <DirectPlayProfile container="avi" audioCodec="mp3,ac3,eac3,mp2,pcm" videoCodec="mpeg4,msmpeg4" type="Video" />
     <DirectPlayProfile container="mkv" audioCodec="aac,mp3,ac3,eac3,mp2,pcm" videoCodec="h264" type="Video" />

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

@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<Profile xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <Name>Samsung Smart TV</Name>
   <Identification>
     <ModelUrl>samsung.com</ModelUrl>
@@ -14,7 +14,7 @@
   <ModelNumber>Emby</ModelNumber>
   <ModelUrl>http://emby.media/</ModelUrl>
   <EnableAlbumArtInDidl>true</EnableAlbumArtInDidl>
-  <EnableSingleAlbumArtLimit>false</EnableSingleAlbumArtLimit>
+  <EnableSingleAlbumArtLimit>true</EnableSingleAlbumArtLimit>
   <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit>
   <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes>
   <AlbumArtPn>JPEG_SM</AlbumArtPn>
@@ -51,7 +51,7 @@
   </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" />
-    <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="ac3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" />
+    <TranscodingProfile container="ts,mpegts" type="Video" videoCodec="h264" audioCodec="ac3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" />
     <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" />
   </TranscodingProfiles>
   <ContainerProfiles>
@@ -100,7 +100,7 @@
       </Conditions>
       <ApplyConditions />
     </CodecProfile>
-    <CodecProfile type="VideoAudio" codec="ac3,wmav2,dca,aac,mp3,dts">
+    <CodecProfile type="VideoAudio" codec="wmav2,dca,aac,mp3,dts">
       <Conditions>
         <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="6" isRequired="true" />
       </Conditions>

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

@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<Profile xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <Name>Sharp Smart TV</Name>
   <Identification>
     <Manufacturer>Sharp</Manufacturer>

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

@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<Profile xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <Name>Sony Blu-ray Player 2013</Name>
   <Identification>
     <ModelNumber>BDP-2013</ModelNumber>

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

@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<Profile xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <Name>Sony Blu-ray Player 2014</Name>
   <Identification>
     <ModelNumber>BDP-2014</ModelNumber>

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

@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<Profile xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <Name>Sony Blu-ray Player 2015</Name>
   <Identification>
     <ModelNumber>BDP-2015</ModelNumber>

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

@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<Profile xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <Name>Sony Blu-ray Player 2016</Name>
   <Identification>
     <ModelNumber>BDP-2016</ModelNumber>

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

@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<Profile xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <Name>Sony Blu-ray Player</Name>
   <Identification>
     <FriendlyName>Blu-ray Disc Player</FriendlyName>
@@ -39,7 +39,7 @@
     <XmlAttribute name="xmlns:av" value="urn:schemas-sony-com:av" />
   </XmlRootAttributes>
   <DirectPlayProfiles>
-    <DirectPlayProfile container="ts" audioCodec="ac3,aac,mp3,pcm" videoCodec="mpeg1video,mpeg2video,h264" type="Video" />
+    <DirectPlayProfile container="ts,mpegts" audioCodec="ac3,aac,mp3,pcm" videoCodec="mpeg1video,mpeg2video,h264" type="Video" />
     <DirectPlayProfile container="mpeg" audioCodec="ac3,mp3,pcm" videoCodec="mpeg1video,mpeg2video" type="Video" />
     <DirectPlayProfile container="avi,mp4,m4v" audioCodec="ac3,aac,mp3,pcm" videoCodec="mpeg4,h264" type="Video" />
     <DirectPlayProfile container="mp3" audioCodec="mp3" type="Audio" />
@@ -84,7 +84,7 @@
     </CodecProfile>
   </CodecProfiles>
   <ResponseProfiles>
-    <ResponseProfile container="ts" audioCodec="ac3,aac,mp3" videoCodec="h264,mpeg4,vc1" type="Video" orgPn="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO" mimeType="video/vnd.dlna.mpeg-tts">
+    <ResponseProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264,mpeg4,vc1" type="Video" orgPn="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO" mimeType="video/vnd.dlna.mpeg-tts">
       <Conditions />
     </ResponseProfile>
     <ResponseProfile container="avi" type="Video" mimeType="video/mpeg">
@@ -93,7 +93,7 @@
     <ResponseProfile container="mkv" type="Video" mimeType="video/vnd.dlna.mpeg-tts">
       <Conditions />
     </ResponseProfile>
-    <ResponseProfile container="ts" type="Video" mimeType="video/vnd.dlna.mpeg-tts">
+    <ResponseProfile container="ts,mpegts" type="Video" mimeType="video/vnd.dlna.mpeg-tts">
       <Conditions />
     </ResponseProfile>
     <ResponseProfile container="mp4" type="Video" mimeType="video/mpeg">

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

@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<Profile xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <Name>Sony Bravia (2010)</Name>
   <Identification>
     <FriendlyName>KDL-\d{2}[EHLNPB]X\d[01]\d.*</FriendlyName>
@@ -39,8 +39,8 @@
     <XmlAttribute name="xmlns:av" value="urn:schemas-sony-com:av" />
   </XmlRootAttributes>
   <DirectPlayProfiles>
-    <DirectPlayProfile container="ts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" />
-    <DirectPlayProfile container="ts" audioCodec="mp3,mp2" videoCodec="mpeg1video,mpeg2video" type="Video" />
+    <DirectPlayProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" />
+    <DirectPlayProfile container="ts,mpegts" audioCodec="mp3,mp2" videoCodec="mpeg1video,mpeg2video" type="Video" />
     <DirectPlayProfile container="mpeg" audioCodec="mp3,mp2" videoCodec="mpeg2video,mpeg1video" type="Video" />
     <DirectPlayProfile container="mp3" audioCodec="mp3" type="Audio" />
   </DirectPlayProfiles>
@@ -106,21 +106,21 @@
     </CodecProfile>
   </CodecProfiles>
   <ResponseProfiles>
-    <ResponseProfile container="ts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3_T,AVC_TS_HD_50_AC3_T,AVC_TS_HD_60_AC3_T,AVC_TS_HD_EU_T" mimeType="video/vnd.dlna.mpeg-tts">
+    <ResponseProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3_T,AVC_TS_HD_50_AC3_T,AVC_TS_HD_60_AC3_T,AVC_TS_HD_EU_T" mimeType="video/vnd.dlna.mpeg-tts">
       <Conditions>
         <ProfileCondition condition="Equals" property="PacketLength" value="192" isRequired="true" />
         <ProfileCondition condition="Equals" property="VideoTimestamp" value="Valid" isRequired="true" />
       </Conditions>
     </ResponseProfile>
-    <ResponseProfile container="ts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3_ISO,AVC_TS_HD_50_AC3_ISO,AVC_TS_HD_60_AC3_ISO,AVC_TS_HD_EU_ISO" mimeType="video/mpeg">
+    <ResponseProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3_ISO,AVC_TS_HD_50_AC3_ISO,AVC_TS_HD_60_AC3_ISO,AVC_TS_HD_EU_ISO" mimeType="video/mpeg">
       <Conditions>
         <ProfileCondition condition="Equals" property="PacketLength" value="188" isRequired="true" />
       </Conditions>
     </ResponseProfile>
-    <ResponseProfile container="ts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3,AVC_TS_HD_50_AC3,AVC_TS_HD_60_AC3,AVC_TS_HD_EU" mimeType="video/vnd.dlna.mpeg-tts">
+    <ResponseProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3,AVC_TS_HD_50_AC3,AVC_TS_HD_60_AC3,AVC_TS_HD_EU" mimeType="video/vnd.dlna.mpeg-tts">
       <Conditions />
     </ResponseProfile>
-    <ResponseProfile container="ts" videoCodec="mpeg2video" type="Video" orgPn="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO" mimeType="video/vnd.dlna.mpeg-tts">
+    <ResponseProfile container="ts,mpegts" videoCodec="mpeg2video" type="Video" orgPn="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO" mimeType="video/vnd.dlna.mpeg-tts">
       <Conditions />
     </ResponseProfile>
     <ResponseProfile container="mpeg" videoCodec="mpeg1video,mpeg2video" type="Video" orgPn="MPEG_PS_NTSC,MPEG_PS_PAL" mimeType="video/mpeg">

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

@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<Profile xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <Name>Sony Bravia (2011)</Name>
   <Identification>
     <FriendlyName>KDL-\d{2}([A-Z]X\d2\d|CX400).*</FriendlyName>
@@ -39,8 +39,8 @@
     <XmlAttribute name="xmlns:av" value="urn:schemas-sony-com:av" />
   </XmlRootAttributes>
   <DirectPlayProfiles>
-    <DirectPlayProfile container="ts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" />
-    <DirectPlayProfile container="ts" audioCodec="mp3" videoCodec="mpeg2video" type="Video" />
+    <DirectPlayProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" />
+    <DirectPlayProfile container="ts,mpegts" audioCodec="mp3" videoCodec="mpeg2video" type="Video" />
     <DirectPlayProfile container="mp4,m4v" audioCodec="ac3,aac,mp3" videoCodec="h264,mpeg4" type="Video" />
     <DirectPlayProfile container="mpeg" audioCodec="mp3" videoCodec="mpeg2video,mpeg1video" type="Video" />
     <DirectPlayProfile container="asf" audioCodec="wmav2,wmapro,wmavoice" videoCodec="wmv2,wmv3,vc1" type="Video" />
@@ -109,21 +109,21 @@
     </CodecProfile>
   </CodecProfiles>
   <ResponseProfiles>
-    <ResponseProfile container="ts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3_T,AVC_TS_HD_50_AC3_T,AVC_TS_HD_60_AC3_T,AVC_TS_HD_EU_T" mimeType="video/vnd.dlna.mpeg-tts">
+    <ResponseProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3_T,AVC_TS_HD_50_AC3_T,AVC_TS_HD_60_AC3_T,AVC_TS_HD_EU_T" mimeType="video/vnd.dlna.mpeg-tts">
       <Conditions>
         <ProfileCondition condition="Equals" property="PacketLength" value="192" isRequired="true" />
         <ProfileCondition condition="Equals" property="VideoTimestamp" value="Valid" isRequired="true" />
       </Conditions>
     </ResponseProfile>
-    <ResponseProfile container="ts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3_ISO,AVC_TS_HD_50_AC3_ISO,AVC_TS_HD_60_AC3_ISO,AVC_TS_HD_EU_ISO" mimeType="video/mpeg">
+    <ResponseProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3_ISO,AVC_TS_HD_50_AC3_ISO,AVC_TS_HD_60_AC3_ISO,AVC_TS_HD_EU_ISO" mimeType="video/mpeg">
       <Conditions>
         <ProfileCondition condition="Equals" property="PacketLength" value="188" isRequired="true" />
       </Conditions>
     </ResponseProfile>
-    <ResponseProfile container="ts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3,AVC_TS_HD_50_AC3,AVC_TS_HD_60_AC3,AVC_TS_HD_EU" mimeType="video/vnd.dlna.mpeg-tts">
+    <ResponseProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3,AVC_TS_HD_50_AC3,AVC_TS_HD_60_AC3,AVC_TS_HD_EU" mimeType="video/vnd.dlna.mpeg-tts">
       <Conditions />
     </ResponseProfile>
-    <ResponseProfile container="ts" videoCodec="mpeg2video" type="Video" orgPn="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO" mimeType="video/vnd.dlna.mpeg-tts">
+    <ResponseProfile container="ts,mpegts" videoCodec="mpeg2video" type="Video" orgPn="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO" mimeType="video/vnd.dlna.mpeg-tts">
       <Conditions />
     </ResponseProfile>
     <ResponseProfile container="mpeg" videoCodec="mpeg1video,mpeg2video" type="Video" orgPn="MPEG_PS_NTSC,MPEG_PS_PAL" mimeType="video/mpeg">

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

@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<Profile xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <Name>Sony Bravia (2012)</Name>
   <Identification>
     <FriendlyName>KDL-\d{2}[A-Z]X\d5(\d|G).*</FriendlyName>
@@ -39,8 +39,8 @@
     <XmlAttribute name="xmlns:av" value="urn:schemas-sony-com:av" />
   </XmlRootAttributes>
   <DirectPlayProfiles>
-    <DirectPlayProfile container="ts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" />
-    <DirectPlayProfile container="ts" audioCodec="mp3,mp2" videoCodec="mpeg2video" type="Video" />
+    <DirectPlayProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" />
+    <DirectPlayProfile container="ts,mpegts" audioCodec="mp3,mp2" videoCodec="mpeg2video" type="Video" />
     <DirectPlayProfile container="mp4,m4v" audioCodec="ac3,aac,mp3,mp2" videoCodec="h264,mpeg4" type="Video" />
     <DirectPlayProfile container="avi" audioCodec="ac3,mp3" videoCodec="mpeg4" type="Video" />
     <DirectPlayProfile container="mpeg" audioCodec="mp3,mp2" videoCodec="mpeg2video,mpeg1video" type="Video" />
@@ -85,21 +85,21 @@
     </CodecProfile>
   </CodecProfiles>
   <ResponseProfiles>
-    <ResponseProfile container="ts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3_T,AVC_TS_HD_50_AC3_T,AVC_TS_HD_60_AC3_T,AVC_TS_HD_EU_T" mimeType="video/vnd.dlna.mpeg-tts">
+    <ResponseProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3_T,AVC_TS_HD_50_AC3_T,AVC_TS_HD_60_AC3_T,AVC_TS_HD_EU_T" mimeType="video/vnd.dlna.mpeg-tts">
       <Conditions>
         <ProfileCondition condition="Equals" property="PacketLength" value="192" isRequired="true" />
         <ProfileCondition condition="Equals" property="VideoTimestamp" value="Valid" isRequired="true" />
       </Conditions>
     </ResponseProfile>
-    <ResponseProfile container="ts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3_ISO,AVC_TS_HD_50_AC3_ISO,AVC_TS_HD_60_AC3_ISO,AVC_TS_HD_EU_ISO" mimeType="video/mpeg">
+    <ResponseProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3_ISO,AVC_TS_HD_50_AC3_ISO,AVC_TS_HD_60_AC3_ISO,AVC_TS_HD_EU_ISO" mimeType="video/mpeg">
       <Conditions>
         <ProfileCondition condition="Equals" property="PacketLength" value="188" isRequired="true" />
       </Conditions>
     </ResponseProfile>
-    <ResponseProfile container="ts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3,AVC_TS_HD_50_AC3,AVC_TS_HD_60_AC3,AVC_TS_HD_EU" mimeType="video/vnd.dlna.mpeg-tts">
+    <ResponseProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3,AVC_TS_HD_50_AC3,AVC_TS_HD_60_AC3,AVC_TS_HD_EU" mimeType="video/vnd.dlna.mpeg-tts">
       <Conditions />
     </ResponseProfile>
-    <ResponseProfile container="ts" videoCodec="mpeg2video" type="Video" orgPn="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO" mimeType="video/vnd.dlna.mpeg-tts">
+    <ResponseProfile container="ts,mpegts" videoCodec="mpeg2video" type="Video" orgPn="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO" mimeType="video/vnd.dlna.mpeg-tts">
       <Conditions />
     </ResponseProfile>
     <ResponseProfile container="mpeg" videoCodec="mpeg1video,mpeg2video" type="Video" orgPn="MPEG_PS_NTSC,MPEG_PS_PAL" mimeType="video/mpeg">

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

@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<Profile xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <Name>Sony Bravia (2013)</Name>
   <Identification>
     <FriendlyName>KDL-\d{2}[WR][5689]\d{2}A.*</FriendlyName>
@@ -39,8 +39,8 @@
     <XmlAttribute name="xmlns:av" value="urn:schemas-sony-com:av" />
   </XmlRootAttributes>
   <DirectPlayProfiles>
-    <DirectPlayProfile container="ts" audioCodec="ac3,eac3,aac,mp3" videoCodec="h264" type="Video" />
-    <DirectPlayProfile container="ts" audioCodec="mp3,mp2" videoCodec="mpeg2video" type="Video" />
+    <DirectPlayProfile container="ts,mpegts" audioCodec="ac3,eac3,aac,mp3" videoCodec="h264" type="Video" />
+    <DirectPlayProfile container="ts,mpegts" audioCodec="mp3,mp2" videoCodec="mpeg2video" type="Video" />
     <DirectPlayProfile container="mp4,m4v" audioCodec="ac3,eac3,aac,mp3,mp2" videoCodec="h264,mpeg4" type="Video" />
     <DirectPlayProfile container="mov" audioCodec="ac3,eac3,aac,mp3,mp2" videoCodec="h264,mpeg4,mjpeg" type="Video" />
     <DirectPlayProfile container="mkv" audioCodec="ac3,eac3,aac,mp3,mp2,pcm,vorbis" videoCodec="h264,mpeg4,vp8" type="Video" />
@@ -84,21 +84,21 @@
     </CodecProfile>
   </CodecProfiles>
   <ResponseProfiles>
-    <ResponseProfile container="ts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3_T,AVC_TS_HD_50_AC3_T,AVC_TS_HD_60_AC3_T,AVC_TS_HD_EU_T" mimeType="video/vnd.dlna.mpeg-tts">
+    <ResponseProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3_T,AVC_TS_HD_50_AC3_T,AVC_TS_HD_60_AC3_T,AVC_TS_HD_EU_T" mimeType="video/vnd.dlna.mpeg-tts">
       <Conditions>
         <ProfileCondition condition="Equals" property="PacketLength" value="192" isRequired="true" />
         <ProfileCondition condition="Equals" property="VideoTimestamp" value="Valid" isRequired="true" />
       </Conditions>
     </ResponseProfile>
-    <ResponseProfile container="ts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3_ISO,AVC_TS_HD_50_AC3_ISO,AVC_TS_HD_60_AC3_ISO,AVC_TS_HD_EU_ISO" mimeType="video/mpeg">
+    <ResponseProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3_ISO,AVC_TS_HD_50_AC3_ISO,AVC_TS_HD_60_AC3_ISO,AVC_TS_HD_EU_ISO" mimeType="video/mpeg">
       <Conditions>
         <ProfileCondition condition="Equals" property="PacketLength" value="188" isRequired="true" />
       </Conditions>
     </ResponseProfile>
-    <ResponseProfile container="ts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3,AVC_TS_HD_50_AC3,AVC_TS_HD_60_AC3,AVC_TS_HD_EU" mimeType="video/vnd.dlna.mpeg-tts">
+    <ResponseProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3,AVC_TS_HD_50_AC3,AVC_TS_HD_60_AC3,AVC_TS_HD_EU" mimeType="video/vnd.dlna.mpeg-tts">
       <Conditions />
     </ResponseProfile>
-    <ResponseProfile container="ts" videoCodec="mpeg2video" type="Video" orgPn="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO" mimeType="video/vnd.dlna.mpeg-tts">
+    <ResponseProfile container="ts,mpegts" videoCodec="mpeg2video" type="Video" orgPn="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO" mimeType="video/vnd.dlna.mpeg-tts">
       <Conditions />
     </ResponseProfile>
     <ResponseProfile container="mpeg" videoCodec="mpeg1video,mpeg2video" type="Video" orgPn="MPEG_PS_NTSC,MPEG_PS_PAL" mimeType="video/mpeg">

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

@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<Profile xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <Name>Sony Bravia (2014)</Name>
   <Identification>
     <FriendlyName>(KDL-\d{2}W[5-9]\d{2}B|KDL-\d{2}R480|XBR-\d{2}X[89]\d{2}B|KD-\d{2}[SX][89]\d{3}B).*</FriendlyName>
@@ -39,8 +39,8 @@
     <XmlAttribute name="xmlns:av" value="urn:schemas-sony-com:av" />
   </XmlRootAttributes>
   <DirectPlayProfiles>
-    <DirectPlayProfile container="ts" audioCodec="ac3,eac3,aac,mp3" videoCodec="h264" type="Video" />
-    <DirectPlayProfile container="ts" audioCodec="mp3,mp2" videoCodec="mpeg2video" type="Video" />
+    <DirectPlayProfile container="ts,mpegts" audioCodec="ac3,eac3,aac,mp3" videoCodec="h264" type="Video" />
+    <DirectPlayProfile container="ts,mpegts" audioCodec="mp3,mp2" videoCodec="mpeg2video" type="Video" />
     <DirectPlayProfile container="mp4,m4v" audioCodec="ac3,eac3,aac,mp3,mp2" videoCodec="h264,mpeg4" type="Video" />
     <DirectPlayProfile container="mov" audioCodec="ac3,eac3,aac,mp3,mp2" videoCodec="h264,mpeg4,mjpeg" type="Video" />
     <DirectPlayProfile container="mkv" audioCodec="ac3,eac3,aac,mp3,mp2,pcm,vorbis" videoCodec="h264,mpeg4,vp8" type="Video" />
@@ -84,21 +84,21 @@
     </CodecProfile>
   </CodecProfiles>
   <ResponseProfiles>
-    <ResponseProfile container="ts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3_T,AVC_TS_HD_50_AC3_T,AVC_TS_HD_60_AC3_T,AVC_TS_HD_EU_T" mimeType="video/vnd.dlna.mpeg-tts">
+    <ResponseProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3_T,AVC_TS_HD_50_AC3_T,AVC_TS_HD_60_AC3_T,AVC_TS_HD_EU_T" mimeType="video/vnd.dlna.mpeg-tts">
       <Conditions>
         <ProfileCondition condition="Equals" property="PacketLength" value="192" isRequired="true" />
         <ProfileCondition condition="Equals" property="VideoTimestamp" value="Valid" isRequired="true" />
       </Conditions>
     </ResponseProfile>
-    <ResponseProfile container="ts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3_ISO,AVC_TS_HD_50_AC3_ISO,AVC_TS_HD_60_AC3_ISO,AVC_TS_HD_EU_ISO" mimeType="video/mpeg">
+    <ResponseProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3_ISO,AVC_TS_HD_50_AC3_ISO,AVC_TS_HD_60_AC3_ISO,AVC_TS_HD_EU_ISO" mimeType="video/mpeg">
       <Conditions>
         <ProfileCondition condition="Equals" property="PacketLength" value="188" isRequired="true" />
       </Conditions>
     </ResponseProfile>
-    <ResponseProfile container="ts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3,AVC_TS_HD_50_AC3,AVC_TS_HD_60_AC3,AVC_TS_HD_EU" mimeType="video/vnd.dlna.mpeg-tts">
+    <ResponseProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3,AVC_TS_HD_50_AC3,AVC_TS_HD_60_AC3,AVC_TS_HD_EU" mimeType="video/vnd.dlna.mpeg-tts">
       <Conditions />
     </ResponseProfile>
-    <ResponseProfile container="ts" videoCodec="mpeg2video" type="Video" orgPn="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO" mimeType="video/vnd.dlna.mpeg-tts">
+    <ResponseProfile container="ts,mpegts" videoCodec="mpeg2video" type="Video" orgPn="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO" mimeType="video/vnd.dlna.mpeg-tts">
       <Conditions />
     </ResponseProfile>
     <ResponseProfile container="mpeg" videoCodec="mpeg1video,mpeg2video" type="Video" orgPn="MPEG_PS_NTSC,MPEG_PS_PAL" mimeType="video/mpeg">

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

@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<Profile xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <Name>Sony PlayStation 3</Name>
   <Identification>
     <FriendlyName>PLAYSTATION 3</FriendlyName>
@@ -38,7 +38,7 @@
   <XmlRootAttributes />
   <DirectPlayProfiles>
     <DirectPlayProfile container="avi" audioCodec="mp2,mp3" videoCodec="mpeg4" type="Video" />
-    <DirectPlayProfile container="ts" audioCodec="ac3,mp2,mp3,aac" videoCodec="mpeg1video,mpeg2video,h264" type="Video" />
+    <DirectPlayProfile container="ts,mpegts" audioCodec="ac3,mp2,mp3,aac" videoCodec="mpeg1video,mpeg2video,h264" type="Video" />
     <DirectPlayProfile container="mpeg" audioCodec="mp2" videoCodec="mpeg1video,mpeg2video" type="Video" />
     <DirectPlayProfile container="mp4" audioCodec="aac,ac3" videoCodec="h264,mpeg4" type="Video" />
     <DirectPlayProfile container="aac,mp3,wav" type="Audio" />

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

@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<Profile xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <Name>Sony PlayStation 4</Name>
   <Identification>
     <FriendlyName>PLAYSTATION 4</FriendlyName>
@@ -38,7 +38,7 @@
   <XmlRootAttributes />
   <DirectPlayProfiles>
     <DirectPlayProfile container="avi" audioCodec="mp2,mp3" videoCodec="mpeg4" type="Video" />
-    <DirectPlayProfile container="ts" audioCodec="ac3,mp2,mp3,aac" videoCodec="mpeg1video,mpeg2video,h264" type="Video" />
+    <DirectPlayProfile container="ts,mpegts" audioCodec="ac3,mp2,mp3,aac" videoCodec="mpeg1video,mpeg2video,h264" type="Video" />
     <DirectPlayProfile container="mpeg" audioCodec="mp2" videoCodec="mpeg1video,mpeg2video" type="Video" />
     <DirectPlayProfile container="mp4,mkv,m4v" audioCodec="aac,ac3" videoCodec="h264,mpeg4" type="Video" />
     <DirectPlayProfile container="aac,mp3,wav" type="Audio" />

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

@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<Profile xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <Name>WDTV Live</Name>
   <Identification>
     <ModelName>WD TV</ModelName>
@@ -39,7 +39,7 @@
     <DirectPlayProfile container="avi" audioCodec="ac3,eac3,dca,mp2,mp3,pcm,dts" videoCodec="mpeg1video,mpeg2video,mpeg4,h264,vc1" type="Video" />
     <DirectPlayProfile container="mpeg" audioCodec="ac3,eac3,dca,mp2,mp3,pcm,dts" videoCodec="mpeg1video,mpeg2video" type="Video" />
     <DirectPlayProfile container="mkv" audioCodec="ac3,eac3,dca,aac,mp2,mp3,pcm,dts" videoCodec="mpeg1video,mpeg2video,mpeg4,h264,vc1" type="Video" />
-    <DirectPlayProfile container="ts,m2ts" audioCodec="ac3,eac3,dca,mp2,mp3,aac,dts" videoCodec="mpeg1video,mpeg2video,h264,vc1" type="Video" />
+    <DirectPlayProfile container="ts,m2ts,mpegts" audioCodec="ac3,eac3,dca,mp2,mp3,aac,dts" videoCodec="mpeg1video,mpeg2video,h264,vc1" type="Video" />
     <DirectPlayProfile container="mp4,mov,m4v" audioCodec="ac3,eac3,aac,mp2,mp3,dca,dts" videoCodec="h264,mpeg4" type="Video" />
     <DirectPlayProfile container="asf" audioCodec="wmav2,wmapro" videoCodec="vc1" type="Video" />
     <DirectPlayProfile container="asf" audioCodec="mp2,ac3" videoCodec="mpeg2video" type="Video" />
@@ -80,7 +80,7 @@
     </CodecProfile>
   </CodecProfiles>
   <ResponseProfiles>
-    <ResponseProfile container="ts" type="Video" orgPn="MPEG_TS_SD_NA">
+    <ResponseProfile container="ts,mpegts" type="Video" orgPn="MPEG_TS_SD_NA">
       <Conditions />
     </ResponseProfile>
   </ResponseProfiles>

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

@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<Profile xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <Name>Xbox One</Name>
   <Identification>
     <ModelName>Xbox One</ModelName>
@@ -36,7 +36,7 @@
   <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests>
   <XmlRootAttributes />
   <DirectPlayProfiles>
-    <DirectPlayProfile container="ts" audioCodec="ac3,aac,mp3" videoCodec="h264,mpeg2video,hevc" type="Video" />
+    <DirectPlayProfile container="ts,mpegts" audioCodec="ac3,aac,mp3" videoCodec="h264,mpeg2video,hevc" type="Video" />
     <DirectPlayProfile container="avi" audioCodec="ac3,mp3" videoCodec="mpeg4" type="Video" />
     <DirectPlayProfile container="avi" audioCodec="aac" videoCodec="h264" type="Video" />
     <DirectPlayProfile container="mp4,mov,mkv,m4v" audioCodec="aac,ac3" videoCodec="h264,mpeg4,mpeg2video,hevc" type="Video" />

+ 1 - 1
Emby.Dlna/Profiles/Xml/foobar2000.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<Profile xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <Name>foobar2000</Name>
   <Identification>
     <FriendlyName>foobar</FriendlyName>

+ 0 - 11
Emby.Server.Implementations/Library/CoreResolutionIgnoreRule.cs

@@ -141,17 +141,6 @@ namespace Emby.Server.Implementations.Library
                         return true;
                     }
                 }
-                
-                // Ignore samples
-                var sampleFilename = " " + filename.Replace(".", " ", StringComparison.OrdinalIgnoreCase)
-                    .Replace("-", " ", StringComparison.OrdinalIgnoreCase)
-                    .Replace("_", " ", StringComparison.OrdinalIgnoreCase)
-                    .Replace("!", " ", StringComparison.OrdinalIgnoreCase);
-
-                if (sampleFilename.IndexOf(" sample ", StringComparison.OrdinalIgnoreCase) != -1)
-                {
-                    return true;
-                }
             }
 
             return false;

+ 0 - 20
Emby.Server.Implementations/Library/Resolvers/Movies/MovieResolver.cs

@@ -125,10 +125,6 @@ namespace Emby.Server.Implementations.Library.Resolvers.Movies
                 if (child.IsDirectory)
                 {
                     leftOver.Add(child);
-                }
-                else if (IsIgnored(child.Name))
-                {
-
                 }
                 else
                 {
@@ -298,22 +294,6 @@ namespace Emby.Server.Implementations.Library.Resolvers.Movies
             return item;
         }
 
-        private bool IsIgnored(string filename)
-        {
-            // Ignore samples
-            var sampleFilename = " " + filename.Replace(".", " ", StringComparison.OrdinalIgnoreCase)
-                .Replace("-", " ", StringComparison.OrdinalIgnoreCase)
-                .Replace("_", " ", StringComparison.OrdinalIgnoreCase)
-                .Replace("!", " ", StringComparison.OrdinalIgnoreCase);
-
-            if (sampleFilename.IndexOf(" sample ", StringComparison.OrdinalIgnoreCase) != -1)
-            {
-                return true;
-            }
-
-            return false;
-        }
-
         /// <summary>
         /// Sets the initial item values.
         /// </summary>

+ 34 - 3
Emby.Server.Implementations/Networking/NetworkManager.cs

@@ -19,10 +19,43 @@ namespace Emby.Server.Implementations.Networking
     {
         protected ILogger Logger { get; private set; }
         private DateTime _lastRefresh;
+        private int NetworkCacheMinutes = 360;
 
         public NetworkManager(ILogger logger)
         {
             Logger = logger;
+
+            try
+            {
+                NetworkChange.NetworkAddressChanged += NetworkChange_NetworkAddressChanged;
+            }
+            catch (Exception ex)
+            {
+                NetworkCacheMinutes = 15;
+                Logger.ErrorException("Error binding to NetworkAddressChanged event", ex);
+            }
+
+            try
+            {
+                NetworkChange.NetworkAvailabilityChanged += NetworkChange_NetworkAvailabilityChanged;
+            }
+            catch (Exception ex)
+            {
+                NetworkCacheMinutes = 15;
+                Logger.ErrorException("Error binding to NetworkChange_NetworkAvailabilityChanged event", ex);
+            }
+        }
+
+        private void NetworkChange_NetworkAvailabilityChanged(object sender, NetworkAvailabilityEventArgs e)
+        {
+            Logger.Debug("NetworkAvailabilityChanged");
+            _lastRefresh = DateTime.MinValue;
+        }
+
+        private void NetworkChange_NetworkAddressChanged(object sender, EventArgs e)
+        {
+            Logger.Debug("NetworkAddressChanged");
+            _lastRefresh = DateTime.MinValue;
         }
 
         private List<IpAddressInfo> _localIpAddresses;
@@ -30,11 +63,9 @@ namespace Emby.Server.Implementations.Networking
 
         public List<IpAddressInfo> GetLocalIpAddresses()
         {
-            const int cacheMinutes = 10;
-
             lock (_localIpAddressSyncLock)
             {
-                var forceRefresh = (DateTime.UtcNow - _lastRefresh).TotalMinutes >= cacheMinutes;
+                var forceRefresh = (DateTime.UtcNow - _lastRefresh).TotalMinutes >= NetworkCacheMinutes;
 
                 if (_localIpAddresses == null || forceRefresh)
                 {

+ 1 - 12
MediaBrowser.Common/Updates/GithubUpdater.cs

@@ -184,20 +184,9 @@ namespace MediaBrowser.Common.Updates
 
         private bool IsAsset(Asset asset, string assetFilename, string version)
         {
-            var downloadFilename = Path.GetFileNameWithoutExtension(asset.browser_download_url) ?? string.Empty;
-            var assetExtension = Path.GetExtension(assetFilename);
+            var downloadFilename = Path.GetFileName(asset.browser_download_url) ?? string.Empty;
 
             assetFilename = assetFilename.Replace("{version}", version);
-            assetFilename = Path.GetFileNameWithoutExtension(assetFilename);
-
-            var zipExtensions = new[] { ".zip", ".7z" };
-            var extensionMatch = zipExtensions.Contains(Path.GetExtension(asset.browser_download_url) ?? string.Empty, StringComparer.OrdinalIgnoreCase) &&
-                                 zipExtensions.Contains(assetExtension ?? string.Empty, StringComparer.OrdinalIgnoreCase);
-
-            if (!extensionMatch)
-            {
-                return false;
-            }
 
             if (downloadFilename.IndexOf(assetFilename, StringComparison.OrdinalIgnoreCase) != -1)
             {

+ 4 - 0
MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs

@@ -393,6 +393,10 @@ namespace MediaBrowser.Controller.MediaEncoding
             {
                 return "wmav2";
             }
+            if (string.Equals(codec, "opus", StringComparison.OrdinalIgnoreCase))
+            {
+                return "libopus";
+            }
 
             return codec.ToLower();
         }

+ 6 - 3
RSSDP/HttpRequestParser.cs

@@ -64,7 +64,7 @@ namespace Rssdp.Infrastructure
 			if (message == null) throw new ArgumentNullException("message");
 
 			var parts = data.Split(' ');
-			if (parts.Length < 3) throw new ArgumentException("Status line is invalid. Insufficient status parts.", "data");
+			if (parts.Length < 2) throw new ArgumentException("Status line is invalid. Insufficient status parts.", "data");
 
 			message.Method = new HttpMethod(parts[0].Trim());
 			Uri requestUri;
@@ -73,8 +73,11 @@ namespace Rssdp.Infrastructure
 			else
 				System.Diagnostics.Debug.WriteLine(parts[1]);
 
-			message.Version = ParseHttpVersion(parts[2].Trim());
-		}
+            if (parts.Length >= 3)
+            {
+                message.Version = ParseHttpVersion(parts[2].Trim());
+            }
+        }
 
 		/// <summary>
 		/// Returns a boolean indicating whether the specified HTTP header name represents a content header (true), or a message header (false).

+ 7 - 3
RSSDP/HttpResponseParser.cs

@@ -75,7 +75,7 @@ namespace Rssdp.Infrastructure
 			if (message == null) throw new ArgumentNullException("message");
 
 			var parts = data.Split(' ');
-			if (parts.Length < 3) throw new ArgumentException("data status line is invalid. Insufficient status parts.", "data");
+			if (parts.Length < 2) throw new ArgumentException("data status line is invalid. Insufficient status parts.", "data");
 
 			message.Version = ParseHttpVersion(parts[0].Trim());
 
@@ -84,8 +84,12 @@ namespace Rssdp.Infrastructure
 				throw new ArgumentException("data status line is invalid. Status code is not a valid integer.", "data");
 
 			message.StatusCode = (HttpStatusCode)statusCode;
-			message.ReasonPhrase = parts[2].Trim();
-		}
+
+            if (parts.Length >= 3)
+            {
+                message.ReasonPhrase = parts[2].Trim();
+            }
+        }
 
 		#endregion
 

+ 8 - 0
RSSDP/SsdpDevice.cs

@@ -743,6 +743,14 @@ namespace Rssdp
 
         private static void AddCustomProperty(XmlReader reader, SsdpDevice device)
         {
+            // If the property is an empty element, there is no value to read
+            // Advance the reader and return
+            if (reader.IsEmptyElement)
+            {
+                reader.Read();
+                return;
+            }
+
             var newProp = new SsdpDeviceProperty() { Namespace = reader.Prefix, Name = reader.LocalName };
             int depth = reader.Depth;
             reader.Read();

+ 1 - 1
SharedVersion.cs

@@ -1,3 +1,3 @@
 using System.Reflection;
 
-[assembly: AssemblyVersion("3.2.40.3")]
+[assembly: AssemblyVersion("3.2.40.4")]