using System; using System.Collections; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using MediaBrowser.Controller.Entities; using MediaBrowser.Model; using MediaBrowser.Model.MediaSegments; namespace MediaBrowser.Controller; /// /// Provides methods for Obtaining the Media Segments from an Item. /// public interface IMediaSegmentProvider { /// /// Gets the provider name. /// string Name { get; } /// /// Enumerates all Media Segments from an Media Item. /// /// Arguments to enumerate MediaSegments. /// Abort token. /// A list of all MediaSegments found from this provider. Task> GetMediaSegments(MediaSegmentGenerationRequest request, CancellationToken cancellationToken); /// /// Should return support state for the given item. /// /// The base item to extract segments from. /// True if item is supported, otherwise false. ValueTask Supports(BaseItem item); }