KodiProfile.cs 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. using MediaBrowser.Model.Dlna;
  2. using System.Xml.Serialization;
  3. namespace MediaBrowser.Dlna.Profiles
  4. {
  5. [XmlRoot("Profile")]
  6. public class KodiProfile : DefaultProfile
  7. {
  8. public KodiProfile()
  9. {
  10. Name = "Kodi";
  11. MaxStreamingBitrate = 100000000;
  12. MaxStaticBitrate = 100000000;
  13. MusicStreamingTranscodingBitrate = 1280000;
  14. MusicSyncBitrate = 1280000;
  15. TimelineOffsetSeconds = 5;
  16. Identification = new DeviceIdentification
  17. {
  18. ModelName = "Kodi",
  19. Headers = new[]
  20. {
  21. new HttpHeaderInfo {Name = "User-Agent", Value = "Kodi", Match = HeaderMatchType.Substring}
  22. }
  23. };
  24. TranscodingProfiles = new[]
  25. {
  26. new TranscodingProfile
  27. {
  28. Container = "mp3",
  29. AudioCodec = "mp3",
  30. Type = DlnaProfileType.Audio
  31. },
  32. new TranscodingProfile
  33. {
  34. Container = "ts",
  35. Type = DlnaProfileType.Video,
  36. AudioCodec = "aac",
  37. VideoCodec = "h264"
  38. },
  39. new TranscodingProfile
  40. {
  41. Container = "jpeg",
  42. Type = DlnaProfileType.Photo
  43. }
  44. };
  45. DirectPlayProfiles = new[]
  46. {
  47. new DirectPlayProfile
  48. {
  49. Container = "",
  50. Type = DlnaProfileType.Video
  51. },
  52. new DirectPlayProfile
  53. {
  54. Container = "",
  55. Type = DlnaProfileType.Audio
  56. },
  57. new DirectPlayProfile
  58. {
  59. Container = "",
  60. Type = DlnaProfileType.Photo,
  61. }
  62. };
  63. ResponseProfiles = new ResponseProfile[] { };
  64. ContainerProfiles = new ContainerProfile[] { };
  65. CodecProfiles = new CodecProfile[] { };
  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 = "srt",
  81. Method = SubtitleDeliveryMethod.Embed,
  82. DidlMode = "",
  83. },
  84. new SubtitleProfile
  85. {
  86. Format = "ass",
  87. Method = SubtitleDeliveryMethod.Embed,
  88. DidlMode = "",
  89. },
  90. new SubtitleProfile
  91. {
  92. Format = "ssa",
  93. Method = SubtitleDeliveryMethod.Embed,
  94. DidlMode = "",
  95. },
  96. new SubtitleProfile
  97. {
  98. Format = "smi",
  99. Method = SubtitleDeliveryMethod.Embed,
  100. DidlMode = "",
  101. },
  102. new SubtitleProfile
  103. {
  104. Format = "dvdsub",
  105. Method = SubtitleDeliveryMethod.Embed,
  106. DidlMode = "",
  107. },
  108. new SubtitleProfile
  109. {
  110. Format = "pgs",
  111. Method = SubtitleDeliveryMethod.Embed,
  112. DidlMode = "",
  113. },
  114. new SubtitleProfile
  115. {
  116. Format = "pgssub",
  117. Method = SubtitleDeliveryMethod.Embed,
  118. DidlMode = "",
  119. },
  120. new SubtitleProfile
  121. {
  122. Format = "sub",
  123. Method = SubtitleDeliveryMethod.Embed,
  124. DidlMode = "",
  125. }
  126. };
  127. }
  128. }
  129. }