Selaa lähdekoodia

Merge pull request #2690 from MediaBrowser/dev

Dev
Luke 8 vuotta sitten
vanhempi
sitoutus
b10021b35f
58 muutettua tiedostoa jossa 307 lisäystä ja 2513 poistoa
  1. 0 4
      BDInfo/BDInfo.csproj
  2. 0 17
      BDInfo/project.json
  3. 0 4
      DvdLib/DvdLib.csproj
  4. 0 17
      DvdLib/project.json
  5. 2 3
      Emby.Common.Implementations/Emby.Common.Implementations.csproj
  6. 1 0
      Emby.Common.Implementations/TextEncoding/TextEncoding.cs
  7. 1 1
      Emby.Common.Implementations/packages.config
  8. 1 1
      Emby.Dlna/Profiles/DefaultProfile.cs
  9. 1 36
      Emby.Dlna/Profiles/MediaMonkeyProfile.cs
  10. 1 1
      Emby.Dlna/Profiles/Xml/Default.xml
  11. 1 6
      Emby.Dlna/Profiles/Xml/MediaMonkey.xml
  12. 0 17
      Emby.Dlna/project.json
  13. 4 11
      Emby.Drawing.Skia/SkiaEncoder.cs
  14. 0 17
      Emby.Drawing/project.json
  15. 0 17
      Emby.Photos/project.json
  16. 2 3
      Emby.Server.Core/Emby.Server.Core.csproj
  17. 1 1
      Emby.Server.Core/packages.config
  18. 1 2
      Emby.Server.Implementations/Library/UserManager.cs
  19. 0 1
      MediaBrowser.Api/Playback/BaseStreamingService.cs
  20. 13 0
      MediaBrowser.Api/Playback/MediaInfoService.cs
  21. 0 242
      MediaBrowser.Api/Playback/StreamState.cs
  22. 0 17
      MediaBrowser.Api/project.json
  23. 0 3
      MediaBrowser.Common/MediaBrowser.Common.csproj
  24. 0 17
      MediaBrowser.Common/project.json
  25. 0 4
      MediaBrowser.Controller/MediaBrowser.Controller.csproj
  26. 266 1
      MediaBrowser.Controller/MediaEncoding/EncodingJobInfo.cs
  27. 0 17
      MediaBrowser.Controller/project.json
  28. 2 17
      MediaBrowser.LocalMetadata/Images/EpisodeLocalImageProvider.cs
  29. 0 9
      MediaBrowser.LocalMetadata/MediaBrowser.LocalMetadata.csproj
  30. 0 271
      MediaBrowser.LocalMetadata/Parsers/EpisodeXmlParser.cs
  31. 0 65
      MediaBrowser.LocalMetadata/Parsers/MovieXmlParser.cs
  32. 0 51
      MediaBrowser.LocalMetadata/Parsers/MusicVideoXmlParser.cs
  33. 0 102
      MediaBrowser.LocalMetadata/Parsers/SeriesXmlParser.cs
  34. 0 50
      MediaBrowser.LocalMetadata/Providers/EpisodeXmlProvider.cs
  35. 0 62
      MediaBrowser.LocalMetadata/Providers/MovieXmlProvider.cs
  36. 0 37
      MediaBrowser.LocalMetadata/Providers/MusicVideoXmlProvider.cs
  37. 0 50
      MediaBrowser.LocalMetadata/Providers/SeriesXmlProvider.cs
  38. 0 37
      MediaBrowser.LocalMetadata/Providers/VideoXmlProvider.cs
  39. 0 17
      MediaBrowser.LocalMetadata/project.json
  40. 0 242
      MediaBrowser.MediaEncoding/Encoder/EncodingJob.cs
  41. 0 1
      MediaBrowser.MediaEncoding/Encoder/EncodingJobFactory.cs
  42. 1 6
      MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs
  43. 0 17
      MediaBrowser.MediaEncoding/project.json
  44. 0 4
      MediaBrowser.Model/MediaBrowser.Model.csproj
  45. 0 17
      MediaBrowser.Model/project.json
  46. 0 17
      MediaBrowser.Providers/project.json
  47. 0 17
      MediaBrowser.Server.Implementations/project.json
  48. 2 3
      MediaBrowser.Server.Mono/MediaBrowser.Server.Mono.csproj
  49. 1 1
      MediaBrowser.Server.Mono/packages.config
  50. 0 9
      MediaBrowser.ServerApplication/ImageEncoderHelper.cs
  51. 4 878
      MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj
  52. 1 1
      MediaBrowser.ServerApplication/packages.config
  53. 0 17
      MediaBrowser.WebDashboard/project.json
  54. 0 17
      MediaBrowser.XbmcMetadata/project.json
  55. 0 3
      OpenSubtitlesHandler/OpenSubtitlesHandler.csproj
  56. 0 17
      OpenSubtitlesHandler/project.json
  57. 0 17
      RSSDP/project.json
  58. 1 1
      SharedVersion.cs

+ 0 - 4
BDInfo/BDInfo.csproj

@@ -33,10 +33,6 @@
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
   </PropertyGroup>
-  <ItemGroup>
-    <None Include="project.json" />
-    <!-- A reference to the entire .NET Framework is automatically included -->
-  </ItemGroup>
   <ItemGroup>
     <Compile Include="BDInfoSettings.cs" />
     <Compile Include="BDROM.cs" />

+ 0 - 17
BDInfo/project.json

@@ -1,17 +0,0 @@
-{
-    "frameworks":{
-        "netstandard1.6":{
-           "dependencies":{
-                "NETStandard.Library":"1.6.0",
-            }
-        },
-        ".NETPortable,Version=v4.5,Profile=Profile7":{
-            "buildOptions": {
-                "define": [  ]
-            },
-            "frameworkAssemblies":{
-                
-            }
-        }
-    }
-}

+ 0 - 4
DvdLib/DvdLib.csproj

@@ -33,10 +33,6 @@
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
   </PropertyGroup>
-  <ItemGroup>
-    <None Include="project.json" />
-    <!-- A reference to the entire .NET Framework is automatically included -->
-  </ItemGroup>
   <ItemGroup>
     <Compile Include="BigEndianBinaryReader.cs" />
     <Compile Include="Ifo\AudioAttributes.cs" />

+ 0 - 17
DvdLib/project.json

@@ -1,17 +0,0 @@
-{
-    "frameworks":{
-        "netstandard1.6":{
-           "dependencies":{
-                "NETStandard.Library":"1.6.0",
-            }
-        },
-        ".NETPortable,Version=v4.5,Profile=Profile7":{
-            "buildOptions": {
-                "define": [  ]
-            },
-            "frameworkAssemblies":{
-                
-            }
-        }
-    }
-}

+ 2 - 3
Emby.Common.Implementations/Emby.Common.Implementations.csproj

@@ -42,9 +42,8 @@
       <HintPath>..\packages\SharpCompress.0.14.0\lib\net45\SharpCompress.dll</HintPath>
       <Private>True</Private>
     </Reference>
-    <Reference Include="SimpleInjector, Version=4.0.7.0, Culture=neutral, PublicKeyToken=984cb50dea722e99, processorArchitecture=MSIL">
-      <HintPath>..\packages\SimpleInjector.4.0.7\lib\net45\SimpleInjector.dll</HintPath>
-      <Private>True</Private>
+    <Reference Include="SimpleInjector, Version=4.0.8.0, Culture=neutral, PublicKeyToken=984cb50dea722e99, processorArchitecture=MSIL">
+      <HintPath>..\packages\SimpleInjector.4.0.8\lib\net45\SimpleInjector.dll</HintPath>
     </Reference>
     <Reference Include="System" />
     <Reference Include="System.Core" />

+ 1 - 0
Emby.Common.Implementations/TextEncoding/TextEncoding.cs

@@ -157,6 +157,7 @@ namespace Emby.Common.Implementations.TextEncoding
                 case "ota":
                 case "tur":
                     return "windows-1254";
+                case "bgr":
                 case "rus":
                     return "windows-1251";
                 case "vie":

+ 1 - 1
Emby.Common.Implementations/packages.config

@@ -3,5 +3,5 @@
   <package id="NLog" version="4.4.10" targetFramework="net46" />
   <package id="ServiceStack.Text" version="4.5.8" targetFramework="net462" />
   <package id="SharpCompress" version="0.14.0" targetFramework="net462" />
-  <package id="SimpleInjector" version="4.0.7" targetFramework="net462" />
+  <package id="SimpleInjector" version="4.0.8" targetFramework="net46" />
 </packages>

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

@@ -70,7 +70,7 @@ namespace Emby.Dlna.Profiles
 
                 new DirectPlayProfile
                 {
-                    Container = "aac,mp3,mpa,wav,wma,mp2,ogg,oga,webma,ape,opus,flac",
+                    Container = "aac,mp3,mpa,wav,wma,mp2,ogg,oga,webma,ape,opus,flac,m4a",
                     Type = DlnaProfileType.Audio
                 }
             };

+ 1 - 36
Emby.Dlna/Profiles/MediaMonkeyProfile.cs

@@ -31,42 +31,7 @@ namespace Emby.Dlna.Profiles
             {
                 new DirectPlayProfile
                 {
-                    Container = "mp3",
-                    AudioCodec = "mp2,mp3",
-                    Type = DlnaProfileType.Audio
-                },
-
-                new DirectPlayProfile
-                {
-                    Container = "mp4",
-                    AudioCodec = "mp4",
-                    Type = DlnaProfileType.Audio
-                },
-
-                new DirectPlayProfile
-                {
-                    Container = "aac,wav",
-                    Type = DlnaProfileType.Audio
-                },
-
-                new DirectPlayProfile
-                {
-                    Container = "flac",
-                    AudioCodec = "flac",
-                    Type = DlnaProfileType.Audio
-                },
-
-                new DirectPlayProfile
-                {
-                    Container = "asf",
-                    AudioCodec = "wmav2,wmapro,wmavoice",
-                    Type = DlnaProfileType.Audio
-                },
-
-                new DirectPlayProfile
-                {
-                    Container = "ogg",
-                    AudioCodec = "vorbis",
+                    Container = "aac,mp3,mpa,wav,wma,mp2,ogg,oga,webma,ape,opus,flac,m4a",
                     Type = DlnaProfileType.Audio
                 }
             };

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

@@ -30,7 +30,7 @@
   <XmlRootAttributes />
   <DirectPlayProfiles>
     <DirectPlayProfile container="m4v,mpegts,ts,3gp,mov,xvid,vob,mkv,wmv,asf,ogm,ogv,m2v,avi,mpg,mpeg,mp4,webm,wtv,m2ts,dvr-ms" type="Video" />
-    <DirectPlayProfile container="aac,mp3,mpa,wav,wma,mp2,ogg,oga,webma,ape,opus,flac" type="Audio" />
+    <DirectPlayProfile container="aac,mp3,mpa,wav,wma,mp2,ogg,oga,webma,ape,opus,flac,m4a" type="Audio" />
   </DirectPlayProfiles>
   <TranscodingProfiles>
     <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" />

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

@@ -35,12 +35,7 @@
   <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests>
   <XmlRootAttributes />
   <DirectPlayProfiles>
-    <DirectPlayProfile container="mp3" audioCodec="mp2,mp3" type="Audio" />
-    <DirectPlayProfile container="mp4" audioCodec="mp4" type="Audio" />
-    <DirectPlayProfile container="aac,wav" type="Audio" />
-    <DirectPlayProfile container="flac" audioCodec="flac" type="Audio" />
-    <DirectPlayProfile container="asf" audioCodec="wmav2,wmapro,wmavoice" type="Audio" />
-    <DirectPlayProfile container="ogg" audioCodec="vorbis" type="Audio" />
+    <DirectPlayProfile container="aac,mp3,mpa,wav,wma,mp2,ogg,oga,webma,ape,opus,flac,m4a" type="Audio" />
   </DirectPlayProfiles>
   <TranscodingProfiles>
     <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" />

+ 0 - 17
Emby.Dlna/project.json

@@ -1,17 +0,0 @@
-{
-    "frameworks":{
-        "netstandard1.6":{
-           "dependencies":{
-                "NETStandard.Library":"1.6.0",
-            }
-        },
-        ".NETPortable,Version=v4.5,Profile=Profile7":{
-            "buildOptions": {
-                "define": [  ]
-            },
-            "frameworkAssemblies":{
-                
-            }
-        }
-    }
-}

+ 4 - 11
Emby.Drawing.Skia/SkiaEncoder.cs

@@ -126,11 +126,11 @@ namespace Emby.Drawing.Skia
             for (int row = 0; row < bitmap.Height; ++row)
             {
                 if (IsAllWhiteRow(bitmap, row))
-                    topmost = row;
+                    topmost = row + 1;
                 else break;
             }
 
-            int bottommost = 0;
+            int bottommost = bitmap.Height;
             for (int row = bitmap.Height - 1; row >= 0; --row)
             {
                 if (IsAllWhiteRow(bitmap, row))
@@ -138,11 +138,11 @@ namespace Emby.Drawing.Skia
                 else break;
             }
 
-            int leftmost = 0, rightmost = 0;
+            int leftmost = 0, rightmost = bitmap.Width;
             for (int col = 0; col < bitmap.Width; ++col)
             {
                 if (IsAllWhiteColumn(bitmap, col))
-                    leftmost = col;
+                    leftmost = col + 1;
                 else
                     break;
             }
@@ -162,13 +162,6 @@ namespace Emby.Drawing.Skia
                 using (var subset = image.Subset(newRect))
                 {
                     return SKBitmap.FromImage(subset);
-                    //using (var data = subset.Encode(StripCollageBuilder.GetEncodedFormat(outputPath), 90))
-                    //{
-                    //    using (var fileStream = _fileSystem.GetFileStream(outputPath, FileOpenMode.Create, FileAccessMode.Write, FileShareMode.Read))
-                    //    {
-                    //        data.AsStream().CopyTo(fileStream);
-                    //    }
-                    //}
                 }
             }
         }

+ 0 - 17
Emby.Drawing/project.json

@@ -1,17 +0,0 @@
-{
-    "frameworks":{
-        "netstandard1.6":{
-           "dependencies":{
-                "NETStandard.Library":"1.6.0",
-            }
-        },
-        ".NETPortable,Version=v4.5,Profile=Profile7":{
-            "buildOptions": {
-                "define": [  ]
-            },
-            "frameworkAssemblies":{
-                
-            }
-        }
-    }
-}

+ 0 - 17
Emby.Photos/project.json

@@ -1,17 +0,0 @@
-{
-    "frameworks":{
-        "netstandard1.6":{
-           "dependencies":{
-                "NETStandard.Library":"1.6.0",
-            }
-        },
-        ".NETPortable,Version=v4.5,Profile=Profile7":{
-            "buildOptions": {
-                "define": [  ]
-            },
-            "frameworkAssemblies":{
-                
-            }
-        }
-    }
-}

+ 2 - 3
Emby.Server.Core/Emby.Server.Core.csproj

@@ -41,9 +41,8 @@
       <HintPath>..\packages\ServiceStack.Text.4.5.8\lib\net45\ServiceStack.Text.dll</HintPath>
       <Private>True</Private>
     </Reference>
-    <Reference Include="SimpleInjector, Version=4.0.7.0, Culture=neutral, PublicKeyToken=984cb50dea722e99, processorArchitecture=MSIL">
-      <HintPath>..\packages\SimpleInjector.4.0.7\lib\net45\SimpleInjector.dll</HintPath>
-      <Private>True</Private>
+    <Reference Include="SimpleInjector, Version=4.0.8.0, Culture=neutral, PublicKeyToken=984cb50dea722e99, processorArchitecture=MSIL">
+      <HintPath>..\packages\SimpleInjector.4.0.8\lib\net45\SimpleInjector.dll</HintPath>
     </Reference>
     <Reference Include="System" />
     <Reference Include="System.Configuration" />

+ 1 - 1
Emby.Server.Core/packages.config

@@ -2,5 +2,5 @@
 <packages>
   <package id="Microsoft.IO.RecyclableMemoryStream" version="1.2.2" targetFramework="net462" />
   <package id="ServiceStack.Text" version="4.5.8" targetFramework="net462" />
-  <package id="SimpleInjector" version="4.0.7" targetFramework="net462" />
+  <package id="SimpleInjector" version="4.0.8" targetFramework="net46" />
 </packages>

+ 1 - 2
Emby.Server.Implementations/Library/UserManager.cs

@@ -202,8 +202,7 @@ namespace Emby.Server.Implementations.Library
 
         private bool IsValidUsernameCharacter(char i)
         {
-            return char.IsLetterOrDigit(i) || char.Equals(i, '-') || char.Equals(i, '_') || char.Equals(i, '\'') ||
-                   char.Equals(i, '.');
+            return !char.Equals(i, '<') && !char.Equals(i, '>');
         }
 
         public string MakeValidUsername(string username)

+ 0 - 1
MediaBrowser.Api/Playback/BaseStreamingService.cs

@@ -783,7 +783,6 @@ namespace MediaBrowser.Api.Playback
             state.OutputContainer = (container ?? string.Empty).TrimStart('.');
 
             state.OutputAudioBitrate = EncodingHelper.GetAudioBitrateParam(state.Request, state.AudioStream);
-            state.OutputAudioSampleRate = request.AudioSampleRate;
 
             state.OutputAudioCodec = state.Request.AudioCodec;
 

+ 13 - 0
MediaBrowser.Api/Playback/MediaInfoService.cs

@@ -357,6 +357,19 @@ namespace MediaBrowser.Api.Playback
                 mediaSource.SupportsTranscoding = false;
             }
 
+            if (item is Audio)
+            {
+                Logger.Info("User policy for {0}. EnableAudioPlaybackTranscoding: {1}", user.Name, user.Policy.EnableAudioPlaybackTranscoding);
+            }
+            else
+            {
+                Logger.Info("User policy for {0}. EnablePlaybackRemuxing: {1} EnableVideoPlaybackTranscoding: {2} EnableAudioPlaybackTranscoding: {3}", 
+                    user.Name,
+                    user.Policy.EnablePlaybackRemuxing,
+                    user.Policy.EnableVideoPlaybackTranscoding, 
+                    user.Policy.EnableAudioPlaybackTranscoding);
+            }
+
             if (mediaSource.SupportsDirectPlay)
             {
                 if (mediaSource.IsRemote && forceDirectPlayRemoteMediaSource)

+ 0 - 242
MediaBrowser.Api/Playback/StreamState.cs

@@ -250,248 +250,6 @@ namespace MediaBrowser.Api.Playback
 
         public DeviceProfile DeviceProfile { get; set; }
 
-        public int? TotalOutputBitrate
-        {
-            get
-            {
-                return (OutputAudioBitrate ?? 0) + (OutputVideoBitrate ?? 0);
-            }
-        }
-
-        public int? OutputWidth
-        {
-            get
-            {
-                if (VideoStream != null && VideoStream.Width.HasValue && VideoStream.Height.HasValue)
-                {
-                    var size = new ImageSize
-                    {
-                        Width = VideoStream.Width.Value,
-                        Height = VideoStream.Height.Value
-                    };
-
-                    var newSize = DrawingUtils.Resize(size,
-                        VideoRequest.Width,
-                        VideoRequest.Height,
-                        VideoRequest.MaxWidth,
-                        VideoRequest.MaxHeight);
-
-                    return Convert.ToInt32(newSize.Width);
-                }
-
-                if (VideoRequest == null)
-                {
-                    return null;
-                }
-
-                return VideoRequest.MaxWidth ?? VideoRequest.Width;
-            }
-        }
-
-        public int? OutputHeight
-        {
-            get
-            {
-                if (VideoStream != null && VideoStream.Width.HasValue && VideoStream.Height.HasValue)
-                {
-                    var size = new ImageSize
-                    {
-                        Width = VideoStream.Width.Value,
-                        Height = VideoStream.Height.Value
-                    };
-
-                    var newSize = DrawingUtils.Resize(size,
-                        VideoRequest.Width,
-                        VideoRequest.Height,
-                        VideoRequest.MaxWidth,
-                        VideoRequest.MaxHeight);
-
-                    return Convert.ToInt32(newSize.Height);
-                }
-
-                if (VideoRequest == null)
-                {
-                    return null;
-                }
-
-                return VideoRequest.MaxHeight ?? VideoRequest.Height;
-            }
-        }
-
-        /// <summary>
-        /// Predicts the audio sample rate that will be in the output stream
-        /// </summary>
-        public int? TargetVideoBitDepth
-        {
-            get
-            {
-                var stream = VideoStream;
-                return stream == null || !Request.Static ? null : stream.BitDepth;
-            }
-        }
-
-        /// <summary>
-        /// Gets the target reference frames.
-        /// </summary>
-        /// <value>The target reference frames.</value>
-        public int? TargetRefFrames
-        {
-            get
-            {
-                var stream = VideoStream;
-                return stream == null || !Request.Static ? null : stream.RefFrames;
-            }
-        }
-
-        public int? TargetVideoStreamCount
-        {
-            get
-            {
-                if (Request.Static)
-                {
-                    return GetMediaStreamCount(MediaStreamType.Video, int.MaxValue);
-                }
-                return GetMediaStreamCount(MediaStreamType.Video, 1);
-            }
-        }
-
-        public int? TargetAudioStreamCount
-        {
-            get
-            {
-                if (Request.Static)
-                {
-                    return GetMediaStreamCount(MediaStreamType.Audio, int.MaxValue);
-                }
-                return GetMediaStreamCount(MediaStreamType.Audio, 1);
-            }
-        }
-
-        public bool? IsTargetAnamorphic
-        {
-            get
-            {
-                if (Request.Static)
-                {
-                    return VideoStream == null ? null : VideoStream.IsAnamorphic;
-                }
-
-                return false;
-            }
-        }
-
-        public bool? IsTargetInterlaced
-        {
-            get
-            {
-                if (Request.Static)
-                {
-                    return VideoStream == null ? (bool?)null : VideoStream.IsInterlaced;
-                }
-
-                if (DeInterlace)
-                {
-                    return false;
-                }
-
-                return VideoStream == null ? (bool?)null : VideoStream.IsInterlaced;
-            }
-        }
-
-        private int? GetMediaStreamCount(MediaStreamType type, int limit)
-        {
-            var count = MediaSource.GetStreamCount(type);
-
-            if (count.HasValue)
-            {
-                count = Math.Min(count.Value, limit);
-            }
-
-            return count;
-        }
-
-        /// <summary>
-        /// Predicts the audio sample rate that will be in the output stream
-        /// </summary>
-        public float? TargetFramerate
-        {
-            get
-            {
-                var stream = VideoStream;
-                var requestedFramerate = VideoRequest.MaxFramerate ?? VideoRequest.Framerate;
-
-                return requestedFramerate.HasValue && !Request.Static
-                    ? requestedFramerate
-                    : stream == null ? null : stream.AverageFrameRate ?? stream.RealFrameRate;
-            }
-        }
-
-        public TransportStreamTimestamp TargetTimestamp
-        {
-            get
-            {
-                var defaultValue = string.Equals(OutputContainer, "m2ts", StringComparison.OrdinalIgnoreCase) ?
-                    TransportStreamTimestamp.Valid :
-                    TransportStreamTimestamp.None;
-
-                return !Request.Static
-                    ? defaultValue
-                    : InputTimestamp;
-            }
-        }
-
-        /// <summary>
-        /// Predicts the audio sample rate that will be in the output stream
-        /// </summary>
-        public int? TargetPacketLength
-        {
-            get
-            {
-                var stream = VideoStream;
-                return !Request.Static
-                    ? null
-                    : stream == null ? null : stream.PacketLength;
-            }
-        }
-
-        /// <summary>
-        /// Predicts the audio sample rate that will be in the output stream
-        /// </summary>
-        public string TargetVideoProfile
-        {
-            get
-            {
-                var stream = VideoStream;
-                return !string.IsNullOrEmpty(VideoRequest.Profile) && !Request.Static
-                    ? VideoRequest.Profile
-                    : stream == null ? null : stream.Profile;
-            }
-        }
-
-        public string TargetVideoCodecTag
-        {
-            get
-            {
-                var stream = VideoStream;
-                return !Request.Static
-                    ? null
-                    : stream == null ? null : stream.CodecTag;
-            }
-        }
-
-        public bool? IsTargetAVC
-        {
-            get
-            {
-                if (Request.Static)
-                {
-                    return VideoStream == null ? null : VideoStream.IsAVC;
-                }
-
-                return true;
-            }
-        }
-
         public TranscodingJob TranscodingJob;
         public override void ReportTranscodingProgress(TimeSpan? transcodingPosition, float? framerate, double? percentComplete, long? bytesTranscoded, int? bitRate)
         {

+ 0 - 17
MediaBrowser.Api/project.json

@@ -1,17 +0,0 @@
-{
-    "frameworks":{
-        "netstandard1.6":{
-           "dependencies":{
-                "NETStandard.Library":"1.6.0",
-            }
-        },
-        ".NETPortable,Version=v4.5,Profile=Profile7":{
-            "buildOptions": {
-                "define": [  ]
-            },
-            "frameworkAssemblies":{
-                
-            }
-        }
-    }
-}

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

@@ -72,9 +72,6 @@
       <Name>MediaBrowser.Model</Name>
     </ProjectReference>
   </ItemGroup>
-  <ItemGroup>
-    <None Include="project.json" />
-  </ItemGroup>
   <ItemGroup />
   <Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" />
   <PropertyGroup>

+ 0 - 17
MediaBrowser.Common/project.json

@@ -1,17 +0,0 @@
-{
-    "frameworks":{
-        "netstandard1.6":{
-           "dependencies":{
-                "NETStandard.Library":"1.6.0",
-            }
-        },
-        ".NETPortable,Version=v4.5,Profile=Profile7":{
-            "buildOptions": {
-                "define": [  ]
-            },
-            "frameworkAssemblies":{
-                
-            }
-        }
-    }
-}

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

@@ -36,10 +36,6 @@
   <PropertyGroup>
     <RunPostBuildEvent>Always</RunPostBuildEvent>
   </PropertyGroup>
-  <ItemGroup>
-    <None Include="project.json" />
-    <!-- A reference to the entire .NET Framework is automatically included -->
-  </ItemGroup>
   <ItemGroup>
     <Compile Include="..\SharedVersion.cs">
       <Link>Properties\SharedVersion.cs</Link>

+ 266 - 1
MediaBrowser.Controller/MediaEncoding/EncodingJobInfo.cs

@@ -8,6 +8,7 @@ using MediaBrowser.Model.Entities;
 using MediaBrowser.Model.IO;
 using MediaBrowser.Model.Logging;
 using MediaBrowser.Model.MediaInfo;
+using MediaBrowser.Model.Drawing;
 
 namespace MediaBrowser.Controller.MediaEncoding
 {
@@ -134,7 +135,6 @@ namespace MediaBrowser.Controller.MediaEncoding
 
         public int? OutputAudioBitrate;
         public int? OutputAudioChannels;
-        public int? OutputAudioSampleRate;
         public bool DeInterlace { get; set; }
         public bool IsVideoRequest { get; set; }
         public TranscodingJobType TranscodingType { get; set; }
@@ -173,6 +173,97 @@ namespace MediaBrowser.Controller.MediaEncoding
             return false;
         }
 
+        public int? TotalOutputBitrate
+        {
+            get
+            {
+                return (OutputAudioBitrate ?? 0) + (OutputVideoBitrate ?? 0);
+            }
+        }
+
+        public int? OutputWidth
+        {
+            get
+            {
+                if (VideoStream != null && VideoStream.Width.HasValue && VideoStream.Height.HasValue)
+                {
+                    var size = new ImageSize
+                    {
+                        Width = VideoStream.Width.Value,
+                        Height = VideoStream.Height.Value
+                    };
+
+                    var newSize = DrawingUtils.Resize(size,
+                        BaseRequest.Width,
+                        BaseRequest.Height,
+                        BaseRequest.MaxWidth,
+                        BaseRequest.MaxHeight);
+
+                    return Convert.ToInt32(newSize.Width);
+                }
+
+                if (!IsVideoRequest)
+                {
+                    return null;
+                }
+
+                return BaseRequest.MaxWidth ?? BaseRequest.Width;
+            }
+        }
+
+        public int? OutputHeight
+        {
+            get
+            {
+                if (VideoStream != null && VideoStream.Width.HasValue && VideoStream.Height.HasValue)
+                {
+                    var size = new ImageSize
+                    {
+                        Width = VideoStream.Width.Value,
+                        Height = VideoStream.Height.Value
+                    };
+
+                    var newSize = DrawingUtils.Resize(size,
+                        BaseRequest.Width,
+                        BaseRequest.Height,
+                        BaseRequest.MaxWidth,
+                        BaseRequest.MaxHeight);
+
+                    return Convert.ToInt32(newSize.Height);
+                }
+
+                if (!IsVideoRequest)
+                {
+                    return null;
+                }
+
+                return BaseRequest.MaxHeight ?? BaseRequest.Height;
+            }
+        }
+
+        public int? OutputAudioSampleRate
+        {
+            get
+            {
+                if (BaseRequest.Static || string.Equals(OutputAudioCodec, "copy", StringComparison.OrdinalIgnoreCase))
+                {
+                    if (AudioStream != null)
+                    {
+                        return AudioStream.SampleRate;
+                    }
+                } 
+
+                else if (BaseRequest.AudioSampleRate.HasValue)
+                {
+                    // Don't exceed what the encoder supports
+                    // Seeing issues of attempting to encode to 88200
+                    return Math.Min(44100, BaseRequest.AudioSampleRate.Value);
+                }
+
+                return null;
+            }
+        }
+
         /// <summary>
         /// Predicts the audio sample rate that will be in the output stream
         /// </summary>
@@ -189,6 +280,180 @@ namespace MediaBrowser.Controller.MediaEncoding
             }
         }
 
+        /// <summary>
+        /// Predicts the audio sample rate that will be in the output stream
+        /// </summary>
+        public int? TargetVideoBitDepth
+        {
+            get
+            {
+                var stream = VideoStream;
+                return stream == null || !BaseRequest.Static ? null : stream.BitDepth;
+            }
+        }
+
+        /// <summary>
+        /// Gets the target reference frames.
+        /// </summary>
+        /// <value>The target reference frames.</value>
+        public int? TargetRefFrames
+        {
+            get
+            {
+                var stream = VideoStream;
+                return stream == null || !BaseRequest.Static ? null : stream.RefFrames;
+            }
+        }
+
+        /// <summary>
+        /// Predicts the audio sample rate that will be in the output stream
+        /// </summary>
+        public float? TargetFramerate
+        {
+            get
+            {
+                var stream = VideoStream;
+                var requestedFramerate = BaseRequest.MaxFramerate ?? BaseRequest.Framerate;
+
+                return requestedFramerate.HasValue && !BaseRequest.Static
+                    ? requestedFramerate
+                    : stream == null ? null : stream.AverageFrameRate ?? stream.RealFrameRate;
+            }
+        }
+
+        public TransportStreamTimestamp TargetTimestamp
+        {
+            get
+            {
+                var defaultValue = string.Equals(OutputContainer, "m2ts", StringComparison.OrdinalIgnoreCase) ?
+                    TransportStreamTimestamp.Valid :
+                    TransportStreamTimestamp.None;
+
+                return !BaseRequest.Static
+                    ? defaultValue
+                    : InputTimestamp;
+            }
+        }
+
+        /// <summary>
+        /// Predicts the audio sample rate that will be in the output stream
+        /// </summary>
+        public int? TargetPacketLength
+        {
+            get
+            {
+                var stream = VideoStream;
+                return !BaseRequest.Static
+                    ? null
+                    : stream == null ? null : stream.PacketLength;
+            }
+        }
+
+        /// <summary>
+        /// Predicts the audio sample rate that will be in the output stream
+        /// </summary>
+        public string TargetVideoProfile
+        {
+            get
+            {
+                var stream = VideoStream;
+                return !string.IsNullOrEmpty(BaseRequest.Profile) && !BaseRequest.Static
+                    ? BaseRequest.Profile
+                    : stream == null ? null : stream.Profile;
+            }
+        }
+
+        public string TargetVideoCodecTag
+        {
+            get
+            {
+                var stream = VideoStream;
+                return !BaseRequest.Static
+                    ? null
+                    : stream == null ? null : stream.CodecTag;
+            }
+        }
+
+        public bool? IsTargetAnamorphic
+        {
+            get
+            {
+                if (BaseRequest.Static)
+                {
+                    return VideoStream == null ? null : VideoStream.IsAnamorphic;
+                }
+
+                return false;
+            }
+        }
+
+        public bool? IsTargetInterlaced
+        {
+            get
+            {
+                if (BaseRequest.Static)
+                {
+                    return VideoStream == null ? (bool?)null : VideoStream.IsInterlaced;
+                }
+
+                if (DeInterlace)
+                {
+                    return false;
+                }
+
+                return VideoStream == null ? (bool?)null : VideoStream.IsInterlaced;
+            }
+        }
+
+        public bool? IsTargetAVC
+        {
+            get
+            {
+                if (BaseRequest.Static)
+                {
+                    return VideoStream == null ? null : VideoStream.IsAVC;
+                }
+
+                return false;
+            }
+        }
+
+        public int? TargetVideoStreamCount
+        {
+            get
+            {
+                if (BaseRequest.Static)
+                {
+                    return GetMediaStreamCount(MediaStreamType.Video, int.MaxValue);
+                }
+                return GetMediaStreamCount(MediaStreamType.Video, 1);
+            }
+        }
+
+        public int? TargetAudioStreamCount
+        {
+            get
+            {
+                if (BaseRequest.Static)
+                {
+                    return GetMediaStreamCount(MediaStreamType.Audio, int.MaxValue);
+                }
+                return GetMediaStreamCount(MediaStreamType.Audio, 1);
+            }
+        }
+
+        private int? GetMediaStreamCount(MediaStreamType type, int limit)
+        {
+            var count = MediaSource.GetStreamCount(type);
+
+            if (count.HasValue)
+            {
+                count = Math.Min(count.Value, limit);
+            }
+
+            return count;
+        }
+
         protected void DisposeIsoMount()
         {
             if (IsoMount != null)

+ 0 - 17
MediaBrowser.Controller/project.json

@@ -1,17 +0,0 @@
-{
-    "frameworks":{
-        "netstandard1.6":{
-           "dependencies":{
-                "NETStandard.Library":"1.6.0",
-            }
-        },
-        ".NETPortable,Version=v4.5,Profile=Profile7":{
-            "buildOptions": {
-                "define": [  ]
-            },
-            "frameworkAssemblies":{
-                
-            }
-        }
-    }
-}

+ 2 - 17
MediaBrowser.LocalMetadata/Images/EpisodeLocalImageProvider.cs

@@ -40,27 +40,12 @@ namespace MediaBrowser.LocalMetadata.Images
         {
             var parentPath = _fileSystem.GetDirectoryName(item.Path);
 
-            var parentPathFiles = directoryService.GetFileSystemEntries(parentPath)
+            var parentPathFiles = directoryService.GetFiles(parentPath)
                 .ToList();
 
             var nameWithoutExtension = _fileSystem.GetFileNameWithoutExtension(item.Path);
 
-            var files = GetFilesFromParentFolder(nameWithoutExtension, parentPathFiles);
-
-            if (files.Count > 0)
-            {
-                return files;
-            }
-
-            var metadataPath = Path.Combine(parentPath, "metadata");
-
-            if (parentPathFiles.Any(i => string.Equals(i.FullName, metadataPath, StringComparison.OrdinalIgnoreCase)))
-            {
-                var filesInMetadataFolder = _fileSystem.GetFiles(metadataPath, BaseItem.SupportedImageExtensions, false, false);
-                return GetFilesFromParentFolder(nameWithoutExtension, filesInMetadataFolder);
-            }
-
-            return new List<LocalImageInfo>();
+            return GetFilesFromParentFolder(nameWithoutExtension, parentPathFiles);
         }
 
         private List<LocalImageInfo> GetFilesFromParentFolder(string filenameWithoutExtension, IEnumerable<FileSystemMetadata> parentPathFiles)

+ 0 - 9
MediaBrowser.LocalMetadata/MediaBrowser.LocalMetadata.csproj

@@ -44,24 +44,15 @@
     <Compile Include="Images\LocalImageProvider.cs" />
     <Compile Include="Parsers\BaseItemXmlParser.cs" />
     <Compile Include="Parsers\BoxSetXmlParser.cs" />
-    <Compile Include="Parsers\EpisodeXmlParser.cs" />
     <Compile Include="Parsers\GameSystemXmlParser.cs" />
     <Compile Include="Parsers\GameXmlParser.cs" />
-    <Compile Include="Parsers\MovieXmlParser.cs" />
-    <Compile Include="Parsers\MusicVideoXmlParser.cs" />
     <Compile Include="Parsers\PlaylistXmlParser.cs" />
-    <Compile Include="Parsers\SeriesXmlParser.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
     <Compile Include="Providers\BoxSetXmlProvider.cs" />
-    <Compile Include="Providers\EpisodeXmlProvider.cs" />
     <Compile Include="Providers\FolderXmlProvider.cs" />
     <Compile Include="Providers\GameSystemXmlProvider.cs" />
     <Compile Include="Providers\GameXmlProvider.cs" />
-    <Compile Include="Providers\MovieXmlProvider.cs" />
-    <Compile Include="Providers\MusicVideoXmlProvider.cs" />
     <Compile Include="Providers\PlaylistXmlProvider.cs" />
-    <Compile Include="Providers\SeriesXmlProvider.cs" />
-    <Compile Include="Providers\VideoXmlProvider.cs" />
     <Compile Include="Savers\BaseXmlSaver.cs" />
     <Compile Include="Savers\BoxSetXmlSaver.cs" />
     <Compile Include="Savers\FolderXmlSaver.cs" />

+ 0 - 271
MediaBrowser.LocalMetadata/Parsers/EpisodeXmlParser.cs

@@ -1,271 +0,0 @@
-using MediaBrowser.Controller.Entities.TV;
-using MediaBrowser.Controller.Providers;
-using MediaBrowser.Model.Entities;
-using MediaBrowser.Model.Logging;
-using System;
-using System.Collections.Generic;
-using System.Globalization;
-using System.IO;
-using System.Threading;
-using System.Xml;
-
-using MediaBrowser.Controller.IO;
-using MediaBrowser.Model.IO;
-using MediaBrowser.Model.Xml;
-
-namespace MediaBrowser.LocalMetadata.Parsers
-{
-    /// <summary>
-    /// Class EpisodeXmlParser
-    /// </summary>
-    public class EpisodeXmlParser : BaseItemXmlParser<Episode>
-    {
-        private List<LocalImageInfo> _imagesFound;
-        private readonly IFileSystem _fileSystem;
-
-        public EpisodeXmlParser(ILogger logger, IFileSystem fileSystem, IProviderManager providerManager, IXmlReaderSettingsFactory xmlSettings)
-            : base(logger, providerManager, xmlSettings, fileSystem)
-        {
-            _fileSystem = fileSystem;
-        }
-
-        private string _xmlPath;
-
-        public void Fetch(MetadataResult<Episode> item, 
-            List<LocalImageInfo> images,
-            string metadataFile, 
-            CancellationToken cancellationToken)
-        {
-            _imagesFound = images;
-            _xmlPath = metadataFile;
-
-            Fetch(item, metadataFile, cancellationToken);
-        }
-
-        private static readonly CultureInfo UsCulture = new CultureInfo("en-US");
-
-        /// <summary>
-        /// Fetches the data from XML node.
-        /// </summary>
-        /// <param name="reader">The reader.</param>
-        /// <param name="result">The result.</param>
-        protected override void FetchDataFromXmlNode(XmlReader reader, MetadataResult<Episode> result)
-        {
-            var item = result.Item;
-
-            switch (reader.Name)
-            {
-                case "Episode":
-
-                    //MB generated metadata is within an "Episode" node
-                    using (var subTree = reader.ReadSubtree())
-                    {
-                        subTree.MoveToContent();
-
-                        // Loop through each element
-                        while (subTree.Read())
-                        {
-                            if (subTree.NodeType == XmlNodeType.Element)
-                            {
-                                FetchDataFromXmlNode(subTree, result);
-                            }
-                        }
-
-                    }
-                    break;
-
-                case "filename":
-                    {
-                        var filename = reader.ReadElementContentAsString();
-
-                        if (!string.IsNullOrWhiteSpace(filename))
-                        {
-                            // Strip off everything but the filename. Some metadata tools like MetaBrowser v1.0 will have an 'episodes' prefix
-                            // even though it's actually using the metadata folder.
-                            filename = Path.GetFileName(filename);
-
-                            var parentFolder = _fileSystem.GetDirectoryName(_xmlPath);
-                            filename = Path.Combine(parentFolder, filename);
-                            var file = _fileSystem.GetFileInfo(filename);
-
-                            if (file.Exists)
-                            {
-                                _imagesFound.Add(new LocalImageInfo
-                                {
-                                    Type = ImageType.Primary,
-                                    FileInfo = file
-                                });
-                            }
-                        }
-                        break;
-                    }
-                case "SeasonNumber":
-                    {
-                        var number = reader.ReadElementContentAsString();
-
-                        if (!string.IsNullOrWhiteSpace(number))
-                        {
-                            int num;
-
-                            if (int.TryParse(number, out num))
-                            {
-                                item.ParentIndexNumber = num;
-                            }
-                        }
-                        break;
-                    }
-
-                case "EpisodeNumber":
-                    {
-                        var number = reader.ReadElementContentAsString();
-
-                        if (!string.IsNullOrWhiteSpace(number))
-                        {
-                            int num;
-
-                            if (int.TryParse(number, out num))
-                            {
-                                item.IndexNumber = num;
-                            }
-                        }
-                        break;
-                    }
-
-                case "EpisodeNumberEnd":
-                    {
-                        var number = reader.ReadElementContentAsString();
-
-                        if (!string.IsNullOrWhiteSpace(number))
-                        {
-                            int num;
-
-                            if (int.TryParse(number, out num))
-                            {
-                                item.IndexNumberEnd = num;
-                            }
-                        }
-                        break;
-                    }
-
-                case "absolute_number":
-                    {
-                        var val = reader.ReadElementContentAsString();
-
-                        if (!string.IsNullOrWhiteSpace(val))
-                        {
-                            int rval;
-
-                            // int.TryParse is local aware, so it can be probamatic, force us culture
-                            if (int.TryParse(val, NumberStyles.Integer, UsCulture, out rval))
-                            {
-                                item.AbsoluteEpisodeNumber = rval;
-                            }
-                        }
-
-                        break;
-                    }
-                case "DVD_episodenumber":
-                    {
-                        var number = reader.ReadElementContentAsString();
-
-                        if (!string.IsNullOrWhiteSpace(number))
-                        {
-                            float num;
-
-                            if (float.TryParse(number, NumberStyles.Any, UsCulture, out num))
-                            {
-                                item.DvdEpisodeNumber = num;
-                            }
-                        }
-                        break;
-                    }
-
-                case "DVD_season":
-                    {
-                        var number = reader.ReadElementContentAsString();
-
-                        if (!string.IsNullOrWhiteSpace(number))
-                        {
-                            float num;
-
-                            if (float.TryParse(number, NumberStyles.Any, UsCulture, out num))
-                            {
-                                item.DvdSeasonNumber = Convert.ToInt32(num);
-                            }
-                        }
-                        break;
-                    }
-
-                case "airsbefore_episode":
-                    {
-                        var val = reader.ReadElementContentAsString();
-
-                        if (!string.IsNullOrWhiteSpace(val))
-                        {
-                            int rval;
-
-                            // int.TryParse is local aware, so it can be probamatic, force us culture
-                            if (int.TryParse(val, NumberStyles.Integer, UsCulture, out rval))
-                            {
-                                item.AirsBeforeEpisodeNumber = rval;
-                            }
-                        }
-
-                        break;
-                    }
-
-                case "airsafter_season":
-                    {
-                        var val = reader.ReadElementContentAsString();
-
-                        if (!string.IsNullOrWhiteSpace(val))
-                        {
-                            int rval;
-
-                            // int.TryParse is local aware, so it can be probamatic, force us culture
-                            if (int.TryParse(val, NumberStyles.Integer, UsCulture, out rval))
-                            {
-                                item.AirsAfterSeasonNumber = rval;
-                            }
-                        }
-
-                        break;
-                    }
-
-                case "airsbefore_season":
-                    {
-                        var val = reader.ReadElementContentAsString();
-
-                        if (!string.IsNullOrWhiteSpace(val))
-                        {
-                            int rval;
-
-                            // int.TryParse is local aware, so it can be probamatic, force us culture
-                            if (int.TryParse(val, NumberStyles.Integer, UsCulture, out rval))
-                            {
-                                item.AirsBeforeSeasonNumber = rval;
-                            }
-                        }
-
-                        break;
-                    }
-
-                case "EpisodeName":
-                    {
-                        var name = reader.ReadElementContentAsString();
-
-                        if (!string.IsNullOrWhiteSpace(name))
-                        {
-                            item.Name = name;
-                        }
-                        break;
-                    }
-
-
-                default:
-                    base.FetchDataFromXmlNode(reader, result);
-                    break;
-            }
-        }
-    }
-}

+ 0 - 65
MediaBrowser.LocalMetadata/Parsers/MovieXmlParser.cs

@@ -1,65 +0,0 @@
-using MediaBrowser.Controller.Entities;
-using MediaBrowser.Controller.Entities.Movies;
-using MediaBrowser.Controller.Providers;
-using MediaBrowser.Model.Logging;
-using System.Xml;
-using MediaBrowser.Model.IO;
-using MediaBrowser.Model.Xml;
-
-namespace MediaBrowser.LocalMetadata.Parsers
-{
-    /// <summary>
-    /// Class EpisodeXmlParser
-    /// </summary>
-    public class BaseVideoXmlParser<T> : BaseItemXmlParser<T>
-        where T : Video
-    {
-        /// <summary>
-        /// Fetches the data from XML node.
-        /// </summary>
-        /// <param name="reader">The reader.</param>
-        /// <param name="result">The result.</param>
-        protected override void FetchDataFromXmlNode(XmlReader reader, MetadataResult<T> result)
-        {
-            var item = result.Item;
-
-            switch (reader.Name)
-            {
-                case "TmdbCollectionName":
-                    {
-                        var val = reader.ReadElementContentAsString();
-                        var movie = item as Movie;
-
-                        if (!string.IsNullOrWhiteSpace(val) && movie != null)
-                        {
-                            movie.CollectionName = val;
-                        }
-
-                        break;
-                    }
-
-                default:
-                    base.FetchDataFromXmlNode(reader, result);
-                    break;
-            }
-        }
-
-        public BaseVideoXmlParser(ILogger logger, IProviderManager providerManager, IXmlReaderSettingsFactory xmlReaderSettingsFactory, IFileSystem fileSystem) : base(logger, providerManager, xmlReaderSettingsFactory, fileSystem)
-        {
-        }
-    }
-
-    public class MovieXmlParser : BaseVideoXmlParser<Movie>
-    {
-        public MovieXmlParser(ILogger logger, IProviderManager providerManager, IXmlReaderSettingsFactory xmlReaderSettingsFactory, IFileSystem fileSystem) : base(logger, providerManager, xmlReaderSettingsFactory, fileSystem)
-        {
-        }
-    }
-
-    public class VideoXmlParser : BaseVideoXmlParser<Video>
-    {
-        public VideoXmlParser(ILogger logger, IProviderManager providerManager, IXmlReaderSettingsFactory xmlReaderSettingsFactory, IFileSystem fileSystem) : base(logger, providerManager, xmlReaderSettingsFactory, fileSystem)
-        {
-        }
-    }
-}

+ 0 - 51
MediaBrowser.LocalMetadata/Parsers/MusicVideoXmlParser.cs

@@ -1,51 +0,0 @@
-using MediaBrowser.Controller.Entities;
-using MediaBrowser.Controller.Providers;
-using MediaBrowser.Model.Logging;
-using System;
-using System.Xml;
-using MediaBrowser.Model.IO;
-using MediaBrowser.Model.Xml;
-
-namespace MediaBrowser.LocalMetadata.Parsers
-{
-    public class MusicVideoXmlParser : BaseVideoXmlParser<MusicVideo>
-    {
-        /// <summary>
-        /// Fetches the data from XML node.
-        /// </summary>
-        /// <param name="reader">The reader.</param>
-        /// <param name="result">The result.</param>
-        protected override void FetchDataFromXmlNode(XmlReader reader, MetadataResult<MusicVideo> result)
-        {
-            var item = result.Item;
-
-            switch (reader.Name)
-            {
-                case "Artist":
-                    {
-                        var val = reader.ReadElementContentAsString();
-
-                        if (!string.IsNullOrWhiteSpace(val))
-                        {
-                            var artists = val.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
-                            item.Artists.AddRange(artists);
-                        }
-
-                        break;
-                    }
-
-                case "Album":
-                    item.Album = reader.ReadElementContentAsString();
-                    break;
-
-                default:
-                    base.FetchDataFromXmlNode(reader, result);
-                    break;
-            }
-        }
-
-        public MusicVideoXmlParser(ILogger logger, IProviderManager providerManager, IXmlReaderSettingsFactory xmlReaderSettingsFactory, IFileSystem fileSystem) : base(logger, providerManager, xmlReaderSettingsFactory, fileSystem)
-        {
-        }
-    }
-}

+ 0 - 102
MediaBrowser.LocalMetadata/Parsers/SeriesXmlParser.cs

@@ -1,102 +0,0 @@
-using System;
-using System.Xml;
-using MediaBrowser.Controller.Entities.TV;
-using MediaBrowser.Controller.Library;
-using MediaBrowser.Controller.Providers;
-using MediaBrowser.Model.Entities;
-using MediaBrowser.Model.IO;
-using MediaBrowser.Model.Logging;
-using MediaBrowser.Model.Xml;
-
-namespace MediaBrowser.LocalMetadata.Parsers
-{
-    /// <summary>
-    /// Class SeriesXmlParser
-    /// </summary>
-    public class SeriesXmlParser : BaseItemXmlParser<Series>
-    {
-        /// <summary>
-        /// Fetches the data from XML node.
-        /// </summary>
-        /// <param name="reader">The reader.</param>
-        /// <param name="result">The result.</param>
-        protected override void FetchDataFromXmlNode(XmlReader reader, MetadataResult<Series> result)
-        {
-            var item = result.Item;
-
-            switch (reader.Name)
-            {
-                case "Series":
-                    //MB generated metadata is within a "Series" node
-                    using (var subTree = reader.ReadSubtree())
-                    {
-                        subTree.MoveToContent();
-
-                        // Loop through each element
-                        while (subTree.Read())
-                        {
-                            if (subTree.NodeType == XmlNodeType.Element)
-                            {
-                                FetchDataFromXmlNode(subTree, result);
-                            }
-                        }
-
-                    }
-                    break;
-
-                case "id":
-                    string id = reader.ReadElementContentAsString();
-                    if (!string.IsNullOrWhiteSpace(id))
-                    {
-                        item.SetProviderId(MetadataProviders.Tvdb, id);
-                    }
-                    break;
-
-                case "Airs_DayOfWeek":
-                    {
-                        item.AirDays = TVUtils.GetAirDays(reader.ReadElementContentAsString());
-                        break;
-                    }
-
-                case "Airs_Time":
-                    {
-                        var val = reader.ReadElementContentAsString();
-
-                        if (!string.IsNullOrWhiteSpace(val))
-                        {
-                            item.AirTime = val;
-                        }
-                        break;
-                    }
-
-                case "Status":
-                    {
-                        var status = reader.ReadElementContentAsString();
-
-                        if (!string.IsNullOrWhiteSpace(status))
-                        {
-                            SeriesStatus seriesStatus;
-                            if (Enum.TryParse(status, true, out seriesStatus))
-                            {
-                                item.Status = seriesStatus;
-                            }
-                            else
-                            {
-                                Logger.Info("Unrecognized series status: " + status);
-                            }
-                        }
-
-                        break;
-                    }
-
-                default:
-                    base.FetchDataFromXmlNode(reader, result);
-                    break;
-            }
-        }
-
-        public SeriesXmlParser(ILogger logger, IProviderManager providerManager, IXmlReaderSettingsFactory xmlReaderSettingsFactory, IFileSystem fileSystem) : base(logger, providerManager, xmlReaderSettingsFactory, fileSystem)
-        {
-        }
-    }
-}

+ 0 - 50
MediaBrowser.LocalMetadata/Providers/EpisodeXmlProvider.cs

@@ -1,50 +0,0 @@
-using MediaBrowser.Controller.Entities.TV;
-using MediaBrowser.Controller.Providers;
-using MediaBrowser.LocalMetadata.Parsers;
-using MediaBrowser.Model.Entities;
-using MediaBrowser.Model.Logging;
-using System.Collections.Generic;
-using System.IO;
-using System.Threading;
-
-using MediaBrowser.Controller.IO;
-using MediaBrowser.Model.IO;
-using MediaBrowser.Model.Xml;
-
-namespace MediaBrowser.LocalMetadata.Providers
-{
-    public class EpisodeXmlProvider : BaseXmlProvider<Episode>
-    {
-        private readonly ILogger _logger;
-        private readonly IProviderManager _providerManager;
-        private readonly IXmlReaderSettingsFactory _xmlSettings;
-
-        public EpisodeXmlProvider(IFileSystem fileSystem, ILogger logger, IProviderManager providerManager, IXmlReaderSettingsFactory xmlSettings)
-            : base(fileSystem)
-        {
-            _logger = logger;
-            _providerManager = providerManager;
-            _xmlSettings = xmlSettings;
-        }
-
-        protected override void Fetch(MetadataResult<Episode> result, string path, CancellationToken cancellationToken)
-        {
-            var images = new List<LocalImageInfo>();
-            var chapters = new List<ChapterInfo>();
-
-            new EpisodeXmlParser(_logger, FileSystem, _providerManager, _xmlSettings).Fetch(result, images, path, cancellationToken);
-
-            result.Images = images;
-        }
-
-        protected override FileSystemMetadata GetXmlFile(ItemInfo info, IDirectoryService directoryService)
-        {
-            var metadataPath = FileSystem.GetDirectoryName(info.Path);
-            metadataPath = Path.Combine(metadataPath, "metadata");
-
-            var metadataFile = Path.Combine(metadataPath, Path.ChangeExtension(Path.GetFileName(info.Path), ".xml"));
-
-            return directoryService.GetFile(metadataFile);
-        }
-    }
-}

+ 0 - 62
MediaBrowser.LocalMetadata/Providers/MovieXmlProvider.cs

@@ -1,62 +0,0 @@
-using MediaBrowser.Controller.Entities.Movies;
-using MediaBrowser.Controller.Providers;
-using MediaBrowser.LocalMetadata.Parsers;
-using MediaBrowser.Model.Logging;
-using System.IO;
-using System.Threading;
-
-using MediaBrowser.Controller.IO;
-using MediaBrowser.Model.IO;
-using MediaBrowser.Model.Xml;
-
-namespace MediaBrowser.LocalMetadata.Providers
-{
-    public class MovieXmlProvider : BaseXmlProvider<Movie>
-    {
-        private readonly ILogger _logger;
-        private readonly IProviderManager _providerManager;
-        protected IXmlReaderSettingsFactory XmlReaderSettingsFactory { get; private set; }
-
-        public MovieXmlProvider(IFileSystem fileSystem, ILogger logger, IProviderManager providerManager, IXmlReaderSettingsFactory xmlReaderSettingsFactory)
-            : base(fileSystem)
-        {
-            _logger = logger;
-            _providerManager = providerManager;
-            XmlReaderSettingsFactory = xmlReaderSettingsFactory;
-        }
-
-        protected override void Fetch(MetadataResult<Movie> result, string path, CancellationToken cancellationToken)
-        {
-            new MovieXmlParser(_logger, _providerManager, XmlReaderSettingsFactory, FileSystem).Fetch(result, path, cancellationToken);
-        }
-
-        protected override FileSystemMetadata GetXmlFile(ItemInfo info, IDirectoryService directoryService)
-        {
-            return GetXmlFileInfo(info, FileSystem);
-        }
-
-        public static FileSystemMetadata GetXmlFileInfo(ItemInfo info, IFileSystem fileSystem)
-        {
-            var fileInfo = fileSystem.GetFileSystemInfo(info.Path);
-
-            var directoryInfo = fileInfo.IsDirectory ? fileInfo : fileSystem.GetDirectoryInfo(fileSystem.GetDirectoryName(info.Path));
-
-            var directoryPath = directoryInfo.FullName;
-
-            var specificFile = Path.Combine(directoryPath, fileSystem.GetFileNameWithoutExtension(info.Path) + ".xml");
-
-            var file = fileSystem.GetFileInfo(specificFile);
-
-            // In a mixed folder, only {moviename}.xml is supported
-            if (info.IsInMixedFolder)
-            {
-                return file;
-            }
-
-            // If in it's own folder, prefer movie.xml, but allow the specific file as well
-            var movieFile = fileSystem.GetFileInfo(Path.Combine(directoryPath, "movie.xml"));
-
-            return movieFile.Exists ? movieFile : file;
-        }
-    }
-}

+ 0 - 37
MediaBrowser.LocalMetadata/Providers/MusicVideoXmlProvider.cs

@@ -1,37 +0,0 @@
-using System.Threading;
-
-using MediaBrowser.Model.IO;
-using MediaBrowser.Controller.Entities;
-using MediaBrowser.Controller.IO;
-using MediaBrowser.Controller.Providers;
-using MediaBrowser.LocalMetadata.Parsers;
-using MediaBrowser.Model.Logging;
-using MediaBrowser.Model.Xml;
-
-namespace MediaBrowser.LocalMetadata.Providers
-{
-    class MusicVideoXmlProvider : BaseXmlProvider<MusicVideo>
-    {
-        private readonly ILogger _logger;
-        private readonly IProviderManager _providerManager;
-        protected IXmlReaderSettingsFactory XmlReaderSettingsFactory { get; private set; }
-
-        public MusicVideoXmlProvider(IFileSystem fileSystem, ILogger logger, IProviderManager providerManager, IXmlReaderSettingsFactory xmlReaderSettingsFactory)
-            : base(fileSystem)
-        {
-            _logger = logger;
-            _providerManager = providerManager;
-            XmlReaderSettingsFactory = xmlReaderSettingsFactory;
-        }
-
-        protected override void Fetch(MetadataResult<MusicVideo> result, string path, CancellationToken cancellationToken)
-        {
-            new MusicVideoXmlParser(_logger, _providerManager, XmlReaderSettingsFactory, FileSystem).Fetch(result, path, cancellationToken);
-        }
-
-        protected override FileSystemMetadata GetXmlFile(ItemInfo info, IDirectoryService directoryService)
-        {
-            return MovieXmlProvider.GetXmlFileInfo(info, FileSystem);
-        }
-    }
-}

+ 0 - 50
MediaBrowser.LocalMetadata/Providers/SeriesXmlProvider.cs

@@ -1,50 +0,0 @@
-using System.IO;
-using System.Threading;
-
-using MediaBrowser.Model.IO;
-using MediaBrowser.Controller.Entities.TV;
-using MediaBrowser.Controller.IO;
-using MediaBrowser.Controller.Providers;
-using MediaBrowser.LocalMetadata.Parsers;
-using MediaBrowser.Model.Logging;
-using MediaBrowser.Model.Xml;
-
-namespace MediaBrowser.LocalMetadata.Providers
-{
-    /// <summary>
-    /// Class SeriesProviderFromXml
-    /// </summary>
-    public class SeriesXmlProvider : BaseXmlProvider<Series>, IHasOrder
-    {
-        private readonly ILogger _logger;
-        private readonly IProviderManager _providerManager;
-        protected IXmlReaderSettingsFactory XmlReaderSettingsFactory { get; private set; }
-
-        public SeriesXmlProvider(IFileSystem fileSystem, ILogger logger, IProviderManager providerManager, IXmlReaderSettingsFactory xmlReaderSettingsFactory)
-            : base(fileSystem)
-        {
-            _logger = logger;
-            _providerManager = providerManager;
-            XmlReaderSettingsFactory = xmlReaderSettingsFactory;
-        }
-
-        protected override void Fetch(MetadataResult<Series> result, string path, CancellationToken cancellationToken)
-        {
-            new SeriesXmlParser(_logger, _providerManager, XmlReaderSettingsFactory, FileSystem).Fetch(result, path, cancellationToken);
-        }
-
-        protected override FileSystemMetadata GetXmlFile(ItemInfo info, IDirectoryService directoryService)
-        {
-            return directoryService.GetFile(Path.Combine(info.Path, "series.xml"));
-        }
-
-        public override int Order
-        {
-            get
-            {
-                // After Xbmc
-                return 1;
-            }
-        }
-    }
-}

+ 0 - 37
MediaBrowser.LocalMetadata/Providers/VideoXmlProvider.cs

@@ -1,37 +0,0 @@
-using MediaBrowser.Controller.Entities;
-using MediaBrowser.Controller.Providers;
-using MediaBrowser.LocalMetadata.Parsers;
-using MediaBrowser.Model.Logging;
-using System.Threading;
-
-using MediaBrowser.Controller.IO;
-using MediaBrowser.Model.IO;
-using MediaBrowser.Model.Xml;
-
-namespace MediaBrowser.LocalMetadata.Providers
-{
-    class VideoXmlProvider : BaseXmlProvider<Video>
-    {
-        private readonly ILogger _logger;
-        private readonly IProviderManager _providerManager;
-        protected IXmlReaderSettingsFactory XmlReaderSettingsFactory { get; private set; }
-
-        public VideoXmlProvider(IFileSystem fileSystem, ILogger logger, IProviderManager providerManager, IXmlReaderSettingsFactory xmlReaderSettingsFactory)
-            : base(fileSystem)
-        {
-            _logger = logger;
-            _providerManager = providerManager;
-            XmlReaderSettingsFactory = xmlReaderSettingsFactory;
-        }
-
-        protected override void Fetch(MetadataResult<Video> result, string path, CancellationToken cancellationToken)
-        {
-            new VideoXmlParser(_logger, _providerManager, XmlReaderSettingsFactory, FileSystem).Fetch(result, path, cancellationToken);
-        }
-
-        protected override FileSystemMetadata GetXmlFile(ItemInfo info, IDirectoryService directoryService)
-        {
-            return MovieXmlProvider.GetXmlFileInfo(info, FileSystem);
-        }
-    }
-}

+ 0 - 17
MediaBrowser.LocalMetadata/project.json

@@ -1,17 +0,0 @@
-{
-    "frameworks":{
-        "netstandard1.6":{
-           "dependencies":{
-                "NETStandard.Library":"1.6.0",
-            }
-        },
-        ".NETPortable,Version=v4.5,Profile=Profile7":{
-            "buildOptions": {
-                "define": [  ]
-            },
-            "frameworkAssemblies":{
-                
-            }
-        }
-    }
-}

+ 0 - 242
MediaBrowser.MediaEncoding/Encoder/EncodingJob.cs

@@ -150,248 +150,6 @@ namespace MediaBrowser.MediaEncoding.Encoder
             }
         }
 
-        public int? TotalOutputBitrate
-        {
-            get
-            {
-                return (OutputAudioBitrate ?? 0) + (OutputVideoBitrate ?? 0);
-            }
-        }
-
-        public int? OutputWidth
-        {
-            get
-            {
-                if (VideoStream != null && VideoStream.Width.HasValue && VideoStream.Height.HasValue)
-                {
-                    var size = new ImageSize
-                    {
-                        Width = VideoStream.Width.Value,
-                        Height = VideoStream.Height.Value
-                    };
-
-                    var newSize = DrawingUtils.Resize(size,
-                        Options.Width,
-                        Options.Height,
-                        Options.MaxWidth,
-                        Options.MaxHeight);
-
-                    return Convert.ToInt32(newSize.Width);
-                }
-
-                if (!IsVideoRequest)
-                {
-                    return null;
-                }
-
-                return Options.MaxWidth ?? Options.Width;
-            }
-        }
-
-        public int? OutputHeight
-        {
-            get
-            {
-                if (VideoStream != null && VideoStream.Width.HasValue && VideoStream.Height.HasValue)
-                {
-                    var size = new ImageSize
-                    {
-                        Width = VideoStream.Width.Value,
-                        Height = VideoStream.Height.Value
-                    };
-
-                    var newSize = DrawingUtils.Resize(size,
-                        Options.Width,
-                        Options.Height,
-                        Options.MaxWidth,
-                        Options.MaxHeight);
-
-                    return Convert.ToInt32(newSize.Height);
-                }
-
-                if (!IsVideoRequest)
-                {
-                    return null;
-                }
-
-                return Options.MaxHeight ?? Options.Height;
-            }
-        }
-
-        /// <summary>
-        /// Predicts the audio sample rate that will be in the output stream
-        /// </summary>
-        public int? TargetVideoBitDepth
-        {
-            get
-            {
-                var stream = VideoStream;
-                return stream == null || !Options.Static ? null : stream.BitDepth;
-            }
-        }
-
-        /// <summary>
-        /// Gets the target reference frames.
-        /// </summary>
-        /// <value>The target reference frames.</value>
-        public int? TargetRefFrames
-        {
-            get
-            {
-                var stream = VideoStream;
-                return stream == null || !Options.Static ? null : stream.RefFrames;
-            }
-        }
-
-        /// <summary>
-        /// Predicts the audio sample rate that will be in the output stream
-        /// </summary>
-        public float? TargetFramerate
-        {
-            get
-            {
-                var stream = VideoStream;
-                var requestedFramerate = Options.MaxFramerate ?? Options.Framerate;
-
-                return requestedFramerate.HasValue && !Options.Static
-                    ? requestedFramerate
-                    : stream == null ? null : stream.AverageFrameRate ?? stream.RealFrameRate;
-            }
-        }
-
-        public TransportStreamTimestamp TargetTimestamp
-        {
-            get
-            {
-                var defaultValue = string.Equals(OutputContainer, "m2ts", StringComparison.OrdinalIgnoreCase) ?
-                    TransportStreamTimestamp.Valid :
-                    TransportStreamTimestamp.None;
-
-                return !Options.Static
-                    ? defaultValue
-                    : InputTimestamp;
-            }
-        }
-
-        /// <summary>
-        /// Predicts the audio sample rate that will be in the output stream
-        /// </summary>
-        public int? TargetPacketLength
-        {
-            get
-            {
-                var stream = VideoStream;
-                return !Options.Static
-                    ? null
-                    : stream == null ? null : stream.PacketLength;
-            }
-        }
-
-        /// <summary>
-        /// Predicts the audio sample rate that will be in the output stream
-        /// </summary>
-        public string TargetVideoProfile
-        {
-            get
-            {
-                var stream = VideoStream;
-                return !string.IsNullOrEmpty(Options.Profile) && !Options.Static
-                    ? Options.Profile
-                    : stream == null ? null : stream.Profile;
-            }
-        }
-
-        public string TargetVideoCodecTag
-        {
-            get
-            {
-                var stream = VideoStream;
-                return !Options.Static
-                    ? null
-                    : stream == null ? null : stream.CodecTag;
-            }
-        }
-
-        public bool? IsTargetAnamorphic
-        {
-            get
-            {
-                if (Options.Static)
-                {
-                    return VideoStream == null ? null : VideoStream.IsAnamorphic;
-                }
-
-                return false;
-            }
-        }
-
-        public bool? IsTargetInterlaced
-        {
-            get
-            {
-                if (Options.Static)
-                {
-                    return VideoStream == null ? (bool?)null : VideoStream.IsInterlaced;
-                }
-
-                if (DeInterlace)
-                {
-                    return false;
-                }
-
-                return VideoStream == null ? (bool?)null : VideoStream.IsInterlaced;
-            }
-        }
-
-        public bool? IsTargetAVC
-        {
-            get
-            {
-                if (Options.Static)
-                {
-                    return VideoStream == null ? null : VideoStream.IsAVC;
-                }
-
-                return false;
-            }
-        }
-
-        public int? TargetVideoStreamCount
-        {
-            get
-            {
-                if (Options.Static)
-                {
-                    return GetMediaStreamCount(MediaStreamType.Video, int.MaxValue);
-                }
-                return GetMediaStreamCount(MediaStreamType.Video, 1);
-            }
-        }
-
-        public int? TargetAudioStreamCount
-        {
-            get
-            {
-                if (Options.Static)
-                {
-                    return GetMediaStreamCount(MediaStreamType.Audio, int.MaxValue);
-                }
-                return GetMediaStreamCount(MediaStreamType.Audio, 1);
-            }
-        }
-
-        private int? GetMediaStreamCount(MediaStreamType type, int limit)
-        {
-            var count = MediaSource.GetStreamCount(type);
-
-            if (count.HasValue)
-            {
-                count = Math.Min(count.Value, limit);
-            }
-
-            return count;
-        }
-
         public override void ReportTranscodingProgress(TimeSpan? transcodingPosition, float? framerate, double? percentComplete, long? bytesTranscoded, int? bitRate)
         {
             var ticks = transcodingPosition.HasValue ? transcodingPosition.Value.Ticks : (long?)null;

+ 0 - 1
MediaBrowser.MediaEncoding/Encoder/EncodingJobFactory.cs

@@ -105,7 +105,6 @@ namespace MediaBrowser.MediaEncoding.Encoder
             //state.OutputContainer = (container ?? string.Empty).TrimStart('.');
 
             state.OutputAudioBitrate = encodingHelper.GetAudioBitrateParam(state.Options, state.AudioStream);
-            state.OutputAudioSampleRate = request.AudioSampleRate;
 
             state.OutputAudioCodec = state.Options.AudioCodec;
 

+ 1 - 6
MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs

@@ -80,11 +80,6 @@ namespace MediaBrowser.MediaEncoding.Encoder
             int defaultImageExtractionTimeoutMs,
             bool enableEncoderFontFile, IEnvironmentInfo environmentInfo)
         {
-            if (jsonSerializer == null)
-            {
-                throw new ArgumentNullException("jsonSerializer");
-            }
-
             _logger = logger;
             _jsonSerializer = jsonSerializer;
             ConfigurationManager = configurationManager;
@@ -330,7 +325,7 @@ namespace MediaBrowser.MediaEncoding.Encoder
             }
 
             var newPaths = GetEncoderPaths(appPath);
-            if (string.IsNullOrWhiteSpace(newPaths.Item1) || string.IsNullOrWhiteSpace(newPaths.Item2))
+            if (string.IsNullOrWhiteSpace(newPaths.Item1) || string.IsNullOrWhiteSpace(newPaths.Item2) || IsSystemInstalledPath(appPath))
             {
                 newPaths = TestForInstalledVersions();
             }

+ 0 - 17
MediaBrowser.MediaEncoding/project.json

@@ -1,17 +0,0 @@
-{
-    "frameworks":{
-        "netstandard1.6":{
-           "dependencies":{
-                "NETStandard.Library":"1.6.0",
-            }
-        },
-        ".NETPortable,Version=v4.5,Profile=Profile7":{
-            "buildOptions": {
-                "define": [  ]
-            },
-            "frameworkAssemblies":{
-                
-            }
-        }
-    }
-}

+ 0 - 4
MediaBrowser.Model/MediaBrowser.Model.csproj

@@ -33,10 +33,6 @@
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
   </PropertyGroup>
-  <ItemGroup>
-    <None Include="project.json" />
-    <!-- A reference to the entire .NET Framework is automatically included -->
-  </ItemGroup>
   <ItemGroup>
     <Compile Include="..\SharedVersion.cs">
       <Link>Properties\SharedVersion.cs</Link>

+ 0 - 17
MediaBrowser.Model/project.json

@@ -1,17 +0,0 @@
-{
-    "frameworks":{
-        "netstandard1.6":{
-           "dependencies":{
-                "NETStandard.Library":"1.6.0",
-            }
-        },
-        ".NETPortable,Version=v4.5,Profile=Profile7":{
-            "buildOptions": {
-                "define": [  ]
-            },
-            "frameworkAssemblies":{
-                
-            }
-        }
-    }
-}

+ 0 - 17
MediaBrowser.Providers/project.json

@@ -1,17 +0,0 @@
-{
-    "frameworks":{
-        "netstandard1.6":{
-           "dependencies":{
-                "NETStandard.Library":"1.6.0",
-            }
-        },
-        ".NETPortable,Version=v4.5,Profile=Profile7":{
-            "buildOptions": {
-                "define": [  ]
-            },
-            "frameworkAssemblies":{
-                
-            }
-        }
-    }
-}

+ 0 - 17
MediaBrowser.Server.Implementations/project.json

@@ -1,17 +0,0 @@
-{
-    "frameworks":{
-        "netstandard1.6":{
-           "dependencies":{
-                "NETStandard.Library":"1.6.0",
-            }
-        },
-        ".NETPortable,Version=v4.5,Profile=Profile7":{
-            "buildOptions": {
-                "define": [  ]
-            },
-            "frameworkAssemblies":{
-                
-            }
-        }
-    }
-}

+ 2 - 3
MediaBrowser.Server.Mono/MediaBrowser.Server.Mono.csproj

@@ -60,9 +60,8 @@
       <HintPath>..\packages\SharpCompress.0.14.0\lib\net45\SharpCompress.dll</HintPath>
       <Private>True</Private>
     </Reference>
-    <Reference Include="SimpleInjector, Version=4.0.7.0, Culture=neutral, PublicKeyToken=984cb50dea722e99, processorArchitecture=MSIL">
-      <HintPath>..\packages\SimpleInjector.4.0.7\lib\net45\SimpleInjector.dll</HintPath>
-      <Private>True</Private>
+    <Reference Include="SimpleInjector, Version=4.0.8.0, Culture=neutral, PublicKeyToken=984cb50dea722e99, processorArchitecture=MSIL">
+      <HintPath>..\packages\SimpleInjector.4.0.8\lib\net45\SimpleInjector.dll</HintPath>
     </Reference>
     <Reference Include="SQLitePCLRaw.core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1488e028ca7ab535, processorArchitecture=MSIL">
       <HintPath>..\packages\SQLitePCLRaw.core.1.1.5\lib\net45\SQLitePCLRaw.core.dll</HintPath>

+ 1 - 1
MediaBrowser.Server.Mono/packages.config

@@ -4,7 +4,7 @@
   <package id="NLog" version="4.4.10" targetFramework="net46" />
   <package id="ServiceStack.Text" version="4.5.8" targetFramework="net46" />
   <package id="SharpCompress" version="0.14.0" targetFramework="net46" />
-  <package id="SimpleInjector" version="4.0.7" targetFramework="net46" />
+  <package id="SimpleInjector" version="4.0.8" targetFramework="net46" />
   <package id="SQLitePCLRaw.core" version="1.1.5" targetFramework="net46" />
   <package id="SQLitePCLRaw.provider.sqlite3.net45" version="1.1.5" targetFramework="net46" />
 </packages>

+ 0 - 9
MediaBrowser.ServerApplication/ImageEncoderHelper.cs

@@ -30,15 +30,6 @@ namespace MediaBrowser.Server.Startup.Common
                 logger.Error("Error loading Skia. Will revert to ImageMagick.");
             }
 
-            try
-            {
-                return new ImageMagickEncoder(logManager.GetLogger("ImageMagick"), appPaths, httpClient, fileSystem);
-            }
-            catch
-            {
-                logger.Error("Error loading ImageMagick. Will revert to GDI.");
-            }
-
             return new NullImageEncoder();
         }
     }

+ 4 - 878
MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj

@@ -88,9 +88,8 @@
       <HintPath>..\packages\SharpCompress.0.14.0\lib\net45\SharpCompress.dll</HintPath>
       <Private>True</Private>
     </Reference>
-    <Reference Include="SimpleInjector, Version=4.0.7.0, Culture=neutral, PublicKeyToken=984cb50dea722e99, processorArchitecture=MSIL">
-      <HintPath>..\packages\SimpleInjector.4.0.7\lib\net45\SimpleInjector.dll</HintPath>
-      <Private>True</Private>
+    <Reference Include="SimpleInjector, Version=4.0.8.0, Culture=neutral, PublicKeyToken=984cb50dea722e99, processorArchitecture=MSIL">
+      <HintPath>..\packages\SimpleInjector.4.0.8\lib\net45\SimpleInjector.dll</HintPath>
     </Reference>
     <Reference Include="SkiaSharp, Version=1.58.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756, processorArchitecture=MSIL">
       <HintPath>..\packages\SkiaSharp.1.58.0\lib\net45\SkiaSharp.dll</HintPath>
@@ -191,886 +190,13 @@
       <Link>MediaBrowser.Updater.exe</Link>
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </Content>
-    <Content Include="x64\CORE_RL_bzlib_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\CORE_RL_cairo_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\CORE_RL_exr_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\CORE_RL_glib_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\CORE_RL_jp2_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\CORE_RL_jpeg_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\CORE_RL_lcms_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\CORE_RL_librsvg_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\CORE_RL_libxml_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\CORE_RL_lqr_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\CORE_RL_Magick++_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\CORE_RL_magick_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\CORE_RL_openjpeg_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\CORE_RL_pango_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\CORE_RL_png_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\CORE_RL_tiff_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\CORE_RL_ttf_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\CORE_RL_wand_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\CORE_RL_webp_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\CORE_RL_zlib_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_aai_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_art_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_avs_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_bgr_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_bmp_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_braille_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_cals_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_caption_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_cin_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_cip_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_clipboard_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_clip_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_cmyk_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_cut_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_dcm_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_dds_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_debug_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_dib_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_djvu_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_dng_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_dot_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_dps_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_dpx_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_emf_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_ept_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_exr_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_fax_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_fd_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_fits_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_fpx_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_gif_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_gradient_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_gray_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_hald_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_hdr_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_histogram_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_hrz_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_html_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_icon_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_info_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_inline_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_ipl_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_jbig_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_jnx_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_jp2_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_jpeg_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_json_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_label_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_mac_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_magick_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_map_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_mask_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_matte_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_mat_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_meta_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_miff_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_mono_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_mpc_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_mpeg_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_mpr_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_msl_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_mtv_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_mvg_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_null_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_otb_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_palm_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_pango_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_pattern_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_pcd_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_pcl_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_pcx_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_pdb_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_pdf_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_pes_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_pict_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_pix_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_plasma_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_png_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_pnm_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_preview_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_ps2_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_ps3_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_psd_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_ps_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_pwp_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_raw_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_rgb_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_rgf_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_rla_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_rle_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_screenshot_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_scr_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_sct_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_sfw_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_sgi_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_sixel_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_stegano_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_sun_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_svg_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_tga_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_thumbnail_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_tiff_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_tile_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_tim_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_ttf_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_txt_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_uil_.dll">
+    <Content Include="x64\libSkiaSharp.dll">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </Content>
-    <Content Include="x64\IM_MOD_RL_url_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_uyvy_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_vicar_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_vid_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_viff_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_vips_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_wbmp_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_webp_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_wmf_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_wpg_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_xbm_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_xcf_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_xc_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_xpm_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_xps_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_xtrn_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_ycbcr_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\IM_MOD_RL_yuv_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\libSkiaSharp.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x64\sqlite3.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\CORE_RL_bzlib_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\CORE_RL_cairo_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\CORE_RL_exr_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\CORE_RL_glib_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\CORE_RL_jbig_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\CORE_RL_jp2_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\CORE_RL_jpeg_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\CORE_RL_lcms_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\CORE_RL_librsvg_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\CORE_RL_libxml_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\CORE_RL_lqr_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\CORE_RL_Magick++_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\CORE_RL_magick_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\CORE_RL_openjpeg_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\CORE_RL_pango_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\CORE_RL_png_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\CORE_RL_tiff_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\CORE_RL_ttf_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\CORE_RL_wand_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\CORE_RL_webp_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\CORE_RL_zlib_.dll">
+    <Content Include="x64\sqlite3.dll">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </Content>
     <Content Include="Icon.ico" />
-    <Content Include="x86\IM_MOD_RL_aai_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_art_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_avs_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_bgr_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_bmp_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_braille_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_cals_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_caption_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_cin_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_cip_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_clipboard_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_clip_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_cmyk_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_cut_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_dcm_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_dds_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_debug_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_dib_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_djvu_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_dng_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_dot_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_dps_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_dpx_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_emf_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_ept_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_exr_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_fax_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_fd_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_fits_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_fpx_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_gif_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_gradient_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_gray_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_hald_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_hdr_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_histogram_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_hrz_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_html_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_icon_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_info_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_inline_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_ipl_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_jbig_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_jnx_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_jp2_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_jpeg_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_json_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_label_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_mac_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_magick_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_map_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_mask_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_matte_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_mat_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_meta_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_miff_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_mono_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_mpc_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_mpeg_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_mpr_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_msl_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_mtv_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_mvg_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_null_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_otb_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_palm_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_pango_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_pattern_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_pcd_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_pcl_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_pcx_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_pdb_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_pdf_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_pes_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_pict_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_pix_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_plasma_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_png_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_pnm_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_preview_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_ps2_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_ps3_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_psd_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_ps_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_pwp_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_raw_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_rgb_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_rgf_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_rla_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_rle_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_screenshot_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_scr_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_sct_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_sfw_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_sgi_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_sixel_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_stegano_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_sun_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_svg_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_tga_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_thumbnail_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_tiff_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_tile_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_tim_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_ttf_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_txt_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_uil_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_url_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_uyvy_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_vicar_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_vid_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_viff_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_vips_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_wbmp_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_webp_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_wmf_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_wpg_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_xbm_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_xcf_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_xc_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_xpm_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_xps_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_xtrn_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_ycbcr_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="x86\IM_MOD_RL_yuv_.dll">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
     <Content Include="Resources\Images\mb3logo800.png" />
     <Content Include="x86\libSkiaSharp.dll">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>

+ 1 - 1
MediaBrowser.ServerApplication/packages.config

@@ -4,7 +4,7 @@
   <package id="NLog" version="4.4.10" targetFramework="net462" />
   <package id="ServiceStack.Text" version="4.5.8" targetFramework="net462" />
   <package id="SharpCompress" version="0.14.0" targetFramework="net462" />
-  <package id="SimpleInjector" version="4.0.7" targetFramework="net462" />
+  <package id="SimpleInjector" version="4.0.8" targetFramework="net462" />
   <package id="SkiaSharp" version="1.58.0" targetFramework="net462" />
   <package id="SQLitePCLRaw.core" version="1.1.5" targetFramework="net462" />
   <package id="SQLitePCLRaw.provider.sqlite3.net45" version="1.1.5" targetFramework="net462" />

+ 0 - 17
MediaBrowser.WebDashboard/project.json

@@ -1,17 +0,0 @@
-{
-    "frameworks":{
-        "netstandard1.6":{
-           "dependencies":{
-                "NETStandard.Library":"1.6.0",
-            }
-        },
-        ".NETPortable,Version=v4.5,Profile=Profile7":{
-            "buildOptions": {
-                "define": [  ]
-            },
-            "frameworkAssemblies":{
-                
-            }
-        }
-    }
-}

+ 0 - 17
MediaBrowser.XbmcMetadata/project.json

@@ -1,17 +0,0 @@
-{
-    "frameworks":{
-        "netstandard1.6":{
-           "dependencies":{
-                "NETStandard.Library":"1.6.0",
-            }
-        },
-        ".NETPortable,Version=v4.5,Profile=Profile7":{
-            "buildOptions": {
-                "define": [  ]
-            },
-            "frameworkAssemblies":{
-                
-            }
-        }
-    }
-}

+ 0 - 3
OpenSubtitlesHandler/OpenSubtitlesHandler.csproj

@@ -107,9 +107,6 @@
   <ItemGroup>
     <Content Include="XML-RPC\Docs\XML-RPC.txt" />
   </ItemGroup>
-  <ItemGroup>
-    <None Include="project.json" />
-  </ItemGroup>
   <Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.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.

+ 0 - 17
OpenSubtitlesHandler/project.json

@@ -1,17 +0,0 @@
-{
-    "frameworks":{
-        "netstandard1.6":{
-           "dependencies":{
-                "NETStandard.Library":"1.6.0",
-            }
-        },
-        ".NETPortable,Version=v4.5,Profile=Profile7":{
-            "buildOptions": {
-                "define": [  ]
-            },
-            "frameworkAssemblies":{
-                
-            }
-        }
-    }
-}

+ 0 - 17
RSSDP/project.json

@@ -1,17 +0,0 @@
-{
-    "frameworks":{
-        "netstandard1.6":{
-           "dependencies":{
-                "NETStandard.Library":"1.6.0",
-            }
-        },
-        ".NETPortable,Version=v4.5,Profile=Profile7":{
-            "buildOptions": {
-                "define": [  ]
-            },
-            "frameworkAssemblies":{
-                
-            }
-        }
-    }
-}

+ 1 - 1
SharedVersion.cs

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