check video profile with substring

This commit is contained in:
Luke Pulverenti
2014-10-07 22:25:24 -04:00
parent 4999f19485
commit bebba65d61
6 changed files with 72 additions and 29 deletions

View File

@@ -1,23 +1,31 @@
using System.Xml.Serialization;
using System.Collections.Generic;
using System.Xml.Serialization;
namespace MediaBrowser.Model.Dlna.Profiles
{
[XmlRoot("Profile")]
public class AndroidProfile : DefaultProfile
{
public AndroidProfile()
public AndroidProfile(bool supportsHls, bool supportsMpegDash)
{
Name = "Android";
TranscodingProfiles = new[]
List<TranscodingProfile> transcodingProfiles = new List<TranscodingProfile>();
transcodingProfiles.Add(new TranscodingProfile
{
new TranscodingProfile
{
Container = "mp3",
AudioCodec = "mp3",
Type = DlnaProfileType.Audio
},
new TranscodingProfile
Container = "mp3",
AudioCodec = "mp3",
Type = DlnaProfileType.Audio
});
if (supportsMpegDash)
{
}
if (supportsHls)
{
transcodingProfiles.Add(new TranscodingProfile
{
Protocol = "hls",
Container = "ts",
@@ -26,17 +34,19 @@ namespace MediaBrowser.Model.Dlna.Profiles
Type = DlnaProfileType.Video,
VideoProfile = "Baseline",
Context = EncodingContext.Streaming
},
new TranscodingProfile
{
Container = "mp4",
VideoCodec = "h264",
AudioCodec = "aac",
Type = DlnaProfileType.Video,
VideoProfile = "Baseline",
Context = EncodingContext.Static
}
};
});
}
transcodingProfiles.Add(new TranscodingProfile
{
Container = "mp4",
VideoCodec = "h264",
AudioCodec = "aac",
Type = DlnaProfileType.Video,
VideoProfile = "Baseline",
Context = EncodingContext.Static
});
TranscodingProfiles = transcodingProfiles.ToArray();
DirectPlayProfiles = new[]
{
@@ -88,6 +98,22 @@ namespace MediaBrowser.Model.Dlna.Profiles
new CodecProfile
{
Type = CodecType.Video,
Codec= "h264",
Conditions = new []
{
new ProfileCondition(ProfileConditionType.SubstringOf, ProfileConditionValue.VideoProfile, "baseline"),
new ProfileCondition(ProfileConditionType.LessThanEqual, ProfileConditionValue.Width, "1920"),
new ProfileCondition(ProfileConditionType.LessThanEqual, ProfileConditionValue.Height, "1080"),
new ProfileCondition(ProfileConditionType.LessThanEqual, ProfileConditionValue.VideoBitDepth, "8"),
new ProfileCondition(ProfileConditionType.NotEquals, ProfileConditionValue.IsAnamorphic, "true")
}
},
new CodecProfile
{
Type = CodecType.Video,
Conditions = new []
{
new ProfileCondition(ProfileConditionType.LessThanEqual, ProfileConditionValue.Width, "1920"),