diff --git a/MediaBrowser.Api/Playback/BaseStreamingService.cs b/MediaBrowser.Api/Playback/BaseStreamingService.cs index 3cb7b914ad..bdd1b76d07 100644 --- a/MediaBrowser.Api/Playback/BaseStreamingService.cs +++ b/MediaBrowser.Api/Playback/BaseStreamingService.cs @@ -1447,6 +1447,16 @@ namespace MediaBrowser.Api.Playback state.MediaPath = mediaUrl; state.InputProtocol = MediaProtocol.Http; } + else + { + // No media info, so this is probably needed + state.DeInterlace = true; + } + + if (recording.RecordingInfo.Status == RecordingStatus.InProgress) + { + state.ReadInputAtNativeFramerate = true; + } state.RunTimeTicks = recording.RunTimeTicks; @@ -1455,9 +1465,7 @@ namespace MediaBrowser.Api.Playback await Task.Delay(1000, cancellationToken).ConfigureAwait(false); } - state.ReadInputAtNativeFramerate = recording.RecordingInfo.Status == RecordingStatus.InProgress; state.OutputAudioSync = "1000"; - state.DeInterlace = true; state.InputVideoSync = "-1"; state.InputAudioSync = "1"; state.InputContainer = recording.Container; @@ -1524,7 +1532,9 @@ namespace MediaBrowser.Api.Playback state.RunTimeTicks = mediaSource.RunTimeTicks; } - if (string.Equals(state.InputContainer, "wtv", StringComparison.OrdinalIgnoreCase)) + // If it's a wtv and we don't have media info, we will probably need to deinterlace + if (string.Equals(state.InputContainer, "wtv", StringComparison.OrdinalIgnoreCase) && + mediaStreams.Count == 0) { state.DeInterlace = true; } diff --git a/MediaBrowser.Api/Playback/BifService.cs b/MediaBrowser.Api/Playback/BifService.cs index 7a3a7d32dc..057d814417 100644 --- a/MediaBrowser.Api/Playback/BifService.cs +++ b/MediaBrowser.Api/Playback/BifService.cs @@ -72,6 +72,11 @@ namespace MediaBrowser.Api.Playback try { + if (File.Exists(path)) + { + return path; + } + await _mediaEncoder.ExtractVideoImagesOnInterval(inputPath, protocol, mediaSource.Video3DFormat, TimeSpan.FromSeconds(10), Path.GetDirectoryName(path), "img_", request.MaxWidth, CancellationToken.None) .ConfigureAwait(false); diff --git a/MediaBrowser.Api/Playback/Progressive/VideoService.cs b/MediaBrowser.Api/Playback/Progressive/VideoService.cs index 937df513e6..bedacc0d29 100644 --- a/MediaBrowser.Api/Playback/Progressive/VideoService.cs +++ b/MediaBrowser.Api/Playback/Progressive/VideoService.cs @@ -144,7 +144,8 @@ namespace MediaBrowser.Api.Playback.Progressive return state.VideoStream != null && IsH264(state.VideoStream) ? args + " -bsf h264_mp4toannexb" : args; } - const string keyFrameArg = " -force_key_frames expr:if(isnan(prev_forced_t),gte(t,.1),gte(t,prev_forced_t+5))"; + var keyFrameArg = string.Format(" -force_key_frames expr:gte(t,n_forced*{0})", + 5.ToString(UsCulture)); args += keyFrameArg; diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs index 87b1cc7a3d..f503a5ff44 100644 --- a/MediaBrowser.Controller/Entities/Folder.cs +++ b/MediaBrowser.Controller/Entities/Folder.cs @@ -445,11 +445,6 @@ namespace MediaBrowser.Controller.Entities cancellationToken.ThrowIfCancellationRequested(); - if (this is UserRootFolder) - { - var b = true; - } - foreach (var child in nonCachedChildren) { BaseItem currentChild; diff --git a/MediaBrowser.Dlna/PlayTo/PlayToController.cs b/MediaBrowser.Dlna/PlayTo/PlayToController.cs index 89d61bb21f..0bc9215081 100644 --- a/MediaBrowser.Dlna/PlayTo/PlayToController.cs +++ b/MediaBrowser.Dlna/PlayTo/PlayToController.cs @@ -80,7 +80,7 @@ namespace MediaBrowser.Dlna.PlayTo _updateTimer = new Timer(updateTimer_Elapsed, null, 60000, 60000); } - private async void updateTimer_Elapsed(object state) + private void updateTimer_Elapsed(object state) { if (DateTime.UtcNow >= _device.DateLastActivity.AddSeconds(120)) { diff --git a/MediaBrowser.Providers/BaseXmlProvider.cs b/MediaBrowser.LocalMetadata/BaseXmlProvider.cs similarity index 96% rename from MediaBrowser.Providers/BaseXmlProvider.cs rename to MediaBrowser.LocalMetadata/BaseXmlProvider.cs index a5a3ba146a..cc9bc7bed7 100644 --- a/MediaBrowser.Providers/BaseXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/BaseXmlProvider.cs @@ -1,13 +1,13 @@ -using MediaBrowser.Common.IO; -using MediaBrowser.Controller.Entities; -using MediaBrowser.Controller.Providers; -using MediaBrowser.Model.Logging; -using System; +using System; using System.IO; using System.Threading; using System.Threading.Tasks; +using MediaBrowser.Common.IO; +using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller.Providers; +using MediaBrowser.Model.Logging; -namespace MediaBrowser.Providers +namespace MediaBrowser.LocalMetadata { public abstract class BaseXmlProvider : ILocalMetadataProvider, IHasChangeMonitor where T : IHasMetadata, new() diff --git a/MediaBrowser.Providers/Folders/CollectionFolderImageProvider.cs b/MediaBrowser.LocalMetadata/Images/CollectionFolderImageProvider.cs similarity index 81% rename from MediaBrowser.Providers/Folders/CollectionFolderImageProvider.cs rename to MediaBrowser.LocalMetadata/Images/CollectionFolderImageProvider.cs index fa5946bd5c..29fd76aa56 100644 --- a/MediaBrowser.Providers/Folders/CollectionFolderImageProvider.cs +++ b/MediaBrowser.LocalMetadata/Images/CollectionFolderImageProvider.cs @@ -1,10 +1,8 @@ -using MediaBrowser.Controller.Entities; +using System.Collections.Generic; +using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Providers; -using MediaBrowser.Model.Entities; -using MediaBrowser.Providers.All; -using System.Collections.Generic; -namespace MediaBrowser.Providers.Folders +namespace MediaBrowser.LocalMetadata.Images { public class CollectionFolderLocalImageProvider : ILocalImageFileProvider, IHasOrder { diff --git a/MediaBrowser.Providers/TV/EpisodeLocalImageProvider.cs b/MediaBrowser.LocalMetadata/Images/EpisodeLocalImageProvider.cs similarity index 96% rename from MediaBrowser.Providers/TV/EpisodeLocalImageProvider.cs rename to MediaBrowser.LocalMetadata/Images/EpisodeLocalImageProvider.cs index 1ec0e0f481..f1e7426aad 100644 --- a/MediaBrowser.Providers/TV/EpisodeLocalImageProvider.cs +++ b/MediaBrowser.LocalMetadata/Images/EpisodeLocalImageProvider.cs @@ -1,13 +1,13 @@ -using MediaBrowser.Controller.Entities; -using MediaBrowser.Controller.Entities.TV; -using MediaBrowser.Controller.Providers; -using MediaBrowser.Model.Entities; -using System; +using System; using System.Collections.Generic; using System.IO; using System.Linq; +using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller.Entities.TV; +using MediaBrowser.Controller.Providers; +using MediaBrowser.Model.Entities; -namespace MediaBrowser.Providers.TV +namespace MediaBrowser.LocalMetadata.Images { public class EpisodeLocalLocalImageProvider : ILocalImageFileProvider { diff --git a/MediaBrowser.Providers/Folders/ImagesByNameImageProvider.cs b/MediaBrowser.LocalMetadata/Images/ImagesByNameImageProvider.cs similarity index 91% rename from MediaBrowser.Providers/Folders/ImagesByNameImageProvider.cs rename to MediaBrowser.LocalMetadata/Images/ImagesByNameImageProvider.cs index 5dcf3bc596..3f84df462d 100644 --- a/MediaBrowser.Providers/Folders/ImagesByNameImageProvider.cs +++ b/MediaBrowser.LocalMetadata/Images/ImagesByNameImageProvider.cs @@ -1,12 +1,11 @@ -using MediaBrowser.Common.IO; +using System.Collections.Generic; +using System.IO; +using MediaBrowser.Common.IO; using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Providers; -using MediaBrowser.Providers.All; -using System.Collections.Generic; -using System.IO; -namespace MediaBrowser.Providers.Folders +namespace MediaBrowser.LocalMetadata.Images { public class ImagesByNameImageProvider : ILocalImageFileProvider, IHasOrder { diff --git a/MediaBrowser.Providers/All/InternalMetadataFolderImageProvider.cs b/MediaBrowser.LocalMetadata/Images/InternalMetadataFolderImageProvider.cs similarity index 93% rename from MediaBrowser.Providers/All/InternalMetadataFolderImageProvider.cs rename to MediaBrowser.LocalMetadata/Images/InternalMetadataFolderImageProvider.cs index edaa5edafd..8c4f6247cb 100644 --- a/MediaBrowser.Providers/All/InternalMetadataFolderImageProvider.cs +++ b/MediaBrowser.LocalMetadata/Images/InternalMetadataFolderImageProvider.cs @@ -1,11 +1,11 @@ -using MediaBrowser.Controller.Configuration; +using System.Collections.Generic; +using System.IO; +using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities.Audio; using MediaBrowser.Controller.Providers; -using System.Collections.Generic; -using System.IO; -namespace MediaBrowser.Providers.All +namespace MediaBrowser.LocalMetadata.Images { public class InternalMetadataFolderImageProvider : ILocalImageFileProvider, IHasOrder { diff --git a/MediaBrowser.Providers/All/LocalImageProvider.cs b/MediaBrowser.LocalMetadata/Images/LocalImageProvider.cs similarity index 99% rename from MediaBrowser.Providers/All/LocalImageProvider.cs rename to MediaBrowser.LocalMetadata/Images/LocalImageProvider.cs index 1d10fcfa35..a5ef7977bc 100644 --- a/MediaBrowser.Providers/All/LocalImageProvider.cs +++ b/MediaBrowser.LocalMetadata/Images/LocalImageProvider.cs @@ -1,16 +1,16 @@ -using MediaBrowser.Controller.Entities; +using System; +using System.Collections.Generic; +using System.Globalization; +using System.IO; +using System.Linq; +using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities.Audio; using MediaBrowser.Controller.Entities.Movies; using MediaBrowser.Controller.Entities.TV; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Entities; -using System; -using System.Collections.Generic; -using System.Globalization; -using System.IO; -using System.Linq; -namespace MediaBrowser.Providers.All +namespace MediaBrowser.LocalMetadata.Images { public class LocalImageProvider : ILocalImageFileProvider { diff --git a/MediaBrowser.LocalMetadata/MediaBrowser.LocalMetadata.csproj b/MediaBrowser.LocalMetadata/MediaBrowser.LocalMetadata.csproj new file mode 100644 index 0000000000..0d2c0b97f2 --- /dev/null +++ b/MediaBrowser.LocalMetadata/MediaBrowser.LocalMetadata.csproj @@ -0,0 +1,110 @@ + + + + + Debug + AnyCPU + {7EF9F3E0-697D-42F3-A08F-19DEB5F84392} + Library + Properties + MediaBrowser.LocalMetadata + MediaBrowser.LocalMetadata + v4.5 + 512 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {9142eefa-7570-41e1-bfcc-468bb571af2f} + MediaBrowser.Common + + + {17e1f4e6-8abd-4fe5-9ecf-43d4b6087ba2} + MediaBrowser.Controller + + + {7eeeb4bb-f3e8-48fc-b4c5-70f0fff8329b} + MediaBrowser.Model + + + + + + \ No newline at end of file diff --git a/MediaBrowser.Providers/BoxSets/BoxSetXmlParser.cs b/MediaBrowser.LocalMetadata/Parsers/BoxSetXmlParser.cs similarity index 96% rename from MediaBrowser.Providers/BoxSets/BoxSetXmlParser.cs rename to MediaBrowser.LocalMetadata/Parsers/BoxSetXmlParser.cs index eb3c99cef5..51a4684d70 100644 --- a/MediaBrowser.Providers/BoxSets/BoxSetXmlParser.cs +++ b/MediaBrowser.LocalMetadata/Parsers/BoxSetXmlParser.cs @@ -1,12 +1,12 @@ -using MediaBrowser.Controller.Entities; +using System.Collections.Generic; +using System.Globalization; +using System.Xml; +using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities.Movies; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Logging; -using System.Collections.Generic; -using System.Globalization; -using System.Xml; -namespace MediaBrowser.Providers.BoxSets +namespace MediaBrowser.LocalMetadata.Parsers { public class BoxSetXmlParser : BaseItemXmlParser { diff --git a/MediaBrowser.Providers/TV/EpisodeXmlParser.cs b/MediaBrowser.LocalMetadata/Parsers/EpisodeXmlParser.cs similarity index 98% rename from MediaBrowser.Providers/TV/EpisodeXmlParser.cs rename to MediaBrowser.LocalMetadata/Parsers/EpisodeXmlParser.cs index 20f2678853..8430f3b3c7 100644 --- a/MediaBrowser.Providers/TV/EpisodeXmlParser.cs +++ b/MediaBrowser.LocalMetadata/Parsers/EpisodeXmlParser.cs @@ -1,15 +1,15 @@ -using MediaBrowser.Controller.Entities.TV; -using MediaBrowser.Controller.Providers; -using MediaBrowser.Model.Entities; -using MediaBrowser.Model.Logging; -using System; +using System; using System.Collections.Generic; using System.Globalization; using System.IO; using System.Threading; using System.Xml; +using MediaBrowser.Controller.Entities.TV; +using MediaBrowser.Controller.Providers; +using MediaBrowser.Model.Entities; +using MediaBrowser.Model.Logging; -namespace MediaBrowser.Providers.TV +namespace MediaBrowser.LocalMetadata.Parsers { /// /// Class EpisodeXmlParser diff --git a/MediaBrowser.Providers/Games/GameSystemXmlParser.cs b/MediaBrowser.LocalMetadata/Parsers/GameSystemXmlParser.cs similarity index 94% rename from MediaBrowser.Providers/Games/GameSystemXmlParser.cs rename to MediaBrowser.LocalMetadata/Parsers/GameSystemXmlParser.cs index 85ee509ca1..d449108c4b 100644 --- a/MediaBrowser.Providers/Games/GameSystemXmlParser.cs +++ b/MediaBrowser.LocalMetadata/Parsers/GameSystemXmlParser.cs @@ -1,12 +1,12 @@ -using MediaBrowser.Controller.Entities; +using System.Threading; +using System.Threading.Tasks; +using System.Xml; +using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Entities; using MediaBrowser.Model.Logging; -using System.Threading; -using System.Threading.Tasks; -using System.Xml; -namespace MediaBrowser.Providers.Games +namespace MediaBrowser.LocalMetadata.Parsers { public class GameSystemXmlParser : BaseItemXmlParser { diff --git a/MediaBrowser.Providers/Games/GameXmlParser.cs b/MediaBrowser.LocalMetadata/Parsers/GameXmlParser.cs similarity index 96% rename from MediaBrowser.Providers/Games/GameXmlParser.cs rename to MediaBrowser.LocalMetadata/Parsers/GameXmlParser.cs index dfa71e5f44..2caced8a94 100644 --- a/MediaBrowser.Providers/Games/GameXmlParser.cs +++ b/MediaBrowser.LocalMetadata/Parsers/GameXmlParser.cs @@ -1,13 +1,13 @@ -using MediaBrowser.Controller.Entities; -using MediaBrowser.Controller.Providers; -using MediaBrowser.Model.Entities; -using MediaBrowser.Model.Logging; -using System.Globalization; +using System.Globalization; using System.Threading; using System.Threading.Tasks; using System.Xml; +using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller.Providers; +using MediaBrowser.Model.Entities; +using MediaBrowser.Model.Logging; -namespace MediaBrowser.Providers.Games +namespace MediaBrowser.LocalMetadata.Parsers { /// /// Class EpisodeXmlParser diff --git a/MediaBrowser.Providers/Movies/MovieXmlParser.cs b/MediaBrowser.LocalMetadata/Parsers/MovieXmlParser.cs similarity index 93% rename from MediaBrowser.Providers/Movies/MovieXmlParser.cs rename to MediaBrowser.LocalMetadata/Parsers/MovieXmlParser.cs index 52795ac2d7..388a0d20d7 100644 --- a/MediaBrowser.Providers/Movies/MovieXmlParser.cs +++ b/MediaBrowser.LocalMetadata/Parsers/MovieXmlParser.cs @@ -1,13 +1,13 @@ -using MediaBrowser.Controller.Entities; +using System.Collections.Generic; +using System.Threading; +using System.Xml; +using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities.Movies; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Entities; using MediaBrowser.Model.Logging; -using System.Collections.Generic; -using System.Threading; -using System.Xml; -namespace MediaBrowser.Providers.Movies +namespace MediaBrowser.LocalMetadata.Parsers { /// /// Class EpisodeXmlParser diff --git a/MediaBrowser.Providers/Music/MusicVideoXmlParser.cs b/MediaBrowser.LocalMetadata/Parsers/MusicVideoXmlParser.cs similarity index 88% rename from MediaBrowser.Providers/Music/MusicVideoXmlParser.cs rename to MediaBrowser.LocalMetadata/Parsers/MusicVideoXmlParser.cs index 0c160ff665..b88ff6c3a9 100644 --- a/MediaBrowser.Providers/Music/MusicVideoXmlParser.cs +++ b/MediaBrowser.LocalMetadata/Parsers/MusicVideoXmlParser.cs @@ -1,10 +1,9 @@ -using MediaBrowser.Controller.Entities; -using MediaBrowser.Controller.Entities.Audio; +using System.Xml; +using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Logging; -using System.Xml; -namespace MediaBrowser.Providers.Music +namespace MediaBrowser.LocalMetadata.Parsers { public class MusicVideoXmlParser : BaseItemXmlParser { diff --git a/MediaBrowser.Providers/TV/SeasonXmlParser.cs b/MediaBrowser.LocalMetadata/Parsers/SeasonXmlParser.cs similarity index 91% rename from MediaBrowser.Providers/TV/SeasonXmlParser.cs rename to MediaBrowser.LocalMetadata/Parsers/SeasonXmlParser.cs index 44b73e8e1b..62a7d37cfc 100644 --- a/MediaBrowser.Providers/TV/SeasonXmlParser.cs +++ b/MediaBrowser.LocalMetadata/Parsers/SeasonXmlParser.cs @@ -1,9 +1,9 @@ -using MediaBrowser.Controller.Entities.TV; +using System.Xml; +using MediaBrowser.Controller.Entities.TV; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Logging; -using System.Xml; -namespace MediaBrowser.Providers.TV +namespace MediaBrowser.LocalMetadata.Parsers { public class SeasonXmlParser : BaseItemXmlParser { diff --git a/MediaBrowser.Providers/TV/SeriesXmlParser.cs b/MediaBrowser.LocalMetadata/Parsers/SeriesXmlParser.cs similarity index 97% rename from MediaBrowser.Providers/TV/SeriesXmlParser.cs rename to MediaBrowser.LocalMetadata/Parsers/SeriesXmlParser.cs index 237fcf73af..a3d45034ea 100644 --- a/MediaBrowser.Providers/TV/SeriesXmlParser.cs +++ b/MediaBrowser.LocalMetadata/Parsers/SeriesXmlParser.cs @@ -1,12 +1,12 @@ -using MediaBrowser.Controller.Entities.TV; +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.Logging; -using System; -using System.Xml; -namespace MediaBrowser.Providers.TV +namespace MediaBrowser.LocalMetadata.Parsers { /// /// Class SeriesXmlParser diff --git a/MediaBrowser.LocalMetadata/Properties/AssemblyInfo.cs b/MediaBrowser.LocalMetadata/Properties/AssemblyInfo.cs new file mode 100644 index 0000000000..dd1c89579f --- /dev/null +++ b/MediaBrowser.LocalMetadata/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("MediaBrowser.LocalMetadata")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("MediaBrowser.LocalMetadata")] +[assembly: AssemblyCopyright("Copyright © 2014")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("1c669501-2113-493a-b0ed-f8fd26311941")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/MediaBrowser.Providers/AdultVideos/AdultVideoXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/AdultVideoXmlProvider.cs similarity index 86% rename from MediaBrowser.Providers/AdultVideos/AdultVideoXmlProvider.cs rename to MediaBrowser.LocalMetadata/Providers/AdultVideoXmlProvider.cs index 07b24c57d6..fa17d597dd 100644 --- a/MediaBrowser.Providers/AdultVideos/AdultVideoXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/Providers/AdultVideoXmlProvider.cs @@ -1,14 +1,14 @@ -using MediaBrowser.Common.IO; -using MediaBrowser.Controller.Entities; -using MediaBrowser.Controller.Providers; -using MediaBrowser.Model.Entities; -using MediaBrowser.Model.Logging; -using MediaBrowser.Providers.Movies; -using System.Collections.Generic; +using System.Collections.Generic; using System.IO; using System.Threading; +using MediaBrowser.Common.IO; +using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller.Providers; +using MediaBrowser.LocalMetadata.Parsers; +using MediaBrowser.Model.Entities; +using MediaBrowser.Model.Logging; -namespace MediaBrowser.Providers.AdultVideos +namespace MediaBrowser.LocalMetadata.Providers { class AdultVideoXmlProvider : BaseXmlProvider { diff --git a/MediaBrowser.Providers/Music/AlbumXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/AlbumXmlProvider.cs similarity index 83% rename from MediaBrowser.Providers/Music/AlbumXmlProvider.cs rename to MediaBrowser.LocalMetadata/Providers/AlbumXmlProvider.cs index 73b9140902..6469227698 100644 --- a/MediaBrowser.Providers/Music/AlbumXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/Providers/AlbumXmlProvider.cs @@ -1,13 +1,13 @@ -using MediaBrowser.Common.IO; +using System.IO; +using System.Threading; +using MediaBrowser.Common.IO; using MediaBrowser.Controller.Entities.Audio; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Logging; -using System.IO; -using System.Threading; -namespace MediaBrowser.Providers.Music +namespace MediaBrowser.LocalMetadata.Providers { - class AlbumXmlProvider : BaseXmlProvider + public class AlbumXmlProvider : BaseXmlProvider { private readonly ILogger _logger; diff --git a/MediaBrowser.Providers/Music/ArtistXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/ArtistXmlProvider.cs similarity index 90% rename from MediaBrowser.Providers/Music/ArtistXmlProvider.cs rename to MediaBrowser.LocalMetadata/Providers/ArtistXmlProvider.cs index b221fde1e6..0b5ebfb11a 100644 --- a/MediaBrowser.Providers/Music/ArtistXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/Providers/ArtistXmlProvider.cs @@ -1,11 +1,11 @@ -using MediaBrowser.Common.IO; +using System.IO; +using System.Threading; +using MediaBrowser.Common.IO; using MediaBrowser.Controller.Entities.Audio; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Logging; -using System.IO; -using System.Threading; -namespace MediaBrowser.Providers.Music +namespace MediaBrowser.LocalMetadata.Providers { class ArtistXmlProvider : BaseXmlProvider { diff --git a/MediaBrowser.Providers/BoxSets/BoxSetXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/BoxSetXmlProvider.cs similarity index 87% rename from MediaBrowser.Providers/BoxSets/BoxSetXmlProvider.cs rename to MediaBrowser.LocalMetadata/Providers/BoxSetXmlProvider.cs index 1d4d893ed7..871c2bd926 100644 --- a/MediaBrowser.Providers/BoxSets/BoxSetXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/Providers/BoxSetXmlProvider.cs @@ -1,11 +1,12 @@ -using MediaBrowser.Common.IO; +using System.IO; +using System.Threading; +using MediaBrowser.Common.IO; using MediaBrowser.Controller.Entities.Movies; using MediaBrowser.Controller.Providers; +using MediaBrowser.LocalMetadata.Parsers; using MediaBrowser.Model.Logging; -using System.IO; -using System.Threading; -namespace MediaBrowser.Providers.BoxSets +namespace MediaBrowser.LocalMetadata.Providers { /// /// Class BoxSetXmlProvider. diff --git a/MediaBrowser.Providers/LiveTv/ChannelXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/ChannelXmlProvider.cs similarity index 90% rename from MediaBrowser.Providers/LiveTv/ChannelXmlProvider.cs rename to MediaBrowser.LocalMetadata/Providers/ChannelXmlProvider.cs index 44a312e24c..78845487a2 100644 --- a/MediaBrowser.Providers/LiveTv/ChannelXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/Providers/ChannelXmlProvider.cs @@ -1,11 +1,11 @@ -using MediaBrowser.Common.IO; +using System.IO; +using System.Threading; +using MediaBrowser.Common.IO; using MediaBrowser.Controller.LiveTv; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Logging; -using System.IO; -using System.Threading; -namespace MediaBrowser.Providers.LiveTv +namespace MediaBrowser.LocalMetadata.Providers { public class ChannelXmlProvider : BaseXmlProvider { diff --git a/MediaBrowser.Providers/TV/EpisodeXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/EpisodeXmlProvider.cs similarity index 77% rename from MediaBrowser.Providers/TV/EpisodeXmlProvider.cs rename to MediaBrowser.LocalMetadata/Providers/EpisodeXmlProvider.cs index 3def06bfe1..dff3c1c07c 100644 --- a/MediaBrowser.Providers/TV/EpisodeXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/Providers/EpisodeXmlProvider.cs @@ -1,15 +1,16 @@ -using MediaBrowser.Common.IO; -using MediaBrowser.Controller.Entities.TV; -using MediaBrowser.Controller.Providers; -using MediaBrowser.Model.Entities; -using MediaBrowser.Model.Logging; -using System.Collections.Generic; +using System.Collections.Generic; using System.IO; using System.Threading; +using MediaBrowser.Common.IO; +using MediaBrowser.Controller.Entities.TV; +using MediaBrowser.Controller.Providers; +using MediaBrowser.LocalMetadata.Parsers; +using MediaBrowser.Model.Entities; +using MediaBrowser.Model.Logging; -namespace MediaBrowser.Providers.TV +namespace MediaBrowser.LocalMetadata.Providers { - public class EpisodeXmlProvider : BaseXmlProvider + public class EpisodeXmlProvider : BaseXmlProvider, IHasOrder { private readonly ILogger _logger; @@ -39,5 +40,14 @@ namespace MediaBrowser.Providers.TV return directoryService.GetFile(metadataFile); } + + public int Order + { + get + { + // After Xbmc + return 1; + } + } } } diff --git a/MediaBrowser.Providers/Folders/FolderXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/FolderXmlProvider.cs similarity index 90% rename from MediaBrowser.Providers/Folders/FolderXmlProvider.cs rename to MediaBrowser.LocalMetadata/Providers/FolderXmlProvider.cs index 144d1b752e..0a2b33744e 100644 --- a/MediaBrowser.Providers/Folders/FolderXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/Providers/FolderXmlProvider.cs @@ -1,11 +1,11 @@ -using MediaBrowser.Common.IO; +using System.IO; +using System.Threading; +using MediaBrowser.Common.IO; using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Logging; -using System.IO; -using System.Threading; -namespace MediaBrowser.Providers.Folders +namespace MediaBrowser.LocalMetadata.Providers { /// /// Provides metadata for Folders and all subclasses by parsing folder.xml diff --git a/MediaBrowser.Providers/Games/GameSystemXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/GameSystemXmlProvider.cs similarity index 86% rename from MediaBrowser.Providers/Games/GameSystemXmlProvider.cs rename to MediaBrowser.LocalMetadata/Providers/GameSystemXmlProvider.cs index db9c8f063c..dd486da1dd 100644 --- a/MediaBrowser.Providers/Games/GameSystemXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/Providers/GameSystemXmlProvider.cs @@ -1,11 +1,12 @@ -using MediaBrowser.Common.IO; +using System.IO; +using System.Threading; +using MediaBrowser.Common.IO; using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Providers; +using MediaBrowser.LocalMetadata.Parsers; using MediaBrowser.Model.Logging; -using System.IO; -using System.Threading; -namespace MediaBrowser.Providers.Games +namespace MediaBrowser.LocalMetadata.Providers { public class GameSystemXmlProvider : BaseXmlProvider { diff --git a/MediaBrowser.Providers/Games/GameXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/GameXmlProvider.cs similarity index 90% rename from MediaBrowser.Providers/Games/GameXmlProvider.cs rename to MediaBrowser.LocalMetadata/Providers/GameXmlProvider.cs index 6609f9d5e7..681706321b 100644 --- a/MediaBrowser.Providers/Games/GameXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/Providers/GameXmlProvider.cs @@ -1,11 +1,12 @@ -using MediaBrowser.Common.IO; +using System.IO; +using System.Threading; +using MediaBrowser.Common.IO; using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Providers; +using MediaBrowser.LocalMetadata.Parsers; using MediaBrowser.Model.Logging; -using System.IO; -using System.Threading; -namespace MediaBrowser.Providers.Games +namespace MediaBrowser.LocalMetadata.Providers { public class GameXmlProvider : BaseXmlProvider { diff --git a/MediaBrowser.Providers/Movies/MovieXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/MovieXmlProvider.cs similarity index 92% rename from MediaBrowser.Providers/Movies/MovieXmlProvider.cs rename to MediaBrowser.LocalMetadata/Providers/MovieXmlProvider.cs index cc7293f533..6ba1912a5d 100644 --- a/MediaBrowser.Providers/Movies/MovieXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/Providers/MovieXmlProvider.cs @@ -1,13 +1,14 @@ -using MediaBrowser.Common.IO; -using MediaBrowser.Controller.Entities.Movies; -using MediaBrowser.Controller.Providers; -using MediaBrowser.Model.Entities; -using MediaBrowser.Model.Logging; -using System.Collections.Generic; +using System.Collections.Generic; using System.IO; using System.Threading; +using MediaBrowser.Common.IO; +using MediaBrowser.Controller.Entities.Movies; +using MediaBrowser.Controller.Providers; +using MediaBrowser.LocalMetadata.Parsers; +using MediaBrowser.Model.Entities; +using MediaBrowser.Model.Logging; -namespace MediaBrowser.Providers.Movies +namespace MediaBrowser.LocalMetadata.Providers { public class MovieXmlProvider : BaseXmlProvider { diff --git a/MediaBrowser.Providers/Music/MusicVideoXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/MusicVideoXmlProvider.cs similarity index 83% rename from MediaBrowser.Providers/Music/MusicVideoXmlProvider.cs rename to MediaBrowser.LocalMetadata/Providers/MusicVideoXmlProvider.cs index 93d9031c3d..6289dcb562 100644 --- a/MediaBrowser.Providers/Music/MusicVideoXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/Providers/MusicVideoXmlProvider.cs @@ -1,13 +1,12 @@ -using MediaBrowser.Common.IO; -using MediaBrowser.Controller.Entities; -using MediaBrowser.Controller.Entities.Audio; -using MediaBrowser.Controller.Providers; -using MediaBrowser.Model.Logging; -using MediaBrowser.Providers.Movies; -using System.IO; +using System.IO; using System.Threading; +using MediaBrowser.Common.IO; +using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller.Providers; +using MediaBrowser.LocalMetadata.Parsers; +using MediaBrowser.Model.Logging; -namespace MediaBrowser.Providers.Music +namespace MediaBrowser.LocalMetadata.Providers { class MusicVideoXmlProvider : BaseXmlProvider { diff --git a/MediaBrowser.Providers/People/PersonXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/PersonXmlProvider.cs similarity index 89% rename from MediaBrowser.Providers/People/PersonXmlProvider.cs rename to MediaBrowser.LocalMetadata/Providers/PersonXmlProvider.cs index b120c4830b..9f27d6c7d6 100644 --- a/MediaBrowser.Providers/People/PersonXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/Providers/PersonXmlProvider.cs @@ -1,11 +1,11 @@ -using MediaBrowser.Common.IO; +using System.IO; +using System.Threading; +using MediaBrowser.Common.IO; using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Logging; -using System.IO; -using System.Threading; -namespace MediaBrowser.Providers.People +namespace MediaBrowser.LocalMetadata.Providers { public class PersonXmlProvider : BaseXmlProvider { diff --git a/MediaBrowser.Providers/TV/SeasonXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/SeasonXmlProvider.cs similarity index 70% rename from MediaBrowser.Providers/TV/SeasonXmlProvider.cs rename to MediaBrowser.LocalMetadata/Providers/SeasonXmlProvider.cs index 6a41988de1..2320982c3c 100644 --- a/MediaBrowser.Providers/TV/SeasonXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/Providers/SeasonXmlProvider.cs @@ -1,16 +1,17 @@ -using MediaBrowser.Common.IO; +using System.IO; +using System.Threading; +using MediaBrowser.Common.IO; using MediaBrowser.Controller.Entities.TV; using MediaBrowser.Controller.Providers; +using MediaBrowser.LocalMetadata.Parsers; using MediaBrowser.Model.Logging; -using System.IO; -using System.Threading; -namespace MediaBrowser.Providers.TV +namespace MediaBrowser.LocalMetadata.Providers { /// /// Class SeriesProviderFromXml /// - public class SeasonXmlProvider : BaseXmlProvider + public class SeasonXmlProvider : BaseXmlProvider, IHasOrder { private readonly ILogger _logger; @@ -29,6 +30,15 @@ namespace MediaBrowser.Providers.TV { return directoryService.GetFile(Path.Combine(info.Path, "season.xml")); } + + public int Order + { + get + { + // After Xbmc + return 1; + } + } } } diff --git a/MediaBrowser.Providers/TV/SeriesXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/SeriesXmlProvider.cs similarity index 70% rename from MediaBrowser.Providers/TV/SeriesXmlProvider.cs rename to MediaBrowser.LocalMetadata/Providers/SeriesXmlProvider.cs index f32afbd968..311c102877 100644 --- a/MediaBrowser.Providers/TV/SeriesXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/Providers/SeriesXmlProvider.cs @@ -1,16 +1,17 @@ -using MediaBrowser.Common.IO; +using System.IO; +using System.Threading; +using MediaBrowser.Common.IO; using MediaBrowser.Controller.Entities.TV; using MediaBrowser.Controller.Providers; +using MediaBrowser.LocalMetadata.Parsers; using MediaBrowser.Model.Logging; -using System.IO; -using System.Threading; -namespace MediaBrowser.Providers.TV +namespace MediaBrowser.LocalMetadata.Providers { /// /// Class SeriesProviderFromXml /// - public class SeriesXmlProvider : BaseXmlProvider + public class SeriesXmlProvider : BaseXmlProvider, IHasOrder { private readonly ILogger _logger; @@ -29,5 +30,14 @@ namespace MediaBrowser.Providers.TV { return directoryService.GetFile(Path.Combine(info.Path, "series.xml")); } + + public int Order + { + get + { + // After Xbmc + return 1; + } + } } } diff --git a/MediaBrowser.Providers/Movies/TrailerXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/TrailerXmlProvider.cs similarity index 86% rename from MediaBrowser.Providers/Movies/TrailerXmlProvider.cs rename to MediaBrowser.LocalMetadata/Providers/TrailerXmlProvider.cs index d24bdb431b..db3b2fcf00 100644 --- a/MediaBrowser.Providers/Movies/TrailerXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/Providers/TrailerXmlProvider.cs @@ -1,13 +1,14 @@ -using MediaBrowser.Common.IO; -using MediaBrowser.Controller.Entities; -using MediaBrowser.Controller.Providers; -using MediaBrowser.Model.Entities; -using MediaBrowser.Model.Logging; -using System.Collections.Generic; +using System.Collections.Generic; using System.IO; using System.Threading; +using MediaBrowser.Common.IO; +using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller.Providers; +using MediaBrowser.LocalMetadata.Parsers; +using MediaBrowser.Model.Entities; +using MediaBrowser.Model.Logging; -namespace MediaBrowser.Providers.Movies +namespace MediaBrowser.LocalMetadata.Providers { public class TrailerXmlProvider : BaseXmlProvider { diff --git a/MediaBrowser.Providers/Videos/VideoXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/VideoXmlProvider.cs similarity index 86% rename from MediaBrowser.Providers/Videos/VideoXmlProvider.cs rename to MediaBrowser.LocalMetadata/Providers/VideoXmlProvider.cs index 779f3faa73..25aa61bafb 100644 --- a/MediaBrowser.Providers/Videos/VideoXmlProvider.cs +++ b/MediaBrowser.LocalMetadata/Providers/VideoXmlProvider.cs @@ -1,14 +1,14 @@ -using MediaBrowser.Common.IO; -using MediaBrowser.Controller.Entities; -using MediaBrowser.Controller.Providers; -using MediaBrowser.Model.Entities; -using MediaBrowser.Model.Logging; -using MediaBrowser.Providers.Movies; -using System.Collections.Generic; +using System.Collections.Generic; using System.IO; using System.Threading; +using MediaBrowser.Common.IO; +using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller.Providers; +using MediaBrowser.LocalMetadata.Parsers; +using MediaBrowser.Model.Entities; +using MediaBrowser.Model.Logging; -namespace MediaBrowser.Providers.Videos +namespace MediaBrowser.LocalMetadata.Providers { class VideoXmlProvider : BaseXmlProvider