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

@@ -145,6 +145,8 @@ namespace MediaBrowser.Model.Dlna
switch (condition.Condition)
{
case ProfileConditionType.SubstringOf:
return StringHelper.IndexOfIgnoreCase(currentValue, expected) != -1;
case ProfileConditionType.Equals:
return StringHelper.EqualsIgnoreCase(currentValue, expected);
case ProfileConditionType.NotEquals:

View File

@@ -5,6 +5,7 @@
Equals = 0,
NotEquals = 1,
LessThanEqual = 2,
GreaterThanEqual = 3
GreaterThanEqual = 3,
SubstringOf = 4
}
}

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"),