LiveStreamRequest.cs 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. #nullable disable
  2. #pragma warning disable CS1591
  3. using System;
  4. using MediaBrowser.Model.Dlna;
  5. namespace MediaBrowser.Model.MediaInfo
  6. {
  7. public class LiveStreamRequest
  8. {
  9. public LiveStreamRequest()
  10. {
  11. EnableDirectPlay = true;
  12. EnableDirectStream = true;
  13. DirectPlayProtocols = new MediaProtocol[] { MediaProtocol.Http };
  14. }
  15. public LiveStreamRequest(AudioOptions options)
  16. {
  17. MaxStreamingBitrate = options.MaxBitrate;
  18. ItemId = options.ItemId;
  19. DeviceProfile = options.Profile;
  20. MaxAudioChannels = options.MaxAudioChannels;
  21. DirectPlayProtocols = new MediaProtocol[] { MediaProtocol.Http };
  22. if (options is VideoOptions videoOptions)
  23. {
  24. AudioStreamIndex = videoOptions.AudioStreamIndex;
  25. SubtitleStreamIndex = videoOptions.SubtitleStreamIndex;
  26. }
  27. }
  28. public string OpenToken { get; set; }
  29. public Guid UserId { get; set; }
  30. public string PlaySessionId { get; set; }
  31. public long? MaxStreamingBitrate { get; set; }
  32. public long? StartTimeTicks { get; set; }
  33. public int? AudioStreamIndex { get; set; }
  34. public int? SubtitleStreamIndex { get; set; }
  35. public int? MaxAudioChannels { get; set; }
  36. public Guid ItemId { get; set; }
  37. public DeviceProfile DeviceProfile { get; set; }
  38. public bool EnableDirectPlay { get; set; }
  39. public bool EnableDirectStream { get; set; }
  40. public MediaProtocol[] DirectPlayProtocols { get; set; }
  41. }
  42. }