aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MediaBrowser.Api/Playback/BaseStreamingService.cs28
-rw-r--r--MediaBrowser.Controller/Dlna/DeviceProfile.cs1
-rw-r--r--MediaBrowser.Dlna/DlnaManager.cs283
-rw-r--r--MediaBrowser.Dlna/MediaBrowser.Dlna.csproj2
-rw-r--r--MediaBrowser.Dlna/Profiles/DefaultProfile.cs10
-rw-r--r--MediaBrowser.Dlna/Profiles/DenonAvrProfile.cs1
-rw-r--r--MediaBrowser.Dlna/Profiles/LinksysDMA2100Profile.cs33
-rw-r--r--MediaBrowser.Dlna/Profiles/PanasonicVieraProfile.cs1
-rw-r--r--MediaBrowser.Dlna/Profiles/SamsungSmartTvProfile.cs315
-rw-r--r--MediaBrowser.Dlna/Profiles/SonyBravia2010Profile.cs1
-rw-r--r--MediaBrowser.Dlna/Profiles/SonyBravia2011Profile.cs1
-rw-r--r--MediaBrowser.Dlna/Profiles/SonyBravia2012Profile.cs1
-rw-r--r--MediaBrowser.Dlna/Profiles/SonyBravia2013Profile.cs1
-rw-r--r--MediaBrowser.Dlna/Profiles/WdtvLiveProfile.cs1
-rw-r--r--MediaBrowser.Dlna/Profiles/Xbox360Profile.cs2
-rw-r--r--MediaBrowser.Dlna/Profiles/XboxOneProfile.cs6
16 files changed, 381 insertions, 306 deletions
diff --git a/MediaBrowser.Api/Playback/BaseStreamingService.cs b/MediaBrowser.Api/Playback/BaseStreamingService.cs
index 9ec28700d..e27fe1dda 100644
--- a/MediaBrowser.Api/Playback/BaseStreamingService.cs
+++ b/MediaBrowser.Api/Playback/BaseStreamingService.cs
@@ -1211,71 +1211,75 @@ namespace MediaBrowser.Api.Playback
if (i == 0)
{
- request.DeviceId = val;
+ // Device profile name
}
else if (i == 1)
{
- request.MediaSourceId = val;
+ request.DeviceId = val;
}
else if (i == 2)
{
- request.Static = string.Equals("true", val, StringComparison.OrdinalIgnoreCase);
+ request.MediaSourceId = val;
}
else if (i == 3)
{
+ request.Static = string.Equals("true", val, StringComparison.OrdinalIgnoreCase);
+ }
+ else if (i == 4)
+ {
if (videoRequest != null)
{
videoRequest.VideoCodec = (VideoCodecs)Enum.Parse(typeof(VideoCodecs), val, true);
}
}
- else if (i == 4)
+ else if (i == 5)
{
request.AudioCodec = (AudioCodecs)Enum.Parse(typeof(AudioCodecs), val, true);
}
- else if (i == 5)
+ else if (i == 6)
{
if (videoRequest != null)
{
videoRequest.AudioStreamIndex = int.Parse(val, UsCulture);
}
}
- else if (i == 6)
+ else if (i == 7)
{
if (videoRequest != null)
{
videoRequest.SubtitleStreamIndex = int.Parse(val, UsCulture);
}
}
- else if (i == 7)
+ else if (i == 8)
{
if (videoRequest != null)
{
videoRequest.VideoBitRate = int.Parse(val, UsCulture);
}
}
- else if (i == 8)
+ else if (i == 9)
{
request.AudioBitRate = int.Parse(val, UsCulture);
}
- else if (i == 9)
+ else if (i == 10)
{
request.MaxAudioChannels = int.Parse(val, UsCulture);
}
- else if (i == 10)
+ else if (i == 11)
{
if (videoRequest != null)
{
request.StartTimeTicks = long.Parse(val, UsCulture);
}
}
- else if (i == 11)
+ else if (i == 12)
{
if (videoRequest != null)
{
videoRequest.Profile = val;
}
}
- else if (i == 12)
+ else if (i == 13)
{
if (videoRequest != null)
{
diff --git a/MediaBrowser.Controller/Dlna/DeviceProfile.cs b/MediaBrowser.Controller/Dlna/DeviceProfile.cs
index 83500e407..f3de1bc34 100644
--- a/MediaBrowser.Controller/Dlna/DeviceProfile.cs
+++ b/MediaBrowser.Controller/Dlna/DeviceProfile.cs
@@ -43,6 +43,7 @@ namespace MediaBrowser.Controller.Dlna
public string ModelNumber { get; set; }
public string ModelUrl { get; set; }
public bool IgnoreTranscodeByteRangeRequests { get; set; }
+ public bool SupportsAlbumArtInDidl { get; set; }
/// <summary>
/// Controls the content of the X_DLNADOC element in the urn:schemas-dlna-org:device-1-0 namespace.
diff --git a/MediaBrowser.Dlna/DlnaManager.cs b/MediaBrowser.Dlna/DlnaManager.cs
index 9588eb7b6..d4fdf92d8 100644
--- a/MediaBrowser.Dlna/DlnaManager.cs
+++ b/MediaBrowser.Dlna/DlnaManager.cs
@@ -29,208 +29,8 @@ namespace MediaBrowser.Dlna
{
var list = new List<DeviceProfile>();
- //list.Add(new DeviceProfile
- //{
- // Name = "Samsung TV (B Series)",
- // ClientType = "DLNA",
-
- // Identification = new DeviceIdentification
- // {
- // FriendlyName = "^TV$",
- // ModelNumber = @"1\.0",
- // ModelName = "Samsung DTV DMR"
- // },
-
- // TranscodingProfiles = new[]
- // {
- // new TranscodingProfile
- // {
- // Container = "mp3",
- // Type = DlnaProfileType.Audio,
- // },
- // new TranscodingProfile
- // {
- // Container = "ts",
- // Type = DlnaProfileType.Video
- // }
- // },
-
- // DirectPlayProfiles = new[]
- // {
- // new DirectPlayProfile
- // {
- // Container = "mp3",
- // Type = DlnaProfileType.Audio,
- // },
- // new DirectPlayProfile
- // {
- // Container = "mkv",
- // Type = DlnaProfileType.Video
- // },
- // new DirectPlayProfile
- // {
- // Container = "avi",
- // Type = DlnaProfileType.Video
- // },
- // new DirectPlayProfile
- // {
- // Container = "mp4",
- // Type = DlnaProfileType.Video
- // }
- // },
-
- // MediaProfiles = new[]
- // {
- // new MediaProfile
- // {
- // Container ="avi",
- // MimeType = "video/x-msvideo",
- // Type = DlnaProfileType.Video
- // },
-
- // new MediaProfile
- // {
- // Container ="mkv",
- // MimeType = "video/x-mkv",
- // Type = DlnaProfileType.Video
- // }
- // }
- //});
-
- //list.Add(new DeviceProfile
- //{
- // Name = "Samsung TV (E/F-series)",
- // ClientType = "DLNA",
-
- // Identification = new DeviceIdentification
- // {
- // FriendlyName = @"(^\[TV\][A-Z]{2}\d{2}(E|F)[A-Z]?\d{3,4}.*)|^\[TV\] Samsung|(^\[TV\]Samsung [A-Z]{2}\d{2}(E|F)[A-Z]?\d{3,4}.*)",
- // ModelNumber = @"(1\.0)|(AllShare1\.0)"
- // },
-
- // TranscodingProfiles = new[]
- // {
- // new TranscodingProfile
- // {
- // Container = "mp3",
- // Type = DlnaProfileType.Audio
- // },
- // new TranscodingProfile
- // {
- // Container = "ts",
- // Type = DlnaProfileType.Video
- // }
- // },
-
- // DirectPlayProfiles = new[]
- // {
- // new DirectPlayProfile
- // {
- // Container = "mp3",
- // Type = DlnaProfileType.Audio
- // },
- // new DirectPlayProfile
- // {
- // Container = "mkv",
- // Type = DlnaProfileType.Video
- // },
- // new DirectPlayProfile
- // {
- // Container = "avi",
- // Type = DlnaProfileType.Video
- // },
- // new DirectPlayProfile
- // {
- // Container = "mp4",
- // Type = DlnaProfileType.Video
- // }
- // },
-
- // MediaProfiles = new[]
- // {
- // new MediaProfile
- // {
- // Container ="avi",
- // MimeType = "video/x-msvideo",
- // Type = DlnaProfileType.Video
- // },
-
- // new MediaProfile
- // {
- // Container ="mkv",
- // MimeType = "video/x-mkv",
- // Type = DlnaProfileType.Video
- // }
- // }
- //});
-
- //list.Add(new DeviceProfile
- //{
- // Name = "Samsung TV (C/D-series)",
- // ClientType = "DLNA",
-
- // Identification = new DeviceIdentification
- // {
- // 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)"
- // },
-
- // TranscodingProfiles = new[]
- // {
- // new TranscodingProfile
- // {
- // Container = "mp3",
- // Type = DlnaProfileType.Audio
- // },
- // new TranscodingProfile
- // {
- // Container = "ts",
- // Type = DlnaProfileType.Video
- // }
- // },
-
- // DirectPlayProfiles = new[]
- // {
- // new DirectPlayProfile
- // {
- // Container = "mp3",
- // Type = DlnaProfileType.Audio
- // },
- // new DirectPlayProfile
- // {
- // Container = "mkv",
- // Type = DlnaProfileType.Video
- // },
- // new DirectPlayProfile
- // {
- // Container = "avi",
- // Type = DlnaProfileType.Video
- // },
- // new DirectPlayProfile
- // {
- // Container = "mp4",
- // Type = DlnaProfileType.Video
- // }
- // },
-
- // MediaProfiles = new[]
- // {
- // new MediaProfile
- // {
- // Container ="avi",
- // MimeType = "video/x-msvideo",
- // Type = DlnaProfileType.Video
- // },
-
- // new MediaProfile
- // {
- // Container ="mkv",
- // MimeType = "video/x-mkv",
- // Type = DlnaProfileType.Video
- // }
- // }
- //});
-
+ list.Add(new SamsungSmartTvProfile());
+
list.Add(new Xbox360Profile());
list.Add(new XboxOneProfile());
@@ -245,87 +45,12 @@ namespace MediaBrowser.Dlna
list.Add(new PanasonicVieraProfile());
- //list.Add(new DeviceProfile
- //{
- // Name = "Philips (2010-)",
- // ClientType = "DLNA",
-
- // Identification = new DeviceIdentification
- // {
- // FriendlyName = ".*PHILIPS.*",
- // ModelName = "WD TV HD Live"
- // },
-
- // DirectPlayProfiles = new[]
- // {
- // new DirectPlayProfile
- // {
- // Container = "mp3,wma",
- // Type = DlnaProfileType.Audio
- // },
-
- // new DirectPlayProfile
- // {
- // Container = "avi",
- // Type = DlnaProfileType.Video
- // },
-
- // new DirectPlayProfile
- // {
- // Container = "mkv",
- // Type = DlnaProfileType.Video
- // }
- // },
-
- // MediaProfiles = new[]
- // {
- // new MediaProfile
- // {
- // Container ="avi",
- // MimeType = "video/avi",
- // Type = DlnaProfileType.Video
- // },
-
- // new MediaProfile
- // {
- // Container ="mkv",
- // MimeType = "video/x-matroska",
- // Type = DlnaProfileType.Video
- // }
- // }
- //});
-
list.Add(new WdtvLiveProfile());
- //list.Add(new DeviceProfile
- //{
- // // Linksys DMA2100us does not need any transcoding of the formats we support statically
- // Name = "Linksys DMA2100",
- // ClientType = "DLNA",
-
- // Identification = new DeviceIdentification
- // {
- // ModelName = "DMA2100us"
- // },
-
- // DirectPlayProfiles = new[]
- // {
- // new DirectPlayProfile
- // {
- // Container = "mp3,flac,m4a,wma",
- // Type = DlnaProfileType.Audio
- // },
-
- // new DirectPlayProfile
- // {
- // Container = "avi,mp4,mkv,ts",
- // Type = DlnaProfileType.Video
- // }
- // }
- //});
-
list.Add(new DenonAvrProfile());
+ list.Add(new LinksysDMA2100Profile());
+
foreach (var item in list)
{
//_xmlSerializer.SerializeToFile(item, "d:\\" + _fileSystem.GetValidFilename(item.Name) + ".xml");
diff --git a/MediaBrowser.Dlna/MediaBrowser.Dlna.csproj b/MediaBrowser.Dlna/MediaBrowser.Dlna.csproj
index 590d6378f..c37088246 100644
--- a/MediaBrowser.Dlna/MediaBrowser.Dlna.csproj
+++ b/MediaBrowser.Dlna/MediaBrowser.Dlna.csproj
@@ -83,7 +83,9 @@
<Compile Include="PlayTo\uPnpNamespaces.cs" />
<Compile Include="Profiles\DefaultProfile.cs" />
<Compile Include="Profiles\DenonAvrProfile.cs" />
+ <Compile Include="Profiles\LinksysDMA2100Profile.cs" />
<Compile Include="Profiles\PanasonicVieraProfile.cs" />
+ <Compile Include="Profiles\SamsungSmartTvProfile.cs" />
<Compile Include="Profiles\SonyBravia2010Profile.cs" />
<Compile Include="Profiles\SonyBravia2011Profile.cs" />
<Compile Include="Profiles\SonyBravia2012Profile.cs" />
diff --git a/MediaBrowser.Dlna/Profiles/DefaultProfile.cs b/MediaBrowser.Dlna/Profiles/DefaultProfile.cs
index 2580e8f8c..a1c661275 100644
--- a/MediaBrowser.Dlna/Profiles/DefaultProfile.cs
+++ b/MediaBrowser.Dlna/Profiles/DefaultProfile.cs
@@ -6,6 +6,16 @@ namespace MediaBrowser.Dlna.Profiles
{
public DefaultProfile()
{
+ ProtocolInfo = "DLNA";
+
+ ClientType = "DLNA";
+ Manufacturer = "Media Browser";
+ ModelDescription = "Media Browser";
+ ModelName = "Media Browser";
+ ModelNumber = "Media Browser";
+ ModelUrl = "http://mediabrowser3.com/";
+ ManufacturerUrl = "http://mediabrowser3.com/";
+
TranscodingProfiles = new[]
{
new TranscodingProfile
diff --git a/MediaBrowser.Dlna/Profiles/DenonAvrProfile.cs b/MediaBrowser.Dlna/Profiles/DenonAvrProfile.cs
index 8029912d0..cca6ab6bb 100644
--- a/MediaBrowser.Dlna/Profiles/DenonAvrProfile.cs
+++ b/MediaBrowser.Dlna/Profiles/DenonAvrProfile.cs
@@ -7,7 +7,6 @@ namespace MediaBrowser.Dlna.Profiles
public DenonAvrProfile()
{
Name = "Denon AVR";
- ClientType = "DLNA";
Identification = new DeviceIdentification
{
diff --git a/MediaBrowser.Dlna/Profiles/LinksysDMA2100Profile.cs b/MediaBrowser.Dlna/Profiles/LinksysDMA2100Profile.cs
new file mode 100644
index 000000000..e7086c205
--- /dev/null
+++ b/MediaBrowser.Dlna/Profiles/LinksysDMA2100Profile.cs
@@ -0,0 +1,33 @@
+using MediaBrowser.Controller.Dlna;
+
+namespace MediaBrowser.Dlna.Profiles
+{
+ public class LinksysDMA2100Profile : DefaultProfile
+ {
+ public LinksysDMA2100Profile()
+ {
+ // Linksys DMA2100us does not need any transcoding of the formats we support statically
+ Name = "Linksys DMA2100";
+
+ Identification = new DeviceIdentification
+ {
+ ModelName = "DMA2100us"
+ };
+
+ DirectPlayProfiles = new[]
+ {
+ new DirectPlayProfile
+ {
+ Container = "mp3,flac,m4a,wma",
+ Type = DlnaProfileType.Audio
+ },
+
+ new DirectPlayProfile
+ {
+ Container = "avi,mp4,mkv,ts",
+ Type = DlnaProfileType.Video
+ }
+ };
+ }
+ }
+}
diff --git a/MediaBrowser.Dlna/Profiles/PanasonicVieraProfile.cs b/MediaBrowser.Dlna/Profiles/PanasonicVieraProfile.cs
index ced648e5c..6755c0680 100644
--- a/MediaBrowser.Dlna/Profiles/PanasonicVieraProfile.cs
+++ b/MediaBrowser.Dlna/Profiles/PanasonicVieraProfile.cs
@@ -7,7 +7,6 @@ namespace MediaBrowser.Dlna.Profiles
public PanasonicVieraProfile()
{
Name = "Panasonic Viera";
- ClientType = "DLNA";
Identification = new DeviceIdentification
{
diff --git a/MediaBrowser.Dlna/Profiles/SamsungSmartTvProfile.cs b/MediaBrowser.Dlna/Profiles/SamsungSmartTvProfile.cs
new file mode 100644
index 000000000..fa6b1201a
--- /dev/null
+++ b/MediaBrowser.Dlna/Profiles/SamsungSmartTvProfile.cs
@@ -0,0 +1,315 @@
+using MediaBrowser.Controller.Dlna;
+
+namespace MediaBrowser.Dlna.Profiles
+{
+ public class SamsungSmartTvProfile : DefaultProfile
+ {
+ public SamsungSmartTvProfile()
+ {
+ Name = "Samsung Smart TV";
+
+ SupportsAlbumArtInDidl = true;
+
+ Identification = new DeviceIdentification
+ {
+ ModelUrl = "samsung.com"
+ };
+
+ TranscodingProfiles = new[]
+ {
+ new TranscodingProfile
+ {
+ Container = "mp3",
+ AudioCodec = "mp3",
+ Type = DlnaProfileType.Audio
+ },
+ new TranscodingProfile
+ {
+ Container = "ts",
+ AudioCodec = "ac3",
+ VideoCodec = "h264",
+ Type = DlnaProfileType.Video
+ },
+ new TranscodingProfile
+ {
+ Container = "jpeg",
+ Type = DlnaProfileType.Photo
+ }
+ };
+
+ DirectPlayProfiles = new[]
+ {
+ new DirectPlayProfile
+ {
+ Container = "asf",
+ VideoCodec = "h264,mpeg4,mjpeg",
+ AudioCodec = "mp3,ac3,wmav2,wmapro,wmavoice",
+ Type = DlnaProfileType.Video
+ },
+ new DirectPlayProfile
+ {
+ Container = "avi",
+ VideoCodec = "h264,mpeg4,mjpeg",
+ AudioCodec = "mp3,ac3,dca",
+ Type = DlnaProfileType.Video
+ },
+ new DirectPlayProfile
+ {
+ Container = "mkv",
+ VideoCodec = "h264,mpeg4,mjpeg4",
+ AudioCodec = "mp3,ac3,dca,aac",
+ Type = DlnaProfileType.Video
+ },
+ new DirectPlayProfile
+ {
+ Container = "mp4",
+ VideoCodec = "h264,mpeg4",
+ AudioCodec = "mp3,aac",
+ Type = DlnaProfileType.Video
+ },
+ new DirectPlayProfile
+ {
+ Container = "3gpp",
+ VideoCodec = "h264,mpeg4",
+ AudioCodec = "aac,he-aac",
+ Type = DlnaProfileType.Video
+ },
+ new DirectPlayProfile
+ {
+ Container = "mpg,mpeg",
+ VideoCodec = "mpeg1video,mpeg2video,h264",
+ AudioCodec = "ac3,mp2,mp3,aac",
+ Type = DlnaProfileType.Video
+ },
+ new DirectPlayProfile
+ {
+ Container = "vro,vob",
+ VideoCodec = "mpeg1video,mpeg2video",
+ AudioCodec = "ac3,mp2,mp3",
+ Type = DlnaProfileType.Video
+ },
+ new DirectPlayProfile
+ {
+ Container = "ts",
+ VideoCodec = "mpeg2video,h264,vc1",
+ AudioCodec = "ac3,aac,mp3,eac3",
+ Type = DlnaProfileType.Video
+ },
+ new DirectPlayProfile
+ {
+ Container = "asf",
+ VideoCodec = "wmv2,wmv3",
+ AudioCodec = "wmav2,wmavoice",
+ Type = DlnaProfileType.Video
+ },
+ new DirectPlayProfile
+ {
+ Container = "mp3",
+ AudioCodec = "mp3",
+ Type = DlnaProfileType.Audio
+ },
+ new DirectPlayProfile
+ {
+ Container = "jpeg",
+ Type = DlnaProfileType.Photo
+ }
+ };
+
+ ContainerProfiles = new[]
+ {
+ new ContainerProfile
+ {
+ Type = DlnaProfileType.Photo,
+
+ Conditions = new []
+ {
+ new ProfileCondition
+ {
+ Condition = ProfileConditionType.LessThanEqual,
+ Property = ProfileConditionValue.Width,
+ Value = "1920"
+ },
+ new ProfileCondition
+ {
+ Condition = ProfileConditionType.LessThanEqual,
+ Property = ProfileConditionValue.Height,
+ Value = "1080"
+ }
+ }
+ }
+ };
+
+ CodecProfiles = new[]
+ {
+ new CodecProfile
+ {
+ Type = CodecType.VideoCodec,
+ Codec = "mpeg2video",
+
+ Conditions = new[]
+ {
+ new ProfileCondition
+ {
+ Condition = ProfileConditionType.LessThanEqual,
+ Property = ProfileConditionValue.Width,
+ Value = "1920"
+ },
+ new ProfileCondition
+ {
+ Condition = ProfileConditionType.LessThanEqual,
+ Property = ProfileConditionValue.Height,
+ Value = "1080"
+ },
+ new ProfileCondition
+ {
+ Condition = ProfileConditionType.LessThanEqual,
+ Property = ProfileConditionValue.VideoFramerate,
+ Value = "30"
+ },
+ new ProfileCondition
+ {
+ Condition = ProfileConditionType.LessThanEqual,
+ Property = ProfileConditionValue.VideoBitrate,
+ Value = "30720000"
+ }
+ }
+ },
+
+ new CodecProfile
+ {
+ Type = CodecType.VideoCodec,
+ Codec = "mpeg4",
+
+ Conditions = new[]
+ {
+ new ProfileCondition
+ {
+ Condition = ProfileConditionType.LessThanEqual,
+ Property = ProfileConditionValue.Width,
+ Value = "1920"
+ },
+ new ProfileCondition
+ {
+ Condition = ProfileConditionType.LessThanEqual,
+ Property = ProfileConditionValue.Height,
+ Value = "1080"
+ },
+ new ProfileCondition
+ {
+ Condition = ProfileConditionType.LessThanEqual,
+ Property = ProfileConditionValue.VideoFramerate,
+ Value = "30"
+ },
+ new ProfileCondition
+ {
+ Condition = ProfileConditionType.LessThanEqual,
+ Property = ProfileConditionValue.VideoBitrate,
+ Value = "8192000"
+ }
+ }
+ },
+
+ new CodecProfile
+ {
+ Type = CodecType.VideoCodec,
+ Codec = "h264",
+
+ Conditions = new[]
+ {
+ new ProfileCondition
+ {
+ Condition = ProfileConditionType.LessThanEqual,
+ Property = ProfileConditionValue.Width,
+ Value = "1920"
+ },
+ new ProfileCondition
+ {
+ Condition = ProfileConditionType.LessThanEqual,
+ Property = ProfileConditionValue.Height,
+ Value = "1080"
+ },
+ new ProfileCondition
+ {
+ Condition = ProfileConditionType.LessThanEqual,
+ Property = ProfileConditionValue.VideoFramerate,
+ Value = "30"
+ },
+ new ProfileCondition
+ {
+ Condition = ProfileConditionType.LessThanEqual,
+ Property = ProfileConditionValue.VideoBitrate,
+ Value = "37500000"
+ },
+ new ProfileCondition
+ {
+ Condition = ProfileConditionType.LessThanEqual,
+ Property = ProfileConditionValue.VideoLevel,
+ Value = "41"
+ }
+ }
+ },
+
+ new CodecProfile
+ {
+ Type = CodecType.VideoCodec,
+ Codec = "wmv2,wmv3,vc1",
+
+ Conditions = new[]
+ {
+ new ProfileCondition
+ {
+ Condition = ProfileConditionType.LessThanEqual,
+ Property = ProfileConditionValue.Width,
+ Value = "1920"
+ },
+ new ProfileCondition
+ {
+ Condition = ProfileConditionType.LessThanEqual,
+ Property = ProfileConditionValue.Height,
+ Value = "1080"
+ },
+ new ProfileCondition
+ {
+ Condition = ProfileConditionType.LessThanEqual,
+ Property = ProfileConditionValue.VideoFramerate,
+ Value = "30"
+ },
+ new ProfileCondition
+ {
+ Condition = ProfileConditionType.LessThanEqual,
+ Property = ProfileConditionValue.VideoBitrate,
+ Value = "25600000"
+ }
+ }
+ },
+
+ new CodecProfile
+ {
+ Type = CodecType.VideoAudioCodec,
+ Codec = "ac3,wmav2,dca,aac,mp3",
+
+ Conditions = new[]
+ {
+ new ProfileCondition
+ {
+ Condition = ProfileConditionType.LessThanEqual,
+ Property = ProfileConditionValue.AudioChannels,
+ Value = "6"
+ }
+ }
+ }
+ };
+
+ MediaProfiles = new[]
+ {
+ new MediaProfile
+ {
+ Container = "mkv",
+ MimeType = "video/x-mkv",
+ Type = DlnaProfileType.Video
+ }
+ };
+
+ }
+ }
+}
diff --git a/MediaBrowser.Dlna/Profiles/SonyBravia2010Profile.cs b/MediaBrowser.Dlna/Profiles/SonyBravia2010Profile.cs
index 32eab4ae4..010a18c8d 100644
--- a/MediaBrowser.Dlna/Profiles/SonyBravia2010Profile.cs
+++ b/MediaBrowser.Dlna/Profiles/SonyBravia2010Profile.cs
@@ -7,7 +7,6 @@ namespace MediaBrowser.Dlna.Profiles
public SonyBravia2010Profile()
{
Name = "Sony Bravia (2010)";
- ClientType = "DLNA";
Identification = new DeviceIdentification
{
diff --git a/MediaBrowser.Dlna/Profiles/SonyBravia2011Profile.cs b/MediaBrowser.Dlna/Profiles/SonyBravia2011Profile.cs
index c679dec21..50fd6e256 100644
--- a/MediaBrowser.Dlna/Profiles/SonyBravia2011Profile.cs
+++ b/MediaBrowser.Dlna/Profiles/SonyBravia2011Profile.cs
@@ -7,7 +7,6 @@ namespace MediaBrowser.Dlna.Profiles
public SonyBravia2011Profile()
{
Name = "Sony Bravia (2011)";
- ClientType = "DLNA";
Identification = new DeviceIdentification
{
diff --git a/MediaBrowser.Dlna/Profiles/SonyBravia2012Profile.cs b/MediaBrowser.Dlna/Profiles/SonyBravia2012Profile.cs
index 488b7f740..b476d9c3f 100644
--- a/MediaBrowser.Dlna/Profiles/SonyBravia2012Profile.cs
+++ b/MediaBrowser.Dlna/Profiles/SonyBravia2012Profile.cs
@@ -7,7 +7,6 @@ namespace MediaBrowser.Dlna.Profiles
public SonyBravia2012Profile()
{
Name = "Sony Bravia (2012)";
- ClientType = "DLNA";
Identification = new DeviceIdentification
{
diff --git a/MediaBrowser.Dlna/Profiles/SonyBravia2013Profile.cs b/MediaBrowser.Dlna/Profiles/SonyBravia2013Profile.cs
index 21a6ad40a..ccb655add 100644
--- a/MediaBrowser.Dlna/Profiles/SonyBravia2013Profile.cs
+++ b/MediaBrowser.Dlna/Profiles/SonyBravia2013Profile.cs
@@ -7,7 +7,6 @@ namespace MediaBrowser.Dlna.Profiles
public SonyBravia2013Profile()
{
Name = "Sony Bravia (2013)";
- ClientType = "DLNA";
Identification = new DeviceIdentification
{
diff --git a/MediaBrowser.Dlna/Profiles/WdtvLiveProfile.cs b/MediaBrowser.Dlna/Profiles/WdtvLiveProfile.cs
index 3487044a9..52d4a5f29 100644
--- a/MediaBrowser.Dlna/Profiles/WdtvLiveProfile.cs
+++ b/MediaBrowser.Dlna/Profiles/WdtvLiveProfile.cs
@@ -7,7 +7,6 @@ namespace MediaBrowser.Dlna.Profiles
public WdtvLiveProfile()
{
Name = "WDTV Live";
- ClientType = "DLNA";
TimelineOffsetSeconds = 5;
IgnoreTranscodeByteRangeRequests = true;
diff --git a/MediaBrowser.Dlna/Profiles/Xbox360Profile.cs b/MediaBrowser.Dlna/Profiles/Xbox360Profile.cs
index 82b70fe01..7216457a3 100644
--- a/MediaBrowser.Dlna/Profiles/Xbox360Profile.cs
+++ b/MediaBrowser.Dlna/Profiles/Xbox360Profile.cs
@@ -1,5 +1,4 @@
using MediaBrowser.Controller.Dlna;
-using System.Collections.Generic;
namespace MediaBrowser.Dlna.Profiles
{
@@ -8,7 +7,6 @@ namespace MediaBrowser.Dlna.Profiles
public Xbox360Profile()
{
Name = "Xbox 360";
- ClientType = "DLNA";
ModelName = "Windows Media Player Sharing";
ModelNumber = "12.0";
diff --git a/MediaBrowser.Dlna/Profiles/XboxOneProfile.cs b/MediaBrowser.Dlna/Profiles/XboxOneProfile.cs
index 0a5203a9c..db45029a4 100644
--- a/MediaBrowser.Dlna/Profiles/XboxOneProfile.cs
+++ b/MediaBrowser.Dlna/Profiles/XboxOneProfile.cs
@@ -7,7 +7,6 @@ namespace MediaBrowser.Dlna.Profiles
public XboxOneProfile()
{
Name = "Xbox One";
- ClientType = "DLNA";
Identification = new DeviceIdentification
{
@@ -38,11 +37,6 @@ namespace MediaBrowser.Dlna.Profiles
{
Container = "mp3",
Type = DlnaProfileType.Audio
- },
- new DirectPlayProfile
- {
- Container = "avi",
- Type = DlnaProfileType.Video
}
};