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