#pragma warning disable CS1591
using MediaBrowser.Model.Dlna ;
namespace Emby.Dlna.Profiles
{
[System.Xml.Serialization.XmlRoot("Profile")]
public class DishHopperJoeyProfile : DefaultProfile
{
public DishHopperJoeyProfile ( )
{
Name = "Dish Hopper-Joey" ;
ProtocolInfo = "http-get:*:video/mp2t:*,http-get:*:video/mpeg:*,http-get:*:video/MP1S:*,http-get:*:video/mpeg2:*,http-get:*:video/mp4:*,http-get:*:video/x-matroska:*,http-get:*:audio/mpeg:*,http-get:*:audio/mpeg3:*,http-get:*:audio/mp3:*,http-get:*:audio/mp4:*,http-get:*:audio/mp4a-latm:*,http-get:*:image/jpeg:*" ;
Identification = new DeviceIdentification
{
Manufacturer = "Echostar Technologies LLC" ,
ManufacturerUrl = "http://www.echostar.com" ,
Headers = new [ ]
{
new HttpHeaderInfo
{
Match = HeaderMatchType . Substring ,
Name = "User-Agent" ,
Value = "Zip_"
}
}
} ;
TranscodingProfiles = new [ ]
{
new TranscodingProfile
{
Container = "mp3" ,
AudioCodec = "mp3" ,
Type = DlnaProfileType . Audio
} ,
new TranscodingProfile
{
Container = "mp4" ,
Type = DlnaProfileType . Video ,
AudioCodec = "aac" ,
VideoCodec = "h264"
} ,
new TranscodingProfile
{
Container = "jpeg" ,
Type = DlnaProfileType . Photo
}
} ;
DirectPlayProfiles = new [ ]
{
new DirectPlayProfile
{
Container = "mp4,mkv,mpeg,ts" ,
VideoCodec = "h264,mpeg2video" ,
AudioCodec = "mp3,ac3,aac,he-aac,pcm" ,
Type = DlnaProfileType . Video
} ,
new DirectPlayProfile
{
Container = "mp3,alac,flac" ,
Type = DlnaProfileType . Audio
} ,
new DirectPlayProfile
{
Container = "jpeg" ,
Type = DlnaProfileType . Photo
}
} ;
CodecProfiles = new [ ]
{
new CodecProfile
{
Type = CodecType . Video ,
Codec = "h264" ,
Conditions = new [ ]
{
new ProfileCondition
{
Condition = ProfileConditionType . LessThanEqual ,
Property = ProfileConditionValue . Width ,
Value = "1920" ,
IsRequired = true
} ,
new ProfileCondition
{
Condition = ProfileConditionType . LessThanEqual ,
Property = ProfileConditionValue . Height ,
Value = "1080" ,
IsRequired = true
} ,
new ProfileCondition
{
Condition = ProfileConditionType . LessThanEqual ,
Property = ProfileConditionValue . VideoFramerate ,
Value = "30" ,
IsRequired = true
} ,
new ProfileCondition
{
Condition = ProfileConditionType . LessThanEqual ,
Property = ProfileConditionValue . VideoBitrate ,
Value = "20000000" ,
IsRequired = true
} ,
new ProfileCondition
{
Condition = ProfileConditionType . LessThanEqual ,
Property = ProfileConditionValue . VideoLevel ,
Value = "41" ,
IsRequired = true
}
}
} ,
new CodecProfile
{
Type = CodecType . Video ,
Conditions = new [ ]
{
new ProfileCondition
{
Condition = ProfileConditionType . LessThanEqual ,
Property = ProfileConditionValue . Width ,
Value = "1920" ,
IsRequired = true
} ,
new ProfileCondition
{
Condition = ProfileConditionType . LessThanEqual ,
Property = ProfileConditionValue . Height ,
Value = "1080" ,
IsRequired = true
} ,
new ProfileCondition
{
Condition = ProfileConditionType . LessThanEqual ,
Property = ProfileConditionValue . VideoFramerate ,
Value = "30" ,
IsRequired = true
} ,
new ProfileCondition
{
Condition = ProfileConditionType . LessThanEqual ,
Property = ProfileConditionValue . VideoBitrate ,
Value = "20000000" ,
IsRequired = true
}
}
} ,
new CodecProfile
{
Type = CodecType . VideoAudio ,
Codec = "ac3,he-aac" ,
Conditions = new [ ]
{
new ProfileCondition
{
Condition = ProfileConditionType . LessThanEqual ,
Property = ProfileConditionValue . AudioChannels ,
Value = "6" ,
IsRequired = true
}
}
} ,
new CodecProfile
{
Type = CodecType . VideoAudio ,
Codec = "aac" ,
Conditions = new [ ]
{
new ProfileCondition
{
Condition = ProfileConditionType . LessThanEqual ,
Property = ProfileConditionValue . AudioChannels ,
Value = "2" ,
IsRequired = true
}
}
} ,
new CodecProfile
{
Type = CodecType . VideoAudio ,
Conditions = new [ ]
{
// The device does not have any audio switching capabilities
new ProfileCondition
{
Condition = ProfileConditionType . Equals ,
Property = ProfileConditionValue . IsSecondaryAudio ,
Value = "false"
}
}
}
} ;
ResponseProfiles = new [ ]
{
new ResponseProfile
{
Container = "mkv,ts,mpegts" ,
Type = DlnaProfileType . Video ,
MimeType = "video/mp4"
}
} ;
SubtitleProfiles = new [ ]
{
new SubtitleProfile
{
Format = "srt" ,
Method = SubtitleDeliveryMethod . Embed
}
} ;
}
}
}