LiveStreamRequest.cs 1.6 KB

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