Browse Source

Merge pull request #2131 from MediaBrowser/dev

Dev
Luke 9 năm trước cách đây
mục cha
commit
9bf6423291
25 tập tin đã thay đổi với 96 bổ sung107 xóa
  1. 1 0
      MediaBrowser.Controller/Providers/BaseItemXmlParser.cs
  2. 1 1
      MediaBrowser.Dlna/Profiles/PanasonicVieraProfile.cs
  3. 3 3
      MediaBrowser.Dlna/Profiles/SamsungSmartTvProfile.cs
  4. 1 1
      MediaBrowser.Dlna/Profiles/SonyBlurayPlayer2013.cs
  5. 1 1
      MediaBrowser.Dlna/Profiles/SonyBlurayPlayer2014.cs
  6. 1 1
      MediaBrowser.Dlna/Profiles/SonyBlurayPlayer2015.cs
  7. 1 1
      MediaBrowser.Dlna/Profiles/SonyBlurayPlayer2016.cs
  8. 5 5
      MediaBrowser.Dlna/Profiles/WdtvLiveProfile.cs
  9. 1 1
      MediaBrowser.Dlna/Profiles/Xml/Panasonic Viera.xml
  10. 3 3
      MediaBrowser.Dlna/Profiles/Xml/Samsung Smart TV.xml
  11. 1 1
      MediaBrowser.Dlna/Profiles/Xml/Sony Blu-ray Player 2013.xml
  12. 1 1
      MediaBrowser.Dlna/Profiles/Xml/Sony Blu-ray Player 2014.xml
  13. 1 1
      MediaBrowser.Dlna/Profiles/Xml/Sony Blu-ray Player 2015.xml
  14. 1 1
      MediaBrowser.Dlna/Profiles/Xml/Sony Blu-ray Player 2016.xml
  15. 5 5
      MediaBrowser.Dlna/Profiles/Xml/WDTV Live.xml
  16. 5 5
      MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj
  17. 5 2
      MediaBrowser.Server.Implementations/HttpServer/HttpListenerHost.cs
  18. 23 23
      MediaBrowser.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs
  19. 14 4
      MediaBrowser.Server.Implementations/LiveTv/TunerHosts/M3uParser.cs
  20. 1 1
      MediaBrowser.Server.Implementations/Sync/CloudSyncProfile.cs
  21. 1 2
      MediaBrowser.Server.Startup.Common/ApplicationHost.cs
  22. 5 0
      MediaBrowser.Server.Startup.Common/Browser/BrowserLauncher.cs
  23. 0 1
      MediaBrowser.Server.Startup.Common/MediaBrowser.Server.Startup.Common.csproj
  24. 0 43
      MediaBrowser.Server.Startup.Common/Migrations/OmdbEpisodeProviderMigration.cs
  25. 15 0
      MediaBrowser.ServerApplication/ServerNotifyIcon.cs

+ 1 - 0
MediaBrowser.Controller/Providers/BaseItemXmlParser.cs

@@ -768,6 +768,7 @@ namespace MediaBrowser.Controller.Providers
                     break;
                     break;
 
 
                 case "TMDbCollectionId":
                 case "TMDbCollectionId":
+                case "CollectionNumber":
                     var tmdbCollection = reader.ReadElementContentAsString();
                     var tmdbCollection = reader.ReadElementContentAsString();
                     if (!string.IsNullOrWhiteSpace(tmdbCollection))
                     if (!string.IsNullOrWhiteSpace(tmdbCollection))
                     {
                     {

+ 1 - 1
MediaBrowser.Dlna/Profiles/PanasonicVieraProfile.cs

@@ -66,7 +66,7 @@ namespace MediaBrowser.Dlna.Profiles
                {
                {
                    Container = "mkv",
                    Container = "mkv",
                    VideoCodec = "h264,mpeg2video",
                    VideoCodec = "h264,mpeg2video",
-                   AudioCodec = "aac,ac3,dca,mp3,mp2,pcm",
+                   AudioCodec = "aac,ac3,dca,mp3,mp2,pcm,dts",
                    Type = DlnaProfileType.Video
                    Type = DlnaProfileType.Video
                },
                },
 
 

+ 3 - 3
MediaBrowser.Dlna/Profiles/SamsungSmartTvProfile.cs

@@ -65,14 +65,14 @@ namespace MediaBrowser.Dlna.Profiles
                 {
                 {
                     Container = "avi",
                     Container = "avi",
                     VideoCodec = "h264,mpeg4,mjpeg",
                     VideoCodec = "h264,mpeg4,mjpeg",
-                    AudioCodec = "mp3,ac3,dca",
+                    AudioCodec = "mp3,ac3,dca,dts",
                     Type = DlnaProfileType.Video
                     Type = DlnaProfileType.Video
                 },
                 },
                 new DirectPlayProfile
                 new DirectPlayProfile
                 {
                 {
                     Container = "mkv",
                     Container = "mkv",
                     VideoCodec = "h264,mpeg4,mjpeg4",
                     VideoCodec = "h264,mpeg4,mjpeg4",
-                    AudioCodec = "mp3,ac3,dca,aac",
+                    AudioCodec = "mp3,ac3,dca,aac,dts",
                     Type = DlnaProfileType.Video
                     Type = DlnaProfileType.Video
                 },
                 },
                 new DirectPlayProfile
                 new DirectPlayProfile
@@ -300,7 +300,7 @@ namespace MediaBrowser.Dlna.Profiles
                new CodecProfile
                new CodecProfile
                {
                {
                    Type = CodecType.VideoAudio,
                    Type = CodecType.VideoAudio,
-                   Codec = "ac3,wmav2,dca,aac,mp3",
+                   Codec = "ac3,wmav2,dca,aac,mp3,dts",
 
 
                    Conditions = new[]
                    Conditions = new[]
                    {
                    {

+ 1 - 1
MediaBrowser.Dlna/Profiles/SonyBlurayPlayer2013.cs

@@ -115,7 +115,7 @@ namespace MediaBrowser.Dlna.Profiles
                 {
                 {
                     Container = "mkv",
                     Container = "mkv",
                     VideoCodec = "mpeg4,h264",
                     VideoCodec = "mpeg4,h264",
-                    AudioCodec = "ac3,dca,aac,mp3,pcm",
+                    AudioCodec = "ac3,dca,aac,mp3,pcm,dts",
                     Type = DlnaProfileType.Video
                     Type = DlnaProfileType.Video
                 },
                 },
                 new DirectPlayProfile
                 new DirectPlayProfile

+ 1 - 1
MediaBrowser.Dlna/Profiles/SonyBlurayPlayer2014.cs

@@ -115,7 +115,7 @@ namespace MediaBrowser.Dlna.Profiles
                 {
                 {
                     Container = "mkv",
                     Container = "mkv",
                     VideoCodec = "mpeg4,h264",
                     VideoCodec = "mpeg4,h264",
-                    AudioCodec = "ac3,dca,aac,mp3,pcm",
+                    AudioCodec = "ac3,dca,aac,mp3,pcm,dts",
                     Type = DlnaProfileType.Video
                     Type = DlnaProfileType.Video
                 },
                 },
                 new DirectPlayProfile
                 new DirectPlayProfile

+ 1 - 1
MediaBrowser.Dlna/Profiles/SonyBlurayPlayer2015.cs

@@ -103,7 +103,7 @@ namespace MediaBrowser.Dlna.Profiles
                 {
                 {
                     Container = "mkv",
                     Container = "mkv",
                     VideoCodec = "mpeg4,h264",
                     VideoCodec = "mpeg4,h264",
-                    AudioCodec = "ac3,dca,aac,mp3,pcm",
+                    AudioCodec = "ac3,dca,aac,mp3,pcm,dts",
                     Type = DlnaProfileType.Video
                     Type = DlnaProfileType.Video
                 },
                 },
                 new DirectPlayProfile
                 new DirectPlayProfile

+ 1 - 1
MediaBrowser.Dlna/Profiles/SonyBlurayPlayer2016.cs

@@ -103,7 +103,7 @@ namespace MediaBrowser.Dlna.Profiles
                 {
                 {
                     Container = "mkv",
                     Container = "mkv",
                     VideoCodec = "mpeg4,h264",
                     VideoCodec = "mpeg4,h264",
-                    AudioCodec = "ac3,dca,aac,mp3,pcm",
+                    AudioCodec = "ac3,dca,aac,mp3,pcm,dts",
                     Type = DlnaProfileType.Video
                     Type = DlnaProfileType.Video
                 },
                 },
                 new DirectPlayProfile
                 new DirectPlayProfile

+ 5 - 5
MediaBrowser.Dlna/Profiles/WdtvLiveProfile.cs

@@ -58,7 +58,7 @@ namespace MediaBrowser.Dlna.Profiles
                     Container = "avi",
                     Container = "avi",
                     Type = DlnaProfileType.Video,
                     Type = DlnaProfileType.Video,
                     VideoCodec = "mpeg1video,mpeg2video,mpeg4,h264,vc1",
                     VideoCodec = "mpeg1video,mpeg2video,mpeg4,h264,vc1",
-                    AudioCodec = "ac3,dca,mp2,mp3,pcm,dca"
+                    AudioCodec = "ac3,dca,mp2,mp3,pcm,dts"
                 },
                 },
 
 
                 new DirectPlayProfile
                 new DirectPlayProfile
@@ -66,7 +66,7 @@ namespace MediaBrowser.Dlna.Profiles
                     Container = "mpeg",
                     Container = "mpeg",
                     Type = DlnaProfileType.Video,
                     Type = DlnaProfileType.Video,
                     VideoCodec = "mpeg1video,mpeg2video",
                     VideoCodec = "mpeg1video,mpeg2video",
-                    AudioCodec = "ac3,dca,mp2,mp3,pcm,dca"
+                    AudioCodec = "ac3,dca,mp2,mp3,pcm,dts"
                 },
                 },
 
 
                 new DirectPlayProfile
                 new DirectPlayProfile
@@ -74,7 +74,7 @@ namespace MediaBrowser.Dlna.Profiles
                     Container = "mkv",
                     Container = "mkv",
                     Type = DlnaProfileType.Video,
                     Type = DlnaProfileType.Video,
                     VideoCodec = "mpeg1video,mpeg2video,mpeg4,h264,vc1",
                     VideoCodec = "mpeg1video,mpeg2video,mpeg4,h264,vc1",
-                    AudioCodec = "ac3,dca,aac,mp2,mp3,pcm,dca"
+                    AudioCodec = "ac3,dca,aac,mp2,mp3,pcm,dts"
                 },
                 },
 
 
                 new DirectPlayProfile
                 new DirectPlayProfile
@@ -82,7 +82,7 @@ namespace MediaBrowser.Dlna.Profiles
                     Container = "ts,m2ts",
                     Container = "ts,m2ts",
                     Type = DlnaProfileType.Video,
                     Type = DlnaProfileType.Video,
                     VideoCodec = "mpeg1video,mpeg2video,h264,vc1",
                     VideoCodec = "mpeg1video,mpeg2video,h264,vc1",
-                    AudioCodec = "ac3,dca,mp2,mp3,aac,dca"
+                    AudioCodec = "ac3,dca,mp2,mp3,aac,dts"
                 },
                 },
 
 
                 new DirectPlayProfile
                 new DirectPlayProfile
@@ -90,7 +90,7 @@ namespace MediaBrowser.Dlna.Profiles
                     Container = "mp4,mov",
                     Container = "mp4,mov",
                     Type = DlnaProfileType.Video,
                     Type = DlnaProfileType.Video,
                     VideoCodec = "h264,mpeg4",
                     VideoCodec = "h264,mpeg4",
-                    AudioCodec = "ac3,aac,mp2,mp3,dca"
+                    AudioCodec = "ac3,aac,mp2,mp3,dca,dts"
                 },
                 },
 
 
                 new DirectPlayProfile
                 new DirectPlayProfile

+ 1 - 1
MediaBrowser.Dlna/Profiles/Xml/Panasonic Viera.xml

@@ -39,7 +39,7 @@
   </XmlRootAttributes>
   </XmlRootAttributes>
   <DirectPlayProfiles>
   <DirectPlayProfiles>
     <DirectPlayProfile container="mpeg,mpg" audioCodec="ac3,mp3,pcm_dvd" videoCodec="mpeg2video,mpeg4" type="Video" />
     <DirectPlayProfile container="mpeg,mpg" audioCodec="ac3,mp3,pcm_dvd" videoCodec="mpeg2video,mpeg4" type="Video" />
-    <DirectPlayProfile container="mkv" audioCodec="aac,ac3,dca,mp3,mp2,pcm" videoCodec="h264,mpeg2video" 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" audioCodec="aac,mp3,mp2" videoCodec="h264,mpeg2video" type="Video" />
     <DirectPlayProfile container="mp4" audioCodec="aac,ac3,mp3,pcm" videoCodec="h264" type="Video" />
     <DirectPlayProfile container="mp4" audioCodec="aac,ac3,mp3,pcm" videoCodec="h264" type="Video" />
     <DirectPlayProfile container="mov" audioCodec="aac,pcm" videoCodec="h264" type="Video" />
     <DirectPlayProfile container="mov" audioCodec="aac,pcm" videoCodec="h264" type="Video" />

+ 3 - 3
MediaBrowser.Dlna/Profiles/Xml/Samsung Smart TV.xml

@@ -38,8 +38,8 @@
   </XmlRootAttributes>
   </XmlRootAttributes>
   <DirectPlayProfiles>
   <DirectPlayProfiles>
     <DirectPlayProfile container="asf" audioCodec="mp3,ac3,wmav2,wmapro,wmavoice" videoCodec="h264,mpeg4,mjpeg" type="Video" />
     <DirectPlayProfile container="asf" audioCodec="mp3,ac3,wmav2,wmapro,wmavoice" videoCodec="h264,mpeg4,mjpeg" type="Video" />
-    <DirectPlayProfile container="avi" audioCodec="mp3,ac3,dca" videoCodec="h264,mpeg4,mjpeg" type="Video" />
-    <DirectPlayProfile container="mkv" audioCodec="mp3,ac3,dca,aac" videoCodec="h264,mpeg4,mjpeg4" type="Video" />
+    <DirectPlayProfile container="avi" audioCodec="mp3,ac3,dca,dts" videoCodec="h264,mpeg4,mjpeg" type="Video" />
+    <DirectPlayProfile container="mkv" audioCodec="mp3,ac3,dca,aac,dts" videoCodec="h264,mpeg4,mjpeg4" type="Video" />
     <DirectPlayProfile container="mp4" audioCodec="mp3,aac" videoCodec="h264,mpeg4" type="Video" />
     <DirectPlayProfile container="mp4" audioCodec="mp3,aac" videoCodec="h264,mpeg4" type="Video" />
     <DirectPlayProfile container="3gp" audioCodec="aac,he-aac" videoCodec="h264,mpeg4" type="Video" />
     <DirectPlayProfile container="3gp" audioCodec="aac,he-aac" videoCodec="h264,mpeg4" type="Video" />
     <DirectPlayProfile container="mpg,mpeg" audioCodec="ac3,mp2,mp3,aac" videoCodec="mpeg1video,mpeg2video,h264" type="Video" />
     <DirectPlayProfile container="mpg,mpeg" audioCodec="ac3,mp2,mp3,aac" videoCodec="mpeg1video,mpeg2video,h264" type="Video" />
@@ -100,7 +100,7 @@
       </Conditions>
       </Conditions>
       <ApplyConditions />
       <ApplyConditions />
     </CodecProfile>
     </CodecProfile>
-    <CodecProfile type="VideoAudio" codec="ac3,wmav2,dca,aac,mp3">
+    <CodecProfile type="VideoAudio" codec="ac3,wmav2,dca,aac,mp3,dts">
       <Conditions>
       <Conditions>
         <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="6" isRequired="true" />
         <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="6" isRequired="true" />
       </Conditions>
       </Conditions>

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

@@ -45,7 +45,7 @@
     <DirectPlayProfile container="mpeg,mpg" audioCodec="ac3,mp3,mp2,pcm" videoCodec="mpeg1video,mpeg2video" type="Video" />
     <DirectPlayProfile container="mpeg,mpg" audioCodec="ac3,mp3,mp2,pcm" videoCodec="mpeg1video,mpeg2video" type="Video" />
     <DirectPlayProfile container="mp4,m4v" audioCodec="ac3,aac,pcm,mp3" videoCodec="mpeg4,h264" type="Video" />
     <DirectPlayProfile container="mp4,m4v" audioCodec="ac3,aac,pcm,mp3" videoCodec="mpeg4,h264" type="Video" />
     <DirectPlayProfile container="avi" audioCodec="ac3,aac,mp3,pcm" videoCodec="mpeg4,h264" type="Video" />
     <DirectPlayProfile container="avi" audioCodec="ac3,aac,mp3,pcm" videoCodec="mpeg4,h264" type="Video" />
-    <DirectPlayProfile container="mkv" audioCodec="ac3,dca,aac,mp3,pcm" videoCodec="mpeg4,h264" type="Video" />
+    <DirectPlayProfile container="mkv" audioCodec="ac3,dca,aac,mp3,pcm,dts" videoCodec="mpeg4,h264" type="Video" />
     <DirectPlayProfile container="m2ts,mts" audioCodec="aac,mp3,ac3,dca,dts" videoCodec="h264,mpeg4,vc1" type="Video" />
     <DirectPlayProfile container="m2ts,mts" audioCodec="aac,mp3,ac3,dca,dts" videoCodec="h264,mpeg4,vc1" type="Video" />
     <DirectPlayProfile container="wmv,asf" type="Video" />
     <DirectPlayProfile container="wmv,asf" type="Video" />
     <DirectPlayProfile container="mp3,m4a,wma,wav" type="Audio" />
     <DirectPlayProfile container="mp3,m4a,wma,wav" type="Audio" />

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

@@ -45,7 +45,7 @@
     <DirectPlayProfile container="mpeg,mpg" audioCodec="ac3,mp3,mp2,pcm" videoCodec="mpeg1video,mpeg2video" type="Video" />
     <DirectPlayProfile container="mpeg,mpg" audioCodec="ac3,mp3,mp2,pcm" videoCodec="mpeg1video,mpeg2video" type="Video" />
     <DirectPlayProfile container="mp4,m4v" audioCodec="ac3,aac,pcm,mp3" videoCodec="mpeg4,h264" type="Video" />
     <DirectPlayProfile container="mp4,m4v" audioCodec="ac3,aac,pcm,mp3" videoCodec="mpeg4,h264" type="Video" />
     <DirectPlayProfile container="avi" audioCodec="ac3,aac,mp3,pcm" videoCodec="mpeg4,h264" type="Video" />
     <DirectPlayProfile container="avi" audioCodec="ac3,aac,mp3,pcm" videoCodec="mpeg4,h264" type="Video" />
-    <DirectPlayProfile container="mkv" audioCodec="ac3,dca,aac,mp3,pcm" videoCodec="mpeg4,h264" type="Video" />
+    <DirectPlayProfile container="mkv" audioCodec="ac3,dca,aac,mp3,pcm,dts" videoCodec="mpeg4,h264" type="Video" />
     <DirectPlayProfile container="m2ts,mts" audioCodec="aac,mp3,ac3,dca,dts" videoCodec="h264,mpeg4,vc1" type="Video" />
     <DirectPlayProfile container="m2ts,mts" audioCodec="aac,mp3,ac3,dca,dts" videoCodec="h264,mpeg4,vc1" type="Video" />
     <DirectPlayProfile container="wmv,asf" type="Video" />
     <DirectPlayProfile container="wmv,asf" type="Video" />
     <DirectPlayProfile container="mp3,m4a,wma,wav" type="Audio" />
     <DirectPlayProfile container="mp3,m4a,wma,wav" type="Audio" />

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

@@ -43,7 +43,7 @@
     <DirectPlayProfile container="mpeg,mpg" audioCodec="ac3,mp3,mp2,pcm" videoCodec="mpeg1video,mpeg2video" type="Video" />
     <DirectPlayProfile container="mpeg,mpg" audioCodec="ac3,mp3,mp2,pcm" videoCodec="mpeg1video,mpeg2video" type="Video" />
     <DirectPlayProfile container="mp4,m4v" audioCodec="ac3,aac,pcm,mp3" videoCodec="mpeg4,h264" type="Video" />
     <DirectPlayProfile container="mp4,m4v" audioCodec="ac3,aac,pcm,mp3" videoCodec="mpeg4,h264" type="Video" />
     <DirectPlayProfile container="avi" audioCodec="ac3,aac,mp3,pcm" videoCodec="mpeg4,h264" type="Video" />
     <DirectPlayProfile container="avi" audioCodec="ac3,aac,mp3,pcm" videoCodec="mpeg4,h264" type="Video" />
-    <DirectPlayProfile container="mkv" audioCodec="ac3,dca,aac,mp3,pcm" videoCodec="mpeg4,h264" type="Video" />
+    <DirectPlayProfile container="mkv" audioCodec="ac3,dca,aac,mp3,pcm,dts" videoCodec="mpeg4,h264" type="Video" />
     <DirectPlayProfile container="m2ts,mts" audioCodec="aac,mp3,ac3,dca,dts" videoCodec="h264,mpeg4,vc1" type="Video" />
     <DirectPlayProfile container="m2ts,mts" audioCodec="aac,mp3,ac3,dca,dts" videoCodec="h264,mpeg4,vc1" type="Video" />
     <DirectPlayProfile container="wmv,asf" type="Video" />
     <DirectPlayProfile container="wmv,asf" type="Video" />
     <DirectPlayProfile container="mp3,m4a,wma,wav" type="Audio" />
     <DirectPlayProfile container="mp3,m4a,wma,wav" type="Audio" />

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

@@ -43,7 +43,7 @@
     <DirectPlayProfile container="mpeg,mpg" audioCodec="ac3,mp3,mp2,pcm" videoCodec="mpeg1video,mpeg2video" type="Video" />
     <DirectPlayProfile container="mpeg,mpg" audioCodec="ac3,mp3,mp2,pcm" videoCodec="mpeg1video,mpeg2video" type="Video" />
     <DirectPlayProfile container="mp4,m4v" audioCodec="ac3,aac,pcm,mp3" videoCodec="mpeg4,h264" type="Video" />
     <DirectPlayProfile container="mp4,m4v" audioCodec="ac3,aac,pcm,mp3" videoCodec="mpeg4,h264" type="Video" />
     <DirectPlayProfile container="avi" audioCodec="ac3,aac,mp3,pcm" videoCodec="mpeg4,h264" type="Video" />
     <DirectPlayProfile container="avi" audioCodec="ac3,aac,mp3,pcm" videoCodec="mpeg4,h264" type="Video" />
-    <DirectPlayProfile container="mkv" audioCodec="ac3,dca,aac,mp3,pcm" videoCodec="mpeg4,h264" type="Video" />
+    <DirectPlayProfile container="mkv" audioCodec="ac3,dca,aac,mp3,pcm,dts" videoCodec="mpeg4,h264" type="Video" />
     <DirectPlayProfile container="m2ts,mts" audioCodec="aac,mp3,ac3,dca,dts" videoCodec="h264,mpeg4,vc1" type="Video" />
     <DirectPlayProfile container="m2ts,mts" audioCodec="aac,mp3,ac3,dca,dts" videoCodec="h264,mpeg4,vc1" type="Video" />
     <DirectPlayProfile container="wmv,asf" type="Video" />
     <DirectPlayProfile container="wmv,asf" type="Video" />
     <DirectPlayProfile container="mp3,m4a,wma,wav" type="Audio" />
     <DirectPlayProfile container="mp3,m4a,wma,wav" type="Audio" />

+ 5 - 5
MediaBrowser.Dlna/Profiles/Xml/WDTV Live.xml

@@ -36,11 +36,11 @@
   <IgnoreTranscodeByteRangeRequests>true</IgnoreTranscodeByteRangeRequests>
   <IgnoreTranscodeByteRangeRequests>true</IgnoreTranscodeByteRangeRequests>
   <XmlRootAttributes />
   <XmlRootAttributes />
   <DirectPlayProfiles>
   <DirectPlayProfiles>
-    <DirectPlayProfile container="avi" audioCodec="ac3,dca,mp2,mp3,pcm,dca" videoCodec="mpeg1video,mpeg2video,mpeg4,h264,vc1" type="Video" />
-    <DirectPlayProfile container="mpeg" audioCodec="ac3,dca,mp2,mp3,pcm,dca" videoCodec="mpeg1video,mpeg2video" type="Video" />
-    <DirectPlayProfile container="mkv" audioCodec="ac3,dca,aac,mp2,mp3,pcm,dca" videoCodec="mpeg1video,mpeg2video,mpeg4,h264,vc1" type="Video" />
-    <DirectPlayProfile container="ts,m2ts" audioCodec="ac3,dca,mp2,mp3,aac,dca" videoCodec="mpeg1video,mpeg2video,h264,vc1" type="Video" />
-    <DirectPlayProfile container="mp4,mov" audioCodec="ac3,aac,mp2,mp3,dca" videoCodec="h264,mpeg4" type="Video" />
+    <DirectPlayProfile container="avi" audioCodec="ac3,dca,mp2,mp3,pcm,dts" videoCodec="mpeg1video,mpeg2video,mpeg4,h264,vc1" type="Video" />
+    <DirectPlayProfile container="mpeg" audioCodec="ac3,dca,mp2,mp3,pcm,dts" videoCodec="mpeg1video,mpeg2video" type="Video" />
+    <DirectPlayProfile container="mkv" audioCodec="ac3,dca,aac,mp2,mp3,pcm,dts" videoCodec="mpeg1video,mpeg2video,mpeg4,h264,vc1" type="Video" />
+    <DirectPlayProfile container="ts,m2ts" audioCodec="ac3,dca,mp2,mp3,aac,dts" videoCodec="mpeg1video,mpeg2video,h264,vc1" type="Video" />
+    <DirectPlayProfile container="mp4,mov" audioCodec="ac3,aac,mp2,mp3,dca,dts" videoCodec="h264,mpeg4" type="Video" />
     <DirectPlayProfile container="asf" audioCodec="wmav2,wmapro" videoCodec="vc1" type="Video" />
     <DirectPlayProfile container="asf" audioCodec="wmav2,wmapro" videoCodec="vc1" type="Video" />
     <DirectPlayProfile container="asf" audioCodec="mp2,ac3" videoCodec="mpeg2video" type="Video" />
     <DirectPlayProfile container="asf" audioCodec="mp2,ac3" videoCodec="mpeg2video" type="Video" />
     <DirectPlayProfile container="mp3" audioCodec="mp2,mp3" type="Audio" />
     <DirectPlayProfile container="mp3" audioCodec="mp2,mp3" type="Audio" />

+ 5 - 5
MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj

@@ -51,7 +51,7 @@
     <Reference Include="System.Xml" />
     <Reference Include="System.Xml" />
   </ItemGroup>
   </ItemGroup>
   <ItemGroup>
   <ItemGroup>
-    <Compile Include="..\mediabrowser.model\activity\ActivityLogEntry.cs">
+    <Compile Include="..\MediaBrowser.Model\Activity\ActivityLogEntry.cs">
       <Link>Activity\ActivityLogEntry.cs</Link>
       <Link>Activity\ActivityLogEntry.cs</Link>
     </Compile>
     </Compile>
     <Compile Include="..\MediaBrowser.Model\ApiClient\ApiHelpers.cs">
     <Compile Include="..\MediaBrowser.Model\ApiClient\ApiHelpers.cs">
@@ -249,7 +249,7 @@
     <Compile Include="..\MediaBrowser.Model\Connect\PinStatusResult.cs">
     <Compile Include="..\MediaBrowser.Model\Connect\PinStatusResult.cs">
       <Link>Connect\PinStatusResult.cs</Link>
       <Link>Connect\PinStatusResult.cs</Link>
     </Compile>
     </Compile>
-    <Compile Include="..\mediabrowser.model\connect\UserLinkType.cs">
+    <Compile Include="..\MediaBrowser.Model\Connect\UserLinkType.cs">
       <Link>Connect\UserLinkType.cs</Link>
       <Link>Connect\UserLinkType.cs</Link>
     </Compile>
     </Compile>
     <Compile Include="..\MediaBrowser.Model\Devices\ContentUploadHistory.cs">
     <Compile Include="..\MediaBrowser.Model\Devices\ContentUploadHistory.cs">
@@ -948,7 +948,7 @@
     <Compile Include="..\MediaBrowser.Model\Querying\UserQuery.cs">
     <Compile Include="..\MediaBrowser.Model\Querying\UserQuery.cs">
       <Link>Querying\UserQuery.cs</Link>
       <Link>Querying\UserQuery.cs</Link>
     </Compile>
     </Compile>
-    <Compile Include="..\mediabrowser.model\registration\RegistrationInfo.cs">
+    <Compile Include="..\MediaBrowser.Model\Registration\RegistrationInfo.cs">
       <Link>Registration\RegistrationInfo.cs</Link>
       <Link>Registration\RegistrationInfo.cs</Link>
     </Compile>
     </Compile>
     <Compile Include="..\MediaBrowser.Model\Search\SearchHint.cs">
     <Compile Include="..\MediaBrowser.Model\Search\SearchHint.cs">
@@ -1020,7 +1020,7 @@
     <Compile Include="..\MediaBrowser.Model\Session\UserDataChangeInfo.cs">
     <Compile Include="..\MediaBrowser.Model\Session\UserDataChangeInfo.cs">
       <Link>Session\UserDataChangeInfo.cs</Link>
       <Link>Session\UserDataChangeInfo.cs</Link>
     </Compile>
     </Compile>
-    <Compile Include="..\mediabrowser.model\social\SocialShareInfo.cs">
+    <Compile Include="..\MediaBrowser.Model\Social\SocialShareInfo.cs">
       <Link>Social\SocialShareInfo.cs</Link>
       <Link>Social\SocialShareInfo.cs</Link>
     </Compile>
     </Compile>
     <Compile Include="..\MediaBrowser.Model\Sync\CompleteSyncJobInfo.cs">
     <Compile Include="..\MediaBrowser.Model\Sync\CompleteSyncJobInfo.cs">
@@ -1193,4 +1193,4 @@
   <Target Name="AfterBuild">
   <Target Name="AfterBuild">
   </Target>
   </Target>
   -->
   -->
-</Project>
+</Project>

+ 5 - 2
MediaBrowser.Server.Implementations/HttpServer/HttpListenerHost.cs

@@ -71,14 +71,17 @@ namespace MediaBrowser.Server.Implementations.HttpServer
 
 
             HostConfig.Instance.MapExceptionToStatusCode = new Dictionary<Type, int>
             HostConfig.Instance.MapExceptionToStatusCode = new Dictionary<Type, int>
             {
             {
-                {typeof (InvalidOperationException), 422},
+                {typeof (InvalidOperationException), 500},
+                {typeof (NotImplementedException), 500},
                 {typeof (ResourceNotFoundException), 404},
                 {typeof (ResourceNotFoundException), 404},
                 {typeof (FileNotFoundException), 404},
                 {typeof (FileNotFoundException), 404},
                 {typeof (DirectoryNotFoundException), 404},
                 {typeof (DirectoryNotFoundException), 404},
                 {typeof (SecurityException), 401},
                 {typeof (SecurityException), 401},
                 {typeof (PaymentRequiredException), 402},
                 {typeof (PaymentRequiredException), 402},
                 {typeof (UnauthorizedAccessException), 500},
                 {typeof (UnauthorizedAccessException), 500},
-                {typeof (ApplicationException), 500}
+                {typeof (ApplicationException), 500},
+                {typeof (PlatformNotSupportedException), 500},
+                {typeof (NotSupportedException), 500}
             };
             };
 
 
             HostConfig.Instance.GlobalResponseHeaders = new Dictionary<string, string>();
             HostConfig.Instance.GlobalResponseHeaders = new Dictionary<string, string>();

+ 23 - 23
MediaBrowser.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs

@@ -851,29 +851,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
             var recordPath = RecordingPath;
             var recordPath = RecordingPath;
             var config = GetConfiguration();
             var config = GetConfiguration();
 
 
-            if (info.IsMovie)
-            {
-                var customRecordingPath = config.MovieRecordingPath;
-                var allowSubfolder = true;
-                if (!string.IsNullOrWhiteSpace(customRecordingPath))
-                {
-                    allowSubfolder = string.Equals(customRecordingPath, recordPath, StringComparison.OrdinalIgnoreCase);
-                    recordPath = customRecordingPath;
-                }
-
-                if (allowSubfolder && config.EnableRecordingSubfolders)
-                {
-                    recordPath = Path.Combine(recordPath, "Movies");
-                }
-
-                var folderName = _fileSystem.GetValidFilename(info.Name).Trim();
-                if (info.ProductionYear.HasValue)
-                {
-                    folderName += " (" + info.ProductionYear.Value.ToString(CultureInfo.InvariantCulture) + ")";
-                }
-                recordPath = Path.Combine(recordPath, folderName);
-            }
-            else if (info.IsSeries)
+            if (info.IsSeries)
             {
             {
                 var customRecordingPath = config.SeriesRecordingPath;
                 var customRecordingPath = config.SeriesRecordingPath;
                 var allowSubfolder = true;
                 var allowSubfolder = true;
@@ -910,6 +888,28 @@ namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
                     recordPath = Path.Combine(recordPath, folderName);
                     recordPath = Path.Combine(recordPath, folderName);
                 }
                 }
             }
             }
+            else if (info.IsMovie)
+            {
+                var customRecordingPath = config.MovieRecordingPath;
+                var allowSubfolder = true;
+                if (!string.IsNullOrWhiteSpace(customRecordingPath))
+                {
+                    allowSubfolder = string.Equals(customRecordingPath, recordPath, StringComparison.OrdinalIgnoreCase);
+                    recordPath = customRecordingPath;
+                }
+
+                if (allowSubfolder && config.EnableRecordingSubfolders)
+                {
+                    recordPath = Path.Combine(recordPath, "Movies");
+                }
+
+                var folderName = _fileSystem.GetValidFilename(info.Name).Trim();
+                if (info.ProductionYear.HasValue)
+                {
+                    folderName += " (" + info.ProductionYear.Value.ToString(CultureInfo.InvariantCulture) + ")";
+                }
+                recordPath = Path.Combine(recordPath, folderName);
+            }
             else if (info.IsKids)
             else if (info.IsKids)
             {
             {
                 if (config.EnableRecordingSubfolders)
                 if (config.EnableRecordingSubfolders)

+ 14 - 4
MediaBrowser.Server.Implementations/LiveTv/TunerHosts/M3uParser.cs

@@ -1,6 +1,7 @@
 using System;
 using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using System.IO;
 using System.IO;
+using System.Linq;
 using System.Text.RegularExpressions;
 using System.Text.RegularExpressions;
 using System.Threading;
 using System.Threading;
 using System.Threading.Tasks;
 using System.Threading.Tasks;
@@ -70,7 +71,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts
                 }
                 }
                 else if (!string.IsNullOrWhiteSpace(extInf) && !line.StartsWith("#", StringComparison.OrdinalIgnoreCase))
                 else if (!string.IsNullOrWhiteSpace(extInf) && !line.StartsWith("#", StringComparison.OrdinalIgnoreCase))
                 {
                 {
-                    var channel = GetChannelnfo(extInf, tunerHostId);
+                    var channel = GetChannelnfo(extInf, tunerHostId, line);
                     channel.Id = channelIdPrefix + urlHash + line.GetMD5().ToString("N");
                     channel.Id = channelIdPrefix + urlHash + line.GetMD5().ToString("N");
                     channel.Path = line;
                     channel.Path = line;
                     channels.Add(channel);
                     channels.Add(channel);
@@ -79,7 +80,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts
             }
             }
             return channels;
             return channels;
         }
         }
-        private M3UChannel GetChannelnfo(string extInf, string tunerHostId)
+        private M3UChannel GetChannelnfo(string extInf, string tunerHostId, string mediaUrl)
         {
         {
             var titleIndex = extInf.LastIndexOf(',');
             var titleIndex = extInf.LastIndexOf(',');
             var channel = new M3UChannel();
             var channel = new M3UChannel();
@@ -87,8 +88,6 @@ namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts
 
 
             channel.Number = extInf.Trim().Split(' ')[0] ?? "0";
             channel.Number = extInf.Trim().Split(' ')[0] ?? "0";
             channel.Name = extInf.Substring(titleIndex + 1);
             channel.Name = extInf.Substring(titleIndex + 1);
-            
-            if(channel.Number == "-1") { channel.Number = "0"; }         
 
 
             //Check for channel number with the format from SatIp            
             //Check for channel number with the format from SatIp            
             int number;                   
             int number;                   
@@ -101,6 +100,17 @@ namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts
                     channel.Name = channel.Name.Substring(numberIndex + 1);
                     channel.Name = channel.Name.Substring(numberIndex + 1);
                 }
                 }
             }
             }
+
+            if (string.Equals(channel.Number, "-1", StringComparison.OrdinalIgnoreCase) && !string.IsNullOrWhiteSpace(mediaUrl))
+            {
+                channel.Number = Path.GetFileNameWithoutExtension(mediaUrl.Split('/').Last());
+            }
+
+            if (string.Equals(channel.Number, "-1", StringComparison.OrdinalIgnoreCase))
+            {
+                channel.Number = "0";
+            }
+
             channel.ImageUrl = FindProperty("tvg-logo", extInf, null);
             channel.ImageUrl = FindProperty("tvg-logo", extInf, null);
             channel.Number = FindProperty("tvg-id", extInf, channel.Number);
             channel.Number = FindProperty("tvg-id", extInf, channel.Number);
             channel.Number = FindProperty("channel-id", extInf, channel.Number);
             channel.Number = FindProperty("channel-id", extInf, channel.Number);

+ 1 - 1
MediaBrowser.Server.Implementations/Sync/CloudSyncProfile.cs

@@ -23,7 +23,7 @@ namespace MediaBrowser.Server.Implementations.Sync
 
 
             if (supportsDca)
             if (supportsDca)
             {
             {
-                mkvAudio += ",dca";
+                mkvAudio += ",dca,dts";
             }
             }
 
 
             var videoProfile = "high|main|baseline|constrained baseline";
             var videoProfile = "high|main|baseline|constrained baseline";

+ 1 - 2
MediaBrowser.Server.Startup.Common/ApplicationHost.cs

@@ -382,7 +382,6 @@ namespace MediaBrowser.Server.Startup.Common
         {
         {
             var migrations = new List<IVersionMigration>
             var migrations = new List<IVersionMigration>
             {
             {
-                new OmdbEpisodeProviderMigration(ServerConfigurationManager),
                 new MovieDbEpisodeProviderMigration(ServerConfigurationManager),
                 new MovieDbEpisodeProviderMigration(ServerConfigurationManager),
                 new DbMigration(ServerConfigurationManager, TaskManager),
                 new DbMigration(ServerConfigurationManager, TaskManager),
                 new UpdateLevelMigration(ServerConfigurationManager, this, HttpClient, JsonSerializer, _releaseAssetFilename)
                 new UpdateLevelMigration(ServerConfigurationManager, this, HttpClient, JsonSerializer, _releaseAssetFilename)
@@ -947,7 +946,7 @@ namespace MediaBrowser.Server.Startup.Common
         {
         {
             if (!CanSelfRestart)
             if (!CanSelfRestart)
             {
             {
-                throw new InvalidOperationException("The server is unable to self-restart. Please restart manually.");
+                throw new PlatformNotSupportedException("The server is unable to self-restart. Please restart manually.");
             }
             }
 
 
             try
             try

+ 5 - 0
MediaBrowser.Server.Startup.Common/Browser/BrowserLauncher.cs

@@ -28,6 +28,11 @@ namespace MediaBrowser.Server.Startup.Common.Browser
             OpenUrl(appHost, "http://emby.media/community");
             OpenUrl(appHost, "http://emby.media/community");
         }
         }
 
 
+        public static void OpenEmbyPremiere(IServerApplicationHost appHost)
+        {
+            OpenDashboardPage("supporterkey.html", appHost);
+        }
+
         /// <summary>
         /// <summary>
         /// Opens the web client.
         /// Opens the web client.
         /// </summary>
         /// </summary>

+ 0 - 1
MediaBrowser.Server.Startup.Common/MediaBrowser.Server.Startup.Common.csproj

@@ -73,7 +73,6 @@
     <Compile Include="Migrations\IVersionMigration.cs" />
     <Compile Include="Migrations\IVersionMigration.cs" />
     <Compile Include="Migrations\DbMigration.cs" />
     <Compile Include="Migrations\DbMigration.cs" />
     <Compile Include="Migrations\MovieDbEpisodeProviderMigration.cs" />
     <Compile Include="Migrations\MovieDbEpisodeProviderMigration.cs" />
-    <Compile Include="Migrations\OmdbEpisodeProviderMigration.cs" />
     <Compile Include="Migrations\UpdateLevelMigration.cs" />
     <Compile Include="Migrations\UpdateLevelMigration.cs" />
     <Compile Include="NativeEnvironment.cs" />
     <Compile Include="NativeEnvironment.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />

+ 0 - 43
MediaBrowser.Server.Startup.Common/Migrations/OmdbEpisodeProviderMigration.cs

@@ -1,43 +0,0 @@
-using MediaBrowser.Controller.Configuration;
-using System.Linq;
-
-namespace MediaBrowser.Server.Startup.Common.Migrations
-{
-    class OmdbEpisodeProviderMigration : IVersionMigration
-    {
-        private readonly IServerConfigurationManager _config;
-        private const string _providerName = "The Open Movie Database";
-
-        public OmdbEpisodeProviderMigration(IServerConfigurationManager config)
-        {
-            _config = config;
-        }
-
-        public void Run()
-        {
-            var migrationKey = this.GetType().FullName;
-            var migrationKeyList = _config.Configuration.Migrations.ToList();
-
-            if (!migrationKeyList.Contains(migrationKey))
-            {
-                foreach (var metaDataOption in _config.Configuration.MetadataOptions)
-                {
-                    if (metaDataOption.ItemType == "Episode")
-                    {
-                        var disabledFetchers = metaDataOption.DisabledMetadataFetchers.ToList();
-                        if (!disabledFetchers.Contains(_providerName))
-                        {
-                            disabledFetchers.Add(_providerName);
-                            metaDataOption.DisabledMetadataFetchers = disabledFetchers.ToArray();
-                        }
-                    }
-                }
-
-                migrationKeyList.Add(migrationKey);
-                _config.Configuration.Migrations = migrationKeyList.ToArray();
-                _config.SaveConfiguration();
-            }
-
-        }
-    }
-}

+ 15 - 0
MediaBrowser.ServerApplication/ServerNotifyIcon.cs

@@ -20,6 +20,7 @@ namespace MediaBrowser.ServerApplication
         private ToolStripMenuItem cmdRestart;
         private ToolStripMenuItem cmdRestart;
         private ToolStripSeparator toolStripSeparator1;
         private ToolStripSeparator toolStripSeparator1;
         private ToolStripMenuItem cmdCommunity;
         private ToolStripMenuItem cmdCommunity;
+        private ToolStripMenuItem cmdPremiere;
         private Container components;
         private Container components;
 
 
         private readonly ILogger _logger;
         private readonly ILogger _logger;
@@ -50,6 +51,7 @@ namespace MediaBrowser.ServerApplication
 
 
             cmdExit = new ToolStripMenuItem();
             cmdExit = new ToolStripMenuItem();
             cmdCommunity = new ToolStripMenuItem();
             cmdCommunity = new ToolStripMenuItem();
+            cmdPremiere = new ToolStripMenuItem();
             toolStripSeparator1 = new ToolStripSeparator();
             toolStripSeparator1 = new ToolStripSeparator();
             cmdRestart = new ToolStripMenuItem();
             cmdRestart = new ToolStripMenuItem();
             toolStripSeparator2 = new ToolStripSeparator();
             toolStripSeparator2 = new ToolStripSeparator();
@@ -69,6 +71,7 @@ namespace MediaBrowser.ServerApplication
             contextMenuStrip1.Items.AddRange(new ToolStripItem[] {
             contextMenuStrip1.Items.AddRange(new ToolStripItem[] {
             cmdBrowse,
             cmdBrowse,
             cmdConfigure,
             cmdConfigure,
+            cmdPremiere,
             toolStripSeparator2,
             toolStripSeparator2,
             cmdRestart,
             cmdRestart,
             toolStripSeparator1,
             toolStripSeparator1,
@@ -89,6 +92,11 @@ namespace MediaBrowser.ServerApplication
             cmdCommunity.Name = "cmdCommunity";
             cmdCommunity.Name = "cmdCommunity";
             cmdCommunity.Size = new System.Drawing.Size(208, 22);
             cmdCommunity.Size = new System.Drawing.Size(208, 22);
             // 
             // 
+            // cmdPremiere
+            // 
+            cmdPremiere.Name = "cmdPremiere";
+            cmdPremiere.Size = new System.Drawing.Size(208, 22);
+            // 
             // toolStripSeparator1
             // toolStripSeparator1
             // 
             // 
             toolStripSeparator1.Name = "toolStripSeparator1";
             toolStripSeparator1.Name = "toolStripSeparator1";
@@ -118,6 +126,7 @@ namespace MediaBrowser.ServerApplication
             cmdRestart.Click += cmdRestart_Click;
             cmdRestart.Click += cmdRestart_Click;
             cmdConfigure.Click += cmdConfigure_Click;
             cmdConfigure.Click += cmdConfigure_Click;
             cmdCommunity.Click += cmdCommunity_Click;
             cmdCommunity.Click += cmdCommunity_Click;
+            cmdPremiere.Click += cmdPremiere_Click;
             cmdBrowse.Click += cmdBrowse_Click;
             cmdBrowse.Click += cmdBrowse_Click;
 
 
             _configurationManager.ConfigurationUpdated += Instance_ConfigurationUpdated;
             _configurationManager.ConfigurationUpdated += Instance_ConfigurationUpdated;
@@ -138,6 +147,7 @@ namespace MediaBrowser.ServerApplication
 
 
             cmdExit.Text = _localization.GetLocalizedString("LabelExit");
             cmdExit.Text = _localization.GetLocalizedString("LabelExit");
             cmdCommunity.Text = _localization.GetLocalizedString("LabelVisitCommunity");
             cmdCommunity.Text = _localization.GetLocalizedString("LabelVisitCommunity");
+            cmdPremiere.Text = _localization.GetLocalizedString("Emby Premiere");
             cmdBrowse.Text = _localization.GetLocalizedString("LabelBrowseLibrary");
             cmdBrowse.Text = _localization.GetLocalizedString("LabelBrowseLibrary");
             cmdConfigure.Text = _localization.GetLocalizedString("LabelConfigureServer");
             cmdConfigure.Text = _localization.GetLocalizedString("LabelConfigureServer");
             cmdRestart.Text = _localization.GetLocalizedString("LabelRestartServer");
             cmdRestart.Text = _localization.GetLocalizedString("LabelRestartServer");
@@ -163,6 +173,11 @@ namespace MediaBrowser.ServerApplication
             BrowserLauncher.OpenWebClient(_appHost);
             BrowserLauncher.OpenWebClient(_appHost);
         }
         }
 
 
+        void cmdPremiere_Click(object sender, EventArgs e)
+        {
+            BrowserLauncher.OpenEmbyPremiere(_appHost);
+        }
+
         void cmdCommunity_Click(object sender, EventArgs e)
         void cmdCommunity_Click(object sender, EventArgs e)
         {
         {
             BrowserLauncher.OpenCommunity(_appHost);
             BrowserLauncher.OpenCommunity(_appHost);