Browse Source

make model project portable

Luke Pulverenti 8 years ago
parent
commit
c7f559f8ce
100 changed files with 915 additions and 3666 deletions
  1. 2 1
      Emby.Drawing/Emby.Drawing.csproj
  2. 1 4
      MediaBrowser.Api/MediaBrowser.Api.csproj
  3. 1 1
      MediaBrowser.Api/Movies/MoviesService.cs
  4. 0 1
      MediaBrowser.Api/packages.config
  5. 24 7
      MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs
  6. 1 4
      MediaBrowser.Common.Implementations/MediaBrowser.Common.Implementations.csproj
  7. 2 2
      MediaBrowser.Common.Implementations/Networking/BaseNetworkManager.cs
  8. 0 1
      MediaBrowser.Common.Implementations/packages.config
  9. 0 1
      MediaBrowser.Common/MediaBrowser.Common.csproj
  10. 4 2
      MediaBrowser.Common/Net/HttpResponseInfo.cs
  11. 0 13
      MediaBrowser.Common/Net/INetworkManager.cs
  12. 7 7
      MediaBrowser.Controller/Entities/CollectionFolder.cs
  13. 0 1
      MediaBrowser.Controller/Entities/TV/Season.cs
  14. 11 5
      MediaBrowser.Controller/Entities/TV/Series.cs
  15. 8 8
      MediaBrowser.Controller/Entities/User.cs
  16. 1 1
      MediaBrowser.Controller/Entities/UserViewBuilder.cs
  17. 1 1
      MediaBrowser.Controller/Library/NameExtensions.cs
  18. 4 6
      MediaBrowser.Controller/MediaBrowser.Controller.csproj
  19. 1 1
      MediaBrowser.Controller/Threading/PeriodicTimer.cs
  20. 0 1
      MediaBrowser.Controller/packages.config
  21. 59 30
      MediaBrowser.Dlna/DlnaManager.cs
  22. 42 66
      MediaBrowser.Dlna/MediaBrowser.Dlna.csproj
  23. 68 0
      MediaBrowser.Dlna/ProfileSerialization/CodecProfile.cs
  24. 31 0
      MediaBrowser.Dlna/ProfileSerialization/ContainerProfile.cs
  25. 351 0
      MediaBrowser.Dlna/ProfileSerialization/DeviceProfile.cs
  26. 51 0
      MediaBrowser.Dlna/ProfileSerialization/DirectPlayProfile.cs
  27. 17 0
      MediaBrowser.Dlna/ProfileSerialization/HttpHeaderInfo.cs
  28. 39 0
      MediaBrowser.Dlna/ProfileSerialization/ProfileCondition.cs
  29. 64 0
      MediaBrowser.Dlna/ProfileSerialization/ResponseProfile.cs
  30. 48 0
      MediaBrowser.Dlna/ProfileSerialization/SubtitleProfile.cs
  31. 58 0
      MediaBrowser.Dlna/ProfileSerialization/TranscodingProfile.cs
  32. 13 0
      MediaBrowser.Dlna/ProfileSerialization/XmlAttribute.cs
  33. 0 0
      MediaBrowser.Dlna/Profiles/Json/BubbleUPnp.json
  34. 0 0
      MediaBrowser.Dlna/Profiles/Json/Default.json
  35. 0 0
      MediaBrowser.Dlna/Profiles/Json/Denon AVR.json
  36. 0 0
      MediaBrowser.Dlna/Profiles/Json/DirecTV HD-DVR.json
  37. 0 0
      MediaBrowser.Dlna/Profiles/Json/Dish Hopper-Joey.json
  38. 0 0
      MediaBrowser.Dlna/Profiles/Json/Kodi.json
  39. 0 0
      MediaBrowser.Dlna/Profiles/Json/LG Smart TV.json
  40. 0 0
      MediaBrowser.Dlna/Profiles/Json/Linksys DMA2100.json
  41. 0 0
      MediaBrowser.Dlna/Profiles/Json/MediaMonkey.json
  42. 0 0
      MediaBrowser.Dlna/Profiles/Json/Panasonic Viera.json
  43. 0 0
      MediaBrowser.Dlna/Profiles/Json/Popcorn Hour.json
  44. 0 0
      MediaBrowser.Dlna/Profiles/Json/Samsung Smart TV.json
  45. 0 0
      MediaBrowser.Dlna/Profiles/Json/Sony Blu-ray Player 2013.json
  46. 0 0
      MediaBrowser.Dlna/Profiles/Json/Sony Blu-ray Player 2014.json
  47. 0 0
      MediaBrowser.Dlna/Profiles/Json/Sony Blu-ray Player 2015.json
  48. 0 0
      MediaBrowser.Dlna/Profiles/Json/Sony Blu-ray Player 2016.json
  49. 0 0
      MediaBrowser.Dlna/Profiles/Json/Sony Blu-ray Player.json
  50. 0 0
      MediaBrowser.Dlna/Profiles/Json/Sony Bravia (2010).json
  51. 0 0
      MediaBrowser.Dlna/Profiles/Json/Sony Bravia (2011).json
  52. 0 0
      MediaBrowser.Dlna/Profiles/Json/Sony Bravia (2012).json
  53. 0 0
      MediaBrowser.Dlna/Profiles/Json/Sony Bravia (2013).json
  54. 0 0
      MediaBrowser.Dlna/Profiles/Json/Sony Bravia (2014).json
  55. 0 0
      MediaBrowser.Dlna/Profiles/Json/Sony PlayStation 3.json
  56. 0 0
      MediaBrowser.Dlna/Profiles/Json/Sony PlayStation 4.json
  57. 0 0
      MediaBrowser.Dlna/Profiles/Json/Vlc.json
  58. 0 0
      MediaBrowser.Dlna/Profiles/Json/WDTV Live.json
  59. 0 0
      MediaBrowser.Dlna/Profiles/Json/Xbox 360.json
  60. 0 0
      MediaBrowser.Dlna/Profiles/Json/Xbox One.json
  61. 0 0
      MediaBrowser.Dlna/Profiles/Json/foobar2000.json
  62. 0 29
      MediaBrowser.Dlna/Profiles/Xml/BubbleUPnp.xml
  63. 0 23
      MediaBrowser.Dlna/Profiles/Xml/Default.xml
  64. 0 28
      MediaBrowser.Dlna/Profiles/Xml/Denon AVR.xml
  65. 0 29
      MediaBrowser.Dlna/Profiles/Xml/DirecTV HD-DVR.xml
  66. 0 92
      MediaBrowser.Dlna/Profiles/Xml/Dish Hopper-Joey.xml
  67. 0 29
      MediaBrowser.Dlna/Profiles/Xml/Kodi.xml
  68. 0 29
      MediaBrowser.Dlna/Profiles/Xml/LG Smart TV.xml
  69. 0 27
      MediaBrowser.Dlna/Profiles/Xml/Linksys DMA2100.xml
  70. 0 29
      MediaBrowser.Dlna/Profiles/Xml/MediaMonkey.xml
  71. 0 30
      MediaBrowser.Dlna/Profiles/Xml/Panasonic Viera.xml
  72. 0 23
      MediaBrowser.Dlna/Profiles/Xml/Popcorn Hour.xml
  73. 0 29
      MediaBrowser.Dlna/Profiles/Xml/Samsung Smart TV.xml
  74. 0 33
      MediaBrowser.Dlna/Profiles/Xml/Sony Blu-ray Player 2013.xml
  75. 0 33
      MediaBrowser.Dlna/Profiles/Xml/Sony Blu-ray Player 2014.xml
  76. 0 31
      MediaBrowser.Dlna/Profiles/Xml/Sony Blu-ray Player 2015.xml
  77. 0 31
      MediaBrowser.Dlna/Profiles/Xml/Sony Blu-ray Player 2016.xml
  78. 0 31
      MediaBrowser.Dlna/Profiles/Xml/Sony Blu-ray Player.xml
  79. 0 133
      MediaBrowser.Dlna/Profiles/Xml/Sony Bravia (2010).xml
  80. 0 31
      MediaBrowser.Dlna/Profiles/Xml/Sony Bravia (2011).xml
  81. 0 31
      MediaBrowser.Dlna/Profiles/Xml/Sony Bravia (2012).xml
  82. 0 31
      MediaBrowser.Dlna/Profiles/Xml/Sony Bravia (2013).xml
  83. 0 31
      MediaBrowser.Dlna/Profiles/Xml/Sony Bravia (2014).xml
  84. 0 31
      MediaBrowser.Dlna/Profiles/Xml/Sony PlayStation 3.xml
  85. 0 31
      MediaBrowser.Dlna/Profiles/Xml/Sony PlayStation 4.xml
  86. 0 29
      MediaBrowser.Dlna/Profiles/Xml/Vlc.xml
  87. 0 30
      MediaBrowser.Dlna/Profiles/Xml/WDTV Live.xml
  88. 0 31
      MediaBrowser.Dlna/Profiles/Xml/Xbox 360.xml
  89. 0 30
      MediaBrowser.Dlna/Profiles/Xml/Xbox One.xml
  90. 0 29
      MediaBrowser.Dlna/Profiles/Xml/foobar2000.xml
  91. 0 1
      MediaBrowser.Dlna/packages.config
  92. 3 2
      MediaBrowser.LocalMetadata/MediaBrowser.LocalMetadata.csproj
  93. 3 2
      MediaBrowser.MediaEncoding/MediaBrowser.MediaEncoding.csproj
  94. 0 1224
      MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj
  95. 0 23
      MediaBrowser.Model.Portable/Properties/AssemblyInfo.cs
  96. 0 15
      MediaBrowser.Model.Portable/app.config
  97. 0 1178
      MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj
  98. BIN
      MediaBrowser.Model.net35/MediaBrowser.Model.snk
  99. 0 30
      MediaBrowser.Model.net35/Properties/AssemblyInfo.cs
  100. 0 3
      MediaBrowser.Model/Dlna/CodecProfile.cs

+ 2 - 1
Emby.Drawing/Emby.Drawing.csproj

@@ -9,9 +9,10 @@
     <AppDesignerFolder>Properties</AppDesignerFolder>
     <RootNamespace>Emby.Drawing</RootNamespace>
     <AssemblyName>Emby.Drawing</AssemblyName>
-    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+    <TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
     <FileAlignment>512</FileAlignment>
     <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
+    <TargetFrameworkProfile />
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
     <DebugSymbols>true</DebugSymbols>

+ 1 - 4
MediaBrowser.Api/MediaBrowser.Api.csproj

@@ -11,7 +11,7 @@
     <AssemblyName>MediaBrowser.Api</AssemblyName>
     <FileAlignment>512</FileAlignment>
     <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
-    <TargetFrameworkVersion>v4.5.1</TargetFrameworkVersion>
+    <TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
     <ReleaseVersion>
     </ReleaseVersion>
     <TargetFrameworkProfile />
@@ -50,9 +50,6 @@
       <SpecificVersion>False</SpecificVersion>
       <HintPath>..\packages\CommonIO.1.0.0.9\lib\net45\CommonIO.dll</HintPath>
     </Reference>
-    <Reference Include="MoreLinq">
-      <HintPath>..\packages\morelinq.1.4.0\lib\net35\MoreLinq.dll</HintPath>
-    </Reference>
     <Reference Include="Patterns.Logging">
       <HintPath>..\packages\Patterns.Logging.1.0.0.2\lib\portable-net45+sl4+wp71+win8+wpa81\Patterns.Logging.dll</HintPath>
     </Reference>

+ 1 - 1
MediaBrowser.Api/Movies/MoviesService.cs

@@ -8,7 +8,6 @@ using MediaBrowser.Controller.Persistence;
 using MediaBrowser.Model.Dto;
 using MediaBrowser.Model.Entities;
 using MediaBrowser.Model.Querying;
-using MoreLinq;
 using ServiceStack;
 using System;
 using System.Collections.Generic;
@@ -16,6 +15,7 @@ using System.Linq;
 using System.Threading.Tasks;
 using MediaBrowser.Controller.Configuration;
 using MediaBrowser.Controller.LiveTv;
+using MediaBrowser.Model.Extensions;
 
 namespace MediaBrowser.Api.Movies
 {

+ 0 - 1
MediaBrowser.Api/packages.config

@@ -1,6 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <packages>
   <package id="CommonIO" version="1.0.0.9" targetFramework="net45" />
-  <package id="morelinq" version="1.4.0" targetFramework="net45" />
   <package id="Patterns.Logging" version="1.0.0.2" targetFramework="net45" />
 </packages>

+ 24 - 7
MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs

@@ -342,7 +342,6 @@ namespace MediaBrowser.Common.Implementations.HttpClientManager
                             ResponseUrl = url,
                             Content = memoryStream,
                             StatusCode = HttpStatusCode.OK,
-                            Headers = new NameValueCollection(),
                             ContentLength = memoryStream.Length
                         };
                     }
@@ -487,7 +486,7 @@ namespace MediaBrowser.Common.Implementations.HttpClientManager
 
         private HttpResponseInfo GetResponseInfo(HttpWebResponse httpResponse, Stream content, long? contentLength, IDisposable disposable)
         {
-            return new HttpResponseInfo(disposable)
+            var responseInfo = new HttpResponseInfo(disposable)
             {
                 Content = content,
 
@@ -495,17 +494,22 @@ namespace MediaBrowser.Common.Implementations.HttpClientManager
 
                 ContentType = httpResponse.ContentType,
 
-                Headers = new NameValueCollection(httpResponse.Headers),
-
                 ContentLength = contentLength,
 
                 ResponseUrl = httpResponse.ResponseUri.ToString()
             };
+
+            if (httpResponse.Headers != null)
+            {
+                SetHeaders(httpResponse.Headers, responseInfo);
+            }
+
+            return responseInfo;
         }
 
         private HttpResponseInfo GetResponseInfo(HttpWebResponse httpResponse, string tempFile, long? contentLength)
         {
-            return new HttpResponseInfo
+            var responseInfo = new HttpResponseInfo
             {
                 TempFilePath = tempFile,
 
@@ -513,10 +517,23 @@ namespace MediaBrowser.Common.Implementations.HttpClientManager
 
                 ContentType = httpResponse.ContentType,
 
-                Headers = httpResponse.Headers,
-
                 ContentLength = contentLength
             };
+
+            if (httpResponse.Headers != null)
+            {
+                SetHeaders(httpResponse.Headers, responseInfo);
+            }
+
+            return responseInfo;
+        }
+
+        private void SetHeaders(WebHeaderCollection headers, HttpResponseInfo responseInfo)
+        {
+            foreach (var key in headers.AllKeys)
+            {
+                responseInfo.Headers[key] = headers[key];
+            }
         }
 
         public Task<HttpResponseInfo> Post(HttpRequestOptions options)

+ 1 - 4
MediaBrowser.Common.Implementations/MediaBrowser.Common.Implementations.csproj

@@ -24,7 +24,7 @@
     <DefineConstants>DEBUG;TRACE</DefineConstants>
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
-    <TargetFrameworkVersion>v4.5.1</TargetFrameworkVersion>
+    <TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
     <DebugType>none</DebugType>
@@ -56,9 +56,6 @@
       <HintPath>..\packages\Microsoft.IO.RecyclableMemoryStream.1.1.0.0\lib\net45\Microsoft.IO.RecyclableMemoryStream.dll</HintPath>
       <Private>True</Private>
     </Reference>
-    <Reference Include="MoreLinq">
-      <HintPath>..\packages\morelinq.1.4.0\lib\net35\MoreLinq.dll</HintPath>
-    </Reference>
     <Reference Include="NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
       <HintPath>..\packages\NLog.4.3.8\lib\net45\NLog.dll</HintPath>
       <Private>True</Private>

+ 2 - 2
MediaBrowser.Common.Implementations/Networking/BaseNetworkManager.cs

@@ -6,7 +6,7 @@ using System.Linq;
 using System.Net;
 using System.Net.NetworkInformation;
 using System.Net.Sockets;
-using MoreLinq;
+using MediaBrowser.Model.Extensions;
 
 namespace MediaBrowser.Common.Implementations.Networking
 {
@@ -308,7 +308,7 @@ namespace MediaBrowser.Common.Implementations.Networking
             string[] values = endpointstring.Split(new char[] { ':' });
             IPAddress ipaddy;
             int port = -1;
-
+          
             //check if we have an IPv6 or ports
             if (values.Length <= 2) // ipv4 or hostname
             {

+ 0 - 1
MediaBrowser.Common.Implementations/packages.config

@@ -2,7 +2,6 @@
 <packages>
   <package id="CommonIO" version="1.0.0.9" targetFramework="net45" />
   <package id="Microsoft.IO.RecyclableMemoryStream" version="1.1.0.0" targetFramework="net45" />
-  <package id="morelinq" version="1.4.0" targetFramework="net45" />
   <package id="NLog" version="4.3.8" targetFramework="net45" />
   <package id="Patterns.Logging" version="1.0.0.2" targetFramework="net45" />
   <package id="SimpleInjector" version="3.2.2" targetFramework="net45" />

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

@@ -91,7 +91,6 @@
     <Compile Include="Security\IRequiresRegistration.cs" />
     <Compile Include="Security\ISecurityManager.cs" />
     <Compile Include="Security\PaymentRequiredException.cs" />
-    <Compile Include="Threading\PeriodicTimer.cs" />
     <Compile Include="Updates\IInstallationManager.cs" />
     <Compile Include="Updates\InstallationEventArgs.cs" />
     <Compile Include="Updates\InstallationFailedEventArgs.cs" />

+ 4 - 2
MediaBrowser.Common/Net/HttpResponseInfo.cs

@@ -1,5 +1,5 @@
 using System;
-using System.Collections.Specialized;
+using System.Collections.Generic;
 using System.IO;
 using System.Net;
 
@@ -50,16 +50,18 @@ namespace MediaBrowser.Common.Net
         /// Gets or sets the headers.
         /// </summary>
         /// <value>The headers.</value>
-        public NameValueCollection Headers { get; set; }
+        public Dictionary<string,string> Headers { get; set; }
 
         private readonly IDisposable _disposable;
 
         public HttpResponseInfo(IDisposable disposable)
         {
             _disposable = disposable;
+            Headers = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
         }
         public HttpResponseInfo()
         {
+            Headers = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
         }
 
         public void Dispose()

+ 0 - 13
MediaBrowser.Common/Net/INetworkManager.cs

@@ -7,12 +7,6 @@ namespace MediaBrowser.Common.Net
 {
     public interface INetworkManager
     {
-        /// <summary>
-        /// Gets the machine's local ip address
-        /// </summary>
-        /// <returns>IPAddress.</returns>
-		IEnumerable<IPAddress> GetLocalIpAddresses();
-
         /// <summary>
         /// Gets a random port number that is currently available
         /// </summary>
@@ -45,13 +39,6 @@ namespace MediaBrowser.Common.Net
         /// <returns>PC's in the Domain</returns>
         IEnumerable<FileSystemEntryInfo> GetNetworkDevices();
 
-        /// <summary>
-        /// Parses the specified endpointstring.
-        /// </summary>
-        /// <param name="endpointstring">The endpointstring.</param>
-        /// <returns>IPEndPoint.</returns>
-        IPEndPoint Parse(string endpointstring);
-
         /// <summary>
         /// Determines whether [is in local network] [the specified endpoint].
         /// </summary>

+ 7 - 7
MediaBrowser.Controller/Entities/CollectionFolder.cs

@@ -11,8 +11,8 @@ using System.Threading.Tasks;
 using CommonIO;
 using MediaBrowser.Controller.Configuration;
 using MediaBrowser.Model.Configuration;
+using MediaBrowser.Model.Extensions;
 using MediaBrowser.Model.Serialization;
-using MoreLinq;
 
 namespace MediaBrowser.Controller.Entities
 {
@@ -29,7 +29,7 @@ namespace MediaBrowser.Controller.Entities
             PhysicalLocationsList = new List<string>();
         }
 
-        [IgnoreDataMember]
+        [System.Runtime.Serialization.IgnoreDataMember]
         protected override bool SupportsShortcutChildren
         {
             get
@@ -38,7 +38,7 @@ namespace MediaBrowser.Controller.Entities
             }
         }
 
-        [IgnoreDataMember]
+        [System.Runtime.Serialization.IgnoreDataMember]
         public override bool SupportsPlayedStatus
         {
             get
@@ -129,7 +129,7 @@ namespace MediaBrowser.Controller.Entities
         /// Allow different display preferences for each collection folder
         /// </summary>
         /// <value>The display prefs id.</value>
-        [IgnoreDataMember]
+        [System.Runtime.Serialization.IgnoreDataMember]
         public override Guid DisplayPreferencesId
         {
             get
@@ -138,7 +138,7 @@ namespace MediaBrowser.Controller.Entities
             }
         }
 
-        [IgnoreDataMember]
+        [System.Runtime.Serialization.IgnoreDataMember]
         public override IEnumerable<string> PhysicalLocations
         {
             get
@@ -283,7 +283,7 @@ namespace MediaBrowser.Controller.Entities
         /// Our children are actually just references to the ones in the physical root...
         /// </summary>
         /// <value>The actual children.</value>
-        [IgnoreDataMember]
+        [System.Runtime.Serialization.IgnoreDataMember]
         protected override IEnumerable<BaseItem> ActualChildren
         {
             get { return GetActualChildren(); }
@@ -322,7 +322,7 @@ namespace MediaBrowser.Controller.Entities
             return result;
         }
 
-        [IgnoreDataMember]
+        [System.Runtime.Serialization.IgnoreDataMember]
         public override bool SupportsPeople
         {
             get

+ 0 - 1
MediaBrowser.Controller/Entities/TV/Season.cs

@@ -2,7 +2,6 @@
 using MediaBrowser.Controller.Providers;
 using MediaBrowser.Model.Querying;
 using MediaBrowser.Model.Users;
-using MoreLinq;
 using System.Collections.Generic;
 using System.Linq;
 using System.Runtime.Serialization;

+ 11 - 5
MediaBrowser.Controller/Entities/TV/Series.cs

@@ -9,8 +9,8 @@ using System.Linq;
 using System.Runtime.Serialization;
 using System.Threading;
 using System.Threading.Tasks;
+using MediaBrowser.Model.Extensions;
 using MediaBrowser.Model.Providers;
-using MoreLinq;
 
 namespace MediaBrowser.Controller.Entities.TV
 {
@@ -106,6 +106,12 @@ namespace MediaBrowser.Controller.Entities.TV
 
         private string AddLibrariesToPresentationUniqueKey(string key)
         {
+            var lang = GetPreferredMetadataLanguage();
+            if (!string.IsNullOrWhiteSpace(lang))
+            {
+                key += "-" + lang;
+            }
+
             var folders = LibraryManager.GetCollectionFolders(this)
                 .Select(i => i.Id.ToString("N"))
                 .ToArray();
@@ -209,8 +215,8 @@ namespace MediaBrowser.Controller.Entities.TV
             var query = new InternalItemsQuery(user)
             {
                 AncestorWithPresentationUniqueKey = seriesKey,
-                IncludeItemTypes = new[] {typeof (Season).Name},
-                SortBy = new[] {ItemSortBy.SortName}
+                IncludeItemTypes = new[] { typeof(Season).Name },
+                SortBy = new[] { ItemSortBy.SortName }
             };
 
             if (!config.DisplayMissingEpisodes && !config.DisplayUnairedEpisodes)
@@ -267,8 +273,8 @@ namespace MediaBrowser.Controller.Entities.TV
             var query = new InternalItemsQuery(user)
             {
                 AncestorWithPresentationUniqueKey = seriesKey,
-                IncludeItemTypes = new[] {typeof (Episode).Name, typeof (Season).Name},
-                SortBy = new[] {ItemSortBy.SortName}
+                IncludeItemTypes = new[] { typeof(Episode).Name, typeof(Season).Name },
+                SortBy = new[] { ItemSortBy.SortName }
             };
             var config = user.Configuration;
             if (!config.DisplayMissingEpisodes && !config.DisplayUnairedEpisodes)

+ 8 - 8
MediaBrowser.Controller/Entities/User.cs

@@ -42,7 +42,7 @@ namespace MediaBrowser.Controller.Entities
         /// Gets or sets the path.
         /// </summary>
         /// <value>The path.</value>
-        [IgnoreDataMember]
+        [System.Runtime.Serialization.IgnoreDataMember]
         public override string Path
         {
             get
@@ -81,7 +81,7 @@ namespace MediaBrowser.Controller.Entities
         /// If the item is a folder, it returns the folder itself
         /// </summary>
         /// <value>The containing folder path.</value>
-        [IgnoreDataMember]
+        [System.Runtime.Serialization.IgnoreDataMember]
         public override string ContainingFolderPath
         {
             get
@@ -94,7 +94,7 @@ namespace MediaBrowser.Controller.Entities
         /// Gets a value indicating whether this instance is owned item.
         /// </summary>
         /// <value><c>true</c> if this instance is owned item; otherwise, <c>false</c>.</value>
-        [IgnoreDataMember]
+        [System.Runtime.Serialization.IgnoreDataMember]
         public override bool IsOwnedItem
         {
             get
@@ -107,7 +107,7 @@ namespace MediaBrowser.Controller.Entities
         /// Gets the root folder.
         /// </summary>
         /// <value>The root folder.</value>
-        [IgnoreDataMember]
+        [System.Runtime.Serialization.IgnoreDataMember]
         public Folder RootFolder
         {
             get
@@ -129,7 +129,7 @@ namespace MediaBrowser.Controller.Entities
 
         private volatile UserConfiguration _config;
         private readonly object _configSyncLock = new object();
-        [IgnoreDataMember]
+        [System.Runtime.Serialization.IgnoreDataMember]
         public UserConfiguration Configuration
         {
             get
@@ -152,7 +152,7 @@ namespace MediaBrowser.Controller.Entities
 
         private volatile UserPolicy _policy;
         private readonly object _policySyncLock = new object();
-        [IgnoreDataMember]
+        [System.Runtime.Serialization.IgnoreDataMember]
         public UserPolicy Policy
         {
             get
@@ -232,7 +232,7 @@ namespace MediaBrowser.Controller.Entities
         /// Gets the path to the user's configuration directory
         /// </summary>
         /// <value>The configuration directory path.</value>
-        [IgnoreDataMember]
+        [System.Runtime.Serialization.IgnoreDataMember]
         public string ConfigurationDirectoryPath
         {
             get
@@ -308,7 +308,7 @@ namespace MediaBrowser.Controller.Entities
             return Configuration.GroupedFolders.Select(i => new Guid(i)).Contains(id);
         }
 
-        [IgnoreDataMember]
+        [System.Runtime.Serialization.IgnoreDataMember]
         public override bool SupportsPeople
         {
             get

+ 1 - 1
MediaBrowser.Controller/Entities/UserViewBuilder.cs

@@ -17,7 +17,7 @@ using System.Linq;
 using System.Threading;
 using System.Threading.Tasks;
 using MediaBrowser.Controller.Configuration;
-using MoreLinq;
+using MediaBrowser.Model.Extensions;
 
 namespace MediaBrowser.Controller.Entities
 {

+ 1 - 1
MediaBrowser.Controller/Library/NameExtensions.cs

@@ -1,9 +1,9 @@
 using MediaBrowser.Common.Extensions;
-using MoreLinq;
 using System;
 using System.Collections.Generic;
 using System.Globalization;
 using System.Linq;
+using MediaBrowser.Model.Extensions;
 
 namespace MediaBrowser.Controller.Library
 {

+ 4 - 6
MediaBrowser.Controller/MediaBrowser.Controller.csproj

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
   <PropertyGroup>
     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@@ -11,9 +11,10 @@
     <AssemblyName>MediaBrowser.Controller</AssemblyName>
     <FileAlignment>512</FileAlignment>
     <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
-    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+    <TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
     <ReleaseVersion>
     </ReleaseVersion>
+    <TargetFrameworkProfile />
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
     <DebugSymbols>true</DebugSymbols>
@@ -51,9 +52,6 @@
     <Reference Include="Interfaces.IO">
       <HintPath>..\packages\Interfaces.IO.1.0.0.5\lib\portable-net45+sl4+wp71+win8+wpa81\Interfaces.IO.dll</HintPath>
     </Reference>
-    <Reference Include="MoreLinq">
-      <HintPath>..\packages\morelinq.1.4.0\lib\net35\MoreLinq.dll</HintPath>
-    </Reference>
     <Reference Include="Patterns.Logging">
       <HintPath>..\packages\Patterns.Logging.1.0.0.2\lib\portable-net45+sl4+wp71+win8+wpa81\Patterns.Logging.dll</HintPath>
     </Reference>
@@ -168,7 +166,6 @@
     <Compile Include="Entities\UserView.cs" />
     <Compile Include="Entities\UserViewBuilder.cs" />
     <Compile Include="FileOrganization\IFileOrganizationService.cs" />
-    <Compile Include="Health\IHealthMonitor.cs" />
     <Compile Include="IO\ThrottledStream.cs" />
     <Compile Include="Library\DeleteOptions.cs" />
     <Compile Include="Library\ILibraryPostScanTask.cs" />
@@ -391,6 +388,7 @@
     <Compile Include="Sync\ISyncRepository.cs" />
     <Compile Include="Sync\SyncedFileInfo.cs" />
     <Compile Include="Sync\SyncedItemProgress.cs" />
+    <Compile Include="Threading\PeriodicTimer.cs" />
     <Compile Include="TV\ITVSeriesManager.cs" />
   </ItemGroup>
   <ItemGroup>

+ 1 - 1
MediaBrowser.Common/Threading/PeriodicTimer.cs → MediaBrowser.Controller/Threading/PeriodicTimer.cs

@@ -2,7 +2,7 @@
 using System.Threading;
 using Microsoft.Win32;
 
-namespace MediaBrowser.Common.Threading
+namespace MediaBrowser.Controller.Threading
 {
     public class PeriodicTimer : IDisposable
     {

+ 0 - 1
MediaBrowser.Controller/packages.config

@@ -2,6 +2,5 @@
 <packages>
   <package id="CommonIO" version="1.0.0.9" targetFramework="net45" />
   <package id="Interfaces.IO" version="1.0.0.5" targetFramework="net45" />
-  <package id="morelinq" version="1.4.0" targetFramework="net45" />
   <package id="Patterns.Logging" version="1.0.0.2" targetFramework="net45" />
 </packages>

+ 59 - 30
MediaBrowser.Dlna/DlnaManager.cs

@@ -277,9 +277,27 @@ namespace MediaBrowser.Dlna
         {
             try
             {
-                return _fileSystem.GetFiles(path)
+                var allFiles = _fileSystem.GetFiles(path)
+                    .ToList();
+
+                var xmlFies = allFiles
                     .Where(i => string.Equals(i.Extension, ".xml", StringComparison.OrdinalIgnoreCase))
-                    .Select(i => ParseProfileXmlFile(i.FullName, type))
+                    .ToList();
+
+                var jsonFiles = allFiles
+                    .Where(i => string.Equals(i.Extension, ".json", StringComparison.OrdinalIgnoreCase))
+                    .ToList();
+
+                var jsonFileNames = jsonFiles
+                    .Select(i => Path.GetFileNameWithoutExtension(i.Name))
+                    .ToList();
+
+                var parseFiles = jsonFiles.ToList();
+
+                parseFiles.AddRange(xmlFies.Where(i => !jsonFileNames.Contains(Path.GetFileNameWithoutExtension(i.Name), StringComparer.Ordinal)));
+
+                return parseFiles
+                    .Select(i => ParseProfileFile(i.FullName, type))
                     .Where(i => i != null)
                     .ToList();
             }
@@ -289,7 +307,7 @@ namespace MediaBrowser.Dlna
             }
         }
 
-        private DeviceProfile ParseProfileXmlFile(string path, DeviceProfileType type)
+        private DeviceProfile ParseProfileFile(string path, DeviceProfileType type)
         {
             lock (_profiles)
             {
@@ -301,7 +319,19 @@ namespace MediaBrowser.Dlna
 
                 try
                 {
-                    var profile = (DeviceProfile)_xmlSerializer.DeserializeFromFile(typeof(DeviceProfile), path);
+                    DeviceProfile profile;
+
+                    if (string.Equals(Path.GetExtension(path), ".xml", StringComparison.OrdinalIgnoreCase))
+                    {
+                        var tempProfile = (MediaBrowser.Dlna.ProfileSerialization.DeviceProfile)_xmlSerializer.DeserializeFromFile(typeof(MediaBrowser.Dlna.ProfileSerialization.DeviceProfile), path);
+
+                        var json = _jsonSerializer.SerializeToString(tempProfile);
+                        profile = (DeviceProfile)_jsonSerializer.DeserializeFromString<DeviceProfile>(json);
+                    }
+                    else
+                    {
+                        profile = (DeviceProfile)_jsonSerializer.DeserializeFromFile(typeof(DeviceProfile), path);
+                    }
 
                     profile.Id = path.ToLower().GetMD5().ToString("N");
                     profile.ProfileType = type;
@@ -312,7 +342,7 @@ namespace MediaBrowser.Dlna
                 }
                 catch (Exception ex)
                 {
-                    _logger.ErrorException("Error parsing profile xml: {0}", ex, path);
+                    _logger.ErrorException("Error parsing profile file: {0}", ex, path);
 
                     return null;
                 }
@@ -328,7 +358,7 @@ namespace MediaBrowser.Dlna
 
             var info = GetProfileInfosInternal().First(i => string.Equals(i.Info.Id, id, StringComparison.OrdinalIgnoreCase));
 
-            return ParseProfileXmlFile(info.Path, info.Info.Type);
+            return ParseProfileFile(info.Path, info.Info.Type);
         }
 
         private IEnumerable<InternalProfileInfo> GetProfileInfosInternal()
@@ -348,21 +378,6 @@ namespace MediaBrowser.Dlna
             return GetProfileInfosInternal().Select(i => i.Info);
         }
 
-        private IEnumerable<InternalProfileInfo> GetProfileInfos(string path, DeviceProfileType type)
-        {
-            try
-            {
-                return _fileSystem.GetFiles(path)
-                    .Where(i => string.Equals(i.Extension, ".xml", StringComparison.OrdinalIgnoreCase))
-                    .Select(i => GetInternalProfileInfo(i, type))
-                    .ToList();
-            }
-            catch (DirectoryNotFoundException)
-            {
-                return new List<InternalProfileInfo>();
-            }
-        }
-
         private InternalProfileInfo GetInternalProfileInfo(FileSystemMetadata file, DeviceProfileType type)
         {
             return new InternalProfileInfo
@@ -381,7 +396,7 @@ namespace MediaBrowser.Dlna
         private void ExtractSystemProfiles()
         {
             var assembly = GetType().Assembly;
-            var namespaceName = GetType().Namespace + ".Profiles.Xml.";
+            var namespaceName = GetType().Namespace + ".Profiles.Json.";
 
             var systemProfilesPath = SystemProfilesPath;
 
@@ -439,7 +454,7 @@ namespace MediaBrowser.Dlna
                 throw new ArgumentException("Profile is missing Name");
             }
 
-            var newFilename = _fileSystem.GetValidFilename(profile.Name) + ".xml";
+            var newFilename = _fileSystem.GetValidFilename(profile.Name) + ".json";
             var path = Path.Combine(UserProfilesPath, newFilename);
 
             SaveProfile(profile, path, DeviceProfileType.User);
@@ -460,7 +475,7 @@ namespace MediaBrowser.Dlna
 
             var current = GetProfileInfosInternal().First(i => string.Equals(i.Info.Id, profile.Id, StringComparison.OrdinalIgnoreCase));
 
-            var newFilename = _fileSystem.GetValidFilename(profile.Name) + ".xml";
+            var newFilename = _fileSystem.GetValidFilename(profile.Name) + ".json";
             var path = Path.Combine(UserProfilesPath, newFilename);
 
             if (!string.Equals(path, current.Path, StringComparison.Ordinal) &&
@@ -478,7 +493,21 @@ namespace MediaBrowser.Dlna
             {
                 _profiles[path] = new Tuple<InternalProfileInfo, DeviceProfile>(GetInternalProfileInfo(_fileSystem.GetFileInfo(path), type), profile);
             }
-            _xmlSerializer.SerializeToFile(profile, path);
+            SerializeToJson(profile, path);
+        }
+
+        internal void SerializeToJson(DeviceProfile profile, string path)
+        {
+            _jsonSerializer.SerializeToFile(profile, path);
+
+            try
+            {
+                File.Delete(Path.ChangeExtension(path, ".xml"));
+            }
+            catch
+            {
+
+            }
         }
 
         /// <summary>
@@ -532,14 +561,14 @@ namespace MediaBrowser.Dlna
     class DlnaProfileEntryPoint : IServerEntryPoint
     {
         private readonly IApplicationPaths _appPaths;
-        private readonly IXmlSerializer _xmlSerializer;
+        private readonly IJsonSerializer _jsonSerializer;
         private readonly IFileSystem _fileSystem;
 
-        public DlnaProfileEntryPoint(IApplicationPaths appPaths, IXmlSerializer xmlSerializer, IFileSystem fileSystem)
+        public DlnaProfileEntryPoint(IApplicationPaths appPaths, IFileSystem fileSystem, IJsonSerializer jsonSerializer)
         {
             _appPaths = appPaths;
-            _xmlSerializer = xmlSerializer;
             _fileSystem = fileSystem;
+            _jsonSerializer = jsonSerializer;
         }
 
         public void Run()
@@ -587,9 +616,9 @@ namespace MediaBrowser.Dlna
 
             foreach (var item in list)
             {
-                var path = Path.Combine(_appPaths.ProgramDataPath, _fileSystem.GetValidFilename(item.Name) + ".xml");
+                var path = Path.Combine(_appPaths.ProgramDataPath, _fileSystem.GetValidFilename(item.Name) + ".json");
 
-                _xmlSerializer.SerializeToFile(item, path);
+                _jsonSerializer.SerializeToFile(item, path);
             }
         }
 

+ 42 - 66
MediaBrowser.Dlna/MediaBrowser.Dlna.csproj

@@ -24,7 +24,7 @@
     <DefineConstants>DEBUG;TRACE</DefineConstants>
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
-    <TargetFrameworkVersion>v4.5.1</TargetFrameworkVersion>
+    <TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
     <DebugType>none</DebugType>
@@ -45,9 +45,6 @@
       <SpecificVersion>False</SpecificVersion>
       <HintPath>..\packages\CommonIO.1.0.0.9\lib\net45\CommonIO.dll</HintPath>
     </Reference>
-    <Reference Include="MoreLinq">
-      <HintPath>..\packages\morelinq.1.4.0\lib\net35\MoreLinq.dll</HintPath>
-    </Reference>
     <Reference Include="Patterns.Logging">
       <HintPath>..\packages\Patterns.Logging.1.0.0.2\lib\portable-net45+sl4+wp71+win8+wpa81\Patterns.Logging.dll</HintPath>
     </Reference>
@@ -96,6 +93,16 @@
     <Compile Include="Common\DeviceService.cs" />
     <Compile Include="Didl\DidlBuilder.cs" />
     <Compile Include="PlayTo\PlayToController.cs" />
+    <Compile Include="ProfileSerialization\CodecProfile.cs" />
+    <Compile Include="ProfileSerialization\ContainerProfile.cs" />
+    <Compile Include="ProfileSerialization\DeviceProfile.cs" />
+    <Compile Include="ProfileSerialization\DirectPlayProfile.cs" />
+    <Compile Include="ProfileSerialization\HttpHeaderInfo.cs" />
+    <Compile Include="ProfileSerialization\ProfileCondition.cs" />
+    <Compile Include="ProfileSerialization\ResponseProfile.cs" />
+    <Compile Include="ProfileSerialization\SubtitleProfile.cs" />
+    <Compile Include="ProfileSerialization\TranscodingProfile.cs" />
+    <Compile Include="ProfileSerialization\XmlAttribute.cs" />
     <Compile Include="Profiles\BubbleUpnpProfile.cs" />
     <Compile Include="Profiles\DefaultProfile.cs" />
     <Compile Include="Profiles\DirectTvProfile.cs" />
@@ -173,55 +180,16 @@
       <Name>MediaBrowser.Model</Name>
     </ProjectReference>
   </ItemGroup>
-  <ItemGroup>
-    <EmbeddedResource Include="Profiles\Xml\Denon AVR.xml" />
-    <EmbeddedResource Include="Profiles\Xml\foobar2000.xml" />
-    <EmbeddedResource Include="Profiles\Xml\LG Smart TV.xml" />
-    <EmbeddedResource Include="Profiles\Xml\Linksys DMA2100.xml" />
-    <EmbeddedResource Include="Profiles\Xml\Panasonic Viera.xml" />
-    <EmbeddedResource Include="Profiles\Xml\Samsung Smart TV.xml" />
-    <EmbeddedResource Include="Profiles\Xml\Sony Blu-ray Player 2013.xml" />
-    <EmbeddedResource Include="Profiles\Xml\Sony Blu-ray Player.xml" />
-    <EmbeddedResource Include="Profiles\Xml\Sony Bravia %282010%29.xml" />
-    <EmbeddedResource Include="Profiles\Xml\Sony Bravia %282011%29.xml" />
-    <EmbeddedResource Include="Profiles\Xml\Sony Bravia %282012%29.xml" />
-    <EmbeddedResource Include="Profiles\Xml\Sony Bravia %282013%29.xml">
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <EmbeddedResource Include="Profiles\Xml\Sony PlayStation 3.xml" />
-    <EmbeddedResource Include="Profiles\Xml\WDTV Live.xml" />
-    <EmbeddedResource Include="Profiles\Xml\Xbox 360.xml">
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <EmbeddedResource Include="Profiles\Xml\Xbox One.xml" />
-  </ItemGroup>
-  <ItemGroup>
-    <EmbeddedResource Include="Profiles\Xml\Default.xml">
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-  </ItemGroup>
   <ItemGroup>
     <EmbeddedResource Include="Images\logo120.jpg" />
     <EmbeddedResource Include="Images\logo120.png" />
     <EmbeddedResource Include="Images\logo48.jpg" />
     <EmbeddedResource Include="Images\logo48.png" />
   </ItemGroup>
-  <ItemGroup>
-    <EmbeddedResource Include="Profiles\Xml\MediaMonkey.xml" />
-  </ItemGroup>
   <ItemGroup>
     <EmbeddedResource Include="Images\logo240.jpg" />
     <EmbeddedResource Include="Images\logo240.png" />
   </ItemGroup>
-  <ItemGroup>
-    <EmbeddedResource Include="Profiles\Xml\DirecTV HD-DVR.xml" />
-  </ItemGroup>
-  <ItemGroup>
-    <EmbeddedResource Include="Profiles\Xml\Dish Hopper-Joey.xml" />
-  </ItemGroup>
-  <ItemGroup>
-    <EmbeddedResource Include="Profiles\Xml\Popcorn Hour.xml" />
-  </ItemGroup>
   <ItemGroup>
     <EmbeddedResource Include="Images\people48.jpg" />
     <EmbeddedResource Include="Images\people48.png" />
@@ -230,31 +198,39 @@
     <EmbeddedResource Include="Images\people480.jpg" />
     <EmbeddedResource Include="Images\people480.png" />
   </ItemGroup>
-  <ItemGroup>
-    <EmbeddedResource Include="Profiles\Xml\BubbleUPnp.xml" />
-    <EmbeddedResource Include="Profiles\Xml\Vlc.xml" />
-  </ItemGroup>
-  <ItemGroup>
-    <EmbeddedResource Include="Profiles\Xml\Sony PlayStation 4.xml" />
-  </ItemGroup>
-  <ItemGroup>
-    <EmbeddedResource Include="Profiles\Xml\Kodi.xml">
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-  </ItemGroup>
-  <ItemGroup>
-    <EmbeddedResource Include="Profiles\Xml\Sony Bravia %282014%29.xml">
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-  </ItemGroup>
   <ItemGroup>
     <None Include="packages.config" />
-  </ItemGroup>
-  <ItemGroup>
-    <EmbeddedResource Include="Profiles\Xml\Sony Blu-ray Player 2014.xml" />
-    <EmbeddedResource Include="Profiles\Xml\Sony Blu-ray Player 2015.xml" />
-    <EmbeddedResource Include="Profiles\Xml\Sony Blu-ray Player 2016.xml" />
-  </ItemGroup>
+    <EmbeddedResource Include="Profiles\Json\BubbleUPnp.json" />
+    <EmbeddedResource Include="Profiles\Json\Default.json" />
+    <EmbeddedResource Include="Profiles\Json\Denon AVR.json" />
+    <EmbeddedResource Include="Profiles\Json\DirecTV HD-DVR.json" />
+    <EmbeddedResource Include="Profiles\Json\Dish Hopper-Joey.json" />
+    <EmbeddedResource Include="Profiles\Json\foobar2000.json" />
+    <EmbeddedResource Include="Profiles\Json\Kodi.json" />
+    <EmbeddedResource Include="Profiles\Json\LG Smart TV.json" />
+    <EmbeddedResource Include="Profiles\Json\Linksys DMA2100.json" />
+    <EmbeddedResource Include="Profiles\Json\MediaMonkey.json" />
+    <EmbeddedResource Include="Profiles\Json\Panasonic Viera.json" />
+    <EmbeddedResource Include="Profiles\Json\Popcorn Hour.json" />
+    <EmbeddedResource Include="Profiles\Json\Samsung Smart TV.json" />
+    <EmbeddedResource Include="Profiles\Json\Sony Blu-ray Player 2013.json" />
+    <EmbeddedResource Include="Profiles\Json\Sony Blu-ray Player 2014.json" />
+    <EmbeddedResource Include="Profiles\Json\Sony Blu-ray Player 2015.json" />
+    <EmbeddedResource Include="Profiles\Json\Sony Blu-ray Player 2016.json" />
+    <EmbeddedResource Include="Profiles\Json\Sony Blu-ray Player.json" />
+    <EmbeddedResource Include="Profiles\Json\Sony Bravia %282010%29.json" />
+    <EmbeddedResource Include="Profiles\Json\Sony Bravia %282011%29.json" />
+    <EmbeddedResource Include="Profiles\Json\Sony Bravia %282012%29.json" />
+    <EmbeddedResource Include="Profiles\Json\Sony Bravia %282013%29.json" />
+    <EmbeddedResource Include="Profiles\Json\Sony Bravia %282014%29.json" />
+    <EmbeddedResource Include="Profiles\Json\Sony PlayStation 3.json" />
+    <EmbeddedResource Include="Profiles\Json\Sony PlayStation 4.json" />
+    <EmbeddedResource Include="Profiles\Json\Vlc.json" />
+    <EmbeddedResource Include="Profiles\Json\WDTV Live.json" />
+    <EmbeddedResource Include="Profiles\Json\Xbox 360.json" />
+    <EmbeddedResource Include="Profiles\Json\Xbox One.json" />
+  </ItemGroup>
+  <ItemGroup />
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
        Other similar extension points exist, see Microsoft.Common.targets.

+ 68 - 0
MediaBrowser.Dlna/ProfileSerialization/CodecProfile.cs

@@ -0,0 +1,68 @@
+using MediaBrowser.Model.Extensions;
+using System.Collections.Generic;
+using System.Xml.Serialization;
+using MediaBrowser.Model.Dlna;
+
+namespace MediaBrowser.Dlna.ProfileSerialization
+{
+    public class CodecProfile
+    {
+        [XmlAttribute("type")]
+        public CodecType Type { get; set; }
+       
+        public ProfileCondition[] Conditions { get; set; }
+
+        public ProfileCondition[] ApplyConditions { get; set; }
+
+        [XmlAttribute("codec")]
+        public string Codec { get; set; }
+
+        [XmlAttribute("container")]
+        public string Container { get; set; }
+
+        public CodecProfile()
+        {
+            Conditions = new ProfileCondition[] {};
+            ApplyConditions = new ProfileCondition[] { };
+        }
+
+        public List<string> GetCodecs()
+        {
+            List<string> list = new List<string>();
+            foreach (string i in (Codec ?? string.Empty).Split(','))
+            {
+                if (!string.IsNullOrEmpty(i)) list.Add(i);
+            }
+            return list;
+        }
+
+        public List<string> GetContainers()
+        {
+            List<string> list = new List<string>();
+            foreach (string i in (Container ?? string.Empty).Split(','))
+            {
+                if (!string.IsNullOrEmpty(i)) list.Add(i);
+            }
+            return list;
+        }
+
+        private bool ContainsContainer(string container)
+        {
+            List<string> containers = GetContainers();
+
+            return containers.Count == 0 || ListHelper.ContainsIgnoreCase(containers, container ?? string.Empty);
+        }
+
+        public bool ContainsCodec(string codec, string container)
+        {
+            if (!ContainsContainer(container))
+            {
+                return false;
+            }
+
+            List<string> codecs = GetCodecs();
+
+            return codecs.Count == 0 || ListHelper.ContainsIgnoreCase(codecs, codec);
+        }
+    }
+}

+ 31 - 0
MediaBrowser.Dlna/ProfileSerialization/ContainerProfile.cs

@@ -0,0 +1,31 @@
+using System.Collections.Generic;
+using System.Xml.Serialization;
+using MediaBrowser.Model.Dlna;
+
+namespace MediaBrowser.Dlna.ProfileSerialization
+{
+    public class ContainerProfile
+    {
+        [XmlAttribute("type")]
+        public DlnaProfileType Type { get; set; }
+        public ProfileCondition[] Conditions { get; set; }
+
+        [XmlAttribute("container")]
+        public string Container { get; set; }
+
+        public ContainerProfile()
+        {
+            Conditions = new ProfileCondition[] { };
+        }
+
+        public List<string> GetContainers()
+        {
+            List<string> list = new List<string>();
+            foreach (string i in (Container ?? string.Empty).Split(','))
+            {
+                if (!string.IsNullOrEmpty(i)) list.Add(i);
+            }
+            return list;
+        }
+    }
+}

+ 351 - 0
MediaBrowser.Dlna/ProfileSerialization/DeviceProfile.cs

@@ -0,0 +1,351 @@
+using MediaBrowser.Model.Extensions;
+using MediaBrowser.Model.MediaInfo;
+using System.Collections.Generic;
+using System.Xml.Serialization;
+
+namespace MediaBrowser.Dlna.ProfileSerialization
+{
+    [XmlRoot("Profile")]
+    public class DeviceProfile
+    {
+        /// <summary>
+        /// Gets or sets the name.
+        /// </summary>
+        /// <value>The name.</value>
+        public string Name { get; set; }
+
+        [XmlIgnore]
+        public string Id { get; set; }
+
+        [XmlIgnore]
+        public MediaBrowser.Model.Dlna.DeviceProfileType ProfileType { get; set; }
+
+        /// <summary>
+        /// Gets or sets the identification.
+        /// </summary>
+        /// <value>The identification.</value>
+        public MediaBrowser.Model.Dlna.DeviceIdentification Identification { get; set; }
+
+        public string FriendlyName { get; set; }
+        public string Manufacturer { get; set; }
+        public string ManufacturerUrl { get; set; }
+        public string ModelName { get; set; }
+        public string ModelDescription { get; set; }
+        public string ModelNumber { get; set; }
+        public string ModelUrl { get; set; }
+        public string SerialNumber { get; set; }
+
+        public bool EnableAlbumArtInDidl { get; set; }
+        public bool EnableSingleAlbumArtLimit { get; set; }
+        public bool EnableSingleSubtitleLimit { get; set; }
+
+        public string SupportedMediaTypes { get; set; }
+
+        public string UserId { get; set; }
+
+        public string AlbumArtPn { get; set; }
+
+        public int MaxAlbumArtWidth { get; set; }
+        public int MaxAlbumArtHeight { get; set; }
+
+        public int? MaxIconWidth { get; set; }
+        public int? MaxIconHeight { get; set; }
+
+        public int? MaxStreamingBitrate { get; set; }
+        public int? MaxStaticBitrate { get; set; }
+
+        public int? MusicStreamingTranscodingBitrate { get; set; }
+        public int? MaxStaticMusicBitrate { get; set; }
+
+        /// <summary>
+        /// Controls the content of the X_DLNADOC element in the urn:schemas-dlna-org:device-1-0 namespace.
+        /// </summary>
+        public string XDlnaDoc { get; set; }
+        /// <summary>
+        /// Controls the content of the X_DLNACAP element in the urn:schemas-dlna-org:device-1-0 namespace.
+        /// </summary>
+        public string XDlnaCap { get; set; }
+        /// <summary>
+        /// Controls the content of the aggregationFlags element in the urn:schemas-sonycom:av namespace.
+        /// </summary>
+        public string SonyAggregationFlags { get; set; }
+
+        public string ProtocolInfo { get; set; }
+
+        public int TimelineOffsetSeconds { get; set; }
+        public bool RequiresPlainVideoItems { get; set; }
+        public bool RequiresPlainFolders { get; set; }
+
+        public bool EnableMSMediaReceiverRegistrar { get; set; }
+        public bool IgnoreTranscodeByteRangeRequests { get; set; }
+
+        public XmlAttribute[] XmlRootAttributes { get; set; }
+
+        /// <summary>
+        /// Gets or sets the direct play profiles.
+        /// </summary>
+        /// <value>The direct play profiles.</value>
+        public DirectPlayProfile[] DirectPlayProfiles { get; set; }
+
+        /// <summary>
+        /// Gets or sets the transcoding profiles.
+        /// </summary>
+        /// <value>The transcoding profiles.</value>
+        public TranscodingProfile[] TranscodingProfiles { get; set; }
+
+        public ContainerProfile[] ContainerProfiles { get; set; }
+
+        public CodecProfile[] CodecProfiles { get; set; }
+        public ResponseProfile[] ResponseProfiles { get; set; }
+
+        public SubtitleProfile[] SubtitleProfiles { get; set; }
+
+        public DeviceProfile()
+        {
+            DirectPlayProfiles = new DirectPlayProfile[] { };
+            TranscodingProfiles = new TranscodingProfile[] { };
+            ResponseProfiles = new ResponseProfile[] { };
+            CodecProfiles = new CodecProfile[] { };
+            ContainerProfiles = new ContainerProfile[] { };
+            SubtitleProfiles = new SubtitleProfile[] { };
+
+            XmlRootAttributes = new XmlAttribute[] { };
+
+            SupportedMediaTypes = "Audio,Photo,Video";
+            MaxStreamingBitrate = 8000000;
+            MaxStaticBitrate = 8000000;
+            MusicStreamingTranscodingBitrate = 128000;
+        }
+
+        public List<string> GetSupportedMediaTypes()
+        {
+            List<string> list = new List<string>();
+            foreach (string i in (SupportedMediaTypes ?? string.Empty).Split(','))
+            {
+                if (!string.IsNullOrEmpty(i))
+                    list.Add(i);
+            }
+            return list;
+        }
+
+        public TranscodingProfile GetAudioTranscodingProfile(string container, string audioCodec)
+        {
+            container = StringHelper.TrimStart(container ?? string.Empty, '.');
+
+            foreach (var i in TranscodingProfiles)
+            {
+                if (i.Type != MediaBrowser.Model.Dlna.DlnaProfileType.Audio)
+                {
+                    continue;
+                }
+
+                if (!StringHelper.EqualsIgnoreCase(container, i.Container))
+                {
+                    continue;
+                }
+
+                if (!ListHelper.ContainsIgnoreCase(i.GetAudioCodecs(), audioCodec ?? string.Empty))
+                {
+                    continue;
+                }
+
+                return i;
+            }
+            return null;
+        }
+
+        public TranscodingProfile GetVideoTranscodingProfile(string container, string audioCodec, string videoCodec)
+        {
+            container = StringHelper.TrimStart(container ?? string.Empty, '.');
+
+            foreach (var i in TranscodingProfiles)
+            {
+                if (i.Type != MediaBrowser.Model.Dlna.DlnaProfileType.Video)
+                {
+                    continue;
+                }
+
+                if (!StringHelper.EqualsIgnoreCase(container, i.Container))
+                {
+                    continue;
+                }
+
+                if (!ListHelper.ContainsIgnoreCase(i.GetAudioCodecs(), audioCodec ?? string.Empty))
+                {
+                    continue;
+                }
+
+                if (!StringHelper.EqualsIgnoreCase(videoCodec, i.VideoCodec ?? string.Empty))
+                {
+                    continue;
+                }
+
+                return i;
+            }
+            return null;
+        }
+
+        public ResponseProfile GetAudioMediaProfile(string container, string audioCodec, int? audioChannels, int? audioBitrate)
+        {
+            container = StringHelper.TrimStart(container ?? string.Empty, '.');
+
+            foreach (var i in ResponseProfiles)
+            {
+                if (i.Type != MediaBrowser.Model.Dlna.DlnaProfileType.Audio)
+                {
+                    continue;
+                }
+
+                List<string> containers = i.GetContainers();
+                if (containers.Count > 0 && !ListHelper.ContainsIgnoreCase(containers, container))
+                {
+                    continue;
+                }
+
+                List<string> audioCodecs = i.GetAudioCodecs();
+                if (audioCodecs.Count > 0 && !ListHelper.ContainsIgnoreCase(audioCodecs, audioCodec ?? string.Empty))
+                {
+                    continue;
+                }
+
+                var conditionProcessor = new MediaBrowser.Model.Dlna.ConditionProcessor();
+
+                var anyOff = false;
+                foreach (ProfileCondition c in i.Conditions)
+                {
+                    if (!conditionProcessor.IsAudioConditionSatisfied(GetModelProfileCondition(c), audioChannels, audioBitrate))
+                    {
+                        anyOff = true;
+                        break;
+                    }
+                }
+
+                if (anyOff)
+                {
+                    continue;
+                }
+
+                return i;
+            }
+            return null;
+        }
+
+        private MediaBrowser.Model.Dlna.ProfileCondition GetModelProfileCondition(ProfileCondition c)
+        {
+            return new Model.Dlna.ProfileCondition
+            {
+                Condition = c.Condition,
+                IsRequired = c.IsRequired,
+                Property = c.Property,
+                Value = c.Value
+            };
+        }
+
+        public ResponseProfile GetImageMediaProfile(string container, int? width, int? height)
+        {
+            container = StringHelper.TrimStart(container ?? string.Empty, '.');
+
+            foreach (var i in ResponseProfiles)
+            {
+                if (i.Type != MediaBrowser.Model.Dlna.DlnaProfileType.Photo)
+                {
+                    continue;
+                }
+
+                List<string> containers = i.GetContainers();
+                if (containers.Count > 0 && !ListHelper.ContainsIgnoreCase(containers, container))
+                {
+                    continue;
+                }
+
+                var conditionProcessor = new MediaBrowser.Model.Dlna.ConditionProcessor();
+
+                var anyOff = false;
+                foreach (ProfileCondition c in i.Conditions)
+                {
+                    if (!conditionProcessor.IsImageConditionSatisfied(GetModelProfileCondition(c), width, height))
+                    {
+                        anyOff = true;
+                        break;
+                    }
+                }
+
+                if (anyOff)
+                {
+                    continue;
+                }
+
+                return i;
+            }
+            return null;
+        }
+
+        public ResponseProfile GetVideoMediaProfile(string container,
+            string audioCodec,
+            string videoCodec,
+            int? width,
+            int? height,
+            int? bitDepth,
+            int? videoBitrate,
+            string videoProfile,
+            double? videoLevel,
+            float? videoFramerate,
+            int? packetLength,
+            TransportStreamTimestamp timestamp,
+            bool? isAnamorphic,
+            int? refFrames,
+            int? numVideoStreams,
+            int? numAudioStreams,
+            string videoCodecTag,
+            bool? isAvc)
+        {
+            container = StringHelper.TrimStart(container ?? string.Empty, '.');
+
+            foreach (var i in ResponseProfiles)
+            {
+                if (i.Type != MediaBrowser.Model.Dlna.DlnaProfileType.Video)
+                {
+                    continue;
+                }
+
+                List<string> containers = i.GetContainers();
+                if (containers.Count > 0 && !ListHelper.ContainsIgnoreCase(containers, container ?? string.Empty))
+                {
+                    continue;
+                }
+
+                List<string> audioCodecs = i.GetAudioCodecs();
+                if (audioCodecs.Count > 0 && !ListHelper.ContainsIgnoreCase(audioCodecs, audioCodec ?? string.Empty))
+                {
+                    continue;
+                }
+
+                List<string> videoCodecs = i.GetVideoCodecs();
+                if (videoCodecs.Count > 0 && !ListHelper.ContainsIgnoreCase(videoCodecs, videoCodec ?? string.Empty))
+                {
+                    continue;
+                }
+
+                var conditionProcessor = new MediaBrowser.Model.Dlna.ConditionProcessor();
+
+                var anyOff = false;
+                foreach (ProfileCondition c in i.Conditions)
+                {
+                    if (!conditionProcessor.IsVideoConditionSatisfied(GetModelProfileCondition(c), width, height, bitDepth, videoBitrate, videoProfile, videoLevel, videoFramerate, packetLength, timestamp, isAnamorphic, refFrames, numVideoStreams, numAudioStreams, videoCodecTag, isAvc))
+                    {
+                        anyOff = true;
+                        break;
+                    }
+                }
+
+                if (anyOff)
+                {
+                    continue;
+                }
+
+                return i;
+            }
+            return null;
+        }
+    }
+}

+ 51 - 0
MediaBrowser.Dlna/ProfileSerialization/DirectPlayProfile.cs

@@ -0,0 +1,51 @@
+using System.Collections.Generic;
+using System.Xml.Serialization;
+using MediaBrowser.Model.Dlna;
+
+namespace MediaBrowser.Dlna.ProfileSerialization
+{
+    public class DirectPlayProfile
+    {
+        [XmlAttribute("container")]
+        public string Container { get; set; }
+
+        [XmlAttribute("audioCodec")]
+        public string AudioCodec { get; set; }
+
+        [XmlAttribute("videoCodec")]
+        public string VideoCodec { get; set; }
+
+        [XmlAttribute("type")]
+        public DlnaProfileType Type { get; set; }
+
+        public List<string> GetContainers()
+        {
+            List<string> list = new List<string>();
+            foreach (string i in (Container ?? string.Empty).Split(','))
+            {
+                if (!string.IsNullOrEmpty(i)) list.Add(i);
+            }
+            return list;
+        }
+
+        public List<string> GetAudioCodecs()
+        {
+            List<string> list = new List<string>();
+            foreach (string i in (AudioCodec ?? string.Empty).Split(','))
+            {
+                if (!string.IsNullOrEmpty(i)) list.Add(i);
+            }
+            return list;
+        }
+
+        public List<string> GetVideoCodecs()
+        {
+            List<string> list = new List<string>();
+            foreach (string i in (VideoCodec ?? string.Empty).Split(','))
+            {
+                if (!string.IsNullOrEmpty(i)) list.Add(i);
+            }
+            return list;
+        }
+    }
+}

+ 17 - 0
MediaBrowser.Dlna/ProfileSerialization/HttpHeaderInfo.cs

@@ -0,0 +1,17 @@
+using System.Xml.Serialization;
+using MediaBrowser.Model.Dlna;
+
+namespace MediaBrowser.Dlna.ProfileSerialization
+{
+    public class HttpHeaderInfo
+    {
+        [XmlAttribute("name")]
+        public string Name { get; set; }
+
+        [XmlAttribute("value")]
+        public string Value { get; set; }
+
+        [XmlAttribute("match")]
+        public HeaderMatchType Match { get; set; }
+    }
+}

+ 39 - 0
MediaBrowser.Dlna/ProfileSerialization/ProfileCondition.cs

@@ -0,0 +1,39 @@
+using System.Xml.Serialization;
+using MediaBrowser.Model.Dlna;
+
+namespace MediaBrowser.Dlna.ProfileSerialization
+{
+    public class ProfileCondition
+    {
+        [XmlAttribute("condition")]
+        public ProfileConditionType Condition { get; set; }
+
+        [XmlAttribute("property")]
+        public ProfileConditionValue Property { get; set; }
+
+        [XmlAttribute("value")]
+        public string Value { get; set; }
+
+        [XmlAttribute("isRequired")]
+        public bool IsRequired { get; set; }
+
+        public ProfileCondition()
+        {
+            IsRequired = true;
+        }
+
+        public ProfileCondition(ProfileConditionType condition, ProfileConditionValue property, string value)
+            : this(condition, property, value, false)
+        {
+            
+        }
+
+        public ProfileCondition(ProfileConditionType condition, ProfileConditionValue property, string value, bool isRequired)
+        {
+            Condition = condition;
+            Property = property;
+            Value = value;
+            IsRequired = isRequired;
+        }
+    }
+}

+ 64 - 0
MediaBrowser.Dlna/ProfileSerialization/ResponseProfile.cs

@@ -0,0 +1,64 @@
+using System.Collections.Generic;
+using System.Xml.Serialization;
+using MediaBrowser.Model.Dlna;
+
+namespace MediaBrowser.Dlna.ProfileSerialization
+{
+    public class ResponseProfile
+    {
+        [XmlAttribute("container")]
+        public string Container { get; set; }
+
+        [XmlAttribute("audioCodec")]
+        public string AudioCodec { get; set; }
+
+        [XmlAttribute("videoCodec")]
+        public string VideoCodec { get; set; }
+
+        [XmlAttribute("type")]
+        public DlnaProfileType Type { get; set; }
+
+        [XmlAttribute("orgPn")]
+        public string OrgPn { get; set; }
+
+        [XmlAttribute("mimeType")]
+        public string MimeType { get; set; }
+
+        public ProfileCondition[] Conditions { get; set; }
+
+        public ResponseProfile()
+        {
+            Conditions = new ProfileCondition[] {};
+        }
+
+        public List<string> GetContainers()
+        {
+            List<string> list = new List<string>();
+            foreach (string i in (Container ?? string.Empty).Split(','))
+            {
+                if (!string.IsNullOrEmpty(i)) list.Add(i);
+            }
+            return list;
+        }
+
+        public List<string> GetAudioCodecs()
+        {
+            List<string> list = new List<string>();
+            foreach (string i in (AudioCodec ?? string.Empty).Split(','))
+            {
+                if (!string.IsNullOrEmpty(i)) list.Add(i);
+            }
+            return list;
+        }
+
+        public List<string> GetVideoCodecs()
+        {
+            List<string> list = new List<string>();
+            foreach (string i in (VideoCodec ?? string.Empty).Split(','))
+            {
+                if (!string.IsNullOrEmpty(i)) list.Add(i);
+            }
+            return list;
+        }
+    }
+}

+ 48 - 0
MediaBrowser.Dlna/ProfileSerialization/SubtitleProfile.cs

@@ -0,0 +1,48 @@
+using MediaBrowser.Model.Extensions;
+using System.Collections.Generic;
+using System.Xml.Serialization;
+using MediaBrowser.Model.Dlna;
+
+namespace MediaBrowser.Dlna.ProfileSerialization
+{
+    public class SubtitleProfile
+    {
+        [XmlAttribute("format")]
+        public string Format { get; set; }
+
+        [XmlAttribute("method")]
+        public SubtitleDeliveryMethod Method { get; set; }
+
+        [XmlAttribute("didlMode")]
+        public string DidlMode { get; set; }
+
+        [XmlAttribute("language")]
+        public string Language { get; set; }
+
+        public List<string> GetLanguages()
+        {
+            List<string> list = new List<string>();
+            foreach (string i in (Language ?? string.Empty).Split(','))
+            {
+                if (!string.IsNullOrEmpty(i)) list.Add(i);
+            }
+            return list;
+        }
+
+        public bool SupportsLanguage(string subLanguage)
+        {
+            if (string.IsNullOrEmpty(Language))
+            {
+                return true;
+            }
+
+            if (string.IsNullOrEmpty(subLanguage))
+            {
+                subLanguage = "und";
+            }
+
+            List<string> languages = GetLanguages();
+            return languages.Count == 0 || ListHelper.ContainsIgnoreCase(languages, subLanguage);
+        }
+    }
+}

+ 58 - 0
MediaBrowser.Dlna/ProfileSerialization/TranscodingProfile.cs

@@ -0,0 +1,58 @@
+using System.Collections.Generic;
+using System.Xml.Serialization;
+using MediaBrowser.Model.Dlna;
+
+namespace MediaBrowser.Dlna.ProfileSerialization
+{
+    public class TranscodingProfile
+    {
+        [XmlAttribute("container")]
+        public string Container { get; set; }
+
+        [XmlAttribute("type")]
+        public DlnaProfileType Type { get; set; }
+
+        [XmlAttribute("videoCodec")]
+        public string VideoCodec { get; set; }
+
+        [XmlAttribute("audioCodec")]
+        public string AudioCodec { get; set; }
+
+        [XmlAttribute("protocol")]
+        public string Protocol { get; set; }
+
+        [XmlAttribute("estimateContentLength")]
+        public bool EstimateContentLength { get; set; }
+
+        [XmlAttribute("enableMpegtsM2TsMode")]
+        public bool EnableMpegtsM2TsMode { get; set; }
+
+        [XmlAttribute("transcodeSeekInfo")]
+        public TranscodeSeekInfo TranscodeSeekInfo { get; set; }
+
+        [XmlAttribute("copyTimestamps")]
+        public bool CopyTimestamps { get; set; }
+
+        [XmlAttribute("context")]
+        public EncodingContext Context { get; set; }
+
+        [XmlAttribute("enableSubtitlesInManifest")]
+        public bool EnableSubtitlesInManifest { get; set; }
+
+        [XmlAttribute("enableSplittingOnNonKeyFrames")]
+        public bool EnableSplittingOnNonKeyFrames { get; set; }
+
+        [XmlAttribute("maxAudioChannels")]
+        public string MaxAudioChannels { get; set; }
+
+        public List<string> GetAudioCodecs()
+        {
+            List<string> list = new List<string>();
+            foreach (string i in (AudioCodec ?? string.Empty).Split(','))
+            {
+                if (!string.IsNullOrEmpty(i)) list.Add(i);
+            }
+            return list;
+        }
+    }
+}

+ 13 - 0
MediaBrowser.Dlna/ProfileSerialization/XmlAttribute.cs

@@ -0,0 +1,13 @@
+using System.Xml.Serialization;
+
+namespace MediaBrowser.Dlna.ProfileSerialization
+{
+    public class XmlAttribute
+    {
+        [XmlAttribute("name")]
+        public string Name { get; set; }
+
+        [XmlAttribute("value")]
+        public string Value { get; set; }
+    }
+}

File diff suppressed because it is too large
+ 0 - 0
MediaBrowser.Dlna/Profiles/Json/BubbleUPnp.json


File diff suppressed because it is too large
+ 0 - 0
MediaBrowser.Dlna/Profiles/Json/Default.json


File diff suppressed because it is too large
+ 0 - 0
MediaBrowser.Dlna/Profiles/Json/Denon AVR.json


File diff suppressed because it is too large
+ 0 - 0
MediaBrowser.Dlna/Profiles/Json/DirecTV HD-DVR.json


File diff suppressed because it is too large
+ 0 - 0
MediaBrowser.Dlna/Profiles/Json/Dish Hopper-Joey.json


File diff suppressed because it is too large
+ 0 - 0
MediaBrowser.Dlna/Profiles/Json/Kodi.json


File diff suppressed because it is too large
+ 0 - 0
MediaBrowser.Dlna/Profiles/Json/LG Smart TV.json


File diff suppressed because it is too large
+ 0 - 0
MediaBrowser.Dlna/Profiles/Json/Linksys DMA2100.json


File diff suppressed because it is too large
+ 0 - 0
MediaBrowser.Dlna/Profiles/Json/MediaMonkey.json


File diff suppressed because it is too large
+ 0 - 0
MediaBrowser.Dlna/Profiles/Json/Panasonic Viera.json


File diff suppressed because it is too large
+ 0 - 0
MediaBrowser.Dlna/Profiles/Json/Popcorn Hour.json


File diff suppressed because it is too large
+ 0 - 0
MediaBrowser.Dlna/Profiles/Json/Samsung Smart TV.json


File diff suppressed because it is too large
+ 0 - 0
MediaBrowser.Dlna/Profiles/Json/Sony Blu-ray Player 2013.json


File diff suppressed because it is too large
+ 0 - 0
MediaBrowser.Dlna/Profiles/Json/Sony Blu-ray Player 2014.json


File diff suppressed because it is too large
+ 0 - 0
MediaBrowser.Dlna/Profiles/Json/Sony Blu-ray Player 2015.json


File diff suppressed because it is too large
+ 0 - 0
MediaBrowser.Dlna/Profiles/Json/Sony Blu-ray Player 2016.json


File diff suppressed because it is too large
+ 0 - 0
MediaBrowser.Dlna/Profiles/Json/Sony Blu-ray Player.json


File diff suppressed because it is too large
+ 0 - 0
MediaBrowser.Dlna/Profiles/Json/Sony Bravia (2010).json


File diff suppressed because it is too large
+ 0 - 0
MediaBrowser.Dlna/Profiles/Json/Sony Bravia (2011).json


File diff suppressed because it is too large
+ 0 - 0
MediaBrowser.Dlna/Profiles/Json/Sony Bravia (2012).json


File diff suppressed because it is too large
+ 0 - 0
MediaBrowser.Dlna/Profiles/Json/Sony Bravia (2013).json


File diff suppressed because it is too large
+ 0 - 0
MediaBrowser.Dlna/Profiles/Json/Sony Bravia (2014).json


File diff suppressed because it is too large
+ 0 - 0
MediaBrowser.Dlna/Profiles/Json/Sony PlayStation 3.json


File diff suppressed because it is too large
+ 0 - 0
MediaBrowser.Dlna/Profiles/Json/Sony PlayStation 4.json


File diff suppressed because it is too large
+ 0 - 0
MediaBrowser.Dlna/Profiles/Json/Vlc.json


File diff suppressed because it is too large
+ 0 - 0
MediaBrowser.Dlna/Profiles/Json/WDTV Live.json


File diff suppressed because it is too large
+ 0 - 0
MediaBrowser.Dlna/Profiles/Json/Xbox 360.json


File diff suppressed because it is too large
+ 0 - 0
MediaBrowser.Dlna/Profiles/Json/Xbox One.json


File diff suppressed because it is too large
+ 0 - 0
MediaBrowser.Dlna/Profiles/Json/foobar2000.json


File diff suppressed because it is too large
+ 0 - 29
MediaBrowser.Dlna/Profiles/Xml/BubbleUPnp.xml


File diff suppressed because it is too large
+ 0 - 23
MediaBrowser.Dlna/Profiles/Xml/Default.xml


File diff suppressed because it is too large
+ 0 - 28
MediaBrowser.Dlna/Profiles/Xml/Denon AVR.xml


File diff suppressed because it is too large
+ 0 - 29
MediaBrowser.Dlna/Profiles/Xml/DirecTV HD-DVR.xml


+ 0 - 92
MediaBrowser.Dlna/Profiles/Xml/Dish Hopper-Joey.xml

@@ -1,92 +0,0 @@
-<?xml version="1.0"?>
-<Profile xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <Name>Dish Hopper-Joey</Name>
-  <Identification>
-    <Manufacturer>Echostar Technologies LLC</Manufacturer>
-    <ManufacturerUrl>http://www.echostar.com</ManufacturerUrl>
-    <Headers>
-      <HttpHeaderInfo name="User-Agent" value="XiP" match="Substring" />
-    </Headers>
-  </Identification>
-  <Manufacturer>Emby</Manufacturer>
-  <ManufacturerUrl>http://emby.media/</ManufacturerUrl>
-  <ModelName>Emby Server</ModelName>
-  <ModelDescription>Emby</ModelDescription>
-  <ModelNumber>Emby</ModelNumber>
-  <ModelUrl>http://emby.media/</ModelUrl>
-  <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl>
-  <EnableSingleAlbumArtLimit>false</EnableSingleAlbumArtLimit>
-  <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit>
-  <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes>
-  <AlbumArtPn>JPEG_SM</AlbumArtPn>
-  <MaxAlbumArtWidth>480</MaxAlbumArtWidth>
-  <MaxAlbumArtHeight>480</MaxAlbumArtHeight>
-  <MaxIconWidth>48</MaxIconWidth>
-  <MaxIconHeight>48</MaxIconHeight>
-  <MaxStreamingBitrate>20000000</MaxStreamingBitrate>
-  <MaxStaticBitrate>20000000</MaxStaticBitrate>
-  <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate>
-  <MaxStaticMusicBitrate xsi:nil="true" />
-  <XDlnaDoc>DMS-1.50</XDlnaDoc>
-  <ProtocolInfo>http-get:*:video/mp2t:*,http-get:*:video/MP1S:*,http-get:*:video/mpeg2:*,http-get:*:video/mp4:*,http-get:*:video/x-matroska:*,http-get:*:audio/mpeg:*,http-get:*:audio/mpeg3:*,http-get:*:audio/mp3:*,http-get:*:audio/mp4:*,http-get:*:audio/mp4a-latm:*,http-get:*:image/jpeg:*</ProtocolInfo>
-  <TimelineOffsetSeconds>0</TimelineOffsetSeconds>
-  <RequiresPlainVideoItems>false</RequiresPlainVideoItems>
-  <RequiresPlainFolders>false</RequiresPlainFolders>
-  <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar>
-  <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests>
-  <XmlRootAttributes />
-  <DirectPlayProfiles>
-    <DirectPlayProfile container="mp4,mkv,mpeg,ts" audioCodec="mp3,ac3,aac,he-aac,pcm" videoCodec="h264,mpeg2video" type="Video" />
-    <DirectPlayProfile container="mp3" audioCodec="mp3" type="Audio" />
-    <DirectPlayProfile container="alac" audioCodec="alac" type="Audio" />
-    <DirectPlayProfile container="flac" audioCodec="flac" type="Audio" />
-    <DirectPlayProfile container="jpeg" type="Photo" />
-  </DirectPlayProfiles>
-  <TranscodingProfiles>
-    <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" />
-    <TranscodingProfile container="mp4" type="Video" videoCodec="h264" audioCodec="aac" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" />
-    <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" />
-  </TranscodingProfiles>
-  <ContainerProfiles />
-  <CodecProfiles>
-    <CodecProfile type="Video" codec="h264">
-      <Conditions>
-        <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" />
-        <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" />
-        <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="true" />
-        <ProfileCondition condition="LessThanEqual" property="VideoBitrate" value="20000000" isRequired="true" />
-        <ProfileCondition condition="LessThanEqual" property="VideoLevel" value="41" isRequired="true" />
-      </Conditions>
-      <ApplyConditions />
-    </CodecProfile>
-    <CodecProfile type="Video">
-      <Conditions>
-        <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" />
-        <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" />
-        <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="true" />
-        <ProfileCondition condition="LessThanEqual" property="VideoBitrate" value="20000000" isRequired="true" />
-      </Conditions>
-      <ApplyConditions />
-    </CodecProfile>
-    <CodecProfile type="VideoAudio" codec="ac3,he-aac">
-      <Conditions>
-        <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="6" isRequired="true" />
-      </Conditions>
-      <ApplyConditions />
-    </CodecProfile>
-    <CodecProfile type="VideoAudio" codec="aac">
-      <Conditions>
-        <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="2" isRequired="true" />
-      </Conditions>
-      <ApplyConditions />
-    </CodecProfile>
-  </CodecProfiles>
-  <ResponseProfiles>
-    <ResponseProfile container="mkv,ts" type="Video" mimeType="video/mp4">
-      <Conditions />
-    </ResponseProfile>
-  </ResponseProfiles>
-  <SubtitleProfiles>
-    <SubtitleProfile format="srt" method="Embed" />
-  </SubtitleProfiles>
-</Profile>

File diff suppressed because it is too large
+ 0 - 29
MediaBrowser.Dlna/Profiles/Xml/Kodi.xml


File diff suppressed because it is too large
+ 0 - 29
MediaBrowser.Dlna/Profiles/Xml/LG Smart TV.xml


File diff suppressed because it is too large
+ 0 - 27
MediaBrowser.Dlna/Profiles/Xml/Linksys DMA2100.xml


File diff suppressed because it is too large
+ 0 - 29
MediaBrowser.Dlna/Profiles/Xml/MediaMonkey.xml


File diff suppressed because it is too large
+ 0 - 30
MediaBrowser.Dlna/Profiles/Xml/Panasonic Viera.xml


File diff suppressed because it is too large
+ 0 - 23
MediaBrowser.Dlna/Profiles/Xml/Popcorn Hour.xml


File diff suppressed because it is too large
+ 0 - 29
MediaBrowser.Dlna/Profiles/Xml/Samsung Smart TV.xml


File diff suppressed because it is too large
+ 0 - 33
MediaBrowser.Dlna/Profiles/Xml/Sony Blu-ray Player 2013.xml


File diff suppressed because it is too large
+ 0 - 33
MediaBrowser.Dlna/Profiles/Xml/Sony Blu-ray Player 2014.xml


File diff suppressed because it is too large
+ 0 - 31
MediaBrowser.Dlna/Profiles/Xml/Sony Blu-ray Player 2015.xml


File diff suppressed because it is too large
+ 0 - 31
MediaBrowser.Dlna/Profiles/Xml/Sony Blu-ray Player 2016.xml


File diff suppressed because it is too large
+ 0 - 31
MediaBrowser.Dlna/Profiles/Xml/Sony Blu-ray Player.xml


+ 0 - 133
MediaBrowser.Dlna/Profiles/Xml/Sony Bravia (2010).xml

@@ -1,133 +0,0 @@
-<?xml version="1.0"?>
-<Profile xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <Name>Sony Bravia (2010)</Name>
-  <Identification>
-    <FriendlyName>KDL-\d{2}[EHLNPB]X\d[01]\d.*</FriendlyName>
-    <Manufacturer>Sony</Manufacturer>
-    <Headers>
-      <HttpHeaderInfo name="X-AV-Client-Info" value=".*KDL-\d{2}[EHLNPB]X\d[01]\d.*" match="Regex" />
-    </Headers>
-  </Identification>
-  <Manufacturer>Microsoft Corporation</Manufacturer>
-  <ManufacturerUrl>http://www.microsoft.com/</ManufacturerUrl>
-  <ModelName>Windows Media Player Sharing</ModelName>
-  <ModelDescription>Emby</ModelDescription>
-  <ModelNumber>3.0</ModelNumber>
-  <ModelUrl>http://www.microsoft.com/</ModelUrl>
-  <EnableAlbumArtInDidl>true</EnableAlbumArtInDidl>
-  <EnableSingleAlbumArtLimit>true</EnableSingleAlbumArtLimit>
-  <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit>
-  <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes>
-  <AlbumArtPn>JPEG_TN</AlbumArtPn>
-  <MaxAlbumArtWidth>480</MaxAlbumArtWidth>
-  <MaxAlbumArtHeight>480</MaxAlbumArtHeight>
-  <MaxIconWidth>48</MaxIconWidth>
-  <MaxIconHeight>48</MaxIconHeight>
-  <MaxStreamingBitrate>20000000</MaxStreamingBitrate>
-  <MaxStaticBitrate>20000000</MaxStaticBitrate>
-  <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate>
-  <MaxStaticMusicBitrate xsi:nil="true" />
-  <XDlnaDoc>DMS-1.50</XDlnaDoc>
-  <SonyAggregationFlags>10</SonyAggregationFlags>
-  <ProtocolInfo>http-get:*:audio/mpeg:DLNA.ORG_PN=MP3;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000,http-get:*:image/jpeg:DLNA.ORG_PN=JPEG_SM;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00D00000000000000000000000000000,http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_PS_PAL;DLNA.ORG_OP=11;DLNA.ORG_FLAGS=81500000000000000000000000000000</ProtocolInfo>
-  <TimelineOffsetSeconds>0</TimelineOffsetSeconds>
-  <RequiresPlainVideoItems>false</RequiresPlainVideoItems>
-  <RequiresPlainFolders>false</RequiresPlainFolders>
-  <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar>
-  <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests>
-  <XmlRootAttributes>
-    <XmlAttribute name="xmlns:av" value="urn:schemas-sony-com:av" />
-  </XmlRootAttributes>
-  <DirectPlayProfiles>
-    <DirectPlayProfile container="ts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" />
-    <DirectPlayProfile container="ts" audioCodec="mp3,mp2" videoCodec="mpeg1video,mpeg2video" type="Video" />
-    <DirectPlayProfile container="mpeg" audioCodec="mp3,mp2" videoCodec="mpeg2video,mpeg1video" type="Video" />
-    <DirectPlayProfile container="mp3" audioCodec="mp3" type="Audio" />
-  </DirectPlayProfiles>
-  <TranscodingProfiles>
-    <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" />
-    <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="ac3" estimateContentLength="false" enableMpegtsM2TsMode="true" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" />
-    <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" />
-  </TranscodingProfiles>
-  <ContainerProfiles>
-    <ContainerProfile type="Photo">
-      <Conditions>
-        <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" />
-        <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" />
-      </Conditions>
-    </ContainerProfile>
-  </ContainerProfiles>
-  <CodecProfiles>
-    <CodecProfile type="Video" codec="h264">
-      <Conditions>
-        <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" />
-        <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" />
-        <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="true" />
-        <ProfileCondition condition="LessThanEqual" property="VideoBitrate" value="20000000" isRequired="true" />
-        <ProfileCondition condition="LessThanEqual" property="VideoLevel" value="41" isRequired="true" />
-      </Conditions>
-      <ApplyConditions />
-    </CodecProfile>
-    <CodecProfile type="Video" codec="mpeg2video">
-      <Conditions>
-        <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" />
-        <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" />
-        <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="true" />
-        <ProfileCondition condition="LessThanEqual" property="VideoBitrate" value="20000000" isRequired="true" />
-      </Conditions>
-      <ApplyConditions />
-    </CodecProfile>
-    <CodecProfile type="Video">
-      <Conditions>
-        <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" />
-        <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" />
-        <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="true" />
-      </Conditions>
-      <ApplyConditions />
-    </CodecProfile>
-    <CodecProfile type="VideoAudio" codec="ac3">
-      <Conditions>
-        <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="6" isRequired="true" />
-      </Conditions>
-      <ApplyConditions />
-    </CodecProfile>
-    <CodecProfile type="VideoAudio" codec="aac">
-      <Conditions>
-        <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="2" isRequired="true" />
-        <ProfileCondition condition="NotEquals" property="AudioProfile" value="he-aac" isRequired="true" />
-      </Conditions>
-      <ApplyConditions />
-    </CodecProfile>
-    <CodecProfile type="VideoAudio" codec="mp3,mp2">
-      <Conditions>
-        <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="2" isRequired="true" />
-      </Conditions>
-      <ApplyConditions />
-    </CodecProfile>
-  </CodecProfiles>
-  <ResponseProfiles>
-    <ResponseProfile container="ts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3_T,AVC_TS_HD_50_AC3_T,AVC_TS_HD_60_AC3_T,AVC_TS_HD_EU_T" mimeType="video/vnd.dlna.mpeg-tts">
-      <Conditions>
-        <ProfileCondition condition="Equals" property="PacketLength" value="192" isRequired="true" />
-        <ProfileCondition condition="Equals" property="VideoTimestamp" value="Valid" isRequired="true" />
-      </Conditions>
-    </ResponseProfile>
-    <ResponseProfile container="ts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3_ISO,AVC_TS_HD_50_AC3_ISO,AVC_TS_HD_60_AC3_ISO,AVC_TS_HD_EU_ISO" mimeType="video/mpeg">
-      <Conditions>
-        <ProfileCondition condition="Equals" property="PacketLength" value="188" isRequired="true" />
-      </Conditions>
-    </ResponseProfile>
-    <ResponseProfile container="ts" audioCodec="ac3,aac,mp3" videoCodec="h264" type="Video" orgPn="AVC_TS_HD_24_AC3,AVC_TS_HD_50_AC3,AVC_TS_HD_60_AC3,AVC_TS_HD_EU" mimeType="video/vnd.dlna.mpeg-tts">
-      <Conditions />
-    </ResponseProfile>
-    <ResponseProfile container="ts" videoCodec="mpeg2video" type="Video" orgPn="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO" mimeType="video/vnd.dlna.mpeg-tts">
-      <Conditions />
-    </ResponseProfile>
-    <ResponseProfile container="mpeg" videoCodec="mpeg1video,mpeg2video" type="Video" orgPn="MPEG_PS_NTSC,MPEG_PS_PAL" mimeType="video/mpeg">
-      <Conditions />
-    </ResponseProfile>
-  </ResponseProfiles>
-  <SubtitleProfiles>
-    <SubtitleProfile format="srt" method="Embed" />
-  </SubtitleProfiles>
-</Profile>

File diff suppressed because it is too large
+ 0 - 31
MediaBrowser.Dlna/Profiles/Xml/Sony Bravia (2011).xml


File diff suppressed because it is too large
+ 0 - 31
MediaBrowser.Dlna/Profiles/Xml/Sony Bravia (2012).xml


File diff suppressed because it is too large
+ 0 - 31
MediaBrowser.Dlna/Profiles/Xml/Sony Bravia (2013).xml


File diff suppressed because it is too large
+ 0 - 31
MediaBrowser.Dlna/Profiles/Xml/Sony Bravia (2014).xml


File diff suppressed because it is too large
+ 0 - 31
MediaBrowser.Dlna/Profiles/Xml/Sony PlayStation 3.xml


File diff suppressed because it is too large
+ 0 - 31
MediaBrowser.Dlna/Profiles/Xml/Sony PlayStation 4.xml


File diff suppressed because it is too large
+ 0 - 29
MediaBrowser.Dlna/Profiles/Xml/Vlc.xml


File diff suppressed because it is too large
+ 0 - 30
MediaBrowser.Dlna/Profiles/Xml/WDTV Live.xml


File diff suppressed because it is too large
+ 0 - 31
MediaBrowser.Dlna/Profiles/Xml/Xbox 360.xml


File diff suppressed because it is too large
+ 0 - 30
MediaBrowser.Dlna/Profiles/Xml/Xbox One.xml


File diff suppressed because it is too large
+ 0 - 29
MediaBrowser.Dlna/Profiles/Xml/foobar2000.xml


+ 0 - 1
MediaBrowser.Dlna/packages.config

@@ -1,6 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <packages>
   <package id="CommonIO" version="1.0.0.9" targetFramework="net45" />
-  <package id="morelinq" version="1.4.0" targetFramework="net45" />
   <package id="Patterns.Logging" version="1.0.0.2" targetFramework="net45" />
 </packages>

+ 3 - 2
MediaBrowser.LocalMetadata/MediaBrowser.LocalMetadata.csproj

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
   <PropertyGroup>
     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@@ -9,9 +9,10 @@
     <AppDesignerFolder>Properties</AppDesignerFolder>
     <RootNamespace>MediaBrowser.LocalMetadata</RootNamespace>
     <AssemblyName>MediaBrowser.LocalMetadata</AssemblyName>
-    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+    <TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
     <FileAlignment>512</FileAlignment>
     <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
+    <TargetFrameworkProfile />
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
     <DebugSymbols>true</DebugSymbols>

+ 3 - 2
MediaBrowser.MediaEncoding/MediaBrowser.MediaEncoding.csproj

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
   <PropertyGroup>
     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@@ -9,9 +9,10 @@
     <AppDesignerFolder>Properties</AppDesignerFolder>
     <RootNamespace>MediaBrowser.MediaEncoding</RootNamespace>
     <AssemblyName>MediaBrowser.MediaEncoding</AssemblyName>
-    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+    <TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
     <FileAlignment>512</FileAlignment>
     <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
+    <TargetFrameworkProfile />
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
     <DebugSymbols>true</DebugSymbols>

+ 0 - 1224
MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj

@@ -1,1224 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
-  <PropertyGroup>
-    <MinimumVisualStudioVersion>10.0</MinimumVisualStudioVersion>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProjectGuid>{D729ADB1-1C01-428D-B680-8EFACD687B2A}</ProjectGuid>
-    <OutputType>Library</OutputType>
-    <AppDesignerFolder>Properties</AppDesignerFolder>
-    <RootNamespace>MediaBrowser.Model</RootNamespace>
-    <AssemblyName>MediaBrowser.Model</AssemblyName>
-    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
-    <TargetFrameworkProfile>Profile259</TargetFrameworkProfile>
-    <FileAlignment>512</FileAlignment>
-    <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
-    <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
-    <FileUpgradeFlags>
-    </FileUpgradeFlags>
-    <UpgradeBackupLocation>
-    </UpgradeBackupLocation>
-    <OldToolsVersion>4.0</OldToolsVersion>
-    <PublishUrl>publish\</PublishUrl>
-    <Install>true</Install>
-    <InstallFrom>Disk</InstallFrom>
-    <UpdateEnabled>false</UpdateEnabled>
-    <UpdateMode>Foreground</UpdateMode>
-    <UpdateInterval>7</UpdateInterval>
-    <UpdateIntervalUnits>Days</UpdateIntervalUnits>
-    <UpdatePeriodically>false</UpdatePeriodically>
-    <UpdateRequired>false</UpdateRequired>
-    <MapFileExtensions>true</MapFileExtensions>
-    <ApplicationRevision>0</ApplicationRevision>
-    <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
-    <IsWebBootstrapper>false</IsWebBootstrapper>
-    <UseApplicationTrust>false</UseApplicationTrust>
-    <BootstrapperEnabled>true</BootstrapperEnabled>
-    <RestorePackages>true</RestorePackages>
-    <NuGetPackageImportStamp>
-    </NuGetPackageImportStamp>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\Debug\</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <DebugType>none</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>bin\Release\</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <ItemGroup>
-    <!-- A reference to the entire .NET Framework is automatically included -->
-    <None Include="app.config" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="..\MediaBrowser.Model\Activity\ActivityLogEntry.cs">
-      <Link>Activity\ActivityLogEntry.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\ApiClient\ApiClientExtensions.cs">
-      <Link>ApiClient\ApiClientExtensions.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\ApiClient\ApiHelpers.cs">
-      <Link>ApiClient\ApiHelpers.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\ApiClient\ConnectionMode.cs">
-      <Link>ApiClient\ConnectionMode.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\ApiClient\ConnectionOptions.cs">
-      <Link>ApiClient\ConnectionOptions.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\ApiClient\ConnectionResult.cs">
-      <Link>ApiClient\ConnectionResult.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\ApiClient\ConnectionState.cs">
-      <Link>ApiClient\ConnectionState.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\ApiClient\ConnectSignupResponse.cs">
-      <Link>ApiClient\ConnectSignupResponse.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\ApiClient\GeneralCommandEventArgs.cs">
-      <Link>ApiClient\GeneralCommandEventArgs.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\ApiClient\HttpResponseEventArgs.cs">
-      <Link>ApiClient\HttpResponseEventArgs.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\ApiClient\IApiClient.cs">
-      <Link>ApiClient\IApiClient.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\ApiClient\IClientWebSocket.cs">
-      <Link>ApiClient\IClientWebSocket.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\ApiClient\IConnectionManager.cs">
-      <Link>ApiClient\IConnectionManager.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\ApiClient\IDevice.cs">
-      <Link>ApiClient\IDevice.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\ApiClient\IServerEvents.cs">
-      <Link>ApiClient\IServerEvents.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\ApiClient\NetworkStatus.cs">
-      <Link>ApiClient\NetworkStatus.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\ApiClient\RemoteLogoutReason.cs">
-      <Link>ApiClient\RemoteLogoutReason.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\ApiClient\ServerCredentials.cs">
-      <Link>ApiClient\ServerCredentials.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\ApiClient\ServerDiscoveryInfo.cs">
-      <Link>ApiClient\ServerDiscoveryInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\ApiClient\ServerInfo.cs">
-      <Link>ApiClient\ServerInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\ApiClient\ServerUserInfo.cs">
-      <Link>ApiClient\ServerUserInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\ApiClient\SessionUpdatesEventArgs.cs">
-      <Link>ApiClient\SessionUpdatesEventArgs.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\ApiClient\WakeOnLanInfo.cs">
-      <Link>ApiClient\WakeOnLanInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Branding\BrandingOptions.cs">
-      <Link>Branding\BrandingOptions.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Channels\AllChannelMediaQuery.cs">
-      <Link>Channels\AllChannelMediaQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Channels\ChannelFeatures.cs">
-      <Link>Channels\ChannelFeatures.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Channels\ChannelFolderType.cs">
-      <Link>Channels\ChannelFolderType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Channels\ChannelInfo.cs">
-      <Link>Channels\ChannelInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Channels\ChannelItemQuery.cs">
-      <Link>Channels\ChannelItemQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Channels\ChannelItemSortField.cs">
-      <Link>Channels\ChannelItemSortField.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Channels\ChannelMediaContentType.cs">
-      <Link>Channels\ChannelMediaContentType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Channels\ChannelMediaType.cs">
-      <Link>Channels\ChannelMediaType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Channels\ChannelQuery.cs">
-      <Link>Channels\ChannelQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Collections\CollectionCreationResult.cs">
-      <Link>Collections\CollectionCreationResult.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Configuration\AccessSchedule.cs">
-      <Link>Configuration\AccessSchedule.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Configuration\BaseApplicationConfiguration.cs">
-      <Link>Configuration\BaseApplicationConfiguration.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Configuration\ChannelOptions.cs">
-      <Link>Configuration\ChannelOptions.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Configuration\ChapterOptions.cs">
-      <Link>Configuration\ChapterOptions.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Configuration\DlnaOptions.cs">
-      <Link>Configuration\DlnaOptions.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Configuration\DynamicDayOfWeek.cs">
-      <Link>Configuration\DynamicDayOfWeek.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Configuration\EncodingOptions.cs">
-      <Link>Configuration\EncodingOptions.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Configuration\FanartOptions.cs">
-      <Link>Configuration\FanartOptions.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Configuration\ImageOption.cs">
-      <Link>Configuration\ImageOption.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Configuration\ImageSavingConvention.cs">
-      <Link>Configuration\ImageSavingConvention.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Configuration\LibraryOptions.cs">
-      <Link>Configuration\LibraryOptions.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Configuration\MetadataConfiguration.cs">
-      <Link>Configuration\MetadataConfiguration.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Configuration\MetadataOptions.cs">
-      <Link>Configuration\MetadataOptions.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Configuration\MetadataPlugin.cs">
-      <Link>Configuration\MetadataPlugin.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Configuration\MetadataPluginSummary.cs">
-      <Link>Configuration\MetadataPluginSummary.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Configuration\MetadataPluginType.cs">
-      <Link>Configuration\MetadataPluginType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Configuration\PathSubstitution.cs">
-      <Link>Configuration\PathSubstitution.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Configuration\PeopleMetadataOptions.cs">
-      <Link>Configuration\PeopleMetadataOptions.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Configuration\ServerConfiguration.cs">
-      <Link>Configuration\ServerConfiguration.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Configuration\SubtitlePlaybackMode.cs">
-      <Link>Configuration\SubtitlePlaybackMode.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Configuration\UnratedItem.cs">
-      <Link>Configuration\UnratedItem.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Configuration\UserConfiguration.cs">
-      <Link>Configuration\UserConfiguration.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Configuration\XbmcMetadataOptions.cs">
-      <Link>Configuration\XbmcMetadataOptions.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Connect\ConnectAuthenticationExchangeResult.cs">
-      <Link>ApiClient\ConnectAuthenticationExchangeResult.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Connect\ConnectAuthenticationResult.cs">
-      <Link>Connect\ConnectAuthenticationResult.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Connect\ConnectAuthorization.cs">
-      <Link>Connect\ConnectAuthorization.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Connect\ConnectAuthorizationRequest.cs">
-      <Link>Connect\ConnectAuthorizationRequest.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Connect\ConnectPassword.cs">
-      <Link>Connect\ConnectPassword.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Connect\ConnectUser.cs">
-      <Link>Connect\ConnectUser.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Connect\ConnectUserQuery.cs">
-      <Link>Connect\ConnectUserQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Connect\ConnectUserServer.cs">
-      <Link>Connect\ConnectUserServer.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Connect\PinCreationResult.cs">
-      <Link>Connect\PinCreationResult.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Connect\PinExchangeResult.cs">
-      <Link>Connect\PinExchangeResult.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Connect\PinStatusResult.cs">
-      <Link>Connect\PinStatusResult.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Connect\UserLinkType.cs">
-      <Link>Connect\UserLinkType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Devices\ContentUploadHistory.cs">
-      <Link>Devices\ContentUploadHistory.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Devices\DeviceInfo.cs">
-      <Link>Devices\DeviceInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Devices\DeviceOptions.cs">
-      <Link>Devices\DeviceOptions.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Devices\DeviceQuery.cs">
-      <Link>Devices\DeviceQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Devices\DevicesOptions.cs">
-      <Link>Devices\DevicesOptions.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Devices\LocalFileInfo.cs">
-      <Link>Devices\LocalFileInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\AudioOptions.cs">
-      <Link>Dlna\AudioOptions.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\CodecProfile.cs">
-      <Link>Dlna\CodecProfile.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\CodecType.cs">
-      <Link>Dlna\CodecType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\ConditionProcessor.cs">
-      <Link>Dlna\ConditionProcessor.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\ContainerProfile.cs">
-      <Link>Dlna\ContainerProfile.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\ContentFeatureBuilder.cs">
-      <Link>Dlna\ContentFeatureBuilder.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\DeviceIdentification.cs">
-      <Link>Dlna\DeviceIdentification.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\DeviceProfile.cs">
-      <Link>Dlna\DeviceProfile.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\DeviceProfileInfo.cs">
-      <Link>Dlna\DeviceProfileInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\DeviceProfileType.cs">
-      <Link>Dlna\DeviceProfileType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\DirectPlayProfile.cs">
-      <Link>Dlna\DirectPlayProfile.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\DlnaFlags.cs">
-      <Link>Dlna\DlnaFlags.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\DlnaMaps.cs">
-      <Link>Dlna\DlnaMaps.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\DlnaProfileType.cs">
-      <Link>Dlna\DlnaProfileType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\EncodingContext.cs">
-      <Link>Dlna\EncodingContext.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\HeaderMatchType.cs">
-      <Link>Dlna\HeaderMatchType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\HttpHeaderInfo.cs">
-      <Link>Dlna\HttpHeaderInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\ITranscoderSupport.cs">
-      <Link>Dlna\ITranscoderSupport.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\MediaFormatProfile.cs">
-      <Link>Dlna\MediaFormatProfile.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\MediaFormatProfileResolver.cs">
-      <Link>Dlna\MediaFormatProfileResolver.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\PlaybackErrorCode.cs">
-      <Link>Dlna\PlaybackErrorCode.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\PlaybackException.cs">
-      <Link>Dlna\PlaybackException.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\ProfileCondition.cs">
-      <Link>Dlna\ProfileCondition.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\ProfileConditionType.cs">
-      <Link>Dlna\ProfileConditionType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\ProfileConditionValue.cs">
-      <Link>Dlna\ProfileConditionValue.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\ResolutionConfiguration.cs">
-      <Link>Dlna\ResolutionConfiguration.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\ResolutionNormalizer.cs">
-      <Link>Dlna\ResolutionNormalizer.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\ResolutionOptions.cs">
-      <Link>Dlna\ResolutionOptions.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\ResponseProfile.cs">
-      <Link>Dlna\ResponseProfile.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\SearchCriteria.cs">
-      <Link>Dlna\SearchCriteria.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\SearchType.cs">
-      <Link>Dlna\SearchType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\SortCriteria.cs">
-      <Link>Dlna\SortCriteria.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\StreamBuilder.cs">
-      <Link>Dlna\StreamBuilder.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\StreamInfo.cs">
-      <Link>Dlna\StreamInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\StreamInfoSorter.cs">
-      <Link>Dlna\StreamInfoSorter.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\SubtitleDeliveryMethod.cs">
-      <Link>Dlna\SubtitleDeliveryMethod.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\SubtitleProfile.cs">
-      <Link>Dlna\SubtitleProfile.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\SubtitleStreamInfo.cs">
-      <Link>Dlna\SubtitleStreamInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\TranscodeSeekInfo.cs">
-      <Link>Dlna\TranscodeSeekInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\TranscodingProfile.cs">
-      <Link>Dlna\TranscodingProfile.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\VideoOptions.cs">
-      <Link>Dlna\VideoOptions.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\XmlAttribute.cs">
-      <Link>Dlna\XmlAttribute.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Drawing\DrawingUtils.cs">
-      <Link>Drawing\DrawingUtils.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Drawing\ImageFormat.cs">
-      <Link>Drawing\ImageFormat.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Drawing\ImageOrientation.cs">
-      <Link>Drawing\ImageOrientation.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Drawing\ImageSize.cs">
-      <Link>Drawing\ImageSize.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dto\BaseItemDto.cs">
-      <Link>Dto\BaseItemDto.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dto\BaseItemPerson.cs">
-      <Link>Dto\BaseItemPerson.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dto\ChapterInfoDto.cs">
-      <Link>Dto\ChapterInfoDto.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dto\GameSystemSummary.cs">
-      <Link>Dto\GameSystemSummary.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dto\IHasServerId.cs">
-      <Link>Dto\IHasServerId.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dto\IHasSyncInfo.cs">
-      <Link>Dto\IHasSyncInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dto\IItemDto.cs">
-      <Link>Dto\IItemDto.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dto\ImageByNameInfo.cs">
-      <Link>Dto\ImageByNameInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dto\ImageInfo.cs">
-      <Link>Dto\ImageInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dto\ImageOptions.cs">
-      <Link>Dto\ImageOptions.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dto\ItemCounts.cs">
-      <Link>Dto\ItemCounts.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dto\ItemIndex.cs">
-      <Link>Dto\ItemIndex.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dto\ItemLayout.cs">
-      <Link>Dto\ItemLayout.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dto\MediaSourceInfo.cs">
-      <Link>Dto\MediaSourceInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dto\MediaSourceType.cs">
-      <Link>Dto\MediaSourceType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dto\MetadataEditorInfo.cs">
-      <Link>Dto\MetadataEditorInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dto\NameIdPair.cs">
-      <Link>Dto\NameIdPair.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dto\NameValuePair.cs">
-      <Link>Dto\NameValuePair.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dto\RatingType.cs">
-      <Link>Dto\RatingType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dto\RecommendationDto.cs">
-      <Link>Dto\RecommendationDto.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dto\RecommendationType.cs">
-      <Link>Dto\RecommendationType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dto\StudioDto.cs">
-      <Link>Dto\StudioDto.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dto\SubtitleDownloadOptions.cs">
-      <Link>Dto\SubtitleDownloadOptions.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dto\UserDto.cs">
-      <Link>Dto\UserDto.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dto\UserItemDataDto.cs">
-      <Link>Dto\UserItemDataDto.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\BaseItemInfo.cs">
-      <Link>Entities\BaseItemInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\ChapterInfo.cs">
-      <Link>Entities\ChapterInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\CollectionType.cs">
-      <Link>Entities\CollectionType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\DisplayPreferences.cs">
-      <Link>Entities\DisplayPreferences.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\EmptyRequestResult.cs">
-      <Link>Entities\EmptyRequestResult.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\ExtraType.cs">
-      <Link>Entities\ExtraType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\IHasProviderIds.cs">
-      <Link>Entities\IHasProviderIds.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\ImageType.cs">
-      <Link>Entities\ImageType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\IsoType.cs">
-      <Link>Entities\IsoType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\ItemReview.cs">
-      <Link>Entities\ItemReview.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\LibraryUpdateInfo.cs">
-      <Link>Entities\LibraryUpdateInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\LocationType.cs">
-      <Link>Entities\LocationType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\MBRegistrationRecord.cs">
-      <Link>Entities\MBRegistrationRecord.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\MediaStream.cs">
-      <Link>Entities\MediaStream.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\MediaStreamType.cs">
-      <Link>Entities\MediaStreamType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\MediaType.cs">
-      <Link>Entities\MediaType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\MediaUrl.cs">
-      <Link>Entities\MediaUrl.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\MetadataFields.cs">
-      <Link>Entities\MetadataFields.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\MetadataProviders.cs">
-      <Link>Entities\MetadataProviders.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\PackageReviewInfo.cs">
-      <Link>Entities\PackageReviewInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\ParentalRating.cs">
-      <Link>Entities\ParentalRating.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\PersonType.cs">
-      <Link>Entities\PersonType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\PluginSecurityInfo.cs">
-      <Link>Entities\PluginSecurityInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\ProviderIdsExtensions.cs">
-      <Link>Entities\ProviderIdsExtensions.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\ScrollDirection.cs">
-      <Link>Entities\ScrollDirection.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\SeriesStatus.cs">
-      <Link>Entities\SeriesStatus.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\SortOrder.cs">
-      <Link>Entities\SortOrder.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\TrailerType.cs">
-      <Link>Entities\TrailerType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\UserDataSaveReason.cs">
-      <Link>Entities\UserDataSaveReason.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\Video3DFormat.cs">
-      <Link>Entities\Video3DFormat.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\VideoType.cs">
-      <Link>Entities\VideoType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\VirtualFolderInfo.cs">
-      <Link>Entities\VirtualFolderInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Events\GenericEventArgs.cs">
-      <Link>Events\GenericEventArgs.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Extensions\BoolHelper.cs">
-      <Link>Extensions\BoolHelper.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Extensions\DoubleHelper.cs">
-      <Link>Extensions\DoubleHelper.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Extensions\FloatHelper.cs">
-      <Link>Extensions\FloatHelper.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Extensions\IntHelper.cs">
-      <Link>Extensions\IntHelper.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Extensions\ListHelper.cs">
-      <Link>Extensions\ListHelper.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Extensions\StringHelper.cs">
-      <Link>Extensions\StringHelper.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\FileOrganization\AutoOrganizeOptions.cs">
-      <Link>FileOrganization\AutoOrganizeOptions.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\FileOrganization\EpisodeFileOrganizationRequest.cs">
-      <Link>FileOrganization\EpisodeFileOrganizationRequest.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\FileOrganization\FileOrganizationResult.cs">
-      <Link>FileOrganization\FileOrganizationResult.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\FileOrganization\FileOrganizationResultQuery.cs">
-      <Link>FileOrganization\FileOrganizationResultQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\FileOrganization\FileOrganizerType.cs">
-      <Link>FileOrganization\FileOrganizerType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\FileOrganization\FileSortingStatus.cs">
-      <Link>FileOrganization\FileSortingStatus.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\FileOrganization\SmartMatchInfo.cs">
-      <Link>FileOrganization\SmartMatchInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\FileOrganization\TvFileOrganizationOptions.cs">
-      <Link>FileOrganization\TvFileOrganizationOptions.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Globalization\CountryInfo.cs">
-      <Link>Globalization\CountryInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Globalization\CultureDto.cs">
-      <Link>Globalization\CultureDto.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Globalization\LocalizatonOption.cs">
-      <Link>Globalization\LocalizatonOption.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\IO\FileSystemEntryInfo.cs">
-      <Link>IO\FileSystemEntryInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\IO\FileSystemEntryType.cs">
-      <Link>IO\FileSystemEntryType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\IO\IIsoManager.cs">
-      <Link>IO\IIsoManager.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\IO\IIsoMount.cs">
-      <Link>IO\IIsoMount.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\IO\IIsoMounter.cs">
-      <Link>IO\IIsoMounter.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\IO\IZipClient.cs">
-      <Link>IO\IZipClient.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Library\PlayAccess.cs">
-      <Link>Library\PlayAccess.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\LiveTv\BaseTimerInfoDto.cs">
-      <Link>LiveTv\BaseTimerInfoDto.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\LiveTv\ChannelInfoDto.cs">
-      <Link>LiveTv\ChannelInfoDto.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\LiveTv\ChannelType.cs">
-      <Link>LiveTv\ChannelType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\LiveTv\DayPattern.cs">
-      <Link>LiveTv\DayPattern.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\LiveTv\GuideInfo.cs">
-      <Link>LiveTv\GuideInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\LiveTv\LiveTvChannelQuery.cs">
-      <Link>LiveTv\LiveTvChannelQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\LiveTv\LiveTvInfo.cs">
-      <Link>LiveTv\LiveTvInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\LiveTv\LiveTvOptions.cs">
-      <Link>LiveTv\LiveTvOptions.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\LiveTv\LiveTvServiceInfo.cs">
-      <Link>LiveTv\LiveTvServiceInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\LiveTv\LiveTvServiceStatus.cs">
-      <Link>LiveTv\LiveTvServiceStatus.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\LiveTv\LiveTvTunerInfoDto.cs">
-      <Link>LiveTv\LiveTvTunerInfoDto.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\LiveTv\LiveTvTunerStatus.cs">
-      <Link>LiveTv\LiveTvTunerStatus.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\LiveTv\ProgramAudio.cs">
-      <Link>LiveTv\ProgramAudio.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\LiveTv\ProgramQuery.cs">
-      <Link>LiveTv\ProgramQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\LiveTv\RecommendedProgramQuery.cs">
-      <Link>LiveTv\RecommendedProgramQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\LiveTv\RecordingGroupQuery.cs">
-      <Link>LiveTv\RecordingGroupQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\LiveTv\RecordingQuery.cs">
-      <Link>LiveTv\RecordingQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\LiveTv\RecordingStatus.cs">
-      <Link>LiveTv\RecordingStatus.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\LiveTv\SeriesTimerInfoDto.cs">
-      <Link>LiveTv\SeriesTimerInfoDto.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\LiveTv\SeriesTimerQuery.cs">
-      <Link>LiveTv\SeriesTimerQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\LiveTv\TimerInfoDto.cs">
-      <Link>LiveTv\TimerInfoDto.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\LiveTv\TimerQuery.cs">
-      <Link>LiveTv\TimerQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Logging\ILogger.cs">
-      <Link>Logging\ILogger.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Logging\ILogManager.cs">
-      <Link>Logging\ILogManager.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Logging\LogSeverity.cs">
-      <Link>Logging\LogSeverity.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Logging\NullLogger.cs">
-      <Link>Logging\NullLogger.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\MediaInfo\AudioCodec.cs">
-      <Link>MediaInfo\AudioCodec.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\MediaInfo\BlurayDiscInfo.cs">
-      <Link>MediaInfo\BlurayDiscInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\MediaInfo\Container.cs">
-      <Link>MediaInfo\Container.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\MediaInfo\IBlurayExaminer.cs">
-      <Link>MediaInfo\IBlurayExaminer.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\MediaInfo\LiveStreamRequest.cs">
-      <Link>MediaInfo\LiveStreamRequest.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\MediaInfo\LiveStreamResponse.cs">
-      <Link>MediaInfo\LiveStreamResponse.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\MediaInfo\MediaInfo.cs">
-      <Link>MediaInfo\MediaInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\MediaInfo\MediaProtocol.cs">
-      <Link>MediaInfo\MediaProtocol.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\MediaInfo\PlaybackInfoRequest.cs">
-      <Link>MediaInfo\PlaybackInfoRequest.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\MediaInfo\PlaybackInfoResponse.cs">
-      <Link>MediaInfo\PlaybackInfoResponse.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\MediaInfo\SubtitleFormat.cs">
-      <Link>MediaInfo\SubtitleFormat.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\MediaInfo\SubtitleTrackEvent.cs">
-      <Link>MediaInfo\SubtitleTrackEvent.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\MediaInfo\SubtitleTrackInfo.cs">
-      <Link>MediaInfo\SubtitleTrackInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\MediaInfo\TransportStreamTimestamp.cs">
-      <Link>MediaInfo\TransportStreamTimestamp.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\MediaInfo\VideoCodec.cs">
-      <Link>MediaInfo\VideoCodec.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Net\EndPointInfo.cs">
-      <Link>Net\EndPointInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Net\HttpException.cs">
-      <Link>Net\HttpException.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Net\HttpResponse.cs">
-      <Link>Net\HttpResponse.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Net\MimeTypes.cs">
-      <Link>Net\MimeTypes.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Net\NetworkShare.cs">
-      <Link>Net\NetworkShare.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Net\NetworkShareType.cs">
-      <Link>Net\NetworkShareType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Net\WebSocketMessage.cs">
-      <Link>Net\WebSocketMessage.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Net\WebSocketMessageType.cs">
-      <Link>Net\WebSocketMessageType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Net\WebSocketState.cs">
-      <Link>Net\WebSocketState.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\News\NewsItem.cs">
-      <Link>News\NewsItem.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\News\NewsQuery.cs">
-      <Link>News\NewsQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Notifications\Notification.cs">
-      <Link>Notifications\Notification.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Notifications\NotificationLevel.cs">
-      <Link>Notifications\NotificationLevel.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Notifications\NotificationOption.cs">
-      <Link>Notifications\NotificationOption.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Notifications\NotificationOptions.cs">
-      <Link>Notifications\NotificationOptions.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Notifications\NotificationQuery.cs">
-      <Link>Notifications\NotificationQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Notifications\NotificationRequest.cs">
-      <Link>Notifications\NotificationRequest.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Notifications\NotificationResult.cs">
-      <Link>Notifications\NotificationResult.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Notifications\NotificationServiceInfo.cs">
-      <Link>Notifications\NotificationServiceInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Notifications\NotificationsSummary.cs">
-      <Link>Notifications\NotificationsSummary.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Notifications\NotificationType.cs">
-      <Link>Notifications\NotificationType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Notifications\NotificationTypeInfo.cs">
-      <Link>Notifications\NotificationTypeInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Notifications\SendToUserType.cs">
-      <Link>Notifications\SendToUserType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Playlists\PlaylistCreationRequest.cs">
-      <Link>Playlists\PlaylistCreationRequest.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Playlists\PlaylistCreationResult.cs">
-      <Link>Playlists\PlaylistCreationResult.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Playlists\PlaylistItemQuery.cs">
-      <Link>Playlists\PlaylistItemQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Plugins\BasePluginConfiguration.cs">
-      <Link>Plugins\BasePluginConfiguration.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Plugins\PluginInfo.cs">
-      <Link>Plugins\PluginInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Providers\ExternalIdInfo.cs">
-      <Link>Providers\ExternalIdInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Providers\ExternalUrl.cs">
-      <Link>Providers\ExternalUrl.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Providers\ImageProviderInfo.cs">
-      <Link>Providers\ImageProviderInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Providers\RemoteImageInfo.cs">
-      <Link>Providers\RemoteImageInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Providers\RemoteImageQuery.cs">
-      <Link>Providers\RemoteImageQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Providers\RemoteImageResult.cs">
-      <Link>Providers\RemoteImageResult.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Providers\RemoteSearchResult.cs">
-      <Link>Providers\RemoteSearchResult.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Providers\RemoteSubtitleInfo.cs">
-      <Link>Providers\RemoteSubtitleInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Providers\SubtitleOptions.cs">
-      <Link>Providers\SubtitleOptions.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Providers\SubtitleProviderInfo.cs">
-      <Link>Providers\SubtitleProviderInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Querying\AllThemeMediaResult.cs">
-      <Link>Querying\AllThemeMediaResult.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Querying\ArtistsQuery.cs">
-      <Link>Querying\ArtistsQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Querying\EpisodeQuery.cs">
-      <Link>Querying\EpisodeQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Querying\ItemCountsQuery.cs">
-      <Link>Querying\ItemCountsQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Querying\ItemFields.cs">
-      <Link>Querying\ItemFields.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Querying\ItemFilter.cs">
-      <Link>Querying\ItemFilter.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Querying\ItemQuery.cs">
-      <Link>Querying\ItemQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Querying\ItemsByNameQuery.cs">
-      <Link>Querying\ItemsByNameQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Querying\ItemSortBy.cs">
-      <Link>Querying\ItemSortBy.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Querying\ItemsResult.cs">
-      <Link>Querying\ItemsResult.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Querying\LatestItemsQuery.cs">
-      <Link>Querying\LatestItemsQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Querying\MovieRecommendationQuery.cs">
-      <Link>Querying\MovieRecommendationQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Querying\NextUpQuery.cs">
-      <Link>Querying\NextUpQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Querying\PersonsQuery.cs">
-      <Link>Querying\PersonsQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Querying\QueryFilters.cs">
-      <Link>Querying\QueryFilters.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Querying\QueryResult.cs">
-      <Link>Querying\QueryResult.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Querying\SeasonQuery.cs">
-      <Link>Querying\SeasonQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Querying\SessionQuery.cs">
-      <Link>Querying\SessionQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Querying\SimilarItemsQuery.cs">
-      <Link>Querying\SimilarItemsQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Querying\ThemeMediaResult.cs">
-      <Link>Querying\ThemeMediaResult.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Querying\UpcomingEpisodesQuery.cs">
-      <Link>Querying\UpcomingEpisodesQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Querying\UserQuery.cs">
-      <Link>Querying\UserQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Registration\RegistrationInfo.cs">
-      <Link>Registration\RegistrationInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Search\SearchHint.cs">
-      <Link>Search\SearchHint.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Search\SearchHintResult.cs">
-      <Link>Search\SearchHintResult.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Search\SearchQuery.cs">
-      <Link>Search\SearchQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Serialization\IJsonSerializer.cs">
-      <Link>Serialization\IJsonSerializer.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Serialization\IXmlSerializer.cs">
-      <Link>Serialization\IXmlSerializer.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Session\BrowseRequest.cs">
-      <Link>Session\BrowseRequest.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Session\ClientCapabilities.cs">
-      <Link>Session\ClientCapabilities.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Session\GeneralCommand.cs">
-      <Link>Session\GeneralCommand.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Session\GeneralCommandType.cs">
-      <Link>Session\GeneralCommandType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Session\MessageCommand.cs">
-      <Link>Session\MessageCommand.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Session\PlaybackProgressInfo.cs">
-      <Link>Session\PlaybackProgressInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Session\PlaybackStartInfo.cs">
-      <Link>Session\PlaybackStartInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Session\PlaybackStopInfo.cs">
-      <Link>Session\PlaybackStopInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Session\PlayCommand.cs">
-      <Link>Session\PlayCommand.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Session\PlayerStateInfo.cs">
-      <Link>Session\PlayerStateInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Session\PlayMethod.cs">
-      <Link>Session\PlayMethod.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Session\PlayRequest.cs">
-      <Link>Session\PlayRequest.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Session\PlaystateCommand.cs">
-      <Link>Session\PlaystateCommand.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Session\PlaystateRequest.cs">
-      <Link>Session\PlaystateRequest.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Session\SessionInfoDto.cs">
-      <Link>Session\SessionInfoDto.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Session\SessionUserInfo.cs">
-      <Link>Session\SessionUserInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Session\TranscodingInfo.cs">
-      <Link>Session\TranscodingInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Session\UserDataChangeInfo.cs">
-      <Link>Session\UserDataChangeInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Social\SocialShareInfo.cs">
-      <Link>Social\SocialShareInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Sync\CompleteSyncJobInfo.cs">
-      <Link>Sync\CompleteSyncJobInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Sync\DeviceFileInfo.cs">
-      <Link>Sync\DeviceFileInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Sync\ItemFIleInfo.cs">
-      <Link>Sync\ItemFIleInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Sync\ItemFileType.cs">
-      <Link>Sync\ItemFileType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Sync\LocalItem.cs">
-      <Link>Sync\LocalItem.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Sync\LocalItemInfo.cs">
-      <Link>Sync\LocalItemInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Sync\LocalItemQuery.cs">
-      <Link>Sync\LocalItemQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Sync\SyncCategory.cs">
-      <Link>Sync\SyncCategory.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Sync\SyncDataRequest.cs">
-      <Link>Sync\SyncDataRequest.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Sync\SyncDataResponse.cs">
-      <Link>Sync\SyncDataResponse.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Sync\SyncDialogOptions.cs">
-      <Link>Sync\SyncDialogOptions.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Sync\SyncedItem.cs">
-      <Link>Sync\SyncedItem.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Sync\SyncJob.cs">
-      <Link>Sync\SyncJob.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Sync\SyncJobCreationResult.cs">
-      <Link>Sync\SyncJobCreationResult.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Sync\SyncJobItem.cs">
-      <Link>Sync\SyncJobItem.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Sync\SyncJobItemQuery.cs">
-      <Link>SyncJobItemQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Sync\SyncJobItemStatus.cs">
-      <Link>Sync\SyncJobItemStatus.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Sync\SyncJobQuery.cs">
-      <Link>Sync\SyncJobQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Sync\SyncJobRequest.cs">
-      <Link>Sync\SyncJobRequest.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Sync\SyncJobStatus.cs">
-      <Link>Sync\SyncJobStatus.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Sync\SyncOptions.cs">
-      <Link>Sync\SyncOptions.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Sync\SyncParameter.cs">
-      <Link>Sync\SyncParameter.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Sync\SyncProfileOption.cs">
-      <Link>Sync\SyncProfileOption.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Sync\SyncQualityOption.cs">
-      <Link>Sync\SyncQualityOption.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Sync\SyncTarget.cs">
-      <Link>Sync\SyncTarget.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\System\Architecture.cs">
-      <Link>System\Architecture.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\System\LogFile.cs">
-      <Link>System\LogFile.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\System\PublicSystemInfo.cs">
-      <Link>System\PublicSystemInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\System\SystemInfo.cs">
-      <Link>System\SystemInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Tasks\SystemEvent.cs">
-      <Link>Tasks\SystemEvent.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Tasks\TaskCompletionStatus.cs">
-      <Link>Tasks\TaskCompletionStatus.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Tasks\TaskInfo.cs">
-      <Link>Tasks\TaskInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Tasks\TaskResult.cs">
-      <Link>Tasks\TaskResult.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Tasks\TaskState.cs">
-      <Link>Tasks\TaskState.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Tasks\TaskTriggerInfo.cs">
-      <Link>Tasks\TaskTriggerInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Updates\CheckForUpdateResult.cs">
-      <Link>Updates\CheckForUpdateResult.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Updates\InstallationInfo.cs">
-      <Link>Updates\InstallationInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Updates\PackageInfo.cs">
-      <Link>Updates\PackageInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Updates\PackageTargetSystem.cs">
-      <Link>Updates\PackageTargetSystem.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Updates\PackageVersionClass.cs">
-      <Link>Updates\PackageVersionClass.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Updates\PackageVersionInfo.cs">
-      <Link>Updates\PackageVersionInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Users\AuthenticationResult.cs">
-      <Link>Users\AuthenticationResult.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Users\ForgotPasswordAction.cs">
-      <Link>Users\ForgotPasswordAction.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Users\ForgotPasswordResult.cs">
-      <Link>Users\ForgotPasswordResult.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Users\PinRedeemResult.cs">
-      <Link>Users\PinRedeemResult.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Users\UserAction.cs">
-      <Link>Users\UserAction.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Users\UserActionType.cs">
-      <Link>Users\UserActionType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Users\UserPolicy.cs">
-      <Link>Users\UserPolicy.cs</Link>
-    </Compile>
-    <Compile Include="..\SharedVersion.cs">
-      <Link>Properties\SharedVersion.cs</Link>
-    </Compile>
-    <Compile Include="Properties\AssemblyInfo.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
-      <Visible>False</Visible>
-      <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
-      <Install>false</Install>
-    </BootstrapperPackage>
-    <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
-      <Visible>False</Visible>
-      <ProductName>.NET Framework 3.5 SP1</ProductName>
-      <Install>false</Install>
-    </BootstrapperPackage>
-  </ItemGroup>
-  <Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" />
-  <PropertyGroup>
-    <PostBuildEvent>
-    </PostBuildEvent>
-  </PropertyGroup>
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
-       Other similar extension points exist, see Microsoft.Common.targets.
-  <Target Name="BeforeBuild">
-  </Target>
-  <Target Name="AfterBuild">
-  </Target>
-  -->
-</Project>

+ 0 - 23
MediaBrowser.Model.Portable/Properties/AssemblyInfo.cs

@@ -1,23 +0,0 @@
-using System.Resources;
-using System.Reflection;
-
-// General Information about an assembly is controlled through the following 
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("MediaBrowser.Model.Portable")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("MediaBrowser.Model.Portable")]
-[assembly: AssemblyCopyright("Copyright ©  2013")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-[assembly: NeutralResourcesLanguage("en")]
-
-// Version information for an assembly consists of the following four values:
-//
-//      Major Version
-//      Minor Version 
-//      Build Number
-//      Revision
-//

+ 0 - 15
MediaBrowser.Model.Portable/app.config

@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<configuration>
-  <runtime>
-    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
-      <dependentAssembly>
-        <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
-        <bindingRedirect oldVersion="0.0.0.0-2.6.8.0" newVersion="2.6.8.0" />
-      </dependentAssembly>
-      <dependentAssembly>
-        <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
-        <bindingRedirect oldVersion="0.0.0.0-2.6.8.0" newVersion="2.6.8.0" />
-      </dependentAssembly>
-    </assemblyBinding>
-  </runtime>
-</configuration>

+ 0 - 1178
MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj

@@ -1,1178 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProjectGuid>{657B5410-7C3B-4806-9753-D254102CE537}</ProjectGuid>
-    <OutputType>Library</OutputType>
-    <AppDesignerFolder>Properties</AppDesignerFolder>
-    <RootNamespace>MediaBrowser.Model</RootNamespace>
-    <AssemblyName>MediaBrowser.Model</AssemblyName>
-    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
-    <FileAlignment>512</FileAlignment>
-    <TargetFrameworkProfile />
-    <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
-    <FodyPath>..\packages\Fody.1.17.0.0</FodyPath>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\Debug\</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <DebugType>none</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>bin\Release\</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup>
-    <SignAssembly>true</SignAssembly>
-  </PropertyGroup>
-  <PropertyGroup>
-    <AssemblyOriginatorKeyFile>MediaBrowser.Model.snk</AssemblyOriginatorKeyFile>
-  </PropertyGroup>
-  <PropertyGroup>
-    <RunPostBuildEvent>Always</RunPostBuildEvent>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="System" />
-    <Reference Include="System.Core" />
-    <Reference Include="System.Runtime.Serialization" />
-    <Reference Include="System.Xml.Linq" />
-    <Reference Include="System.Data.DataSetExtensions" />
-    <Reference Include="System.Data" />
-    <Reference Include="System.Xml" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="..\MediaBrowser.Model\Activity\ActivityLogEntry.cs">
-      <Link>Activity\ActivityLogEntry.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\ApiClient\ApiHelpers.cs">
-      <Link>ApiClient\ApiHelpers.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\ApiClient\ConnectionMode.cs">
-      <Link>ApiClient\ConnectionMode.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\ApiClient\ConnectionOptions.cs">
-      <Link>ApiClient\ConnectionOptions.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\ApiClient\ConnectionState.cs">
-      <Link>ApiClient\ConnectionState.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\ApiClient\ConnectSignupResponse.cs">
-      <Link>ApiClient\ConnectSignupResponse.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\ApiClient\GeneralCommandEventArgs.cs">
-      <Link>ApiClient\GeneralCommandEventArgs.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\ApiClient\HttpResponseEventArgs.cs">
-      <Link>ApiClient\HttpResponseEventArgs.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\ApiClient\IServerEvents.cs">
-      <Link>ApiClient\IServerEvents.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\ApiClient\NetworkStatus.cs">
-      <Link>ApiClient\NetworkStatus.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\ApiClient\RemoteLogoutReason.cs">
-      <Link>ApiClient\RemoteLogoutReason.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\ApiClient\ServerCredentials.cs">
-      <Link>ApiClient\ServerCredentials.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\ApiClient\ServerDiscoveryInfo.cs">
-      <Link>ApiClient\ServerDiscoveryInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\ApiClient\ServerInfo.cs">
-      <Link>ApiClient\ServerInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\ApiClient\ServerUserInfo.cs">
-      <Link>ApiClient\ServerUserInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\ApiClient\SessionUpdatesEventArgs.cs">
-      <Link>ApiClient\SessionUpdatesEventArgs.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\ApiClient\WakeOnLanInfo.cs">
-      <Link>ApiClient\WakeOnLanInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Branding\BrandingOptions.cs">
-      <Link>Branding\BrandingOptions.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Channels\AllChannelMediaQuery.cs">
-      <Link>Channels\AllChannelMediaQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Channels\ChannelFeatures.cs">
-      <Link>Channels\ChannelFeatures.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Channels\ChannelFolderType.cs">
-      <Link>Channels\ChannelFolderType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Channels\ChannelInfo.cs">
-      <Link>Channels\ChannelInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Channels\ChannelItemQuery.cs">
-      <Link>Channels\ChannelItemQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Channels\ChannelItemSortField.cs">
-      <Link>Channels\ChannelItemSortField.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Channels\ChannelMediaContentType.cs">
-      <Link>Channels\ChannelMediaContentType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Channels\ChannelMediaType.cs">
-      <Link>Channels\ChannelMediaType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Channels\ChannelQuery.cs">
-      <Link>Channels\ChannelQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Collections\CollectionCreationResult.cs">
-      <Link>Collections\CollectionCreationResult.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Configuration\AccessSchedule.cs">
-      <Link>Configuration\AccessSchedule.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Configuration\BaseApplicationConfiguration.cs">
-      <Link>Configuration\BaseApplicationConfiguration.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Configuration\ChannelOptions.cs">
-      <Link>Configuration\ChannelOptions.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Configuration\ChapterOptions.cs">
-      <Link>Configuration\ChapterOptions.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Configuration\DlnaOptions.cs">
-      <Link>Configuration\DlnaOptions.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Configuration\DynamicDayOfWeek.cs">
-      <Link>Configuration\DynamicDayOfWeek.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Configuration\EncodingOptions.cs">
-      <Link>Configuration\EncodingOptions.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Configuration\FanartOptions.cs">
-      <Link>Configuration\FanartOptions.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Configuration\ImageOption.cs">
-      <Link>Configuration\ImageOption.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Configuration\ImageSavingConvention.cs">
-      <Link>Configuration\ImageSavingConvention.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Configuration\LibraryOptions.cs">
-      <Link>Configuration\LibraryOptions.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Configuration\MetadataConfiguration.cs">
-      <Link>Configuration\MetadataConfiguration.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Configuration\MetadataOptions.cs">
-      <Link>Configuration\MetadataOptions.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Configuration\MetadataPlugin.cs">
-      <Link>Configuration\MetadataPlugin.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Configuration\MetadataPluginSummary.cs">
-      <Link>Configuration\MetadataPluginSummary.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Configuration\MetadataPluginType.cs">
-      <Link>Configuration\MetadataPluginType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Configuration\PathSubstitution.cs">
-      <Link>Configuration\PathSubstitution.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Configuration\PeopleMetadataOptions.cs">
-      <Link>Configuration\PeopleMetadataOptions.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Configuration\ServerConfiguration.cs">
-      <Link>Configuration\ServerConfiguration.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Configuration\SubtitlePlaybackMode.cs">
-      <Link>Configuration\SubtitlePlaybackMode.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Configuration\UnratedItem.cs">
-      <Link>Configuration\UnratedItem.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Configuration\UserConfiguration.cs">
-      <Link>Configuration\UserConfiguration.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Configuration\XbmcMetadataOptions.cs">
-      <Link>Configuration\XbmcMetadataOptions.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Connect\ConnectAuthenticationExchangeResult.cs">
-      <Link>Connect\ConnectAuthenticationExchangeResult.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Connect\ConnectAuthenticationResult.cs">
-      <Link>Connect\ConnectAuthenticationResult.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Connect\ConnectAuthorization.cs">
-      <Link>Connect\ConnectAuthorization.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Connect\ConnectAuthorizationRequest.cs">
-      <Link>Connect\ConnectAuthorizationRequest.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Connect\ConnectPassword.cs">
-      <Link>Connect\ConnectPassword.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Connect\ConnectUser.cs">
-      <Link>Connect\ConnectUser.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Connect\ConnectUserQuery.cs">
-      <Link>Connect\ConnectUserQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Connect\ConnectUserServer.cs">
-      <Link>Connect\ConnectUserServer.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Connect\PinCreationResult.cs">
-      <Link>Connect\PinCreationResult.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Connect\PinExchangeResult.cs">
-      <Link>Connect\PinExchangeResult.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Connect\PinStatusResult.cs">
-      <Link>Connect\PinStatusResult.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Connect\UserLinkType.cs">
-      <Link>Connect\UserLinkType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Devices\ContentUploadHistory.cs">
-      <Link>Devices\ContentUploadHistory.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Devices\DeviceInfo.cs">
-      <Link>Devices\DeviceInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Devices\DeviceOptions.cs">
-      <Link>Devices\DeviceOptions.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Devices\DeviceQuery.cs">
-      <Link>Devices\DeviceQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Devices\DevicesOptions.cs">
-      <Link>Devices\DevicesOptions.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Devices\LocalFileInfo.cs">
-      <Link>Devices\LocalFileInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\AudioOptions.cs">
-      <Link>Dlna\AudioOptions.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\CodecProfile.cs">
-      <Link>Dlna\CodecProfile.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\CodecType.cs">
-      <Link>Dlna\CodecType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\ConditionProcessor.cs">
-      <Link>Dlna\ConditionProcessor.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\ContainerProfile.cs">
-      <Link>Dlna\ContainerProfile.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\ContentFeatureBuilder.cs">
-      <Link>Dlna\ContentFeatureBuilder.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\DeviceIdentification.cs">
-      <Link>Dlna\DeviceIdentification.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\DeviceProfile.cs">
-      <Link>Dlna\DeviceProfile.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\DeviceProfileInfo.cs">
-      <Link>Dlna\DeviceProfileInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\DeviceProfileType.cs">
-      <Link>Dlna\DeviceProfileType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\DirectPlayProfile.cs">
-      <Link>Dlna\DirectPlayProfile.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\DlnaFlags.cs">
-      <Link>Dlna\DlnaFlags.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\DlnaMaps.cs">
-      <Link>Dlna\DlnaMaps.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\DlnaProfileType.cs">
-      <Link>Dlna\DlnaProfileType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\EncodingContext.cs">
-      <Link>Dlna\EncodingContext.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\HeaderMatchType.cs">
-      <Link>Dlna\HeaderMatchType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\HttpHeaderInfo.cs">
-      <Link>Dlna\HttpHeaderInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\ITranscoderSupport.cs">
-      <Link>Dlna\ITranscoderSupport.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\MediaFormatProfile.cs">
-      <Link>Dlna\MediaFormatProfile.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\MediaFormatProfileResolver.cs">
-      <Link>Dlna\MediaFormatProfileResolver.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\PlaybackErrorCode.cs">
-      <Link>Dlna\PlaybackErrorCode.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\PlaybackException.cs">
-      <Link>Dlna\PlaybackException.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\ProfileCondition.cs">
-      <Link>Dlna\ProfileCondition.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\ProfileConditionType.cs">
-      <Link>Dlna\ProfileConditionType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\ProfileConditionValue.cs">
-      <Link>Dlna\ProfileConditionValue.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\ResolutionConfiguration.cs">
-      <Link>Dlna\ResolutionConfiguration.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\ResolutionNormalizer.cs">
-      <Link>Dlna\ResolutionNormalizer.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\ResolutionOptions.cs">
-      <Link>Dlna\ResolutionOptions.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\ResponseProfile.cs">
-      <Link>Dlna\ResponseProfile.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\SearchCriteria.cs">
-      <Link>Dlna\SearchCriteria.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\SearchType.cs">
-      <Link>Dlna\SearchType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\SortCriteria.cs">
-      <Link>Dlna\SortCriteria.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\StreamBuilder.cs">
-      <Link>Dlna\StreamBuilder.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\StreamInfo.cs">
-      <Link>Dlna\StreamInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\StreamInfoSorter.cs">
-      <Link>Dlna\StreamInfoSorter.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\SubtitleDeliveryMethod.cs">
-      <Link>Dlna\SubtitleDeliveryMethod.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\SubtitleProfile.cs">
-      <Link>Dlna\SubtitleProfile.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\SubtitleStreamInfo.cs">
-      <Link>Dlna\SubtitleStreamInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\TranscodeSeekInfo.cs">
-      <Link>Dlna\TranscodeSeekInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\TranscodingProfile.cs">
-      <Link>Dlna\TranscodingProfile.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\VideoOptions.cs">
-      <Link>Dlna\VideoOptions.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dlna\XmlAttribute.cs">
-      <Link>Dlna\XmlAttribute.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Drawing\DrawingUtils.cs">
-      <Link>Drawing\DrawingUtils.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Drawing\ImageFormat.cs">
-      <Link>Drawing\ImageFormat.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Drawing\ImageOrientation.cs">
-      <Link>Drawing\ImageOrientation.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Drawing\ImageSize.cs">
-      <Link>Drawing\ImageSize.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dto\BaseItemDto.cs">
-      <Link>Dto\BaseItemDto.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dto\BaseItemPerson.cs">
-      <Link>Dto\BaseItemPerson.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dto\ChapterInfoDto.cs">
-      <Link>Dto\ChapterInfoDto.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dto\GameSystemSummary.cs">
-      <Link>Dto\GameSystemSummary.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dto\IHasServerId.cs">
-      <Link>Dto\IHasServerId.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dto\IHasSyncInfo.cs">
-      <Link>Dto\IHasSyncInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dto\IItemDto.cs">
-      <Link>Dto\IItemDto.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dto\ImageByNameInfo.cs">
-      <Link>Dto\ImageByNameInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dto\ImageInfo.cs">
-      <Link>Dto\ImageInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dto\ImageOptions.cs">
-      <Link>Dto\ImageOptions.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dto\ItemCounts.cs">
-      <Link>Dto\ItemCounts.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dto\ItemIndex.cs">
-      <Link>Dto\ItemIndex.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dto\ItemLayout.cs">
-      <Link>Dto\ItemLayout.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dto\MediaSourceInfo.cs">
-      <Link>Dto\MediaSourceInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dto\MediaSourceType.cs">
-      <Link>Dto\MediaSourceType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dto\MetadataEditorInfo.cs">
-      <Link>Dto\MetadataEditorInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dto\NameIdPair.cs">
-      <Link>Dto\NameIdPair.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dto\NameValuePair.cs">
-      <Link>Dto\NameValuePair.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dto\RatingType.cs">
-      <Link>Dto\RatingType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dto\RecommendationDto.cs">
-      <Link>Dto\RecommendationDto.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dto\RecommendationType.cs">
-      <Link>Dto\RecommendationType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dto\StudioDto.cs">
-      <Link>Dto\StudioDto.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dto\SubtitleDownloadOptions.cs">
-      <Link>Dto\SubtitleDownloadOptions.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dto\UserDto.cs">
-      <Link>Dto\UserDto.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Dto\UserItemDataDto.cs">
-      <Link>Dto\UserItemDataDto.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\BaseItemInfo.cs">
-      <Link>Entities\BaseItemInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\ChapterInfo.cs">
-      <Link>Entities\ChapterInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\CollectionType.cs">
-      <Link>Entities\CollectionType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\DisplayPreferences.cs">
-      <Link>Entities\DisplayPreferences.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\EmptyRequestResult.cs">
-      <Link>Entities\EmptyRequestResult.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\ExtraType.cs">
-      <Link>Entities\ExtraType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\IHasProviderIds.cs">
-      <Link>Entities\IHasProviderIds.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\ImageType.cs">
-      <Link>Entities\ImageType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\IsoType.cs">
-      <Link>Entities\IsoType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\ItemReview.cs">
-      <Link>Entities\ItemReview.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\LibraryUpdateInfo.cs">
-      <Link>Entities\LibraryUpdateInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\LocationType.cs">
-      <Link>Entities\LocationType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\MBRegistrationRecord.cs">
-      <Link>Entities\MBRegistrationRecord.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\MediaStream.cs">
-      <Link>Entities\MediaStream.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\MediaStreamType.cs">
-      <Link>Entities\MediaStreamType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\MediaType.cs">
-      <Link>Entities\MediaType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\MediaUrl.cs">
-      <Link>Entities\MediaUrl.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\MetadataFields.cs">
-      <Link>Entities\MetadataFields.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\MetadataProviders.cs">
-      <Link>Entities\MetadataProviders.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\PackageReviewInfo.cs">
-      <Link>Entities\PackageReviewInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\ParentalRating.cs">
-      <Link>Entities\ParentalRating.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\PersonType.cs">
-      <Link>Entities\PersonType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\PluginSecurityInfo.cs">
-      <Link>Entities\PluginSecurityInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\ProviderIdsExtensions.cs">
-      <Link>Entities\ProviderIdsExtensions.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\ScrollDirection.cs">
-      <Link>Entities\ScrollDirection.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\SeriesStatus.cs">
-      <Link>Entities\SeriesStatus.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\SortOrder.cs">
-      <Link>Entities\SortOrder.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\TrailerType.cs">
-      <Link>Entities\TrailerType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\UserDataSaveReason.cs">
-      <Link>Entities\UserDataSaveReason.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\Video3DFormat.cs">
-      <Link>Entities\Video3DFormat.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\VideoType.cs">
-      <Link>Entities\VideoType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Entities\VirtualFolderInfo.cs">
-      <Link>Entities\VirtualFolderInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Events\GenericEventArgs.cs">
-      <Link>Events\GenericEventArgs.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Extensions\BoolHelper.cs">
-      <Link>Extensions\BoolHelper.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Extensions\DoubleHelper.cs">
-      <Link>Extensions\DoubleHelper.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Extensions\FloatHelper.cs">
-      <Link>Extensions\FloatHelper.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Extensions\IntHelper.cs">
-      <Link>Extensions\IntHelper.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Extensions\ListHelper.cs">
-      <Link>Extensions\ListHelper.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Extensions\StringHelper.cs">
-      <Link>Extensions\StringHelper.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\FileOrganization\AutoOrganizeOptions.cs">
-      <Link>FileOrganization\AutoOrganizeOptions.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\FileOrganization\EpisodeFileOrganizationRequest.cs">
-      <Link>FileOrganization\EpisodeFileOrganizationRequest.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\FileOrganization\FileOrganizationResult.cs">
-      <Link>FileOrganization\FileOrganizationResult.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\FileOrganization\FileOrganizationResultQuery.cs">
-      <Link>FileOrganization\FileOrganizationResultQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\FileOrganization\FileOrganizerType.cs">
-      <Link>FileOrganization\FileOrganizerType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\FileOrganization\FileSortingStatus.cs">
-      <Link>FileOrganization\FileSortingStatus.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\FileOrganization\SmartMatchInfo.cs">
-      <Link>FileOrganization\SmartMatchInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\FileOrganization\TvFileOrganizationOptions.cs">
-      <Link>FileOrganization\TvFileOrganizationOptions.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Globalization\CountryInfo.cs">
-      <Link>Globalization\CountryInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Globalization\CultureDto.cs">
-      <Link>Globalization\CultureDto.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Globalization\LocalizatonOption.cs">
-      <Link>Globalization\LocalizatonOption.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\IO\FileSystemEntryInfo.cs">
-      <Link>IO\FileSystemEntryInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\IO\FileSystemEntryType.cs">
-      <Link>IO\FileSystemEntryType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\IO\IIsoMount.cs">
-      <Link>IO\IIsoMount.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Library\PlayAccess.cs">
-      <Link>Library\PlayAccess.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\LiveTv\BaseTimerInfoDto.cs">
-      <Link>LiveTv\BaseTimerInfoDto.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\LiveTv\ChannelInfoDto.cs">
-      <Link>LiveTv\ChannelInfoDto.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\LiveTv\ChannelType.cs">
-      <Link>LiveTv\ChannelType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\LiveTv\DayPattern.cs">
-      <Link>LiveTv\DayPattern.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\LiveTv\GuideInfo.cs">
-      <Link>LiveTv\GuideInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\LiveTv\LiveTvChannelQuery.cs">
-      <Link>LiveTv\LiveTvChannelQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\LiveTv\LiveTvInfo.cs">
-      <Link>LiveTv\LiveTvInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\LiveTv\LiveTvOptions.cs">
-      <Link>LiveTv\LiveTvOptions.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\LiveTv\LiveTvServiceInfo.cs">
-      <Link>LiveTv\LiveTvServiceInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\LiveTv\LiveTvServiceStatus.cs">
-      <Link>LiveTv\LiveTvServiceStatus.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\LiveTv\LiveTvTunerInfoDto.cs">
-      <Link>LiveTv\LiveTvTunerInfoDto.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\LiveTv\LiveTvTunerStatus.cs">
-      <Link>LiveTv\LiveTvTunerStatus.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\LiveTv\ProgramAudio.cs">
-      <Link>LiveTv\ProgramAudio.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\LiveTv\ProgramQuery.cs">
-      <Link>LiveTv\ProgramQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\LiveTv\RecommendedProgramQuery.cs">
-      <Link>LiveTv\RecommendedProgramQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\LiveTv\RecordingGroupQuery.cs">
-      <Link>LiveTv\RecordingGroupQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\LiveTv\RecordingQuery.cs">
-      <Link>LiveTv\RecordingQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\LiveTv\RecordingStatus.cs">
-      <Link>LiveTv\RecordingStatus.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\LiveTv\SeriesTimerInfoDto.cs">
-      <Link>LiveTv\SeriesTimerInfoDto.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\LiveTv\SeriesTimerQuery.cs">
-      <Link>LiveTv\SeriesTimerQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\LiveTv\TimerInfoDto.cs">
-      <Link>LiveTv\TimerInfoDto.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\LiveTv\TimerQuery.cs">
-      <Link>LiveTv\TimerQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Logging\ILogger.cs">
-      <Link>Logging\ILogger.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Logging\ILogManager.cs">
-      <Link>Logging\ILogManager.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Logging\LogSeverity.cs">
-      <Link>Logging\LogSeverity.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Logging\NullLogger.cs">
-      <Link>Logging\NullLogger.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\MediaInfo\AudioCodec.cs">
-      <Link>MediaInfo\AudioCodec.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\MediaInfo\BlurayDiscInfo.cs">
-      <Link>MediaInfo\BlurayDiscInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\MediaInfo\Container.cs">
-      <Link>MediaInfo\Container.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\MediaInfo\IBlurayExaminer.cs">
-      <Link>MediaInfo\IBlurayExaminer.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\MediaInfo\LiveStreamRequest.cs">
-      <Link>MediaInfo\LiveStreamRequest.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\MediaInfo\LiveStreamResponse.cs">
-      <Link>MediaInfo\LiveStreamResponse.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\MediaInfo\MediaInfo.cs">
-      <Link>MediaInfo\MediaInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\MediaInfo\MediaProtocol.cs">
-      <Link>MediaInfo\MediaProtocol.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\MediaInfo\PlaybackInfoRequest.cs">
-      <Link>MediaInfo\PlaybackInfoRequest.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\MediaInfo\PlaybackInfoResponse.cs">
-      <Link>MediaInfo\PlaybackInfoResponse.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\MediaInfo\SubtitleFormat.cs">
-      <Link>MediaInfo\SubtitleFormat.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\MediaInfo\SubtitleTrackEvent.cs">
-      <Link>MediaInfo\SubtitleTrackEvent.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\MediaInfo\SubtitleTrackInfo.cs">
-      <Link>MediaInfo\SubtitleTrackInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\MediaInfo\TransportStreamTimestamp.cs">
-      <Link>MediaInfo\TransportStreamTimestamp.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\MediaInfo\VideoCodec.cs">
-      <Link>MediaInfo\VideoCodec.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Net\EndPointInfo.cs">
-      <Link>Net\EndPointInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Net\HttpException.cs">
-      <Link>Net\HttpException.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Net\HttpResponse.cs">
-      <Link>Net\HttpResponse.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Net\MimeTypes.cs">
-      <Link>Net\MimeTypes.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Net\NetworkShare.cs">
-      <Link>Net\NetworkShare.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Net\NetworkShareType.cs">
-      <Link>Net\NetworkShareType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Net\WebSocketMessage.cs">
-      <Link>Net\WebSocketMessage.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Net\WebSocketMessageType.cs">
-      <Link>Net\WebSocketMessageType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Net\WebSocketState.cs">
-      <Link>Net\WebSocketState.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\News\NewsItem.cs">
-      <Link>News\NewsItem.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\News\NewsQuery.cs">
-      <Link>News\NewsQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Notifications\Notification.cs">
-      <Link>Notifications\Notification.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Notifications\NotificationLevel.cs">
-      <Link>Notifications\NotificationLevel.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Notifications\NotificationOption.cs">
-      <Link>Notifications\NotificationOption.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Notifications\NotificationOptions.cs">
-      <Link>Notifications\NotificationOptions.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Notifications\NotificationQuery.cs">
-      <Link>Notifications\NotificationQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Notifications\NotificationRequest.cs">
-      <Link>Notifications\NotificationRequest.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Notifications\NotificationResult.cs">
-      <Link>Notifications\NotificationResult.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Notifications\NotificationServiceInfo.cs">
-      <Link>Notifications\NotificationServiceInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Notifications\NotificationsSummary.cs">
-      <Link>Notifications\NotificationsSummary.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Notifications\NotificationType.cs">
-      <Link>Notifications\NotificationType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Notifications\NotificationTypeInfo.cs">
-      <Link>Notifications\NotificationTypeInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Notifications\SendToUserType.cs">
-      <Link>Notifications\SendToUserType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Playlists\PlaylistCreationRequest.cs">
-      <Link>Playlists\PlaylistCreationRequest.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Playlists\PlaylistCreationResult.cs">
-      <Link>Playlists\PlaylistCreationResult.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Playlists\PlaylistItemQuery.cs">
-      <Link>Playlists\PlaylistItemQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Plugins\BasePluginConfiguration.cs">
-      <Link>Plugins\BasePluginConfiguration.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Plugins\PluginInfo.cs">
-      <Link>Plugins\PluginInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Providers\ExternalIdInfo.cs">
-      <Link>Providers\ExternalIdInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Providers\ExternalUrl.cs">
-      <Link>Providers\ExternalUrl.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Providers\ImageProviderInfo.cs">
-      <Link>Providers\ImageProviderInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Providers\RemoteImageInfo.cs">
-      <Link>Providers\RemoteImageInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Providers\RemoteImageQuery.cs">
-      <Link>Providers\RemoteImageQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Providers\RemoteImageResult.cs">
-      <Link>Providers\RemoteImageResult.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Providers\RemoteSearchResult.cs">
-      <Link>Providers\RemoteSearchResult.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Providers\RemoteSubtitleInfo.cs">
-      <Link>Providers\RemoteSubtitleInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Providers\SubtitleOptions.cs">
-      <Link>Providers\SubtitleOptions.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Providers\SubtitleProviderInfo.cs">
-      <Link>Providers\SubtitleProviderInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Querying\AllThemeMediaResult.cs">
-      <Link>Querying\AllThemeMediaResult.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Querying\ArtistsQuery.cs">
-      <Link>Querying\ArtistsQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Querying\EpisodeQuery.cs">
-      <Link>Querying\EpisodeQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Querying\ItemCountsQuery.cs">
-      <Link>Querying\ItemCountsQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Querying\ItemFields.cs">
-      <Link>Querying\ItemFields.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Querying\ItemFilter.cs">
-      <Link>Querying\ItemFilter.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Querying\ItemQuery.cs">
-      <Link>Querying\ItemQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Querying\ItemsByNameQuery.cs">
-      <Link>Querying\ItemsByNameQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Querying\ItemSortBy.cs">
-      <Link>Querying\ItemSortBy.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Querying\ItemsResult.cs">
-      <Link>Querying\ItemsResult.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Querying\LatestItemsQuery.cs">
-      <Link>Querying\LatestItemsQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Querying\MovieRecommendationQuery.cs">
-      <Link>Querying\MovieRecommendationQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Querying\NextUpQuery.cs">
-      <Link>Querying\NextUpQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Querying\PersonsQuery.cs">
-      <Link>Querying\PersonsQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Querying\QueryFilters.cs">
-      <Link>Querying\QueryFilters.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Querying\QueryResult.cs">
-      <Link>Querying\QueryResult.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Querying\SeasonQuery.cs">
-      <Link>Querying\SeasonQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Querying\SessionQuery.cs">
-      <Link>Querying\SessionQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Querying\SimilarItemsQuery.cs">
-      <Link>Querying\SimilarItemsQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Querying\ThemeMediaResult.cs">
-      <Link>Querying\ThemeMediaResult.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Querying\UpcomingEpisodesQuery.cs">
-      <Link>Querying\UpcomingEpisodesQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Querying\UserQuery.cs">
-      <Link>Querying\UserQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Registration\RegistrationInfo.cs">
-      <Link>Registration\RegistrationInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Search\SearchHint.cs">
-      <Link>Search\SearchHint.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Search\SearchHintResult.cs">
-      <Link>Search\SearchHintResult.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Search\SearchQuery.cs">
-      <Link>Search\SearchQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Serialization\IJsonSerializer.cs">
-      <Link>Serialization\IJsonSerializer.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Serialization\IXmlSerializer.cs">
-      <Link>Serialization\IXmlSerializer.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Session\BrowseRequest.cs">
-      <Link>Session\BrowseRequest.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Session\ClientCapabilities.cs">
-      <Link>Session\ClientCapabilities.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Session\GeneralCommand.cs">
-      <Link>Session\GeneralCommand.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Session\GeneralCommandType.cs">
-      <Link>Session\GeneralCommandType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Session\MessageCommand.cs">
-      <Link>Session\MessageCommand.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Session\PlaybackProgressInfo.cs">
-      <Link>Session\PlaybackProgressInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Session\PlaybackStartInfo.cs">
-      <Link>Session\PlaybackStartInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Session\PlaybackStopInfo.cs">
-      <Link>Session\PlaybackStopInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Session\PlayCommand.cs">
-      <Link>Session\PlayCommand.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Session\PlayerStateInfo.cs">
-      <Link>Session\PlayerStateInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Session\PlayMethod.cs">
-      <Link>Session\PlayMethod.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Session\PlayRequest.cs">
-      <Link>Session\PlayRequest.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Session\PlaystateCommand.cs">
-      <Link>Session\PlaystateCommand.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Session\PlaystateRequest.cs">
-      <Link>Session\PlaystateRequest.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Session\SessionInfoDto.cs">
-      <Link>Session\SessionInfoDto.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Session\SessionUserInfo.cs">
-      <Link>Session\SessionUserInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Session\TranscodingInfo.cs">
-      <Link>Session\TranscodingInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Session\UserDataChangeInfo.cs">
-      <Link>Session\UserDataChangeInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Social\SocialShareInfo.cs">
-      <Link>Social\SocialShareInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Sync\CompleteSyncJobInfo.cs">
-      <Link>Sync\CompleteSyncJobInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Sync\DeviceFileInfo.cs">
-      <Link>Sync\DeviceFileInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Sync\ItemFIleInfo.cs">
-      <Link>Sync\ItemFIleInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Sync\ItemFileType.cs">
-      <Link>Sync\ItemFileType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Sync\LocalItem.cs">
-      <Link>Sync\LocalItem.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Sync\LocalItemInfo.cs">
-      <Link>Sync\LocalItemInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Sync\LocalItemQuery.cs">
-      <Link>Sync\LocalItemQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Sync\SyncCategory.cs">
-      <Link>Sync\SyncCategory.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Sync\SyncDataRequest.cs">
-      <Link>Sync\SyncDataRequest.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Sync\SyncDataResponse.cs">
-      <Link>Sync\SyncDataResponse.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Sync\SyncDialogOptions.cs">
-      <Link>Sync\SyncDialogOptions.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Sync\SyncedItem.cs">
-      <Link>Sync\SyncedItem.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Sync\SyncJob.cs">
-      <Link>Sync\SyncJob.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Sync\SyncJobCreationResult.cs">
-      <Link>Sync\SyncJobCreationResult.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Sync\SyncJobItem.cs">
-      <Link>Sync\SyncJobItem.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Sync\SyncJobItemQuery.cs">
-      <Link>Sync\SyncJobItemQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Sync\SyncJobItemStatus.cs">
-      <Link>Sync\SyncJobItemStatus.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Sync\SyncJobQuery.cs">
-      <Link>Sync\SyncJobQuery.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Sync\SyncJobRequest.cs">
-      <Link>Sync\SyncJobRequest.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Sync\SyncJobStatus.cs">
-      <Link>Sync\SyncJobStatus.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Sync\SyncOptions.cs">
-      <Link>Sync\SyncOptions.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Sync\SyncParameter.cs">
-      <Link>Sync\SyncParameter.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Sync\SyncProfileOption.cs">
-      <Link>Sync\SyncProfileOption.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Sync\SyncQualityOption.cs">
-      <Link>Sync\SyncQualityOption.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Sync\SyncTarget.cs">
-      <Link>Sync\SyncTarget.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\System\Architecture.cs">
-      <Link>System\Architecture.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\System\LogFile.cs">
-      <Link>System\LogFile.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\System\PublicSystemInfo.cs">
-      <Link>System\PublicSystemInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\System\SystemInfo.cs">
-      <Link>System\SystemInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Tasks\SystemEvent.cs">
-      <Link>Tasks\SystemEvent.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Tasks\TaskCompletionStatus.cs">
-      <Link>Tasks\TaskCompletionStatus.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Tasks\TaskInfo.cs">
-      <Link>Tasks\TaskInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Tasks\TaskResult.cs">
-      <Link>Tasks\TaskResult.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Tasks\TaskState.cs">
-      <Link>Tasks\TaskState.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Tasks\TaskTriggerInfo.cs">
-      <Link>Tasks\TaskTriggerInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Updates\CheckForUpdateResult.cs">
-      <Link>Updates\CheckForUpdateResult.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Updates\InstallationInfo.cs">
-      <Link>Updates\InstallationInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Updates\PackageInfo.cs">
-      <Link>Updates\PackageInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Updates\PackageTargetSystem.cs">
-      <Link>Updates\PackageTargetSystem.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Updates\PackageVersionClass.cs">
-      <Link>Updates\PackageVersionClass.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Updates\PackageVersionInfo.cs">
-      <Link>Updates\PackageVersionInfo.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Users\AuthenticationResult.cs">
-      <Link>Users\AuthenticationResult.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Users\ForgotPasswordAction.cs">
-      <Link>Users\ForgotPasswordAction.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Users\ForgotPasswordResult.cs">
-      <Link>Users\ForgotPasswordResult.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Users\PinRedeemResult.cs">
-      <Link>Users\PinRedeemResult.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Users\UserAction.cs">
-      <Link>Users\UserAction.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Users\UserActionType.cs">
-      <Link>Users\UserActionType.cs</Link>
-    </Compile>
-    <Compile Include="..\MediaBrowser.Model\Users\UserPolicy.cs">
-      <Link>Users\UserPolicy.cs</Link>
-    </Compile>
-    <Compile Include="..\SharedVersion.cs">
-      <Link>Properties\SharedVersion.cs</Link>
-    </Compile>
-    <Compile Include="Properties\AssemblyInfo.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="MediaBrowser.Model.snk" />
-  </ItemGroup>
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
-  <PropertyGroup>
-    <PostBuildEvent>
-    </PostBuildEvent>
-  </PropertyGroup>
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
-       Other similar extension points exist, see Microsoft.Common.targets.
-  <Target Name="BeforeBuild">
-  </Target>
-  <Target Name="AfterBuild">
-  </Target>
-  -->
-</Project>

BIN
MediaBrowser.Model.net35/MediaBrowser.Model.snk


+ 0 - 30
MediaBrowser.Model.net35/Properties/AssemblyInfo.cs

@@ -1,30 +0,0 @@
-using System.Reflection;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following 
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("MediaBrowser.Model.net35")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("MediaBrowser.Model.net35")]
-[assembly: AssemblyCopyright("Copyright ©  2013")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// 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)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("801b3f80-cddc-4a3a-986b-3e7f0293da4b")]
-
-// Version information for an assembly consists of the following four values:
-//
-//      Major Version
-//      Minor Version 
-//      Build Number
-//      Revision
-//

+ 0 - 3
MediaBrowser.Model/Dlna/CodecProfile.cs

@@ -6,17 +6,14 @@ namespace MediaBrowser.Model.Dlna
 {
     public class CodecProfile
     {
-        [XmlAttribute("type")]
         public CodecType Type { get; set; }
        
         public ProfileCondition[] Conditions { get; set; }
 
         public ProfileCondition[] ApplyConditions { get; set; }
 
-        [XmlAttribute("codec")]
         public string Codec { get; set; }
 
-        [XmlAttribute("container")]
         public string Container { get; set; }
 
         public CodecProfile()

Some files were not shown because too many files changed in this diff