#nullable disable
#pragma warning disable CS1591
using System.IO;
using System.Threading;
using System.Threading.Tasks;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Model.Dto;
using MediaBrowser.Model.Entities;
namespace MediaBrowser.Controller.MediaEncoding;
public interface IAttachmentExtractor
{
///
/// Gets the path to the attachment file.
///
/// The .
/// The media source id.
/// The attachment index.
/// The cancellation token.
/// The async task.
Task<(MediaAttachment Attachment, Stream Stream)> GetAttachment(
BaseItem item,
string mediaSourceId,
int attachmentStreamIndex,
CancellationToken cancellationToken);
///
/// Gets the path to the attachment file.
///
/// The input file path.
/// The source id.
/// The cancellation token.
/// The async task.
Task ExtractAllAttachments(
string inputFile,
MediaSourceInfo mediaSource,
CancellationToken cancellationToken);
}