using System; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Jellyfin.MediaEncoding.Keyframes; namespace MediaBrowser.Controller.Persistence; /// /// Provides methods for accessing keyframe data. /// public interface IKeyframeRepository { /// /// Gets the keyframe data. /// /// The item id. /// The keyframe data. IReadOnlyList GetKeyframeData(Guid itemId); /// /// Saves the keyframe data. /// /// The item id. /// The keyframe data. /// The cancellation token. /// The task object representing the asynchronous operation. Task SaveKeyframeDataAsync(Guid itemId, KeyframeData data, CancellationToken cancellationToken); /// /// Deletes the keyframe data. /// /// The item id. /// The cancellation token. /// The task object representing the asynchronous operation. Task DeleteKeyframeDataAsync(Guid itemId, CancellationToken cancellationToken); }