diff options
Diffstat (limited to 'MediaBrowser.Dlna/PlayTo/Configuration/PluginConfiguration.cs')
| -rw-r--r-- | MediaBrowser.Dlna/PlayTo/Configuration/PluginConfiguration.cs | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/MediaBrowser.Dlna/PlayTo/Configuration/PluginConfiguration.cs b/MediaBrowser.Dlna/PlayTo/Configuration/PluginConfiguration.cs new file mode 100644 index 000000000..1bd8781bb --- /dev/null +++ b/MediaBrowser.Dlna/PlayTo/Configuration/PluginConfiguration.cs @@ -0,0 +1,119 @@ +namespace MediaBrowser.Dlna.PlayTo.Configuration +{ + public class PlayToConfiguration + { + private static readonly string[] _supportedStaticFormats = { "mp3", "flac", "m4a", "wma", "avi", "mp4", "mkv", "ts" }; + public static string[] SupportedStaticFormats + { + get + { + return _supportedStaticFormats; + } + } + + private static readonly DlnaProfile[] _profiles = GetDefaultProfiles(); + public static DlnaProfile[] Profiles + { + get + { + return _profiles; + } + } + + private static DlnaProfile[] GetDefaultProfiles() + { + var profile0 = new DlnaProfile + { + Name = "Samsung TV (B Series) [Profile]", + ClientType = "DLNA", + FriendlyName = "^TV$", + ModelNumber = @"1\.0", + ModelName = "Samsung DTV DMR", + TranscodeSettings = TranscodeSettings.GetDefaultTranscodingSettings() + }; + + var profile1 = new DlnaProfile + { + Name = "Samsung TV (E/F-series) [Profile]", + ClientType = "DLNA", + FriendlyName = @"(^\[TV\][A-Z]{2}\d{2}(E|F)[A-Z]?\d{3,4}.*)|^\[TV\] Samsung", + ModelNumber = @"(1\.0)|(AllShare1\.0)", + TranscodeSettings = TranscodeSettings.GetDefaultTranscodingSettings() + }; + + var profile2 = new DlnaProfile + { + Name = "Samsung TV (C/D-series) [Profile]", + ClientType = "DLNA", + FriendlyName = @"(^TV-\d{2}C\d{3}.*)|(^\[TV\][A-Z]{2}\d{2}(D)[A-Z]?\d{3,4}.*)|^\[TV\] Samsung", + ModelNumber = @"(1\.0)|(AllShare1\.0)", + TranscodeSettings = TranscodeSettings.GetDefaultTranscodingSettings() + }; + + var profile3 = new DlnaProfile + { + Name = "Xbox 360 [Profile]", + ClientType = "DLNA", + ModelName = "Xbox 360", + TranscodeSettings = new[] + { + new TranscodeSettings {Container = "mkv", TargetContainer = "ts"}, + new TranscodeSettings {Container = "flac", TargetContainer = "mp3"}, + new TranscodeSettings {Container = "m4a", TargetContainer = "mp3"} + } + }; + + var profile4 = new DlnaProfile + { + Name = "Xbox One [Profile]", + ModelName = "Xbox One", + ClientType = "DLNA", + FriendlyName = "Xbox-SystemOS", + TranscodeSettings = new[] + { + new TranscodeSettings {Container = "mkv", TargetContainer = "ts"}, + new TranscodeSettings {Container = "flac", TargetContainer = "mp3"}, + new TranscodeSettings {Container = "m4a", TargetContainer = "mp3"} + } + }; + + var profile5 = new DlnaProfile + { + Name = "Sony Bravia TV (2012)", + ClientType = "TV", + FriendlyName = @"BRAVIA KDL-\d{2}[A-Z]X\d5(\d|G).*", + TranscodeSettings = TranscodeSettings.GetDefaultTranscodingSettings() + }; + + //WDTV does not need any transcoding of the formats we support statically + var profile6 = new DlnaProfile + { + Name = "WDTV Live [Profile]", + ClientType = "DLNA", + ModelName = "WD TV HD Live", + TranscodeSettings = new TranscodeSettings[] { } + }; + + var profile7 = new DlnaProfile + { + //Linksys DMA2100us does not need any transcoding of the formats we support statically + Name = "Linksys DMA2100 [Profile]", + ClientType = "DLNA", + ModelName = "DMA2100us", + TranscodeSettings = new TranscodeSettings[] { } + }; + + return new[] + { + profile0, + profile1, + profile2, + profile3, + profile4, + profile5, + profile6, + profile7 + }; + } + } +} |
