IMediaSourceProvider.cs 1.2 KB

123456789101112131415161718192021222324252627282930
  1. #pragma warning disable CA1002, CS1591
  2. using System.Collections.Generic;
  3. using System.Threading;
  4. using System.Threading.Tasks;
  5. using MediaBrowser.Controller.Entities;
  6. using MediaBrowser.Model.Dto;
  7. namespace MediaBrowser.Controller.Library
  8. {
  9. public interface IMediaSourceProvider
  10. {
  11. /// <summary>
  12. /// Gets the media sources.
  13. /// </summary>
  14. /// <param name="item">The item.</param>
  15. /// <param name="cancellationToken">The cancellation token.</param>
  16. /// <returns>Task&lt;IEnumerable&lt;MediaSourceInfo&gt;&gt;.</returns>
  17. Task<IEnumerable<MediaSourceInfo>> GetMediaSources(BaseItem item, CancellationToken cancellationToken);
  18. /// <summary>
  19. /// Opens the media source.
  20. /// </summary>
  21. /// <param name="openToken">Token to use.</param>
  22. /// <param name="currentLiveStreams">List of live streams.</param>
  23. /// <param name="cancellationToken">CancellationToken to use for operation.</param>
  24. /// <returns>The media source wrapped as an awaitable task.</returns>
  25. Task<ILiveStream> OpenMediaSource(string openToken, List<ILiveStream> currentLiveStreams, CancellationToken cancellationToken);
  26. }
  27. }