ExclusiveLiveStream.cs 1.2 KB

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