123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179 |
- #pragma warning disable CS1591
- using System.Linq;
- using MediaBrowser.Model.Dlna;
- namespace Emby.Dlna.Profiles
- {
- [System.Xml.Serialization.XmlRoot("Profile")]
- public class DefaultProfile : DeviceProfile
- {
- public DefaultProfile()
- {
- Name = "Generic Device";
- ProtocolInfo = "http-get:*:video/mpeg:*,http-get:*:video/mp4:*,http-get:*:video/vnd.dlna.mpeg-tts:*,http-get:*:video/avi:*,http-get:*:video/x-matroska:*,http-get:*:video/x-ms-wmv:*,http-get:*:video/wtv:*,http-get:*:audio/mpeg:*,http-get:*:audio/mp3:*,http-get:*:audio/mp4:*,http-get:*:audio/x-ms-wma:*,http-get:*:audio/wav:*,http-get:*:audio/L16:*,http-get:*:image/jpeg:*,http-get:*:image/png:*,http-get:*:image/gif:*,http-get:*:image/tiff:*";
- Manufacturer = "Jellyfin";
- ModelDescription = "UPnP/AV 1.0 Compliant Media Server";
- ModelName = "Jellyfin Server";
- ModelNumber = "01";
- ModelUrl = "https://github.com/jellyfin/jellyfin";
- ManufacturerUrl = "https://github.com/jellyfin/jellyfin";
- AlbumArtPn = "JPEG_SM";
- MaxAlbumArtHeight = 480;
- MaxAlbumArtWidth = 480;
- MaxIconWidth = 48;
- MaxIconHeight = 48;
- MaxStreamingBitrate = 140000000;
- MaxStaticBitrate = 140000000;
- MusicStreamingTranscodingBitrate = 192000;
- EnableAlbumArtInDidl = false;
- TranscodingProfiles = new[]
- {
- new TranscodingProfile
- {
- Container = "mp3",
- AudioCodec = "mp3",
- Type = DlnaProfileType.Audio
- },
- new TranscodingProfile
- {
- Container = "ts",
- Type = DlnaProfileType.Video,
- AudioCodec = "aac",
- VideoCodec = "h264"
- },
- new TranscodingProfile
- {
- Container = "jpeg",
- Type = DlnaProfileType.Photo
- }
- };
- DirectPlayProfiles = new[]
- {
- new DirectPlayProfile
- {
- // play all
- Container = string.Empty,
- Type = DlnaProfileType.Video
- },
- new DirectPlayProfile
- {
- // play all
- Container = string.Empty,
- Type = DlnaProfileType.Audio
- }
- };
- SubtitleProfiles = new[]
- {
- new SubtitleProfile
- {
- Format = "srt",
- Method = SubtitleDeliveryMethod.External,
- },
- new SubtitleProfile
- {
- Format = "sub",
- Method = SubtitleDeliveryMethod.External,
- },
- new SubtitleProfile
- {
- Format = "srt",
- Method = SubtitleDeliveryMethod.Embed
- },
- new SubtitleProfile
- {
- Format = "ass",
- Method = SubtitleDeliveryMethod.Embed
- },
- new SubtitleProfile
- {
- Format = "ssa",
- Method = SubtitleDeliveryMethod.Embed
- },
- new SubtitleProfile
- {
- Format = "smi",
- Method = SubtitleDeliveryMethod.Embed
- },
- new SubtitleProfile
- {
- Format = "dvdsub",
- Method = SubtitleDeliveryMethod.Embed
- },
- new SubtitleProfile
- {
- Format = "pgs",
- Method = SubtitleDeliveryMethod.Embed
- },
- new SubtitleProfile
- {
- Format = "pgssub",
- Method = SubtitleDeliveryMethod.Embed
- },
- new SubtitleProfile
- {
- Format = "sub",
- Method = SubtitleDeliveryMethod.Embed
- },
- new SubtitleProfile
- {
- Format = "subrip",
- Method = SubtitleDeliveryMethod.Embed
- },
- new SubtitleProfile
- {
- Format = "vtt",
- Method = SubtitleDeliveryMethod.Embed
- }
- };
- ResponseProfiles = new[]
- {
- new ResponseProfile
- {
- Container = "m4v",
- Type = DlnaProfileType.Video,
- MimeType = "video/mp4"
- }
- };
- }
- public void AddXmlRootAttribute(string name, string value)
- {
- var atts = XmlRootAttributes ?? System.Array.Empty<XmlAttribute>();
- var list = atts.ToList();
- list.Add(new XmlAttribute
- {
- Name = name,
- Value = value
- });
- XmlRootAttributes = list.ToArray();
- }
- }
- }
|