2
0

ExclusiveLiveStream.cs 1.1 KB

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