aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Dlna/PlayTo/Configuration/PluginConfiguration.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Dlna/PlayTo/Configuration/PluginConfiguration.cs')
-rw-r--r--MediaBrowser.Dlna/PlayTo/Configuration/PluginConfiguration.cs119
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
+ };
+ }
+ }
+}