InternalEncodingTask.cs 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. using MediaBrowser.Controller.MediaEncoding;
  2. using MediaBrowser.Model.Configuration;
  3. using MediaBrowser.Model.Entities;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Threading;
  7. namespace MediaBrowser.MediaEncoding.Encoder
  8. {
  9. public class InternalEncodingTask
  10. {
  11. public string Id { get; set; }
  12. public CancellationTokenSource CancellationTokenSource { get; set; }
  13. public double ProgressPercentage { get; set; }
  14. public EncodingOptions Request { get; set; }
  15. public VideoEncodingOptions VideoRequest
  16. {
  17. get { return Request as VideoEncodingOptions; }
  18. }
  19. public string MediaPath { get; set; }
  20. public List<string> StreamFileNames { get; set; }
  21. public bool IsInputRemote { get; set; }
  22. public VideoType? InputVideoType { get; set; }
  23. public IsoType? IsoType { get; set; }
  24. public long? InputRunTimeTicks;
  25. public string AudioSync = "1";
  26. public string VideoSync = "vfr";
  27. public string InputAudioSync { get; set; }
  28. public string InputVideoSync { get; set; }
  29. public bool DeInterlace { get; set; }
  30. public bool ReadInputAtNativeFramerate { get; set; }
  31. public string InputFormat { get; set; }
  32. public string InputVideoCodec { get; set; }
  33. public string InputAudioCodec { get; set; }
  34. public string LiveTvStreamId { get; set; }
  35. public MediaStream AudioStream { get; set; }
  36. public MediaStream VideoStream { get; set; }
  37. public MediaStream SubtitleStream { get; set; }
  38. public bool HasMediaStreams { get; set; }
  39. public int SegmentLength = 10;
  40. public int HlsListSize;
  41. public string MimeType { get; set; }
  42. public string OrgPn { get; set; }
  43. public bool EnableMpegtsM2TsMode { get; set; }
  44. /// <summary>
  45. /// Gets or sets the user agent.
  46. /// </summary>
  47. /// <value>The user agent.</value>
  48. public string UserAgent { get; set; }
  49. public EncodingQuality QualitySetting { get; set; }
  50. public InternalEncodingTask()
  51. {
  52. Id = Guid.NewGuid().ToString("N");
  53. CancellationTokenSource = new CancellationTokenSource();
  54. StreamFileNames = new List<string>();
  55. }
  56. public bool EnableDebugLogging { get; set; }
  57. internal void OnBegin()
  58. {
  59. }
  60. internal void OnCompleted()
  61. {
  62. }
  63. internal void OnError()
  64. {
  65. }
  66. }
  67. }