فهرست منبع

Merge pull request #1 from jellyfin/dev

Update from jellyfin repo
Tthecreator 6 سال پیش
والد
کامیت
189b99df16
100فایلهای تغییر یافته به همراه523 افزوده شده و 874 حذف شده
  1. 1 0
      .gitignore
  2. 2 2
      BDInfo/BDInfo.csproj
  3. 13 85
      BDInfo/BDInfoSettings.cs
  4. 24 26
      BDInfo/BDROM.cs
  5. 1 1
      BDInfo/LanguageCodes.cs
  6. 2 2
      BDInfo/Properties/AssemblyInfo.cs
  7. 2 2
      BDInfo/ReadMe.txt
  8. 2 2
      BDInfo/TSCodecAC3.cs
  9. 1 1
      BDInfo/TSCodecAVC.cs
  10. 1 1
      BDInfo/TSCodecDTS.cs
  11. 2 2
      BDInfo/TSCodecDTSHD.cs
  12. 1 1
      BDInfo/TSCodecLPCM.cs
  13. 1 1
      BDInfo/TSCodecMPEG2.cs
  14. 1 1
      BDInfo/TSCodecMVC.cs
  15. 1 1
      BDInfo/TSCodecTrueHD.cs
  16. 1 1
      BDInfo/TSCodecVC1.cs
  17. 1 2
      BDInfo/TSInterleavedFile.cs
  18. 44 51
      BDInfo/TSPlaylistFile.cs
  19. 12 33
      BDInfo/TSStream.cs
  20. 4 16
      BDInfo/TSStreamBuffer.cs
  21. 4 10
      BDInfo/TSStreamClip.cs
  22. 52 59
      BDInfo/TSStreamClipFile.cs
  23. 97 95
      BDInfo/TSStreamFile.cs
  24. 1 0
      CONTRIBUTORS.md
  25. 1 4
      DvdLib/BigEndianBinaryReader.cs
  26. 2 2
      DvdLib/DvdLib.csproj
  27. 0 5
      DvdLib/Ifo/AudioAttributes.cs
  28. 0 4
      DvdLib/Ifo/Cell.cs
  29. 0 4
      DvdLib/Ifo/CellPlaybackInfo.cs
  30. 0 4
      DvdLib/Ifo/CellPositionInfo.cs
  31. 0 5
      DvdLib/Ifo/Chapter.cs
  32. 9 12
      DvdLib/Ifo/Dvd.cs
  33. 0 3
      DvdLib/Ifo/DvdTime.cs
  34. 0 3
      DvdLib/Ifo/PgcCommandTable.cs
  35. 0 3
      DvdLib/Ifo/Program.cs
  36. 4 6
      DvdLib/Ifo/ProgramChain.cs
  37. 1 4
      DvdLib/Ifo/Title.cs
  38. 1 4
      DvdLib/Ifo/UserOperation.cs
  39. 0 5
      DvdLib/Ifo/VideoAttributes.cs
  40. 2 2
      DvdLib/Properties/AssemblyInfo.cs
  41. 10 28
      Emby.Dlna/Api/DlnaServerService.cs
  42. 2 2
      Emby.Dlna/Api/DlnaService.cs
  43. 4 4
      Emby.Dlna/Common/Argument.cs
  44. 1 1
      Emby.Dlna/Common/DeviceIcon.cs
  45. 1 1
      Emby.Dlna/Common/DeviceService.cs
  46. 1 1
      Emby.Dlna/Common/ServiceAction.cs
  47. 0 1
      Emby.Dlna/Common/StateVariable.cs
  48. 1 1
      Emby.Dlna/Configuration/DlnaOptions.cs
  49. 2 2
      Emby.Dlna/ConfigurationExtension.cs
  50. 3 3
      Emby.Dlna/ConnectionManager/ConnectionManager.cs
  51. 1 1
      Emby.Dlna/ConnectionManager/ConnectionManagerXmlBuilder.cs
  52. 5 6
      Emby.Dlna/ConnectionManager/ControlHandler.cs
  53. 1 1
      Emby.Dlna/ConnectionManager/ServiceActionListBuilder.cs
  54. 6 6
      Emby.Dlna/ContentDirectory/ContentDirectory.cs
  55. 1 1
      Emby.Dlna/ContentDirectory/ContentDirectoryXmlBuilder.cs
  56. 24 36
      Emby.Dlna/ContentDirectory/ControlHandler.cs
  57. 2 2
      Emby.Dlna/ContentDirectory/ServiceActionListBuilder.cs
  58. 1 1
      Emby.Dlna/ControlRequest.cs
  59. 2 2
      Emby.Dlna/ControlResponse.cs
  60. 13 14
      Emby.Dlna/Didl/DidlBuilder.cs
  61. 1 2
      Emby.Dlna/Didl/Filter.cs
  62. 2 7
      Emby.Dlna/Didl/StringWriterWithEncoding.cs
  63. 19 35
      Emby.Dlna/DlnaManager.cs
  64. 2 2
      Emby.Dlna/Emby.Dlna.csproj
  65. 1 1
      Emby.Dlna/EventSubscriptionResponse.cs
  66. 6 12
      Emby.Dlna/Eventing/EventManager.cs
  67. 2 8
      Emby.Dlna/Eventing/EventSubscription.cs
  68. 1 1
      Emby.Dlna/IConnectionManager.cs
  69. 1 1
      Emby.Dlna/IContentDirectory.cs
  70. 1 1
      Emby.Dlna/IEventManager.cs
  71. 1 1
      Emby.Dlna/IMediaReceiverRegistrar.cs
  72. 1 1
      Emby.Dlna/IUpnpService.cs
  73. 11 12
      Emby.Dlna/Main/DlnaEntryPoint.cs
  74. 4 5
      Emby.Dlna/MediaReceiverRegistrar/ControlHandler.cs
  75. 4 6
      Emby.Dlna/MediaReceiverRegistrar/MediaReceiverRegistrar.cs
  76. 1 1
      Emby.Dlna/MediaReceiverRegistrar/MediaReceiverRegistrarXmlBuilder.cs
  77. 2 2
      Emby.Dlna/MediaReceiverRegistrar/ServiceActionListBuilder.cs
  78. 2 2
      Emby.Dlna/PlayTo/CurrentIdEventArgs.cs
  79. 12 45
      Emby.Dlna/PlayTo/Device.cs
  80. 5 17
      Emby.Dlna/PlayTo/DeviceInfo.cs
  81. 26 63
      Emby.Dlna/PlayTo/PlayToController.cs
  82. 13 19
      Emby.Dlna/PlayTo/PlayToManager.cs
  83. 2 2
      Emby.Dlna/PlayTo/PlaybackProgressEventArgs.cs
  84. 1 1
      Emby.Dlna/PlayTo/PlaybackStartEventArgs.cs
  85. 2 2
      Emby.Dlna/PlayTo/PlaybackStoppedEventArgs.cs
  86. 2 2
      Emby.Dlna/PlayTo/PlaylistItem.cs
  87. 3 4
      Emby.Dlna/PlayTo/PlaylistItemFactory.cs
  88. 4 4
      Emby.Dlna/PlayTo/SsdpHttpClient.cs
  89. 2 2
      Emby.Dlna/PlayTo/TRANSPORTSTATE.cs
  90. 6 18
      Emby.Dlna/PlayTo/TransportCommands.cs
  91. 1 1
      Emby.Dlna/PlayTo/TransportStateEventArgs.cs
  92. 1 1
      Emby.Dlna/PlayTo/UpnpContainer.cs
  93. 1 1
      Emby.Dlna/PlayTo/uBaseObject.cs
  94. 1 1
      Emby.Dlna/PlayTo/uParser.cs
  95. 2 2
      Emby.Dlna/PlayTo/uParserObject.cs
  96. 1 1
      Emby.Dlna/PlayTo/uPnpNamespaces.cs
  97. 1 3
      Emby.Dlna/Profiles/DefaultProfile.cs
  98. 1 2
      Emby.Dlna/Profiles/DenonAvrProfile.cs
  99. 1 2
      Emby.Dlna/Profiles/DirectTvProfile.cs
  100. 1 2
      Emby.Dlna/Profiles/DishHopperJoeyProfile.cs

+ 1 - 0
.gitignore

@@ -263,3 +263,4 @@ deployment/**/pkg-dist/
 deployment/**/pkg-dist-tmp/
 deployment/collect-dist/
 
+jellyfin_version.ini

+ 2 - 2
BDInfo/BDInfo.csproj

@@ -1,7 +1,7 @@
-<Project Sdk="Microsoft.NET.Sdk">
+<Project Sdk="Microsoft.NET.Sdk">
 
   <ItemGroup>
-    <Compile Include="..\SharedVersion.cs" Link="SharedVersion.cs" />
+    <Compile Include="..\SharedVersion.cs" />
   </ItemGroup>
 
   <ItemGroup>

+ 13 - 85
BDInfo/BDInfoSettings.cs

@@ -1,105 +1,33 @@
-
+
 namespace BDInfo
 {
     class BDInfoSettings
     {
-        public static bool GenerateStreamDiagnostics
-        {
-            get
-            {
-                return true;
-            }
-        }
+        public static bool GenerateStreamDiagnostics => true;
 
-        public static bool EnableSSIF
-        {
-            get
-            {
-                return true;
-            }
-        }
+        public static bool EnableSSIF => true;
 
-        public static bool AutosaveReport
-        {
-            get
-            {
-                return false;
-            }
-        }
+        public static bool AutosaveReport => false;
 
-        public static bool GenerateFrameDataFile
-        {
-            get
-            {
-                return false;
-            }
-        }
+        public static bool GenerateFrameDataFile => false;
 
-        public static bool FilterLoopingPlaylists
-        {
-            get
-            {
-                return true;
-            }
-        }
+        public static bool FilterLoopingPlaylists => true;
 
-        public static bool FilterShortPlaylists
-        {
-            get
-            {
-                return false;
-            }
-        }
+        public static bool FilterShortPlaylists => false;
 
-        public static int FilterShortPlaylistsValue
-        {
-            get
-            {
-                return 0;
-            }
-        }
+        public static int FilterShortPlaylistsValue => 0;
 
-        public static bool UseImagePrefix
-        {
-            get
-            {
-                return false;
-            }
-        }
+        public static bool UseImagePrefix => false;
 
-        public static string UseImagePrefixValue
-        {
-            get
-            {
-                return null;
-            }
-        }
+        public static string UseImagePrefixValue => null;
 
         /// <summary>
         /// Setting this to false throws an IComparer error on some discs.
         /// </summary>
-        public static bool KeepStreamOrder
-        {
-            get
-            {
-                return true;
-            }
-        }
+        public static bool KeepStreamOrder => true;
 
-        public static bool GenerateTextSummary
-        {
-            get
-            {
-                return false;
-            }
-        }
+        public static bool GenerateTextSummary => false;
 
-        public static string LastPath
-        {
-            get
-            {
-                return string.Empty;
-            }
-        }
+        public static string LastPath => string.Empty;
     }
 }

+ 24 - 26
BDInfo/BDROM.cs

@@ -1,4 +1,4 @@
-//============================================================================
+//============================================================================
 // BDInfo - Blu-ray Video and Audio Analysis Tool
 // Copyright © 2010 Cinema Squid
 //
@@ -22,7 +22,6 @@ using System.Collections.Generic;
 using System.IO;
 using System.Linq;
 using MediaBrowser.Model.IO;
-using MediaBrowser.Model.Text;
 
 namespace BDInfo
 {
@@ -72,8 +71,7 @@ namespace BDInfo
 
         public event OnPlaylistFileScanError PlaylistFileScanError;
 
-        public BDROM(
-            string path, IFileSystem fileSystem, ITextEncoding textEncoding)
+        public BDROM(string path, IFileSystem fileSystem)
         {
             if (string.IsNullOrEmpty(path))
             {
@@ -164,17 +162,17 @@ namespace BDInfo
             if (DirectoryPLAYLIST != null)
             {
                 FileSystemMetadata[] files = GetFiles(DirectoryPLAYLIST.FullName, ".mpls").ToArray();
-                foreach (FileSystemMetadata file in files)
+                foreach (var file in files)
                 {
                     PlaylistFiles.Add(
-                        file.Name.ToUpper(), new TSPlaylistFile(this, file, _fileSystem, textEncoding));
+                        file.Name.ToUpper(), new TSPlaylistFile(this, file, _fileSystem));
                 }
             }
 
             if (DirectorySTREAM != null)
             {
                 FileSystemMetadata[] files = GetFiles(DirectorySTREAM.FullName, ".m2ts").ToArray();
-                foreach (FileSystemMetadata file in files)
+                foreach (var file in files)
                 {
                     StreamFiles.Add(
                         file.Name.ToUpper(), new TSStreamFile(file, _fileSystem));
@@ -184,17 +182,17 @@ namespace BDInfo
             if (DirectoryCLIPINF != null)
             {
                 FileSystemMetadata[] files = GetFiles(DirectoryCLIPINF.FullName, ".clpi").ToArray();
-                foreach (FileSystemMetadata file in files)
+                foreach (var file in files)
                 {
                     StreamClipFiles.Add(
-                        file.Name.ToUpper(), new TSStreamClipFile(file, _fileSystem, textEncoding));
+                        file.Name.ToUpper(), new TSStreamClipFile(file, _fileSystem));
                 }
             }
 
             if (DirectorySSIF != null)
             {
                 FileSystemMetadata[] files = GetFiles(DirectorySSIF.FullName, ".ssif").ToArray();
-                foreach (FileSystemMetadata file in files)
+                foreach (var file in files)
                 {
                     InterleavedFiles.Add(
                         file.Name.ToUpper(), new TSInterleavedFile(file));
@@ -214,8 +212,8 @@ namespace BDInfo
 
         public void Scan()
         {
-            List<TSStreamClipFile> errorStreamClipFiles = new List<TSStreamClipFile>();
-            foreach (TSStreamClipFile streamClipFile in StreamClipFiles.Values)
+            var errorStreamClipFiles = new List<TSStreamClipFile>();
+            foreach (var streamClipFile in StreamClipFiles.Values)
             {
                 try
                 {
@@ -239,7 +237,7 @@ namespace BDInfo
                 }
             }
 
-            foreach (TSStreamFile streamFile in StreamFiles.Values)
+            foreach (var streamFile in StreamFiles.Values)
             {
                 string ssifName = Path.GetFileNameWithoutExtension(streamFile.Name) + ".SSIF";
                 if (InterleavedFiles.ContainsKey(ssifName))
@@ -252,8 +250,8 @@ namespace BDInfo
             StreamFiles.Values.CopyTo(streamFiles, 0);
             Array.Sort(streamFiles, CompareStreamFiles);
 
-            List<TSPlaylistFile> errorPlaylistFiles = new List<TSPlaylistFile>();
-            foreach (TSPlaylistFile playlistFile in PlaylistFiles.Values)
+            var errorPlaylistFiles = new List<TSPlaylistFile>();
+            foreach (var playlistFile in PlaylistFiles.Values)
             {
                 try
                 {
@@ -277,15 +275,15 @@ namespace BDInfo
                 }
             }
 
-            List<TSStreamFile> errorStreamFiles = new List<TSStreamFile>();
-            foreach (TSStreamFile streamFile in streamFiles)
+            var errorStreamFiles = new List<TSStreamFile>();
+            foreach (var streamFile in streamFiles)
             {
                 try
                 {
-                    List<TSPlaylistFile> playlists = new List<TSPlaylistFile>();
-                    foreach (TSPlaylistFile playlist in PlaylistFiles.Values)
+                    var playlists = new List<TSPlaylistFile>();
+                    foreach (var playlist in PlaylistFiles.Values)
                     {
-                        foreach (TSStreamClip streamClip in playlist.StreamClips)
+                        foreach (var streamClip in playlist.StreamClips)
                         {
                             if (streamClip.Name == streamFile.Name)
                             {
@@ -314,12 +312,12 @@ namespace BDInfo
                 }
             }
 
-            foreach (TSPlaylistFile playlistFile in PlaylistFiles.Values)
+            foreach (var playlistFile in PlaylistFiles.Values)
             {
                 playlistFile.Initialize();
                 if (!Is50Hz)
                 {
-                    foreach (TSVideoStream videoStream in playlistFile.VideoStreams)
+                    foreach (var videoStream in playlistFile.VideoStreams)
                     {
                         if (videoStream.FrameRate == TSFrameRate.FRAMERATE_25 ||
                             videoStream.FrameRate == TSFrameRate.FRAMERATE_50)
@@ -369,7 +367,7 @@ namespace BDInfo
             if (dir != null)
             {
                 FileSystemMetadata[] children = _fileSystem.GetDirectories(dir.FullName).ToArray();
-                foreach (FileSystemMetadata child in children)
+                foreach (var child in children)
                 {
                     if (string.Equals(child.Name, name, StringComparison.OrdinalIgnoreCase))
                     {
@@ -378,7 +376,7 @@ namespace BDInfo
                 }
                 if (searchDepth > 0)
                 {
-                    foreach (FileSystemMetadata child in children)
+                    foreach (var child in children)
                     {
                         GetDirectory(
                             name, child, searchDepth - 1);
@@ -395,7 +393,7 @@ namespace BDInfo
             //if (!ExcludeDirs.Contains(directoryInfo.Name.ToUpper()))  // TODO: Keep?
             {
                 FileSystemMetadata[] pathFiles = _fileSystem.GetFiles(directoryInfo.FullName).ToArray();
-                foreach (FileSystemMetadata pathFile in pathFiles)
+                foreach (var pathFile in pathFiles)
                 {
                     if (pathFile.Extension.ToUpper() == ".SSIF")
                     {
@@ -405,7 +403,7 @@ namespace BDInfo
                 }
 
                 FileSystemMetadata[] pathChildren = _fileSystem.GetDirectories(directoryInfo.FullName).ToArray();
-                foreach (FileSystemMetadata pathChild in pathChildren)
+                foreach (var pathChild in pathChildren)
                 {
                     size += GetDirectorySize(pathChild);
                 }

+ 1 - 1
BDInfo/LanguageCodes.cs

@@ -1,4 +1,4 @@
-//============================================================================
+//============================================================================
 // BDInfo - Blu-ray Video and Audio Analysis Tool
 // Copyright © 2010 Cinema Squid
 //

+ 2 - 2
BDInfo/Properties/AssemblyInfo.cs

@@ -15,7 +15,7 @@ using System.Runtime.InteropServices;
 [assembly: AssemblyCulture("")]
 [assembly: NeutralResourcesLanguage("en")]
 
-// Setting ComVisible to false makes the types in this assembly not visible 
-// to COM components.  If you need to access a type in this assembly from 
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components.  If you need to access a type in this assembly from
 // COM, set the ComVisible attribute to true on that type.
 [assembly: ComVisible(false)]

+ 2 - 2
BDInfo/ReadMe.txt

@@ -1,5 +1,5 @@
-The source is taken from the BDRom folder of this project:
+The source is taken from the BDRom folder of this project:
 
 http://www.cinemasquid.com/blu-ray/tools/bdinfo
 
-BDInfoSettings was taken from the FormSettings class, and changed so that the settings all return defaults.
+BDInfoSettings was taken from the FormSettings class, and changed so that the settings all return defaults.

+ 2 - 2
BDInfo/TSCodecAC3.cs

@@ -1,4 +1,4 @@
-//============================================================================
+//============================================================================
 // BDInfo - Blu-ray Video and Audio Analysis Tool
 // Copyright © 2010 Cinema Squid
 //
@@ -24,7 +24,7 @@ namespace BDInfo
 {
     public abstract class TSCodecAC3
     {
-        private static byte[] eac3_blocks =  new byte[] { 1, 2, 3, 6 };
+        private static byte[] eac3_blocks = new byte[] { 1, 2, 3, 6 };
 
         public static void Scan(
             TSAudioStream stream,

+ 1 - 1
BDInfo/TSCodecAVC.cs

@@ -1,4 +1,4 @@
-//============================================================================
+//============================================================================
 // BDInfo - Blu-ray Video and Audio Analysis Tool
 // Copyright © 2010 Cinema Squid
 //

+ 1 - 1
BDInfo/TSCodecDTS.cs

@@ -1,4 +1,4 @@
-//============================================================================
+//============================================================================
 // BDInfo - Blu-ray Video and Audio Analysis Tool
 // Copyright © 2010 Cinema Squid
 //

+ 2 - 2
BDInfo/TSCodecDTSHD.cs

@@ -1,4 +1,4 @@
-//============================================================================
+//============================================================================
 // BDInfo - Blu-ray Video and Audio Analysis Tool
 // Copyright © 2010 Cinema Squid
 //
@@ -211,7 +211,7 @@ namespace BDInfo
             // TODO
             if (stream.CoreStream != null)
             {
-                TSAudioStream coreStream = (TSAudioStream)stream.CoreStream;
+                var coreStream = (TSAudioStream)stream.CoreStream;
                 if (coreStream.AudioMode == TSAudioMode.Extended &&
                     stream.ChannelCount == 5)
                 {

+ 1 - 1
BDInfo/TSCodecLPCM.cs

@@ -1,4 +1,4 @@
-//============================================================================
+//============================================================================
 // BDInfo - Blu-ray Video and Audio Analysis Tool
 // Copyright © 2010 Cinema Squid
 //

+ 1 - 1
BDInfo/TSCodecMPEG2.cs

@@ -1,4 +1,4 @@
-//============================================================================
+//============================================================================
 // BDInfo - Blu-ray Video and Audio Analysis Tool
 // Copyright © 2010 Cinema Squid
 //

+ 1 - 1
BDInfo/TSCodecMVC.cs

@@ -1,4 +1,4 @@
-//============================================================================
+//============================================================================
 // BDInfo - Blu-ray Video and Audio Analysis Tool
 // Copyright © 2010 Cinema Squid
 //

+ 1 - 1
BDInfo/TSCodecTrueHD.cs

@@ -1,4 +1,4 @@
-//============================================================================
+//============================================================================
 // BDInfo - Blu-ray Video and Audio Analysis Tool
 // Copyright © 2010 Cinema Squid
 //

+ 1 - 1
BDInfo/TSCodecVC1.cs

@@ -1,4 +1,4 @@
-//============================================================================
+//============================================================================
 // BDInfo - Blu-ray Video and Audio Analysis Tool
 // Copyright © 2010 Cinema Squid
 //

+ 1 - 2
BDInfo/TSInterleavedFile.cs

@@ -1,4 +1,4 @@
-//============================================================================
+//============================================================================
 // BDInfo - Blu-ray Video and Audio Analysis Tool
 // Copyright © 2010 Cinema Squid
 //
@@ -17,7 +17,6 @@
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 //=============================================================================
 
-using System.IO;
 using MediaBrowser.Model.IO;
 
 // TODO: Do more interesting things here...

+ 44 - 51
BDInfo/TSPlaylistFile.cs

@@ -23,14 +23,12 @@ using System.Collections.Generic;
 using System.IO;
 using System.Text;
 using MediaBrowser.Model.IO;
-using MediaBrowser.Model.Text;
 
 namespace BDInfo
 {
     public class TSPlaylistFile
     {
         private readonly IFileSystem _fileSystem;
-        private readonly ITextEncoding _textEncoding;
         private FileSystemMetadata FileInfo = null;
         public string FileType = null;
         public bool IsInitialized = false;
@@ -65,30 +63,26 @@ namespace BDInfo
         public List<TSGraphicsStream> GraphicsStreams =
             new List<TSGraphicsStream>();
 
-        public TSPlaylistFile(
-            BDROM bdrom,
-            FileSystemMetadata fileInfo, IFileSystem fileSystem, ITextEncoding textEncoding)
+        public TSPlaylistFile(BDROM bdrom,
+            FileSystemMetadata fileInfo, IFileSystem fileSystem)
         {
             BDROM = bdrom;
             FileInfo = fileInfo;
             _fileSystem = fileSystem;
-            _textEncoding = textEncoding;
             Name = fileInfo.Name.ToUpper();
         }
 
-        public TSPlaylistFile(
-            BDROM bdrom,
+        public TSPlaylistFile(BDROM bdrom,
             string name,
-            List<TSStreamClip> clips, IFileSystem fileSystem, ITextEncoding textEncoding)
+            List<TSStreamClip> clips, IFileSystem fileSystem)
         {
             BDROM = bdrom;
             Name = name;
             _fileSystem = fileSystem;
-            _textEncoding = textEncoding;
             IsCustom = true;
-            foreach (TSStreamClip clip in clips)
+            foreach (var clip in clips)
             {
-                TSStreamClip newClip = new TSStreamClip(
+                var newClip = new TSStreamClip(
                     clip.StreamFile, clip.StreamClipFile);
 
                 newClip.Name = clip.Name;
@@ -124,7 +118,7 @@ namespace BDInfo
             get
             {
                 ulong size = 0;
-                foreach (TSStreamClip clip in StreamClips)
+                foreach (var clip in StreamClips)
                 {
                     size += clip.InterleavedFileSize;
                 }
@@ -136,7 +130,7 @@ namespace BDInfo
             get
             {
                 ulong size = 0;
-                foreach (TSStreamClip clip in StreamClips)
+                foreach (var clip in StreamClips)
                 {
                     size += clip.FileSize;
                 }
@@ -148,7 +142,7 @@ namespace BDInfo
             get
             {
                 double length = 0;
-                foreach (TSStreamClip clip in StreamClips)
+                foreach (var clip in StreamClips)
                 {
                     if (clip.AngleIndex == 0)
                     {
@@ -164,7 +158,7 @@ namespace BDInfo
             get
             {
                 double length = 0;
-                foreach (TSStreamClip clip in StreamClips)
+                foreach (var clip in StreamClips)
                 {
                     length += clip.Length;
                 }
@@ -177,7 +171,7 @@ namespace BDInfo
             get
             {
                 ulong size = 0;
-                foreach (TSStreamClip clip in StreamClips)
+                foreach (var clip in StreamClips)
                 {
                     if (clip.AngleIndex == 0)
                     {
@@ -193,7 +187,7 @@ namespace BDInfo
             get
             {
                 ulong size = 0;
-                foreach (TSStreamClip clip in StreamClips)
+                foreach (var clip in StreamClips)
                 {
                     size += clip.PacketSize;
                 }
@@ -264,7 +258,7 @@ namespace BDInfo
                 int itemCount = ReadInt16(data, ref pos);
                 int subitemCount = ReadInt16(data, ref pos);
 
-                List<TSStreamClip> chapterClips = new List<TSStreamClip>();
+                var chapterClips = new List<TSStreamClip>();
                 for (int itemIndex = 0; itemIndex < itemCount; itemIndex++)
                 {
                     int itemStart = pos;
@@ -311,7 +305,7 @@ namespace BDInfo
                     if (outTime < 0) outTime &= 0x7FFFFFFF;
                     double timeOut = (double)outTime / 45000;
 
-                    TSStreamClip streamClip = new TSStreamClip(
+                    var streamClip = new TSStreamClip(
                         streamFile, streamClipFile);
 
                     streamClip.Name = streamFileName; //TODO
@@ -362,7 +356,7 @@ namespace BDInfo
                                     FileInfo.Name, angleClipFileName));
                             }
 
-                            TSStreamClip angleClip =
+                            var angleClip =
                                 new TSStreamClip(angleFile, angleClipFile);
                             angleClip.AngleIndex = angle + 1;
                             angleClip.TimeIn = streamClip.TimeIn;
@@ -395,33 +389,33 @@ namespace BDInfo
 
                     for (int i = 0; i < streamCountVideo; i++)
                     {
-                        TSStream stream = CreatePlaylistStream(data, ref pos);
+                        var stream = CreatePlaylistStream(data, ref pos);
                         if (stream != null) PlaylistStreams[stream.PID] = stream;
                     }
                     for (int i = 0; i < streamCountAudio; i++)
                     {
-                        TSStream stream = CreatePlaylistStream(data, ref pos);
+                        var stream = CreatePlaylistStream(data, ref pos);
                         if (stream != null) PlaylistStreams[stream.PID] = stream;
                     }
                     for (int i = 0; i < streamCountPG; i++)
                     {
-                        TSStream stream = CreatePlaylistStream(data, ref pos);
+                        var stream = CreatePlaylistStream(data, ref pos);
                         if (stream != null) PlaylistStreams[stream.PID] = stream;
                     }
                     for (int i = 0; i < streamCountIG; i++)
                     {
-                        TSStream stream = CreatePlaylistStream(data, ref pos);
+                        var stream = CreatePlaylistStream(data, ref pos);
                         if (stream != null) PlaylistStreams[stream.PID] = stream;
                     }
                     for (int i = 0; i < streamCountSecondaryAudio; i++)
                     {
-                        TSStream stream = CreatePlaylistStream(data, ref pos);
+                        var stream = CreatePlaylistStream(data, ref pos);
                         if (stream != null) PlaylistStreams[stream.PID] = stream;
                         pos += 2;
                     }
                     for (int i = 0; i < streamCountSecondaryVideo; i++)
                     {
-                        TSStream stream = CreatePlaylistStream(data, ref pos);
+                        var stream = CreatePlaylistStream(data, ref pos);
                         if (stream != null) PlaylistStreams[stream.PID] = stream;
                         pos += 6;
                     }
@@ -446,7 +440,7 @@ namespace BDInfo
                     chapterIndex < chapterCount;
                     chapterIndex++)
                 {
-                    int chapterType = data[pos+1];
+                    int chapterType = data[pos + 1];
 
                     if (chapterType == 1)
                     {
@@ -459,7 +453,7 @@ namespace BDInfo
                             ((long)data[pos + 6] << 8) +
                             ((long)data[pos + 7]);
 
-                        TSStreamClip streamClip = chapterClips[streamFileIndex];
+                        var streamClip = chapterClips[streamFileIndex];
 
                         double chapterSeconds = (double)chapterTime / 45000;
 
@@ -499,8 +493,8 @@ namespace BDInfo
         {
             LoadStreamClips();
 
-            Dictionary<string, List<double>> clipTimes = new Dictionary<string, List<double>>();
-            foreach (TSStreamClip clip in StreamClips)
+            var clipTimes = new Dictionary<string, List<double>>();
+            foreach (var clip in StreamClips)
             {
                 if (clip.AngleIndex == 0)
                 {
@@ -568,7 +562,7 @@ namespace BDInfo
             int streamLength = data[pos++];
             int streamPos = pos;
 
-            TSStreamType streamType = (TSStreamType)data[pos++];
+            var streamType = (TSStreamType)data[pos++];
             switch (streamType)
             {
                 case TSStreamType.MVC_VIDEO:
@@ -580,11 +574,11 @@ namespace BDInfo
                 case TSStreamType.MPEG2_VIDEO:
                 case TSStreamType.VC1_VIDEO:
 
-                    TSVideoFormat videoFormat = (TSVideoFormat)
+                    var videoFormat = (TSVideoFormat)
                         (data[pos] >> 4);
-                    TSFrameRate frameRate = (TSFrameRate)
+                    var frameRate = (TSFrameRate)
                         (data[pos] & 0xF);
-                    TSAspectRatio aspectRatio = (TSAspectRatio)
+                    var aspectRatio = (TSAspectRatio)
                         (data[pos + 1] >> 4);
 
                     stream = new TSVideoStream();
@@ -618,9 +612,9 @@ namespace BDInfo
 
                     int audioFormat = ReadByte(data, ref pos);
 
-                    TSChannelLayout channelLayout = (TSChannelLayout)
+                    var channelLayout = (TSChannelLayout)
                         (audioFormat >> 4);
-                    TSSampleRate sampleRate = (TSSampleRate)
+                    var sampleRate = (TSSampleRate)
                         (audioFormat & 0xF);
 
                     string audioLanguage = ReadString(data, 3, ref pos);
@@ -713,7 +707,7 @@ namespace BDInfo
             {
                 referenceClip = StreamClips[0];
             }
-            foreach (TSStreamClip clip in StreamClips)
+            foreach (var clip in StreamClips)
             {
                 if (clip.StreamClipFile.Streams.Count > referenceClip.StreamClipFile.Streams.Count)
                 {
@@ -739,12 +733,12 @@ namespace BDInfo
                 }
             }
 
-            foreach (TSStream clipStream
+            foreach (var clipStream
                 in referenceClip.StreamClipFile.Streams.Values)
             {
                 if (!Streams.ContainsKey(clipStream.PID))
                 {
-                    TSStream stream = clipStream.Clone();
+                    var stream = clipStream.Clone();
                     Streams[clipStream.PID] = stream;
 
                     if (!IsCustom && !PlaylistStreams.ContainsKey(stream.PID))
@@ -780,7 +774,7 @@ namespace BDInfo
                     referenceClip.StreamFile.Streams.ContainsKey(4114) &&
                     !Streams.ContainsKey(4114))
                 {
-                    TSStream stream = referenceClip.StreamFile.Streams[4114].Clone();
+                    var stream = referenceClip.StreamFile.Streams[4114].Clone();
                     Streams[4114] = stream;
                     if (stream.IsVideoStream)
                     {
@@ -788,12 +782,12 @@ namespace BDInfo
                     }
                 }
 
-                foreach (TSStream clipStream
+                foreach (var clipStream
                     in referenceClip.StreamFile.Streams.Values)
                 {
                     if (Streams.ContainsKey(clipStream.PID))
                     {
-                        TSStream stream = Streams[clipStream.PID];
+                        var stream = Streams[clipStream.PID];
 
                         if (stream.StreamType != clipStream.StreamType) continue;
 
@@ -812,8 +806,8 @@ namespace BDInfo
                         else if (stream.IsAudioStream &&
                             clipStream.IsAudioStream)
                         {
-                            TSAudioStream audioStream = (TSAudioStream)stream;
-                            TSAudioStream clipAudioStream = (TSAudioStream)clipStream;
+                            var audioStream = (TSAudioStream)stream;
+                            var clipAudioStream = (TSAudioStream)clipStream;
 
                             if (clipAudioStream.ChannelCount > audioStream.ChannelCount)
                             {
@@ -864,7 +858,7 @@ namespace BDInfo
                 SortedStreams.Add(stream);
                 for (int i = 0; i < AngleCount; i++)
                 {
-                    TSStream angleStream = stream.Clone();
+                    var angleStream = stream.Clone();
                     angleStream.AngleIndex = i + 1;
                     AngleStreams[i][angleStream.PID] = angleStream;
                     SortedStreams.Add(angleStream);
@@ -901,7 +895,7 @@ namespace BDInfo
 
         public void ClearBitrates()
         {
-            foreach (TSStreamClip clip in StreamClips)
+            foreach (var clip in StreamClips)
             {
                 clip.PayloadBytes = 0;
                 clip.PacketCount = 0;
@@ -909,7 +903,7 @@ namespace BDInfo
 
                 if (clip.StreamFile != null)
                 {
-                    foreach (TSStream stream in clip.StreamFile.Streams.Values)
+                    foreach (var stream in clip.StreamFile.Streams.Values)
                     {
                         stream.PayloadBytes = 0;
                         stream.PacketCount = 0;
@@ -924,7 +918,7 @@ namespace BDInfo
                 }
             }
 
-            foreach (TSStream stream in SortedStreams)
+            foreach (var stream in SortedStreams)
             {
                 stream.PayloadBytes = 0;
                 stream.PacketCount = 0;
@@ -1246,8 +1240,7 @@ namespace BDInfo
             int count,
             ref int pos)
         {
-            string val =
-                _textEncoding.GetASCIIEncoding().GetString(data, pos, count);
+            string val = Encoding.ASCII.GetString(data, pos, count);
 
             pos += count;
 

+ 12 - 33
BDInfo/TSStream.cs

@@ -1,4 +1,4 @@
-//============================================================================
+//============================================================================
 // BDInfo - Blu-ray Video and Audio Analysis Tool
 // Copyright © 2010 Cinema Squid
 //
@@ -109,7 +109,7 @@ namespace BDInfo
 
         public TSDescriptor Clone()
         {
-            TSDescriptor descriptor =
+            var descriptor =
                 new TSDescriptor(Name, (byte)Value.Length);
             Value.CopyTo(descriptor.Value, 0);
             return descriptor;
@@ -142,21 +142,12 @@ namespace BDInfo
         public double PacketSeconds = 0;
         public int AngleIndex = 0;
 
-        public ulong PacketSize
-        {
-            get
-            {
-                return PacketCount * 192;
-            }
-        }
+        public ulong PacketSize => PacketCount * 192;
 
         private string _LanguageCode;
         public string LanguageCode
         {
-            get
-            {
-                return _LanguageCode;
-            }
+            get => _LanguageCode;
             set
             {
                 _LanguageCode = value;
@@ -398,13 +389,7 @@ namespace BDInfo
             }
         }
 
-        public virtual string Description
-        {
-            get
-            {
-                return "";
-            }
-        }
+        public virtual string Description => "";
 
         public abstract TSStream Clone();
 
@@ -419,7 +404,7 @@ namespace BDInfo
             if (Descriptors != null)
             {
                 stream.Descriptors = new List<TSDescriptor>();
-                foreach (TSDescriptor descriptor in Descriptors)
+                foreach (var descriptor in Descriptors)
                 {
                     stream.Descriptors.Add(descriptor.Clone());
                 }
@@ -444,10 +429,7 @@ namespace BDInfo
         private TSVideoFormat _VideoFormat;
         public TSVideoFormat VideoFormat
         {
-            get
-            {
-                return _VideoFormat;
-            }
+            get => _VideoFormat;
             set
             {
                 _VideoFormat = value;
@@ -488,10 +470,7 @@ namespace BDInfo
         private TSFrameRate _FrameRate;
         public TSFrameRate FrameRate
         {
-            get
-            {
-                return _FrameRate;
-            }
+            get => _FrameRate;
             set
             {
                 _FrameRate = value;
@@ -574,7 +553,7 @@ namespace BDInfo
 
         public override TSStream Clone()
         {
-            TSVideoStream stream = new TSVideoStream();
+            var stream = new TSVideoStream();
             CopyTo(stream);
 
             stream.VideoFormat = _VideoFormat;
@@ -748,7 +727,7 @@ namespace BDInfo
 
         public override TSStream Clone()
         {
-            TSAudioStream stream = new TSAudioStream();
+            var stream = new TSAudioStream();
             CopyTo(stream);
 
             stream.SampleRate = SampleRate;
@@ -777,7 +756,7 @@ namespace BDInfo
 
         public override TSStream Clone()
         {
-            TSGraphicsStream stream = new TSGraphicsStream();
+            var stream = new TSGraphicsStream();
             CopyTo(stream);
             return stream;
         }
@@ -793,7 +772,7 @@ namespace BDInfo
 
         public override TSStream Clone()
         {
-            TSTextStream stream = new TSTextStream();
+            var stream = new TSTextStream();
             CopyTo(stream);
             return stream;
         }

+ 4 - 16
BDInfo/TSStreamBuffer.cs

@@ -1,4 +1,4 @@
-//============================================================================
+//============================================================================
 // BDInfo - Blu-ray Video and Audio Analysis Tool
 // Copyright © 2010 Cinema Squid
 //
@@ -37,21 +37,9 @@ namespace BDInfo
             Stream = new MemoryStream(Buffer);
         }
 
-        public long Length
-        {
-            get
-            {
-                return (long)BufferLength;
-            }
-        }
+        public long Length => (long)BufferLength;
 
-        public long Position
-        {
-            get
-            {
-                return Stream.Position;
-            }
-        }
+        public long Position => Stream.Position;
 
         public void Add(
             byte[] buffer,
@@ -123,7 +111,7 @@ namespace BDInfo
                 data += (Stream.ReadByte() << shift);
                 shift -= 8;
             }
-            BitVector32 vector = new BitVector32(data);
+            var vector = new BitVector32(data);
 
             int value = 0;
             for (int i = SkipBits; i < SkipBits + bits; i++)

+ 4 - 10
BDInfo/TSStreamClip.cs

@@ -1,4 +1,4 @@
-//============================================================================
+//============================================================================
 // BDInfo - Blu-ray Video and Audio Analysis Tool
 // Copyright © 2010 Cinema Squid
 //
@@ -74,13 +74,7 @@ namespace BDInfo
             }
         }
 
-        public ulong PacketSize
-        {
-            get
-            {
-                return PacketCount * 192;
-            }
-        }
+        public ulong PacketSize => PacketCount * 192;
 
         public ulong PacketBitRate
         {
@@ -96,11 +90,11 @@ namespace BDInfo
 
         public bool IsCompatible(TSStreamClip clip)
         {
-            foreach (TSStream stream1 in StreamFile.Streams.Values)
+            foreach (var stream1 in StreamFile.Streams.Values)
             {
                 if (clip.StreamFile.Streams.ContainsKey(stream1.PID))
                 {
-                    TSStream stream2 = clip.StreamFile.Streams[stream1.PID];
+                    var stream2 = clip.StreamFile.Streams[stream1.PID];
                     if (stream1.StreamType != stream2.StreamType)
                     {
                         return false;

+ 52 - 59
BDInfo/TSStreamClipFile.cs

@@ -23,28 +23,24 @@ using System.Collections.Generic;
 using System.IO;
 using System.Text;
 using MediaBrowser.Model.IO;
-using MediaBrowser.Model.Text;
 
 namespace BDInfo
 {
     public class TSStreamClipFile
     {
         private readonly IFileSystem _fileSystem;
-        private readonly ITextEncoding _textEncoding;
         public FileSystemMetadata FileInfo = null;
         public string FileType = null;
         public bool IsValid = false;
         public string Name = null;
 
         public Dictionary<ushort, TSStream> Streams =
-            new Dictionary<ushort,TSStream>();
+            new Dictionary<ushort, TSStream>();
 
-        public TSStreamClipFile(
-            FileSystemMetadata fileInfo, IFileSystem fileSystem, ITextEncoding textEncoding)
+        public TSStreamClipFile(FileSystemMetadata fileInfo, IFileSystem fileSystem)
         {
             FileInfo = fileInfo;
             _fileSystem = fileSystem;
-            _textEncoding = textEncoding;
             Name = fileInfo.Name.ToUpper();
         }
 
@@ -70,7 +66,7 @@ namespace BDInfo
                 byte[] fileType = new byte[8];
                 Array.Copy(data, 0, fileType, 0, fileType.Length);
 
-                FileType = _textEncoding.GetASCIIEncoding().GetString(fileType, 0, fileType.Length);
+                FileType = Encoding.ASCII.GetString(fileType, 0, fileType.Length);
                 if (FileType != "HDMV0100" &&
                     FileType != "HDMV0200")
                 {
@@ -115,7 +111,7 @@ namespace BDInfo
 
                     streamOffset += 2;
 
-                    TSStreamType streamType = (TSStreamType)
+                    var streamType = (TSStreamType)
                         clipData[streamOffset + 1];
                     switch (streamType)
                     {
@@ -127,18 +123,18 @@ namespace BDInfo
                         case TSStreamType.MPEG1_VIDEO:
                         case TSStreamType.MPEG2_VIDEO:
                         case TSStreamType.VC1_VIDEO:
-                        {
-                            TSVideoFormat videoFormat = (TSVideoFormat)
-                                (clipData[streamOffset + 2] >> 4);
-                            TSFrameRate frameRate = (TSFrameRate)
-                                (clipData[streamOffset + 2] & 0xF);
-                            TSAspectRatio aspectRatio = (TSAspectRatio)
-                                (clipData[streamOffset + 3] >> 4);
-
-                            stream = new TSVideoStream();
-                            ((TSVideoStream)stream).VideoFormat = videoFormat;
-                            ((TSVideoStream)stream).AspectRatio = aspectRatio;
-                            ((TSVideoStream)stream).FrameRate = frameRate;
+                            {
+                                var videoFormat = (TSVideoFormat)
+                                    (clipData[streamOffset + 2] >> 4);
+                                var frameRate = (TSFrameRate)
+                                    (clipData[streamOffset + 2] & 0xF);
+                                var aspectRatio = (TSAspectRatio)
+                                    (clipData[streamOffset + 3] >> 4);
+
+                                stream = new TSVideoStream();
+                                ((TSVideoStream)stream).VideoFormat = videoFormat;
+                                ((TSVideoStream)stream).AspectRatio = aspectRatio;
+                                ((TSVideoStream)stream).FrameRate = frameRate;
 #if DEBUG
                             Debug.WriteLine(string.Format(
                                 "\t{0} {1} {2} {3} {4}",
@@ -148,8 +144,8 @@ namespace BDInfo
                                 frameRate,
                                 aspectRatio));
 #endif
-                        }
-                        break;
+                            }
+                            break;
 
                         case TSStreamType.AC3_AUDIO:
                         case TSStreamType.AC3_PLUS_AUDIO:
@@ -162,23 +158,22 @@ namespace BDInfo
                         case TSStreamType.LPCM_AUDIO:
                         case TSStreamType.MPEG1_AUDIO:
                         case TSStreamType.MPEG2_AUDIO:
-                        {
-                            byte[] languageBytes = new byte[3];
-                            Array.Copy(clipData, streamOffset + 3,
-                                languageBytes, 0, languageBytes.Length);
-                            string languageCode =
-                                _textEncoding.GetASCIIEncoding().GetString(languageBytes, 0, languageBytes.Length);
-
-                            TSChannelLayout channelLayout = (TSChannelLayout)
-                                (clipData[streamOffset + 2] >> 4);
-                            TSSampleRate sampleRate = (TSSampleRate)
-                                (clipData[streamOffset + 2] & 0xF);
-
-                            stream = new TSAudioStream();
-                            ((TSAudioStream)stream).LanguageCode = languageCode;
-                            ((TSAudioStream)stream).ChannelLayout = channelLayout;
-                            ((TSAudioStream)stream).SampleRate = TSAudioStream.ConvertSampleRate(sampleRate);
-                            ((TSAudioStream)stream).LanguageCode = languageCode;
+                            {
+                                byte[] languageBytes = new byte[3];
+                                Array.Copy(clipData, streamOffset + 3,
+                                    languageBytes, 0, languageBytes.Length);
+                                string languageCode = Encoding.ASCII.GetString(languageBytes, 0, languageBytes.Length);
+
+                                var channelLayout = (TSChannelLayout)
+                                    (clipData[streamOffset + 2] >> 4);
+                                var sampleRate = (TSSampleRate)
+                                    (clipData[streamOffset + 2] & 0xF);
+
+                                stream = new TSAudioStream();
+                                ((TSAudioStream)stream).LanguageCode = languageCode;
+                                ((TSAudioStream)stream).ChannelLayout = channelLayout;
+                                ((TSAudioStream)stream).SampleRate = TSAudioStream.ConvertSampleRate(sampleRate);
+                                ((TSAudioStream)stream).LanguageCode = languageCode;
 #if DEBUG
                             Debug.WriteLine(string.Format(
                                 "\t{0} {1} {2} {3} {4}",
@@ -188,20 +183,19 @@ namespace BDInfo
                                 channelLayout,
                                 sampleRate));
 #endif
-                        }
-                        break;
+                            }
+                            break;
 
                         case TSStreamType.INTERACTIVE_GRAPHICS:
                         case TSStreamType.PRESENTATION_GRAPHICS:
-                        {
-                            byte[] languageBytes = new byte[3];
-                            Array.Copy(clipData, streamOffset + 2,
-                                languageBytes, 0, languageBytes.Length);
-                            string languageCode =
-                                _textEncoding.GetASCIIEncoding().GetString(languageBytes, 0, languageBytes.Length);
+                            {
+                                byte[] languageBytes = new byte[3];
+                                Array.Copy(clipData, streamOffset + 2,
+                                    languageBytes, 0, languageBytes.Length);
+                                string languageCode = Encoding.ASCII.GetString(languageBytes, 0, languageBytes.Length);
 
                                 stream = new TSGraphicsStream();
-                            stream.LanguageCode = languageCode;
+                                stream.LanguageCode = languageCode;
 #if DEBUG
                             Debug.WriteLine(string.Format(
                                 "\t{0} {1} {2}",
@@ -209,16 +203,15 @@ namespace BDInfo
                                 streamType,
                                 languageCode));
 #endif
-                        }
-                        break;
+                            }
+                            break;
 
                         case TSStreamType.SUBTITLE:
-                        {
-                            byte[] languageBytes = new byte[3];
-                            Array.Copy(clipData, streamOffset + 3,
-                                languageBytes, 0, languageBytes.Length);
-                            string languageCode =
-                                _textEncoding.GetASCIIEncoding().GetString(languageBytes, 0, languageBytes.Length);
+                            {
+                                byte[] languageBytes = new byte[3];
+                                Array.Copy(clipData, streamOffset + 3,
+                                    languageBytes, 0, languageBytes.Length);
+                                string languageCode = Encoding.ASCII.GetString(languageBytes, 0, languageBytes.Length);
 #if DEBUG
                             Debug.WriteLine(string.Format(
                                 "\t{0} {1} {2}",
@@ -227,9 +220,9 @@ namespace BDInfo
                                 languageCode));
 #endif
                                 stream = new TSTextStream();
-                            stream.LanguageCode = languageCode;
-                        }
-                        break;
+                                stream.LanguageCode = languageCode;
+                            }
+                            break;
                     }
 
                     if (stream != null)

+ 97 - 95
BDInfo/TSStreamFile.cs

@@ -1,4 +1,4 @@
-//============================================================================
+//============================================================================
 // BDInfo - Blu-ray Video and Audio Analysis Tool
 // Copyright © 2010 Cinema Squid
 //
@@ -283,7 +283,7 @@ namespace BDInfo
 
             bool isAVC = false;
             bool isMVC = false;
-            foreach (TSStream finishedStream in Streams.Values)
+            foreach (var finishedStream in Streams.Values)
             {
                 if (!finishedStream.IsInitialized)
                 {
@@ -327,10 +327,10 @@ namespace BDInfo
                 UpdateStreamBitrate(PID, PTSPID, PTS, PTSDiff);
             }
 
-            foreach (TSPlaylistFile playlist in Playlists)
+            foreach (var playlist in Playlists)
             {
                 double packetSeconds = 0;
-                foreach (TSStreamClip clip in playlist.StreamClips)
+                foreach (var clip in playlist.StreamClips)
                 {
                     if (clip.AngleIndex == 0)
                     {
@@ -339,7 +339,7 @@ namespace BDInfo
                 }
                 if (packetSeconds > 0)
                 {
-                    foreach (TSStream playlistStream in playlist.SortedStreams)
+                    foreach (var playlistStream in playlist.SortedStreams)
                     {
                         if (playlistStream.IsVBR)
                         {
@@ -366,14 +366,14 @@ namespace BDInfo
         {
             if (Playlists == null) return;
 
-            TSStreamState streamState = StreamStates[PID];
+            var streamState = StreamStates[PID];
             double streamTime = (double)PTS / 90000;
             double streamInterval = (double)PTSDiff / 90000;
             double streamOffset = streamTime + streamInterval;
 
-            foreach (TSPlaylistFile playlist in Playlists)
+            foreach (var playlist in Playlists)
             {
-                foreach (TSStreamClip clip in playlist.StreamClips)
+                foreach (var clip in playlist.StreamClips)
                 {
                     if (clip.Name != this.Name) continue;
 
@@ -390,7 +390,7 @@ namespace BDInfo
                             clip.PacketSeconds = streamOffset - clip.TimeIn;
                         }
 
-                        Dictionary<ushort, TSStream> playlistStreams = playlist.Streams;
+                        var playlistStreams = playlist.Streams;
                         if (clip.AngleIndex > 0 &&
                             clip.AngleIndex < playlist.AngleStreams.Count + 1)
                         {
@@ -398,7 +398,7 @@ namespace BDInfo
                         }
                         if (playlistStreams.ContainsKey(PID))
                         {
-                            TSStream stream = playlistStreams[PID];
+                            var stream = playlistStreams[PID];
 
                             stream.PayloadBytes += streamState.WindowBytes;
                             stream.PacketCount += streamState.WindowPackets;
@@ -425,13 +425,13 @@ namespace BDInfo
 
             if (Streams.ContainsKey(PID))
             {
-                TSStream stream = Streams[PID];
+                var stream = Streams[PID];
                 stream.PayloadBytes += streamState.WindowBytes;
                 stream.PacketCount += streamState.WindowPackets;
 
                 if (stream.IsVideoStream)
                 {
-                    TSStreamDiagnostics diag = new TSStreamDiagnostics();
+                    var diag = new TSStreamDiagnostics();
                     diag.Marker = (double)PTS / 90000;
                     diag.Interval = (double)PTSDiff / 90000;
                     diag.Bytes = streamState.WindowBytes;
@@ -482,7 +482,7 @@ namespace BDInfo
                 StreamStates.Clear();
                 StreamDiagnostics.Clear();
 
-                TSPacketParser parser =
+                var parser =
                     new TSPacketParser();
 
                 long fileLength = (uint)fileStream.Length;
@@ -536,80 +536,80 @@ namespace BDInfo
                             switch (parser.HeaderParse)
                             {
                                 case 2:
-                                {
-                                    parser.TransportErrorIndicator =
-                                        (byte)((buffer[i] >> 7) & 0x1);
-                                    parser.PayloadUnitStartIndicator =
-                                        (byte)((buffer[i] >> 6) & 0x1);
-                                    parser.TransportPriority =
-                                        (byte)((buffer[i] >> 5) & 0x1);
-                                    parser.PID =
-                                        (ushort)((buffer[i] & 0x1f) << 8);
-                                }
-                                break;
-
-                                case 1:
-                                {
-                                    parser.PID |= (ushort)buffer[i];
-                                    if (Streams.ContainsKey(parser.PID))
-                                    {
-                                        parser.Stream = Streams[parser.PID];
-                                    }
-                                    else
                                     {
-                                        parser.Stream = null;
+                                        parser.TransportErrorIndicator =
+                                            (byte)((buffer[i] >> 7) & 0x1);
+                                        parser.PayloadUnitStartIndicator =
+                                            (byte)((buffer[i] >> 6) & 0x1);
+                                        parser.TransportPriority =
+                                            (byte)((buffer[i] >> 5) & 0x1);
+                                        parser.PID =
+                                            (ushort)((buffer[i] & 0x1f) << 8);
                                     }
-                                    if (!StreamStates.ContainsKey(parser.PID))
-                                    {
-                                        StreamStates[parser.PID] = new TSStreamState();
-                                    }
-                                    parser.StreamState = StreamStates[parser.PID];
-                                    parser.StreamState.TotalPackets++;
-                                    parser.StreamState.WindowPackets++;
-                                    parser.TotalPackets++;
-                                }
-                                break;
+                                    break;
 
-                                case 0:
-                                {
-                                    parser.TransportScramblingControl =
-                                        (byte)((buffer[i] >> 6) & 0x3);
-                                    parser.AdaptionFieldControl =
-                                        (byte)((buffer[i] >> 4) & 0x3);
-
-                                    if ((parser.AdaptionFieldControl & 0x2) == 0x2)
-                                    {
-                                        parser.AdaptionFieldState = true;
-                                    }
-                                    if (parser.PayloadUnitStartIndicator == 1)
+                                case 1:
                                     {
-                                        if (parser.PID == 0)
+                                        parser.PID |= (ushort)buffer[i];
+                                        if (Streams.ContainsKey(parser.PID))
                                         {
-                                            parser.PATSectionStart = true;
+                                            parser.Stream = Streams[parser.PID];
                                         }
-                                        else if (parser.PID == parser.PMTPID)
+                                        else
                                         {
-                                            parser.PMTSectionStart = true;
+                                            parser.Stream = null;
                                         }
-                                        else if (parser.StreamState != null &&
-                                            parser.StreamState.TransferState)
+                                        if (!StreamStates.ContainsKey(parser.PID))
                                         {
-                                            parser.StreamState.TransferState = false;
-                                            parser.StreamState.TransferCount++;
+                                            StreamStates[parser.PID] = new TSStreamState();
+                                        }
+                                        parser.StreamState = StreamStates[parser.PID];
+                                        parser.StreamState.TotalPackets++;
+                                        parser.StreamState.WindowPackets++;
+                                        parser.TotalPackets++;
+                                    }
+                                    break;
 
-                                            bool isFinished = ScanStream(
-                                                parser.Stream,
-                                                parser.StreamState,
-                                                parser.StreamState.StreamBuffer);
+                                case 0:
+                                    {
+                                        parser.TransportScramblingControl =
+                                            (byte)((buffer[i] >> 6) & 0x3);
+                                        parser.AdaptionFieldControl =
+                                            (byte)((buffer[i] >> 4) & 0x3);
 
-                                            if (!isFullScan && isFinished)
+                                        if ((parser.AdaptionFieldControl & 0x2) == 0x2)
+                                        {
+                                            parser.AdaptionFieldState = true;
+                                        }
+                                        if (parser.PayloadUnitStartIndicator == 1)
+                                        {
+                                            if (parser.PID == 0)
+                                            {
+                                                parser.PATSectionStart = true;
+                                            }
+                                            else if (parser.PID == parser.PMTPID)
+                                            {
+                                                parser.PMTSectionStart = true;
+                                            }
+                                            else if (parser.StreamState != null &&
+                                                parser.StreamState.TransferState)
                                             {
-                                                return;
+                                                parser.StreamState.TransferState = false;
+                                                parser.StreamState.TransferCount++;
+
+                                                bool isFinished = ScanStream(
+                                                    parser.Stream,
+                                                    parser.StreamState,
+                                                    parser.StreamState.StreamBuffer);
+
+                                                if (!isFullScan && isFinished)
+                                                {
+                                                    return;
+                                                }
                                             }
                                         }
                                     }
-                                }
-                                break;
+                                    break;
                             }
                         }
                         else if (parser.AdaptionFieldState)
@@ -670,7 +670,8 @@ namespace BDInfo
                                     parser.PAT[parser.PATOffset++] = buffer[i++];
                                     parser.PATSectionLength--;
                                     parser.PacketLength--;
-                                } --i;
+                                }
+                                --i;
 
                                 if (parser.PATSectionLength == 0)
                                 {
@@ -801,7 +802,8 @@ namespace BDInfo
                                     PMT[parser.PMTOffset++] = buffer[i++];
                                     --parser.PMTSectionLength;
                                     --parser.PacketLength;
-                                } --i;
+                                }
+                                --i;
 
                                 if (parser.PMTSectionLength == 0)
                                 {
@@ -837,7 +839,7 @@ namespace BDInfo
 
                                                 if (!Streams.ContainsKey(streamPID))
                                                 {
-                                                    List<TSDescriptor> streamDescriptors =
+                                                    var streamDescriptors =
                                                         new List<TSDescriptor>();
 
                                                     /*
@@ -994,7 +996,7 @@ namespace BDInfo
                                     {
                                         --parser.PMTProgramDescriptorLength;
 
-                                        TSDescriptor descriptor = parser.PMTProgramDescriptors[
+                                        var descriptor = parser.PMTProgramDescriptors[
                                             parser.PMTProgramDescriptors.Count - 1];
 
                                         int valueIndex =
@@ -1024,8 +1026,8 @@ namespace BDInfo
                             parser.StreamState != null &&
                             parser.TransportScramblingControl == 0)
                         {
-                            TSStream stream = parser.Stream;
-                            TSStreamState streamState = parser.StreamState;
+                            var stream = parser.Stream;
+                            var streamState = parser.StreamState;
 
                             streamState.Parse =
                                 (streamState.Parse << 8) + buffer[i];
@@ -1459,7 +1461,7 @@ namespace BDInfo
 
                 ulong PTSLast = 0;
                 ulong PTSDiff = 0;
-                foreach (TSStream stream in Streams.Values)
+                foreach (var stream in Streams.Values)
                 {
                     if (!stream.IsVideoStream) continue;
 
@@ -1495,10 +1497,10 @@ namespace BDInfo
                 case TSStreamType.MPEG1_VIDEO:
                 case TSStreamType.MPEG2_VIDEO:
                 case TSStreamType.VC1_VIDEO:
-                {
-                    stream = new TSVideoStream();
-                }
-                break;
+                    {
+                        stream = new TSVideoStream();
+                    }
+                    break;
 
                 case TSStreamType.AC3_AUDIO:
                 case TSStreamType.AC3_PLUS_AUDIO:
@@ -1511,23 +1513,23 @@ namespace BDInfo
                 case TSStreamType.LPCM_AUDIO:
                 case TSStreamType.MPEG1_AUDIO:
                 case TSStreamType.MPEG2_AUDIO:
-                {
-                    stream = new TSAudioStream();
-                }
-                break;
+                    {
+                        stream = new TSAudioStream();
+                    }
+                    break;
 
                 case TSStreamType.INTERACTIVE_GRAPHICS:
                 case TSStreamType.PRESENTATION_GRAPHICS:
-                {
-                    stream = new TSGraphicsStream();
-                }
-                break;
+                    {
+                        stream = new TSGraphicsStream();
+                    }
+                    break;
 
                 case TSStreamType.SUBTITLE:
-                {
-                    stream = new TSTextStream();
-                }
-                break;
+                    {
+                        stream = new TSTextStream();
+                    }
+                    break;
 
                 default:
                     break;

+ 1 - 0
CONTRIBUTORS.md

@@ -13,6 +13,7 @@
  - [LeoVerto](https://github.com/LeoVerto)
  - [grafixeyehero](https://github.com/grafixeyehero)
  - [cvium](https://github.com/cvium)
+ - [wtayl0r](https://github.com/wtayl0r)
  
 # Emby Contributors
 

+ 1 - 4
DvdLib/BigEndianBinaryReader.cs

@@ -1,7 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
+using System;
 using System.IO;
 
 namespace DvdLib

+ 2 - 2
DvdLib/DvdLib.csproj

@@ -1,7 +1,7 @@
-<Project Sdk="Microsoft.NET.Sdk">
+<Project Sdk="Microsoft.NET.Sdk">
 
   <ItemGroup>
-    <Compile Include="..\SharedVersion.cs" Link="SharedVersion.cs" />
+    <Compile Include="..\SharedVersion.cs" />
   </ItemGroup>
 
   <ItemGroup>

+ 0 - 5
DvdLib/Ifo/AudioAttributes.cs

@@ -1,8 +1,3 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-
 namespace DvdLib.Ifo
 {
     public enum AudioCodec

+ 0 - 4
DvdLib/Ifo/Cell.cs

@@ -1,7 +1,3 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
 using System.IO;
 
 namespace DvdLib.Ifo

+ 0 - 4
DvdLib/Ifo/CellPlaybackInfo.cs

@@ -1,7 +1,3 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
 using System.IO;
 
 namespace DvdLib.Ifo

+ 0 - 4
DvdLib/Ifo/CellPositionInfo.cs

@@ -1,7 +1,3 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
 using System.IO;
 
 namespace DvdLib.Ifo

+ 0 - 5
DvdLib/Ifo/Chapter.cs

@@ -1,8 +1,3 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-
 namespace DvdLib.Ifo
 {
     public class Chapter

+ 9 - 12
DvdLib/Ifo/Dvd.cs

@@ -1,9 +1,7 @@
-using System;
+using System;
 using System.Collections.Generic;
-using System.Linq;
-using System.Text;
 using System.IO;
-using System.Diagnostics;
+using System.Linq;
 using MediaBrowser.Model.IO;
 
 namespace DvdLib.Ifo
@@ -33,10 +31,9 @@ namespace DvdLib.Ifo
                 foreach (var ifo in allIfos)
                 {
                     var num = ifo.Name.Split('_').ElementAtOrDefault(1);
-                    ushort ifoNumber;
                     var numbersRead = new List<ushort>();
 
-                    if (!string.IsNullOrEmpty(num) && ushort.TryParse(num, out ifoNumber) && !numbersRead.Contains(ifoNumber))
+                    if (!string.IsNullOrEmpty(num) && ushort.TryParse(num, out var ifoNumber) && !numbersRead.Contains(ifoNumber))
                     {
                         ReadVTS(ifoNumber, ifo.FullName);
                         numbersRead.Add(ifoNumber);
@@ -47,7 +44,7 @@ namespace DvdLib.Ifo
             {
                 using (var vmgFs = _fileSystem.GetFileStream(vmgPath.FullName, FileOpenMode.Open, FileAccessMode.Read, FileShareMode.Read))
                 {
-                    using (BigEndianBinaryReader vmgRead = new BigEndianBinaryReader(vmgFs))
+                    using (var vmgRead = new BigEndianBinaryReader(vmgFs))
                     {
                         vmgFs.Seek(0x3E, SeekOrigin.Begin);
                         _titleSetCount = vmgRead.ReadUInt16();
@@ -73,7 +70,7 @@ namespace DvdLib.Ifo
             read.BaseStream.Seek(6, SeekOrigin.Current);
             for (uint titleNum = 1; titleNum <= _titleCount; titleNum++)
             {
-                Title t = new Title(titleNum);
+                var t = new Title(titleNum);
                 t.ParseTT_SRPT(read);
                 Titles.Add(t);
             }
@@ -100,7 +97,7 @@ namespace DvdLib.Ifo
 
             using (var vtsFs = _fileSystem.GetFileStream(vtsPath, FileOpenMode.Open, FileAccessMode.Read, FileShareMode.Read))
             {
-                using (BigEndianBinaryReader vtsRead = new BigEndianBinaryReader(vtsFs))
+                using (var vtsRead = new BigEndianBinaryReader(vtsFs))
                 {
                     // Read VTS_PTT_SRPT
                     vtsFs.Seek(0xC8, SeekOrigin.Begin);
@@ -121,7 +118,7 @@ namespace DvdLib.Ifo
                     {
                         uint chapNum = 1;
                         vtsFs.Seek(baseAddr + offsets[titleNum], SeekOrigin.Begin);
-                        Title t = Titles.FirstOrDefault(vtst => vtst.IsVTSTitle(vtsNum, titleNum + 1));
+                        var t = Titles.FirstOrDefault(vtst => vtst.IsVTSTitle(vtsNum, titleNum + 1));
                         if (t == null) continue;
 
                         do
@@ -151,11 +148,11 @@ namespace DvdLib.Ifo
                         vtsFs.Seek(3, SeekOrigin.Current);
                         uint vtsPgcOffset = vtsRead.ReadUInt32();
 
-                        Title t = Titles.FirstOrDefault(vtst => vtst.IsVTSTitle(vtsNum, titleNum));
+                        var t = Titles.FirstOrDefault(vtst => vtst.IsVTSTitle(vtsNum, titleNum));
                         if (t != null) t.AddPgc(vtsRead, startByte + vtsPgcOffset, entryPgc, pgcNum);
                     }
                 }
             }
         }
     }
-}
+}

+ 0 - 3
DvdLib/Ifo/DvdTime.cs

@@ -1,7 +1,4 @@
 using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
 
 namespace DvdLib.Ifo
 {

+ 0 - 3
DvdLib/Ifo/PgcCommandTable.cs

@@ -1,7 +1,4 @@
-using System;
 using System.Collections.Generic;
-using System.Linq;
-using System.Text;
 
 namespace DvdLib.Ifo
 {

+ 0 - 3
DvdLib/Ifo/Program.cs

@@ -1,7 +1,4 @@
-using System;
 using System.Collections.Generic;
-using System.Linq;
-using System.Text;
 
 namespace DvdLib.Ifo
 {

+ 4 - 6
DvdLib/Ifo/ProgramChain.cs

@@ -1,8 +1,6 @@
-using System;
 using System.Collections.Generic;
-using System.Linq;
-using System.Text;
 using System.IO;
+using System.Linq;
 
 namespace DvdLib.Ifo
 {
@@ -89,7 +87,7 @@ namespace DvdLib.Ifo
             br.BaseStream.Seek(startPos + _cellPositionOffset, SeekOrigin.Begin);
             for (int cellNum = 0; cellNum < _cellCount; cellNum++)
             {
-                Cell c = new Cell();
+                var c = new Cell();
                 c.ParsePosition(br);
                 Cells.Add(c);
             }
@@ -101,12 +99,12 @@ namespace DvdLib.Ifo
             }
 
             br.BaseStream.Seek(startPos + _programMapOffset, SeekOrigin.Begin);
-            List<int> cellNumbers = new List<int>();
+            var cellNumbers = new List<int>();
             for (int progNum = 0; progNum < _programCount; progNum++) cellNumbers.Add(br.ReadByte() - 1);
 
             for (int i = 0; i < cellNumbers.Count; i++)
             {
-                int max = (i + 1 == cellNumbers.Count) ? _cellCount : cellNumbers[i+1];
+                int max = (i + 1 == cellNumbers.Count) ? _cellCount : cellNumbers[i + 1];
                 Programs.Add(new Program(Cells.Where((c, idx) => idx >= cellNumbers[i] && idx < max).ToList()));
             }
         }

+ 1 - 4
DvdLib/Ifo/Title.cs

@@ -1,7 +1,4 @@
-using System;
 using System.Collections.Generic;
-using System.Linq;
-using System.Text;
 using System.IO;
 
 namespace DvdLib.Ifo
@@ -53,7 +50,7 @@ namespace DvdLib.Ifo
             long curPos = br.BaseStream.Position;
             br.BaseStream.Seek(startByte, SeekOrigin.Begin);
 
-            ProgramChain pgc = new ProgramChain(pgcNum);
+            var pgc = new ProgramChain(pgcNum);
             pgc.ParseHeader(br);
             ProgramChains.Add(pgc);
             if (entryPgc) EntryProgramChain = pgc;

+ 1 - 4
DvdLib/Ifo/UserOperation.cs

@@ -1,7 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
+using System;
 
 namespace DvdLib.Ifo
 {

+ 0 - 5
DvdLib/Ifo/VideoAttributes.cs

@@ -1,8 +1,3 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-
 namespace DvdLib.Ifo
 {
     public enum VideoCodec

+ 2 - 2
DvdLib/Properties/AssemblyInfo.cs

@@ -15,7 +15,7 @@ using System.Runtime.InteropServices;
 [assembly: AssemblyCulture("")]
 [assembly: NeutralResourcesLanguage("en")]
 
-// Setting ComVisible to false makes the types in this assembly not visible 
-// to COM components.  If you need to access a type in this assembly from 
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components.  If you need to access a type in this assembly from
 // COM, set the ComVisible attribute to true on that type.
 [assembly: ComVisible(false)]

+ 10 - 28
Emby.Dlna/Api/DlnaServerService.cs

@@ -1,14 +1,14 @@
-using MediaBrowser.Controller.Dlna;
 using System;
 using System.Collections.Generic;
 using System.IO;
+using System.Linq;
+using System.Text;
 using System.Threading.Tasks;
-using MediaBrowser.Model.Services;
+using Emby.Dlna.Main;
 using MediaBrowser.Common.Extensions;
-using System.Text;
+using MediaBrowser.Controller.Dlna;
 using MediaBrowser.Controller.Net;
-using System.Linq;
-using Emby.Dlna.Main;
+using MediaBrowser.Model.Services;
 
 namespace Emby.Dlna.Api
 {
@@ -115,29 +115,11 @@ namespace Emby.Dlna.Api
         public IRequest Request { get; set; }
         private IHttpResultFactory _resultFactory;
 
-        private IContentDirectory ContentDirectory
-        {
-            get
-            {
-                return DlnaEntryPoint.Current.ContentDirectory;
-            }
-        }
+        private IContentDirectory ContentDirectory => DlnaEntryPoint.Current.ContentDirectory;
 
-        private IConnectionManager ConnectionManager
-        {
-            get
-            {
-                return DlnaEntryPoint.Current.ConnectionManager;
-            }
-        }
+        private IConnectionManager ConnectionManager => DlnaEntryPoint.Current.ConnectionManager;
 
-        private IMediaReceiverRegistrar MediaReceiverRegistrar
-        {
-            get
-            {
-                return DlnaEntryPoint.Current.MediaReceiverRegistrar;
-            }
-        }
+        private IMediaReceiverRegistrar MediaReceiverRegistrar => DlnaEntryPoint.Current.MediaReceiverRegistrar;
 
         public DlnaServerService(IDlnaManager dlnaManager, IHttpResultFactory httpResultFactory)
         {
@@ -227,7 +209,7 @@ namespace Emby.Dlna.Api
             // TODO: Work out what this is doing.
             if (string.Equals(first, "mediabrowser", StringComparison.OrdinalIgnoreCase) ||
                 string.Equals(first, "emby", StringComparison.OrdinalIgnoreCase) ||
-                string.Equals(first, "jellyfin", StringComparison.OrdinalIgnoreCase ))
+                string.Equals(first, "jellyfin", StringComparison.OrdinalIgnoreCase))
             {
                 index++;
             }
@@ -259,7 +241,7 @@ namespace Emby.Dlna.Api
             var cacheLength = TimeSpan.FromDays(365);
             var cacheKey = Request.RawUrl.GetMD5();
 
-            return _resultFactory.GetStaticResult(Request, cacheKey, null, cacheLength, contentType, () => Task.FromResult<Stream>(_dlnaManager.GetIcon(request.Filename).Stream));
+            return _resultFactory.GetStaticResult(Request, cacheKey, null, cacheLength, contentType, () => Task.FromResult(_dlnaManager.GetIcon(request.Filename).Stream));
         }
 
         public object Subscribe(ProcessContentDirectoryEventRequest request)

+ 2 - 2
Emby.Dlna/Api/DlnaService.cs

@@ -1,4 +1,4 @@
-using System.Linq;
+using System.Linq;
 using MediaBrowser.Controller.Dlna;
 using MediaBrowser.Controller.Net;
 using MediaBrowser.Model.Dlna;
@@ -80,4 +80,4 @@ namespace Emby.Dlna.Api
             _dlnaManager.CreateProfile(request);
         }
     }
-}
+}

+ 4 - 4
Emby.Dlna/Common/Argument.cs

@@ -1,12 +1,12 @@
-
+
 namespace Emby.Dlna.Common
 {
     public class Argument
     {
-        public string Name { get;  set; }
+        public string Name { get; set; }
 
-        public string Direction { get;  set; }
+        public string Direction { get; set; }
 
-        public string RelatedStateVariable { get;  set; }
+        public string RelatedStateVariable { get; set; }
     }
 }

+ 1 - 1
Emby.Dlna/Common/DeviceIcon.cs

@@ -1,4 +1,4 @@
-
+
 namespace Emby.Dlna.Common
 {
     public class DeviceIcon

+ 1 - 1
Emby.Dlna/Common/DeviceService.cs

@@ -1,4 +1,4 @@
-
+
 namespace Emby.Dlna.Common
 {
     public class DeviceService

+ 1 - 1
Emby.Dlna/Common/ServiceAction.cs

@@ -1,4 +1,4 @@
-using System.Collections.Generic;
+using System.Collections.Generic;
 
 namespace Emby.Dlna.Common
 {

+ 0 - 1
Emby.Dlna/Common/StateVariable.cs

@@ -1,4 +1,3 @@
-using System.Collections.Generic;
 using System;
 
 namespace Emby.Dlna.Common

+ 1 - 1
Emby.Dlna/Configuration/DlnaOptions.cs

@@ -1,4 +1,4 @@
-
+
 namespace Emby.Dlna.Configuration
 {
     public class DlnaOptions

+ 2 - 2
Emby.Dlna/ConfigurationExtension.cs

@@ -1,6 +1,6 @@
-using MediaBrowser.Common.Configuration;
-using Emby.Dlna.Configuration;
 using System.Collections.Generic;
+using Emby.Dlna.Configuration;
+using MediaBrowser.Common.Configuration;
 
 namespace Emby.Dlna
 {

+ 3 - 3
Emby.Dlna/ConnectionManager/ConnectionManager.cs

@@ -1,8 +1,8 @@
-using MediaBrowser.Common.Net;
+using System.Collections.Generic;
+using Emby.Dlna.Service;
+using MediaBrowser.Common.Net;
 using MediaBrowser.Controller.Configuration;
 using MediaBrowser.Controller.Dlna;
-using Emby.Dlna.Service;
-using System.Collections.Generic;
 using MediaBrowser.Model.Xml;
 using Microsoft.Extensions.Logging;
 

+ 1 - 1
Emby.Dlna/ConnectionManager/ConnectionManagerXmlBuilder.cs

@@ -1,6 +1,6 @@
+using System.Collections.Generic;
 using Emby.Dlna.Common;
 using Emby.Dlna.Service;
-using System.Collections.Generic;
 
 namespace Emby.Dlna.ConnectionManager
 {

+ 5 - 6
Emby.Dlna/ConnectionManager/ControlHandler.cs

@@ -1,12 +1,11 @@
-using MediaBrowser.Common.Extensions;
-using MediaBrowser.Controller.Configuration;
-using Emby.Dlna.Server;
-using Emby.Dlna.Service;
-using MediaBrowser.Model.Dlna;
-using Microsoft.Extensions.Logging;
 using System;
 using System.Collections.Generic;
+using Emby.Dlna.Service;
+using MediaBrowser.Common.Extensions;
+using MediaBrowser.Controller.Configuration;
+using MediaBrowser.Model.Dlna;
 using MediaBrowser.Model.Xml;
+using Microsoft.Extensions.Logging;
 
 namespace Emby.Dlna.ConnectionManager
 {

+ 1 - 1
Emby.Dlna/ConnectionManager/ServiceActionListBuilder.cs

@@ -1,5 +1,5 @@
-using Emby.Dlna.Common;
 using System.Collections.Generic;
+using Emby.Dlna.Common;
 
 namespace Emby.Dlna.ConnectionManager
 {

+ 6 - 6
Emby.Dlna/ContentDirectory/ContentDirectory.cs

@@ -1,18 +1,18 @@
-using MediaBrowser.Common.Net;
+using System;
+using System.Collections.Generic;
+using Emby.Dlna.Service;
+using MediaBrowser.Common.Net;
 using MediaBrowser.Controller.Configuration;
 using MediaBrowser.Controller.Dlna;
 using MediaBrowser.Controller.Drawing;
 using MediaBrowser.Controller.Entities;
 using MediaBrowser.Controller.Library;
-using Emby.Dlna.Service;
-using MediaBrowser.Model.Dlna;
-using Microsoft.Extensions.Logging;
-using System;
-using System.Collections.Generic;
 using MediaBrowser.Controller.MediaEncoding;
 using MediaBrowser.Controller.TV;
+using MediaBrowser.Model.Dlna;
 using MediaBrowser.Model.Globalization;
 using MediaBrowser.Model.Xml;
+using Microsoft.Extensions.Logging;
 
 namespace Emby.Dlna.ContentDirectory
 {

+ 1 - 1
Emby.Dlna/ContentDirectory/ContentDirectoryXmlBuilder.cs

@@ -1,6 +1,6 @@
+using System.Collections.Generic;
 using Emby.Dlna.Common;
 using Emby.Dlna.Service;
-using System.Collections.Generic;
 
 namespace Emby.Dlna.ContentDirectory
 {

+ 24 - 36
Emby.Dlna/ContentDirectory/ControlHandler.cs

@@ -1,19 +1,3 @@
-using MediaBrowser.Common.Extensions;
-using MediaBrowser.Controller.Channels;
-using MediaBrowser.Controller.Configuration;
-using MediaBrowser.Controller.Drawing;
-using MediaBrowser.Controller.Entities;
-using MediaBrowser.Controller.Entities.Movies;
-using MediaBrowser.Controller.Entities.TV;
-using MediaBrowser.Controller.Library;
-using Emby.Dlna.Didl;
-using Emby.Dlna.Server;
-using Emby.Dlna.Service;
-using MediaBrowser.Model.Configuration;
-using MediaBrowser.Model.Dlna;
-using MediaBrowser.Model.Entities;
-using Microsoft.Extensions.Logging;
-using MediaBrowser.Model.Querying;
 using System;
 using System.Collections.Generic;
 using System.Globalization;
@@ -21,17 +5,28 @@ using System.IO;
 using System.Linq;
 using System.Text;
 using System.Threading;
-using System.Threading.Tasks;
 using System.Xml;
+using Emby.Dlna.Didl;
+using Emby.Dlna.Service;
+using MediaBrowser.Common.Extensions;
+using MediaBrowser.Controller.Configuration;
+using MediaBrowser.Controller.Drawing;
 using MediaBrowser.Controller.Dto;
+using MediaBrowser.Controller.Entities;
 using MediaBrowser.Controller.Entities.Audio;
+using MediaBrowser.Controller.Entities.Movies;
+using MediaBrowser.Controller.Entities.TV;
+using MediaBrowser.Controller.Library;
+using MediaBrowser.Controller.LiveTv;
 using MediaBrowser.Controller.MediaEncoding;
 using MediaBrowser.Controller.Playlists;
 using MediaBrowser.Controller.TV;
+using MediaBrowser.Model.Dlna;
+using MediaBrowser.Model.Entities;
 using MediaBrowser.Model.Globalization;
+using MediaBrowser.Model.Querying;
 using MediaBrowser.Model.Xml;
-using MediaBrowser.Model.Extensions;
-using MediaBrowser.Controller.LiveTv;
+using Microsoft.Extensions.Logging;
 
 namespace Emby.Dlna.ContentDirectory
 {
@@ -197,9 +192,7 @@ namespace Emby.Dlna.ContentDirectory
 
         public string GetValueOrDefault(IDictionary<string, string> sparams, string key, string defaultValue)
         {
-            string val;
-
-            if (sparams.TryGetValue(key, out val))
+            if (sparams.TryGetValue(key, out string val))
             {
                 return val;
             }
@@ -221,14 +214,12 @@ namespace Emby.Dlna.ContentDirectory
             int? requestedCount = null;
             int? start = 0;
 
-            int requestedVal;
-            if (sparams.ContainsKey("RequestedCount") && int.TryParse(sparams["RequestedCount"], out requestedVal) && requestedVal > 0)
+            if (sparams.ContainsKey("RequestedCount") && int.TryParse(sparams["RequestedCount"], out var requestedVal) && requestedVal > 0)
             {
                 requestedCount = requestedVal;
             }
 
-            int startVal;
-            if (sparams.ContainsKey("StartingIndex") && int.TryParse(sparams["StartingIndex"], out startVal) && startVal > 0)
+            if (sparams.ContainsKey("StartingIndex") && int.TryParse(sparams["StartingIndex"], out var startVal) && startVal > 0)
             {
                 start = startVal;
             }
@@ -247,7 +238,7 @@ namespace Emby.Dlna.ContentDirectory
 
             var dlnaOptions = _config.GetDlnaConfiguration();
 
-            using (XmlWriter writer = XmlWriter.Create(builder, settings))
+            using (var writer = XmlWriter.Create(builder, settings))
             {
                 //writer.WriteStartDocument();
 
@@ -311,7 +302,7 @@ namespace Emby.Dlna.ContentDirectory
 
             var resXML = builder.ToString();
 
-            return new []
+            return new[]
                 {
                     new KeyValuePair<string,string>("Result", resXML),
                     new KeyValuePair<string,string>("NumberReturned", provided.ToString(_usCulture)),
@@ -339,14 +330,12 @@ namespace Emby.Dlna.ContentDirectory
             int? requestedCount = null;
             int? start = 0;
 
-            int requestedVal;
-            if (sparams.ContainsKey("RequestedCount") && int.TryParse(sparams["RequestedCount"], out requestedVal) && requestedVal > 0)
+            if (sparams.ContainsKey("RequestedCount") && int.TryParse(sparams["RequestedCount"], out var requestedVal) && requestedVal > 0)
             {
                 requestedCount = requestedVal;
             }
 
-            int startVal;
-            if (sparams.ContainsKey("StartingIndex") && int.TryParse(sparams["StartingIndex"], out startVal) && startVal > 0)
+            if (sparams.ContainsKey("StartingIndex") && int.TryParse(sparams["StartingIndex"], out var startVal) && startVal > 0)
             {
                 start = startVal;
             }
@@ -363,7 +352,7 @@ namespace Emby.Dlna.ContentDirectory
             int totalCount = 0;
             int provided = 0;
 
-            using (XmlWriter writer = XmlWriter.Create(builder, settings))
+            using (var writer = XmlWriter.Create(builder, settings))
             {
                 //writer.WriteStartDocument();
 
@@ -1144,7 +1133,7 @@ namespace Emby.Dlna.ContentDirectory
                 StartIndex = query.StartIndex,
                 UserId = query.User.Id
 
-            }, new [] { parent }, query.DtoOptions);
+            }, new[] { parent }, query.DtoOptions);
 
             return ToResult(result);
         }
@@ -1298,7 +1287,6 @@ namespace Emby.Dlna.ContentDirectory
 
         private ServerItem ParseItemId(string id, User user)
         {
-            Guid itemId;
             StubType? stubType = null;
 
             // After using PlayTo, MediaMonkey sends a request to the server trying to get item info
@@ -1324,7 +1312,7 @@ namespace Emby.Dlna.ContentDirectory
                 }
             }
 
-            if (Guid.TryParse(id, out itemId))
+            if (Guid.TryParse(id, out var itemId))
             {
                 var item = _libraryManager.GetItemById(itemId);
 

+ 2 - 2
Emby.Dlna/ContentDirectory/ServiceActionListBuilder.cs

@@ -1,5 +1,5 @@
-using Emby.Dlna.Common;
 using System.Collections.Generic;
+using Emby.Dlna.Common;
 
 namespace Emby.Dlna.ContentDirectory
 {
@@ -7,7 +7,7 @@ namespace Emby.Dlna.ContentDirectory
     {
         public IEnumerable<ServiceAction> GetActions()
         {
-            return new []
+            return new[]
             {
                 GetSearchCapabilitiesAction(),
                 GetSortCapabilitiesAction(),

+ 1 - 1
Emby.Dlna/ControlRequest.cs

@@ -1,4 +1,4 @@
-using System.Collections.Generic;
+using System.Collections.Generic;
 using System.IO;
 
 namespace Emby.Dlna

+ 2 - 2
Emby.Dlna/ControlResponse.cs

@@ -1,4 +1,4 @@
-using System.Collections.Generic;
+using System.Collections.Generic;
 
 namespace Emby.Dlna
 {
@@ -15,4 +15,4 @@ namespace Emby.Dlna
             Headers = new Dictionary<string, string>();
         }
     }
-}
+}

+ 13 - 14
Emby.Dlna/Didl/DidlBuilder.cs

@@ -1,4 +1,11 @@
-using MediaBrowser.Model.Extensions;
+using System;
+using System.Globalization;
+using System.IO;
+using System.Linq;
+using System.Text;
+using System.Xml;
+using Emby.Dlna.Configuration;
+using Emby.Dlna.ContentDirectory;
 using MediaBrowser.Controller.Channels;
 using MediaBrowser.Controller.Drawing;
 using MediaBrowser.Controller.Entities;
@@ -6,23 +13,15 @@ using MediaBrowser.Controller.Entities.Audio;
 using MediaBrowser.Controller.Entities.Movies;
 using MediaBrowser.Controller.Entities.TV;
 using MediaBrowser.Controller.Library;
+using MediaBrowser.Controller.MediaEncoding;
 using MediaBrowser.Controller.Playlists;
-using Emby.Dlna.ContentDirectory;
 using MediaBrowser.Model.Dlna;
 using MediaBrowser.Model.Drawing;
 using MediaBrowser.Model.Entities;
-using Microsoft.Extensions.Logging;
-using MediaBrowser.Model.Net;
-using System;
-using System.Globalization;
-using System.IO;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.Xml;
-using MediaBrowser.Controller.MediaEncoding;
-using Emby.Dlna.Configuration;
+using MediaBrowser.Model.Extensions;
 using MediaBrowser.Model.Globalization;
+using MediaBrowser.Model.Net;
+using Microsoft.Extensions.Logging;
 
 namespace Emby.Dlna.Didl
 {
@@ -79,7 +78,7 @@ namespace Emby.Dlna.Didl
 
             using (StringWriter builder = new StringWriterWithEncoding(Encoding.UTF8))
             {
-                using (XmlWriter writer = XmlWriter.Create(builder, settings))
+                using (var writer = XmlWriter.Create(builder, settings))
                 {
                     //writer.WriteStartDocument();
 

+ 1 - 2
Emby.Dlna/Didl/Filter.cs

@@ -1,6 +1,5 @@
-using MediaBrowser.Model.Extensions;
 using System;
-using System.Collections.Generic;
+using MediaBrowser.Model.Extensions;
 
 namespace Emby.Dlna.Didl
 {

+ 2 - 7
Emby.Dlna/Didl/StringWriterWithEncoding.cs

@@ -1,8 +1,6 @@
-using System;
-using System.Collections.Generic;
+using System;
 using System.IO;
 using System.Text;
-using System.Threading.Tasks;
 
 namespace Emby.Dlna.Didl
 {
@@ -53,9 +51,6 @@ namespace Emby.Dlna.Didl
             _encoding = encoding;
         }
 
-        public override Encoding Encoding
-        {
-            get { return (null == _encoding) ? base.Encoding : _encoding; }
-        }
+        public override Encoding Encoding => (null == _encoding) ? base.Encoding : _encoding;
     }
 }

+ 19 - 35
Emby.Dlna/DlnaManager.cs

@@ -1,24 +1,22 @@
-using MediaBrowser.Common.Configuration;
-using MediaBrowser.Common.Extensions;
-using MediaBrowser.Controller;
-using MediaBrowser.Controller.Dlna;
-using MediaBrowser.Controller.Drawing;
-using MediaBrowser.Controller.Plugins;
-using Emby.Dlna.Profiles;
-using Emby.Dlna.Server;
-using MediaBrowser.Model.Dlna;
-using MediaBrowser.Model.Drawing;
-using Microsoft.Extensions.Logging;
-using MediaBrowser.Model.Serialization;
 using System;
 using System.Collections.Generic;
 using System.IO;
 using System.Linq;
 using System.Text;
 using System.Text.RegularExpressions;
+using Emby.Dlna.Profiles;
+using Emby.Dlna.Server;
+using MediaBrowser.Common.Configuration;
+using MediaBrowser.Common.Extensions;
+using MediaBrowser.Controller;
+using MediaBrowser.Controller.Dlna;
+using MediaBrowser.Controller.Drawing;
+using MediaBrowser.Model.Dlna;
+using MediaBrowser.Model.Drawing;
 using MediaBrowser.Model.IO;
 using MediaBrowser.Model.Reflection;
-using MediaBrowser.Model.Extensions;
+using MediaBrowser.Model.Serialization;
+using Microsoft.Extensions.Logging;
 
 namespace Emby.Dlna
 {
@@ -34,16 +32,17 @@ namespace Emby.Dlna
 
         private readonly Dictionary<string, Tuple<InternalProfileInfo, DeviceProfile>> _profiles = new Dictionary<string, Tuple<InternalProfileInfo, DeviceProfile>>(StringComparer.Ordinal);
 
-        public DlnaManager(IXmlSerializer xmlSerializer,
+        public DlnaManager(
+            IXmlSerializer xmlSerializer,
             IFileSystem fileSystem,
             IApplicationPaths appPaths,
-            ILogger logger,
+            ILoggerFactory loggerFactory,
             IJsonSerializer jsonSerializer, IServerApplicationHost appHost, IAssemblyInfo assemblyInfo)
         {
             _xmlSerializer = xmlSerializer;
             _fileSystem = fileSystem;
             _appPaths = appPaths;
-            _logger = logger;
+            _logger = loggerFactory.CreateLogger("Dlna");
             _jsonSerializer = jsonSerializer;
             _appHost = appHost;
             _assemblyInfo = assemblyInfo;
@@ -241,9 +240,7 @@ namespace Emby.Dlna
                 return false;
             }
 
-            string value;
-
-            if (headers.TryGetValue(header.Name, out value))
+            if (headers.TryGetValue(header.Name, out string value))
             {
                 switch (header.Match)
                 {
@@ -263,21 +260,9 @@ namespace Emby.Dlna
             return false;
         }
 
-        private string UserProfilesPath
-        {
-            get
-            {
-                return Path.Combine(_appPaths.ConfigurationDirectoryPath, "dlna", "user");
-            }
-        }
+        private string UserProfilesPath => Path.Combine(_appPaths.ConfigurationDirectoryPath, "dlna", "user");
 
-        private string SystemProfilesPath
-        {
-            get
-            {
-                return Path.Combine(_appPaths.ConfigurationDirectoryPath, "dlna", "system");
-            }
-        }
+        private string SystemProfilesPath => Path.Combine(_appPaths.ConfigurationDirectoryPath, "dlna", "system");
 
         private IEnumerable<DeviceProfile> GetProfiles(string path, DeviceProfileType type)
         {
@@ -302,8 +287,7 @@ namespace Emby.Dlna
         {
             lock (_profiles)
             {
-                Tuple<InternalProfileInfo, DeviceProfile> profileTuple;
-                if (_profiles.TryGetValue(path, out profileTuple))
+                if (_profiles.TryGetValue(path, out Tuple<InternalProfileInfo, DeviceProfile> profileTuple))
                 {
                     return profileTuple.Item2;
                 }

+ 2 - 2
Emby.Dlna/Emby.Dlna.csproj

@@ -1,7 +1,7 @@
-<Project Sdk="Microsoft.NET.Sdk">
+<Project Sdk="Microsoft.NET.Sdk">
 
   <ItemGroup>
-    <Compile Include="..\SharedVersion.cs" Link="SharedVersion.cs" />
+    <Compile Include="..\SharedVersion.cs" />
   </ItemGroup>
 
   <ItemGroup>

+ 1 - 1
Emby.Dlna/EventSubscriptionResponse.cs

@@ -1,4 +1,4 @@
-using System.Collections.Generic;
+using System.Collections.Generic;
 
 namespace Emby.Dlna
 {

+ 6 - 12
Emby.Dlna/Eventing/EventManager.cs

@@ -1,7 +1,3 @@
-using MediaBrowser.Common.Extensions;
-using MediaBrowser.Common.Net;
-using MediaBrowser.Controller.Dlna;
-using Microsoft.Extensions.Logging;
 using System;
 using System.Collections.Concurrent;
 using System.Collections.Generic;
@@ -9,6 +5,9 @@ using System.Globalization;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
+using MediaBrowser.Common.Extensions;
+using MediaBrowser.Common.Net;
+using Microsoft.Extensions.Logging;
 
 namespace Emby.Dlna.Eventing
 {
@@ -83,9 +82,7 @@ namespace Emby.Dlna.Eventing
                 // Starts with SECOND-
                 header = header.Split('-').Last();
 
-                int val;
-
-                if (int.TryParse(header, NumberStyles.Integer, _usCulture, out val))
+                if (int.TryParse(header, NumberStyles.Integer, _usCulture, out var val))
                 {
                     return val;
                 }
@@ -98,8 +95,7 @@ namespace Emby.Dlna.Eventing
         {
             _logger.LogDebug("Cancelling event subscription {0}", subscriptionId);
 
-            EventSubscription sub;
-            _subscriptions.TryRemove(subscriptionId, out sub);
+            _subscriptions.TryRemove(subscriptionId, out EventSubscription sub);
 
             return new EventSubscriptionResponse
             {
@@ -130,9 +126,7 @@ namespace Emby.Dlna.Eventing
 
         private EventSubscription GetSubscription(string id, bool throwOnMissing)
         {
-            EventSubscription e;
-
-            if (!_subscriptions.TryGetValue(id, out e) && throwOnMissing)
+            if (!_subscriptions.TryGetValue(id, out EventSubscription e) && throwOnMissing)
             {
                 throw new ResourceNotFoundException("Event with Id " + id + " not found.");
             }

+ 2 - 8
Emby.Dlna/Eventing/EventSubscription.cs

@@ -1,4 +1,4 @@
-using System;
+using System;
 
 namespace Emby.Dlna.Eventing
 {
@@ -23,12 +23,6 @@ namespace Emby.Dlna.Eventing
             TriggerCount++;
         }
 
-        public bool IsExpired
-        {
-            get
-            {
-                return SubscriptionTime.AddSeconds(TimeoutSeconds) >= DateTime.UtcNow;
-            }
-        }
+        public bool IsExpired => SubscriptionTime.AddSeconds(TimeoutSeconds) >= DateTime.UtcNow;
     }
 }

+ 1 - 1
Emby.Dlna/IConnectionManager.cs

@@ -1,4 +1,4 @@
-
+
 namespace Emby.Dlna
 {
     public interface IConnectionManager : IEventManager, IUpnpService

+ 1 - 1
Emby.Dlna/IContentDirectory.cs

@@ -1,4 +1,4 @@
-
+
 namespace Emby.Dlna
 {
     public interface IContentDirectory : IEventManager, IUpnpService

+ 1 - 1
Emby.Dlna/IEventManager.cs

@@ -1,4 +1,4 @@
-
+
 namespace Emby.Dlna
 {
     public interface IEventManager

+ 1 - 1
Emby.Dlna/IMediaReceiverRegistrar.cs

@@ -1,4 +1,4 @@
-
+
 namespace Emby.Dlna
 {
     public interface IMediaReceiverRegistrar : IEventManager, IUpnpService

+ 1 - 1
Emby.Dlna/IUpnpService.cs

@@ -1,4 +1,4 @@
-using System.Collections.Generic;
+using System.Collections.Generic;
 
 namespace Emby.Dlna
 {

+ 11 - 12
Emby.Dlna/Main/DlnaEntryPoint.cs

@@ -1,4 +1,10 @@
-using MediaBrowser.Common.Configuration;
+using System;
+using System.Linq;
+using System.Threading;
+using System.Threading.Tasks;
+using Emby.Dlna.PlayTo;
+using Emby.Dlna.Ssdp;
+using MediaBrowser.Common.Configuration;
 using MediaBrowser.Common.Extensions;
 using MediaBrowser.Common.Net;
 using MediaBrowser.Controller;
@@ -6,25 +12,19 @@ using MediaBrowser.Controller.Configuration;
 using MediaBrowser.Controller.Dlna;
 using MediaBrowser.Controller.Drawing;
 using MediaBrowser.Controller.Library;
+using MediaBrowser.Controller.MediaEncoding;
 using MediaBrowser.Controller.Plugins;
 using MediaBrowser.Controller.Session;
 using MediaBrowser.Controller.TV;
-using Emby.Dlna.PlayTo;
-using Emby.Dlna.Ssdp;
-using Microsoft.Extensions.Logging;
-using System;
-using System.Linq;
-using System.Threading.Tasks;
-using MediaBrowser.Controller.MediaEncoding;
 using MediaBrowser.Model.Dlna;
 using MediaBrowser.Model.Globalization;
 using MediaBrowser.Model.Net;
 using MediaBrowser.Model.System;
 using MediaBrowser.Model.Threading;
 using MediaBrowser.Model.Xml;
+using Microsoft.Extensions.Logging;
 using Rssdp;
 using Rssdp.Infrastructure;
-using System.Threading;
 
 namespace Emby.Dlna.Main
 {
@@ -282,7 +282,7 @@ namespace Emby.Dlna.Main
                 SetProperies(device, fullService);
                 _Publisher.AddDevice(device);
 
-                var embeddedDevices = new []
+                var embeddedDevices = new[]
                 {
                     "urn:schemas-upnp-org:service:ContentDirectory:1",
                     "urn:schemas-upnp-org:service:ConnectionManager:1",
@@ -308,8 +308,7 @@ namespace Emby.Dlna.Main
 
         private string CreateUuid(string text)
         {
-            Guid guid;
-            if (!Guid.TryParse(text, out guid))
+            if (!Guid.TryParse(text, out var guid))
             {
                 guid = text.GetMD5();
             }

+ 4 - 5
Emby.Dlna/MediaReceiverRegistrar/ControlHandler.cs

@@ -1,11 +1,10 @@
-using MediaBrowser.Common.Extensions;
-using MediaBrowser.Controller.Configuration;
-using Emby.Dlna.Server;
-using Emby.Dlna.Service;
-using Microsoft.Extensions.Logging;
 using System;
 using System.Collections.Generic;
+using Emby.Dlna.Service;
+using MediaBrowser.Common.Extensions;
+using MediaBrowser.Controller.Configuration;
 using MediaBrowser.Model.Xml;
+using Microsoft.Extensions.Logging;
 
 namespace Emby.Dlna.MediaReceiverRegistrar
 {

+ 4 - 6
Emby.Dlna/MediaReceiverRegistrar/MediaReceiverRegistrar.cs

@@ -1,11 +1,9 @@
-using MediaBrowser.Common.Net;
-using MediaBrowser.Controller.Configuration;
-using MediaBrowser.Controller.Dlna;
-using Emby.Dlna.Service;
-using Microsoft.Extensions.Logging;
-using System;
 using System.Collections.Generic;
+using Emby.Dlna.Service;
+using MediaBrowser.Common.Net;
+using MediaBrowser.Controller.Configuration;
 using MediaBrowser.Model.Xml;
+using Microsoft.Extensions.Logging;
 
 namespace Emby.Dlna.MediaReceiverRegistrar
 {

+ 1 - 1
Emby.Dlna/MediaReceiverRegistrar/MediaReceiverRegistrarXmlBuilder.cs

@@ -1,6 +1,6 @@
+using System.Collections.Generic;
 using Emby.Dlna.Common;
 using Emby.Dlna.Service;
-using System.Collections.Generic;
 
 namespace Emby.Dlna.MediaReceiverRegistrar
 {

+ 2 - 2
Emby.Dlna/MediaReceiverRegistrar/ServiceActionListBuilder.cs

@@ -1,5 +1,5 @@
-using Emby.Dlna.Common;
 using System.Collections.Generic;
+using Emby.Dlna.Common;
 
 namespace Emby.Dlna.MediaReceiverRegistrar
 {
@@ -7,7 +7,7 @@ namespace Emby.Dlna.MediaReceiverRegistrar
     {
         public IEnumerable<ServiceAction> GetActions()
         {
-            return new []
+            return new[]
             {
                 GetIsValidated(),
                 GetIsAuthorized(),

+ 2 - 2
Emby.Dlna/PlayTo/CurrentIdEventArgs.cs

@@ -1,9 +1,9 @@
-using System;
+using System;
 
 namespace Emby.Dlna.PlayTo
 {
     public class CurrentIdEventArgs : EventArgs
     {
-        public string Id { get;  set; }
+        public string Id { get; set; }
     }
 }

+ 12 - 45
Emby.Dlna/PlayTo/Device.cs

@@ -1,21 +1,17 @@
-using MediaBrowser.Common.Net;
-using MediaBrowser.Controller.Configuration;
-using Emby.Dlna.Common;
-using Emby.Dlna.Ssdp;
-using Microsoft.Extensions.Logging;
-using MediaBrowser.Model.Net;
 using System;
 using System.Collections.Generic;
 using System.Globalization;
 using System.Linq;
-using System.Net;
-using System.Security;
 using System.Threading;
 using System.Threading.Tasks;
 using System.Xml.Linq;
+using Emby.Dlna.Common;
 using Emby.Dlna.Server;
+using Emby.Dlna.Ssdp;
+using MediaBrowser.Common.Net;
+using MediaBrowser.Controller.Configuration;
 using MediaBrowser.Model.Threading;
-using MediaBrowser.Model.Extensions;
+using Microsoft.Extensions.Logging;
 
 namespace Emby.Dlna.PlayTo
 {
@@ -39,10 +35,7 @@ namespace Emby.Dlna.PlayTo
                 RefreshVolumeIfNeeded();
                 return _volume;
             }
-            set
-            {
-                _volume = value;
-            }
+            set => _volume = value;
         }
 
         public TimeSpan? Duration { get; set; }
@@ -50,41 +43,17 @@ namespace Emby.Dlna.PlayTo
         private TimeSpan _position = TimeSpan.FromSeconds(0);
         public TimeSpan Position
         {
-            get
-            {
-                return _position;
-            }
-            set
-            {
-                _position = value;
-            }
+            get => _position;
+            set => _position = value;
         }
 
         public TRANSPORTSTATE TransportState { get; private set; }
 
-        public bool IsPlaying
-        {
-            get
-            {
-                return TransportState == TRANSPORTSTATE.PLAYING;
-            }
-        }
+        public bool IsPlaying => TransportState == TRANSPORTSTATE.PLAYING;
 
-        public bool IsPaused
-        {
-            get
-            {
-                return TransportState == TRANSPORTSTATE.PAUSED || TransportState == TRANSPORTSTATE.PAUSED_PLAYBACK;
-            }
-        }
+        public bool IsPaused => TransportState == TRANSPORTSTATE.PAUSED || TransportState == TRANSPORTSTATE.PAUSED_PLAYBACK;
 
-        public bool IsStopped
-        {
-            get
-            {
-                return TransportState == TRANSPORTSTATE.STOPPED;
-            }
-        }
+        public bool IsStopped => TransportState == TRANSPORTSTATE.STOPPED;
 
         #endregion
 
@@ -620,9 +589,7 @@ namespace Emby.Dlna.PlayTo
 
             if (transportStateValue != null)
             {
-                TRANSPORTSTATE state;
-
-                if (Enum.TryParse(transportStateValue, true, out state))
+                if (Enum.TryParse(transportStateValue, true, out TRANSPORTSTATE state))
                 {
                     return state;
                 }

+ 5 - 17
Emby.Dlna/PlayTo/DeviceInfo.cs

@@ -1,6 +1,6 @@
-using Emby.Dlna.Common;
-using MediaBrowser.Model.Dlna;
 using System.Collections.Generic;
+using Emby.Dlna.Common;
+using MediaBrowser.Model.Dlna;
 
 namespace Emby.Dlna.PlayTo
 {
@@ -34,26 +34,14 @@ namespace Emby.Dlna.PlayTo
         private string _baseUrl = string.Empty;
         public string BaseUrl
         {
-            get
-            {
-                return _baseUrl;
-            }
-            set
-            {
-                _baseUrl = value;
-            }
+            get => _baseUrl;
+            set => _baseUrl = value;
         }
 
         public DeviceIcon Icon { get; set; }
 
         private readonly List<DeviceService> _services = new List<DeviceService>();
-        public List<DeviceService> Services
-        {
-            get
-            {
-                return _services;
-            }
-        }
+        public List<DeviceService> Services => _services;
 
         public DeviceIdentification ToDeviceIdentification()
         {

+ 26 - 63
Emby.Dlna/PlayTo/PlayToController.cs

@@ -1,28 +1,25 @@
-using MediaBrowser.Controller.Dlna;
-using MediaBrowser.Controller.Drawing;
-using MediaBrowser.Controller.Entities;
-using MediaBrowser.Controller.Library;
-using MediaBrowser.Controller.Session;
-using Emby.Dlna.Didl;
-using MediaBrowser.Model.Dlna;
-using MediaBrowser.Model.Dto;
-using MediaBrowser.Model.Entities;
-using Microsoft.Extensions.Logging;
-using MediaBrowser.Model.Session;
-using MediaBrowser.Model.System;
 using System;
 using System.Collections.Generic;
 using System.Globalization;
 using System.Linq;
 using System.Threading;
 using System.Threading.Tasks;
+using Emby.Dlna.Didl;
 using MediaBrowser.Common.Configuration;
+using MediaBrowser.Controller.Dlna;
+using MediaBrowser.Controller.Drawing;
+using MediaBrowser.Controller.Entities;
+using MediaBrowser.Controller.Library;
 using MediaBrowser.Controller.MediaEncoding;
+using MediaBrowser.Controller.Session;
+using MediaBrowser.Model.Dlna;
+using MediaBrowser.Model.Dto;
+using MediaBrowser.Model.Entities;
 using MediaBrowser.Model.Events;
 using MediaBrowser.Model.Globalization;
-using MediaBrowser.Model.Extensions;
-using System.Net.Http;
 using MediaBrowser.Model.Services;
+using MediaBrowser.Model.Session;
+using Microsoft.Extensions.Logging;
 
 namespace Emby.Dlna.PlayTo
 {
@@ -47,18 +44,9 @@ namespace Emby.Dlna.PlayTo
         private readonly string _accessToken;
         private readonly DateTime _creationTime;
 
-        public bool IsSessionActive
-        {
-            get
-            {
-                return !_disposed && _device != null;
-            }
-        }
+        public bool IsSessionActive => !_disposed && _device != null;
 
-        public bool SupportsMediaControl
-        {
-            get { return IsSessionActive; }
-        }
+        public bool SupportsMediaControl => IsSessionActive;
 
         public PlayToController(SessionInfo session, ISessionManager sessionManager, ILibraryManager libraryManager, ILogger logger, IDlnaManager dlnaManager, IUserManager userManager, IImageProcessor imageProcessor, string serverAddress, string accessToken, IDeviceDiscovery deviceDiscovery, IUserDataManager userDataManager, ILocalizationManager localization, IMediaSourceManager mediaSourceManager, IConfigurationManager config, IMediaEncoder mediaEncoder)
         {
@@ -110,14 +98,11 @@ namespace Emby.Dlna.PlayTo
         {
             var info = e.Argument;
 
-            string nts;
-            info.Headers.TryGetValue("NTS", out nts);
+            info.Headers.TryGetValue("NTS", out string nts);
 
-            string usn;
-            if (!info.Headers.TryGetValue("USN", out usn)) usn = string.Empty;
+            if (!info.Headers.TryGetValue("USN", out string usn)) usn = string.Empty;
 
-            string nt;
-            if (!info.Headers.TryGetValue("NT", out nt)) nt = string.Empty;
+            if (!info.Headers.TryGetValue("NT", out string nt)) nt = string.Empty;
 
             if (usn.IndexOf(_device.Properties.UUID, StringComparison.OrdinalIgnoreCase) != -1 &&
                 !_disposed)
@@ -439,13 +424,7 @@ namespace Emby.Dlna.PlayTo
 
         private int _currentPlaylistIndex;
         private readonly List<PlaylistItem> _playlist = new List<PlaylistItem>();
-        private List<PlaylistItem> Playlist
-        {
-            get
-            {
-                return _playlist;
-            }
-        }
+        private List<PlaylistItem> Playlist => _playlist;
 
         private void AddItemFromId(Guid id, List<BaseItem> list)
         {
@@ -641,9 +620,7 @@ namespace Emby.Dlna.PlayTo
 
         private Task SendGeneralCommand(GeneralCommand command, CancellationToken cancellationToken)
         {
-            GeneralCommandType commandType;
-
-            if (Enum.TryParse(command.Name, true, out commandType))
+            if (Enum.TryParse(command.Name, true, out GeneralCommandType commandType))
             {
                 switch (commandType)
                 {
@@ -659,13 +636,9 @@ namespace Emby.Dlna.PlayTo
                         return _device.ToggleMute(cancellationToken);
                     case GeneralCommandType.SetAudioStreamIndex:
                         {
-                            string arg;
-
-                            if (command.Arguments.TryGetValue("Index", out arg))
+                            if (command.Arguments.TryGetValue("Index", out string arg))
                             {
-                                int val;
-
-                                if (int.TryParse(arg, NumberStyles.Integer, _usCulture, out val))
+                                if (int.TryParse(arg, NumberStyles.Integer, _usCulture, out var val))
                                 {
                                     return SetAudioStreamIndex(val);
                                 }
@@ -677,13 +650,9 @@ namespace Emby.Dlna.PlayTo
                         }
                     case GeneralCommandType.SetSubtitleStreamIndex:
                         {
-                            string arg;
-
-                            if (command.Arguments.TryGetValue("Index", out arg))
+                            if (command.Arguments.TryGetValue("Index", out string arg))
                             {
-                                int val;
-
-                                if (int.TryParse(arg, NumberStyles.Integer, _usCulture, out val))
+                                if (int.TryParse(arg, NumberStyles.Integer, _usCulture, out var val))
                                 {
                                     return SetSubtitleStreamIndex(val);
                                 }
@@ -695,13 +664,9 @@ namespace Emby.Dlna.PlayTo
                         }
                     case GeneralCommandType.SetVolume:
                         {
-                            string arg;
-
-                            if (command.Arguments.TryGetValue("Volume", out arg))
+                            if (command.Arguments.TryGetValue("Volume", out string arg))
                             {
-                                int volume;
-
-                                if (int.TryParse(arg, NumberStyles.Integer, _usCulture, out volume))
+                                if (int.TryParse(arg, NumberStyles.Integer, _usCulture, out var volume))
                                 {
                                     return _device.SetVolume(volume, cancellationToken);
                                 }
@@ -896,8 +861,7 @@ namespace Emby.Dlna.PlayTo
         {
             var value = values.Get(name);
 
-            int result;
-            if (int.TryParse(value, NumberStyles.Integer, CultureInfo.InvariantCulture, out result))
+            if (int.TryParse(value, NumberStyles.Integer, CultureInfo.InvariantCulture, out var result))
             {
                 return result;
             }
@@ -909,8 +873,7 @@ namespace Emby.Dlna.PlayTo
         {
             var value = values.Get(name);
 
-            long result;
-            if (long.TryParse(value, NumberStyles.Integer, CultureInfo.InvariantCulture, out result))
+            if (long.TryParse(value, NumberStyles.Integer, CultureInfo.InvariantCulture, out var result))
             {
                 return result;
             }

+ 13 - 19
Emby.Dlna/PlayTo/PlayToManager.cs

@@ -1,26 +1,23 @@
-using MediaBrowser.Common.Net;
+using System;
+using System.Linq;
+using System.Threading;
+using System.Threading.Tasks;
+using MediaBrowser.Common.Extensions;
+using MediaBrowser.Common.Net;
 using MediaBrowser.Controller;
 using MediaBrowser.Controller.Configuration;
 using MediaBrowser.Controller.Dlna;
 using MediaBrowser.Controller.Drawing;
 using MediaBrowser.Controller.Library;
-using MediaBrowser.Controller.Session;
-using Microsoft.Extensions.Logging;
-using MediaBrowser.Model.Session;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Net;
-using System.Threading.Tasks;
 using MediaBrowser.Controller.MediaEncoding;
+using MediaBrowser.Controller.Session;
 using MediaBrowser.Model.Dlna;
 using MediaBrowser.Model.Events;
 using MediaBrowser.Model.Globalization;
 using MediaBrowser.Model.Net;
+using MediaBrowser.Model.Session;
 using MediaBrowser.Model.Threading;
-using System.Threading;
-using MediaBrowser.Common.Extensions;
-using MediaBrowser.Controller.Devices;
+using Microsoft.Extensions.Logging;
 
 namespace Emby.Dlna.PlayTo
 {
@@ -81,11 +78,9 @@ namespace Emby.Dlna.PlayTo
 
             var info = e.Argument;
 
-            string usn;
-            if (!info.Headers.TryGetValue("USN", out usn)) usn = string.Empty;
+            if (!info.Headers.TryGetValue("USN", out string usn)) usn = string.Empty;
 
-            string nt;
-            if (!info.Headers.TryGetValue("NT", out nt)) nt = string.Empty;
+            if (!info.Headers.TryGetValue("NT", out string nt)) nt = string.Empty;
 
             string location = info.Location.ToString();
 
@@ -158,8 +153,7 @@ namespace Emby.Dlna.PlayTo
             _logger.LogDebug("Attempting to create PlayToController from location {0}", location);
 
             _logger.LogDebug("Logging session activity from location {0}", location);
-            string uuid;
-            if (info.Headers.TryGetValue("USN", out uuid))
+            if (info.Headers.TryGetValue("USN", out string uuid))
             {
                 uuid = GetUuid(uuid);
             }
@@ -170,7 +164,7 @@ namespace Emby.Dlna.PlayTo
 
             string deviceName = null;
 
-            var sessionInfo = _sessionManager.LogSessionActivity("DLNA", _appHost.ApplicationVersion.ToString(), uuid, deviceName, uri.OriginalString, null);
+            var sessionInfo = _sessionManager.LogSessionActivity("DLNA", _appHost.ApplicationVersion, uuid, deviceName, uri.OriginalString, null);
 
             var controller = sessionInfo.SessionControllers.OfType<PlayToController>().FirstOrDefault();
 

+ 2 - 2
Emby.Dlna/PlayTo/PlaybackProgressEventArgs.cs

@@ -1,4 +1,4 @@
-using System;
+using System;
 
 namespace Emby.Dlna.PlayTo
 {
@@ -6,4 +6,4 @@ namespace Emby.Dlna.PlayTo
     {
         public uBaseObject MediaInfo { get; set; }
     }
-}
+}

+ 1 - 1
Emby.Dlna/PlayTo/PlaybackStartEventArgs.cs

@@ -1,4 +1,4 @@
-using System;
+using System;
 
 namespace Emby.Dlna.PlayTo
 {

+ 2 - 2
Emby.Dlna/PlayTo/PlaybackStoppedEventArgs.cs

@@ -1,4 +1,4 @@
-using System;
+using System;
 
 namespace Emby.Dlna.PlayTo
 {
@@ -12,4 +12,4 @@ namespace Emby.Dlna.PlayTo
         public uBaseObject OldMediaInfo { get; set; }
         public uBaseObject NewMediaInfo { get; set; }
     }
-}
+}

+ 2 - 2
Emby.Dlna/PlayTo/PlaylistItem.cs

@@ -1,4 +1,4 @@
-using MediaBrowser.Model.Dlna;
+using MediaBrowser.Model.Dlna;
 
 namespace Emby.Dlna.PlayTo
 {
@@ -12,4 +12,4 @@ namespace Emby.Dlna.PlayTo
 
         public DeviceProfile Profile { get; set; }
     }
-}
+}

+ 3 - 4
Emby.Dlna/PlayTo/PlaylistItemFactory.cs

@@ -1,10 +1,9 @@
-using MediaBrowser.Controller.Entities;
-using MediaBrowser.Model.Dlna;
-using MediaBrowser.Model.Session;
-using System;
 using System.Globalization;
 using System.IO;
 using System.Linq;
+using MediaBrowser.Controller.Entities;
+using MediaBrowser.Model.Dlna;
+using MediaBrowser.Model.Session;
 
 namespace Emby.Dlna.PlayTo
 {

+ 4 - 4
Emby.Dlna/PlayTo/SsdpHttpClient.cs

@@ -1,13 +1,13 @@
-using MediaBrowser.Common.Net;
-using MediaBrowser.Controller.Configuration;
-using Emby.Dlna.Common;
 using System;
 using System.Globalization;
 using System.IO;
 using System.Text;
+using System.Threading;
 using System.Threading.Tasks;
 using System.Xml.Linq;
-using System.Threading;
+using Emby.Dlna.Common;
+using MediaBrowser.Common.Net;
+using MediaBrowser.Controller.Configuration;
 
 namespace Emby.Dlna.PlayTo
 {

+ 2 - 2
Emby.Dlna/PlayTo/TRANSPORTSTATE.cs

@@ -1,4 +1,4 @@
-namespace Emby.Dlna.PlayTo
+namespace Emby.Dlna.PlayTo
 {
     public enum TRANSPORTSTATE
     {
@@ -8,4 +8,4 @@
         PAUSED_PLAYBACK,
         PAUSED
     }
-}
+}

+ 6 - 18
Emby.Dlna/PlayTo/TransportCommands.cs

@@ -1,8 +1,8 @@
-using System;
-using Emby.Dlna.Common;
+using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Xml.Linq;
+using Emby.Dlna.Common;
 using Emby.Dlna.Ssdp;
 
 namespace Emby.Dlna.PlayTo
@@ -12,27 +12,15 @@ namespace Emby.Dlna.PlayTo
         private List<StateVariable> _stateVariables = new List<StateVariable>();
         public List<StateVariable> StateVariables
         {
-            get
-            {
-                return _stateVariables;
-            }
-            set
-            {
-                _stateVariables = value;
-            }
+            get => _stateVariables;
+            set => _stateVariables = value;
         }
 
         private List<ServiceAction> _serviceActions = new List<ServiceAction>();
         public List<ServiceAction> ServiceActions
         {
-            get
-            {
-                return _serviceActions;
-            }
-            set
-            {
-                _serviceActions = value;
-            }
+            get => _serviceActions;
+            set => _serviceActions = value;
         }
 
         public static TransportCommands Create(XDocument document)

+ 1 - 1
Emby.Dlna/PlayTo/TransportStateEventArgs.cs

@@ -1,4 +1,4 @@
-using System;
+using System;
 
 namespace Emby.Dlna.PlayTo
 {

+ 1 - 1
Emby.Dlna/PlayTo/UpnpContainer.cs

@@ -1,4 +1,4 @@
-using System;
+using System;
 using System.Xml.Linq;
 using Emby.Dlna.Ssdp;
 

+ 1 - 1
Emby.Dlna/PlayTo/uBaseObject.cs

@@ -1,4 +1,4 @@
-using System;
+using System;
 
 namespace Emby.Dlna.PlayTo
 {

+ 1 - 1
Emby.Dlna/PlayTo/uParser.cs

@@ -1,4 +1,4 @@
-using System;
+using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Xml.Linq;

+ 2 - 2
Emby.Dlna/PlayTo/uParserObject.cs

@@ -1,4 +1,4 @@
-using System.Xml.Linq;
+using System.Xml.Linq;
 
 namespace Emby.Dlna.PlayTo
 {
@@ -6,4 +6,4 @@ namespace Emby.Dlna.PlayTo
     {
         public XElement Element { get; set; }
     }
-}
+}

+ 1 - 1
Emby.Dlna/PlayTo/uPnpNamespaces.cs

@@ -1,4 +1,4 @@
-using System.Xml.Linq;
+using System.Xml.Linq;
 
 namespace Emby.Dlna.PlayTo
 {

+ 1 - 3
Emby.Dlna/Profiles/DefaultProfile.cs

@@ -1,7 +1,5 @@
-using MediaBrowser.Model.Dlna;
 using System.Linq;
-using System.Xml.Serialization;
-using MediaBrowser.Model.Extensions;
+using MediaBrowser.Model.Dlna;
 
 namespace Emby.Dlna.Profiles
 {

+ 1 - 2
Emby.Dlna/Profiles/DenonAvrProfile.cs

@@ -1,5 +1,4 @@
-using MediaBrowser.Model.Dlna;
-using System.Xml.Serialization;
+using MediaBrowser.Model.Dlna;
 
 namespace Emby.Dlna.Profiles
 {

+ 1 - 2
Emby.Dlna/Profiles/DirectTvProfile.cs

@@ -1,5 +1,4 @@
-using MediaBrowser.Model.Dlna;
-using System.Xml.Serialization;
+using MediaBrowser.Model.Dlna;
 
 namespace Emby.Dlna.Profiles
 {

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

@@ -1,5 +1,4 @@
-using MediaBrowser.Model.Dlna;
-using System.Xml.Serialization;
+using MediaBrowser.Model.Dlna;
 
 namespace Emby.Dlna.Profiles
 {

برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است