LiveStream.cs 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Threading;
  4. using System.Threading.Tasks;
  5. using MediaBrowser.Model.Dto;
  6. namespace MediaBrowser.Controller.LiveTv
  7. {
  8. public class LiveStream
  9. {
  10. public MediaSourceInfo OriginalMediaSource { get; set; }
  11. public MediaSourceInfo OpenedMediaSource { get; set; }
  12. public int ConsumerCount {
  13. get { return SharedStreamIds.Count; }
  14. }
  15. public ITunerHost TunerHost { get; set; }
  16. public string OriginalStreamId { get; set; }
  17. public bool EnableStreamSharing { get; set; }
  18. public string UniqueId = Guid.NewGuid().ToString("N");
  19. public List<string> SharedStreamIds = new List<string>();
  20. public LiveStream(MediaSourceInfo mediaSource)
  21. {
  22. OriginalMediaSource = mediaSource;
  23. OpenedMediaSource = mediaSource;
  24. EnableStreamSharing = true;
  25. }
  26. public Task Open(CancellationToken cancellationToken)
  27. {
  28. return OpenInternal(cancellationToken);
  29. }
  30. protected virtual Task OpenInternal(CancellationToken cancellationToken)
  31. {
  32. return Task.FromResult(true);
  33. }
  34. public virtual Task Close()
  35. {
  36. return Task.FromResult(true);
  37. }
  38. }
  39. }