using MediaBrowser.Controller.Entities;
using MediaBrowser.Model.Dto;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
namespace MediaBrowser.Controller.Library
{
public interface IMediaSourceProvider
{
///
/// Gets the media sources.
///
/// The item.
/// The cancellation token.
/// Task<IEnumerable<MediaSourceInfo>>.
Task> GetMediaSources(IHasMediaSources item, CancellationToken cancellationToken);
///
/// Opens the media source.
///
/// The open token.
/// The cancellation token.
/// Task<MediaSourceInfo>.
Task OpenMediaSource(string openToken, CancellationToken cancellationToken);
///
/// Closes the media source.
///
/// The live stream identifier.
/// The cancellation token.
/// Task.
Task CloseMediaSource(string liveStreamId, CancellationToken cancellationToken);
}
}