using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using Jellyfin.MediaEncoding.Keyframes;
using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Persistence;
namespace Emby.Server.Implementations.Library;
/// 
/// Manager for Keyframe data.
/// 
public class KeyframeManager : IKeyframeManager
{
    private readonly IKeyframeRepository _repository;
    /// 
    /// Initializes a new instance of the  class.
    /// 
    /// The keyframe repository.
    public KeyframeManager(IKeyframeRepository repository)
    {
        _repository = repository;
    }
    /// 
    public IReadOnlyList GetKeyframeData(Guid itemId)
    {
        return _repository.GetKeyframeData(itemId);
    }
    /// 
    public async Task SaveKeyframeDataAsync(Guid itemId, KeyframeData data, CancellationToken cancellationToken)
    {
        await _repository.SaveKeyframeDataAsync(itemId, data, cancellationToken).ConfigureAwait(false);
    }
    /// 
    public async Task DeleteKeyframeDataAsync(Guid itemId, CancellationToken cancellationToken)
    {
        await _repository.DeleteKeyframeDataAsync(itemId, cancellationToken).ConfigureAwait(false);
    }
}