ExclusiveLiveStream.cs 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #pragma warning disable CS1591
  2. #pragma warning disable SA1600
  3. using System;
  4. using System.Globalization;
  5. using System.Threading;
  6. using System.Threading.Tasks;
  7. using MediaBrowser.Controller.Library;
  8. using MediaBrowser.Model.Dto;
  9. namespace Emby.Server.Implementations.Library
  10. {
  11. public class ExclusiveLiveStream : ILiveStream
  12. {
  13. public int ConsumerCount { get; set; }
  14. public string OriginalStreamId { get; set; }
  15. public string TunerHostId => null;
  16. public bool EnableStreamSharing { get; set; }
  17. public MediaSourceInfo MediaSource { get; set; }
  18. public string UniqueId { get; private set; }
  19. private Func<Task> _closeFn;
  20. public ExclusiveLiveStream(MediaSourceInfo mediaSource, Func<Task> closeFn)
  21. {
  22. MediaSource = mediaSource;
  23. EnableStreamSharing = false;
  24. _closeFn = closeFn;
  25. ConsumerCount = 1;
  26. UniqueId = Guid.NewGuid().ToString("N", CultureInfo.InvariantCulture);
  27. }
  28. public Task Close()
  29. {
  30. return _closeFn();
  31. }
  32. public Task Open(CancellationToken openCancellationToken)
  33. {
  34. return Task.CompletedTask;
  35. }
  36. }
  37. }