namespace StreamShorts.Library.Media.Audio;
///
/// Represents an interface for extracting audio from video streams.
///
public interface IAudioExtractor
{
///
/// Extracts MP3 audio from an MP4 video stream.
///
/// The input video stream.
/// A stream containing the extracted MP3 audio.
/// Thrown when the video stream is null.
/// Thrown when the video stream is not readable.
/// Thrown when the video stream is not seekable.
/// Thrown when the audio extraction fails.
/// The method will preserve the passed video stream's data and position.
Task ExtractMp3FromMp4Async(Stream video);
}