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);
}
}