DefaultProfile.cs 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. #pragma warning disable CS1591
  2. using System;
  3. using System.Globalization;
  4. using MediaBrowser.Model.Dlna;
  5. namespace Emby.Dlna.Profiles
  6. {
  7. [System.Xml.Serialization.XmlRoot("Profile")]
  8. public class DefaultProfile : DeviceProfile
  9. {
  10. public DefaultProfile()
  11. {
  12. Id = Guid.NewGuid().ToString("N", CultureInfo.InvariantCulture);
  13. Name = "Generic Device";
  14. 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:*";
  15. Manufacturer = "Jellyfin";
  16. ModelDescription = "UPnP/AV 1.0 Compliant Media Server";
  17. ModelName = "Jellyfin Server";
  18. ModelNumber = "01";
  19. ModelUrl = "https://github.com/jellyfin/jellyfin";
  20. ManufacturerUrl = "https://github.com/jellyfin/jellyfin";
  21. AlbumArtPn = "JPEG_SM";
  22. MaxAlbumArtHeight = 480;
  23. MaxAlbumArtWidth = 480;
  24. MaxIconWidth = 48;
  25. MaxIconHeight = 48;
  26. MaxStreamingBitrate = 140000000;
  27. MaxStaticBitrate = 140000000;
  28. MusicStreamingTranscodingBitrate = 192000;
  29. EnableAlbumArtInDidl = false;
  30. TranscodingProfiles = new[]
  31. {
  32. new TranscodingProfile
  33. {
  34. Container = "mp3",
  35. AudioCodec = "mp3",
  36. Type = DlnaProfileType.Audio
  37. },
  38. new TranscodingProfile
  39. {
  40. Container = "ts",
  41. Type = DlnaProfileType.Video,
  42. AudioCodec = "aac",
  43. VideoCodec = "h264"
  44. },
  45. new TranscodingProfile
  46. {
  47. Container = "jpeg",
  48. Type = DlnaProfileType.Photo
  49. }
  50. };
  51. DirectPlayProfiles = new[]
  52. {
  53. new DirectPlayProfile
  54. {
  55. // play all
  56. Container = string.Empty,
  57. Type = DlnaProfileType.Video
  58. },
  59. new DirectPlayProfile
  60. {
  61. // play all
  62. Container = string.Empty,
  63. Type = DlnaProfileType.Audio
  64. }
  65. };
  66. SubtitleProfiles = new[]
  67. {
  68. new SubtitleProfile
  69. {
  70. Format = "srt",
  71. Method = SubtitleDeliveryMethod.External,
  72. },
  73. new SubtitleProfile
  74. {
  75. Format = "sub",
  76. Method = SubtitleDeliveryMethod.External,
  77. },
  78. new SubtitleProfile
  79. {
  80. Format = "sup",
  81. Method = SubtitleDeliveryMethod.External
  82. },
  83. new SubtitleProfile
  84. {
  85. Format = "srt",
  86. Method = SubtitleDeliveryMethod.Embed
  87. },
  88. new SubtitleProfile
  89. {
  90. Format = "ass",
  91. Method = SubtitleDeliveryMethod.Embed
  92. },
  93. new SubtitleProfile
  94. {
  95. Format = "ssa",
  96. Method = SubtitleDeliveryMethod.Embed
  97. },
  98. new SubtitleProfile
  99. {
  100. Format = "smi",
  101. Method = SubtitleDeliveryMethod.Embed
  102. },
  103. new SubtitleProfile
  104. {
  105. Format = "dvdsub",
  106. Method = SubtitleDeliveryMethod.Embed
  107. },
  108. new SubtitleProfile
  109. {
  110. Format = "pgs",
  111. Method = SubtitleDeliveryMethod.Embed
  112. },
  113. new SubtitleProfile
  114. {
  115. Format = "pgssub",
  116. Method = SubtitleDeliveryMethod.Embed
  117. },
  118. new SubtitleProfile
  119. {
  120. Format = "sub",
  121. Method = SubtitleDeliveryMethod.Embed
  122. },
  123. new SubtitleProfile
  124. {
  125. Format = "sup",
  126. Method = SubtitleDeliveryMethod.Embed
  127. },
  128. new SubtitleProfile
  129. {
  130. Format = "subrip",
  131. Method = SubtitleDeliveryMethod.Embed
  132. },
  133. new SubtitleProfile
  134. {
  135. Format = "vtt",
  136. Method = SubtitleDeliveryMethod.Embed
  137. }
  138. };
  139. ResponseProfiles = new[]
  140. {
  141. new ResponseProfile
  142. {
  143. Container = "m4v",
  144. Type = DlnaProfileType.Video,
  145. MimeType = "video/mp4"
  146. }
  147. };
  148. }
  149. }
  150. }