<?xml version="1.0"?>
<doc>
    <assembly>
        <name>SoundFlow.Codecs.FFMpeg</name>
    </assembly>
    <members>
        <member name="T:SoundFlow.Codecs.FFMpeg.Enums.FFmpegResult">
            <summary>
            Mirrors the SF_Result enum from the native soundflow-ffmpeg library,
            providing strongly-typed result codes for API calls.
            </summary>
        </member>
        <member name="F:SoundFlow.Codecs.FFMpeg.Enums.FFmpegResult.Success">
            <summary>
            The operation completed successfully.
            </summary>
        </member>
        <member name="F:SoundFlow.Codecs.FFMpeg.Enums.FFmpegResult.ErrorInvalidArgs">
            <summary>
            Invalid arguments (e.g., a null pointer) were provided to a native function.
            </summary>
        </member>
        <member name="F:SoundFlow.Codecs.FFMpeg.Enums.FFmpegResult.ErrorAllocationFailed">
            <summary>
            A memory allocation failed within the native library.
            </summary>
        </member>
        <member name="F:SoundFlow.Codecs.FFMpeg.Enums.FFmpegResult.DecoderErrorOpenInput">
            <summary>
            Failed to open the input stream. This can happen if the format is not recognized or the data is corrupt.
            </summary>
        </member>
        <member name="F:SoundFlow.Codecs.FFMpeg.Enums.FFmpegResult.DecoderErrorFindStreamInfo">
            <summary>
            Could not find or parse stream information from the input.
            </summary>
        </member>
        <member name="F:SoundFlow.Codecs.FFMpeg.Enums.FFmpegResult.DecoderErrorNoAudioStream">
            <summary>
            No suitable audio stream was found in the input file.
            </summary>
        </member>
        <member name="F:SoundFlow.Codecs.FFMpeg.Enums.FFmpegResult.DecoderErrorCodecNotFound">
            <summary>
            A decoder for the audio format could not be found in the linked FFmpeg build.
            </summary>
        </member>
        <member name="F:SoundFlow.Codecs.FFMpeg.Enums.FFmpegResult.DecoderErrorCodecContextAlloc">
            <summary>
            Failed to allocate a context for the audio decoder.
            </summary>
        </member>
        <member name="F:SoundFlow.Codecs.FFMpeg.Enums.FFmpegResult.DecoderErrorCodecOpenFailed">
            <summary>
            The audio decoder could not be opened.
            </summary>
        </member>
        <member name="F:SoundFlow.Codecs.FFMpeg.Enums.FFmpegResult.DecoderErrorInvalidTargetFormat">
            <summary>
            The requested target sample format for decoding is invalid or not supported.
            </summary>
        </member>
        <member name="F:SoundFlow.Codecs.FFMpeg.Enums.FFmpegResult.DecoderErrorResamplerInitFailed">
            <summary>
            The audio resampler (swresample) could not be initialized for format conversion.
            </summary>
        </member>
        <member name="F:SoundFlow.Codecs.FFMpeg.Enums.FFmpegResult.DecoderErrorPacketFrameAlloc">
            <summary>
            Failed to allocate an AVFrame or AVPacket for the decoding process.
            </summary>
        </member>
        <member name="F:SoundFlow.Codecs.FFMpeg.Enums.FFmpegResult.DecoderErrorSeekFailed">
            <summary>
            The seek operation failed in the underlying FFmpeg format context.
            </summary>
        </member>
        <member name="F:SoundFlow.Codecs.FFMpeg.Enums.FFmpegResult.DecoderErrorDecodingFailed">
            <summary>
            An unrecoverable error occurred during the decoding process, such as from a corrupt packet.
            </summary>
        </member>
        <member name="F:SoundFlow.Codecs.FFMpeg.Enums.FFmpegResult.EncoderErrorFormatNotFound">
            <summary>
            The requested output format (e.g., "mp3", "flac") could not be found.
            </summary>
        </member>
        <member name="F:SoundFlow.Codecs.FFMpeg.Enums.FFmpegResult.EncoderErrorCodecNotFound">
            <summary>
            An encoder for the requested output format could not be found in the linked FFmpeg build.
            </summary>
        </member>
        <member name="F:SoundFlow.Codecs.FFMpeg.Enums.FFmpegResult.EncoderErrorStreamAlloc">
            <summary>
            Failed to create a new audio stream in the output format context.
            </summary>
        </member>
        <member name="F:SoundFlow.Codecs.FFMpeg.Enums.FFmpegResult.EncoderErrorCodecContextAlloc">
            <summary>
            Failed to allocate a context for the audio encoder.
            </summary>
        </member>
        <member name="F:SoundFlow.Codecs.FFMpeg.Enums.FFmpegResult.EncoderErrorCodecOpenFailed">
            <summary>
            The audio encoder could not be opened.
            </summary>
        </member>
        <member name="F:SoundFlow.Codecs.FFMpeg.Enums.FFmpegResult.EncoderErrorContextParams">
            <summary>
            Failed to copy encoder parameters to the output stream.
            </summary>
        </member>
        <member name="F:SoundFlow.Codecs.FFMpeg.Enums.FFmpegResult.EncoderErrorWriteHeader">
            <summary>
            Failed to write the header for the output audio file.
            </summary>
        </member>
        <member name="F:SoundFlow.Codecs.FFMpeg.Enums.FFmpegResult.EncoderErrorInvalidInputFormat">
            <summary>
            The provided input sample format for encoding is invalid or not supported.
            </summary>
        </member>
        <member name="F:SoundFlow.Codecs.FFMpeg.Enums.FFmpegResult.EncoderErrorResamplerInitFailed">
            <summary>
            The audio resampler (swresample) could not be initialized for encoding.
            </summary>
        </member>
        <member name="F:SoundFlow.Codecs.FFMpeg.Enums.FFmpegResult.EncoderErrorPacketFrameAlloc">
            <summary>
            Failed to allocate an AVFrame or AVPacket for the encoding process.
            </summary>
        </member>
        <member name="F:SoundFlow.Codecs.FFMpeg.Enums.FFmpegResult.EncoderErrorEncodingFailed">
            <summary>
            An unrecoverable error occurred during the encoding process.
            </summary>
        </member>
        <member name="F:SoundFlow.Codecs.FFMpeg.Enums.FFmpegResult.EncoderErrorWriteFailed">
            <summary>
            An I/O error occurred while writing the encoded data to the output stream.
            </summary>
        </member>
        <member name="T:SoundFlow.Codecs.FFMpeg.Exceptions.FFmpegException">
            <summary>
            Represents an error that occurred within the native FFmpeg Codecs library.
            </summary>
            <param name="result">The native result code that caused the exception.</param>
            <param name="message">The message that describes the error.</param>
        </member>
        <member name="M:SoundFlow.Codecs.FFMpeg.Exceptions.FFmpegException.#ctor(SoundFlow.Codecs.FFMpeg.Enums.FFmpegResult,System.String)">
            <summary>
            Represents an error that occurred within the native FFmpeg Codecs library.
            </summary>
            <param name="result">The native result code that caused the exception.</param>
            <param name="message">The message that describes the error.</param>
        </member>
        <member name="P:SoundFlow.Codecs.FFMpeg.Exceptions.FFmpegException.Result">
            <summary>
            Gets the detailed result code from the native FFmpeg library.
            </summary>
        </member>
        <member name="T:SoundFlow.Codecs.FFMpeg.FFmpegCodecFactory">
            <summary>
            An <see cref="T:SoundFlow.Interfaces.ICodecFactory"/> that uses a native FFmpeg wrapper to provide decoding and encoding
            for a wide range of audio formats. Register an instance of this factory with your
            <see cref="T:SoundFlow.Abstracts.AudioEngine"/> to enable support for additional codecs.
            </summary>
        </member>
        <member name="P:SoundFlow.Codecs.FFMpeg.FFmpegCodecFactory.FactoryId">
            <inheritdoc />
        </member>
        <member name="P:SoundFlow.Codecs.FFMpeg.FFmpegCodecFactory.SupportedFormatIds">
            <inheritdoc />
            <remarks>
            This list is derived from the specific FFmpeg build configuration, including enabled demuxers,
            decoders, and encoders. It maps common file extensions to the codecs available in the native library.
            </remarks>
        </member>
        <member name="P:SoundFlow.Codecs.FFMpeg.FFmpegCodecFactory.Priority">
            <inheritdoc />
        </member>
        <member name="M:SoundFlow.Codecs.FFMpeg.FFmpegCodecFactory.CreateDecoder(System.IO.Stream,System.String,SoundFlow.Structs.AudioFormat)">
            <inheritdoc />
        </member>
        <member name="M:SoundFlow.Codecs.FFMpeg.FFmpegCodecFactory.TryCreateDecoder(System.IO.Stream,SoundFlow.Structs.AudioFormat@,System.Nullable{SoundFlow.Structs.AudioFormat})">
            <inheritdoc />
        </member>
        <member name="M:SoundFlow.Codecs.FFMpeg.FFmpegCodecFactory.CreateEncoder(System.IO.Stream,System.String,SoundFlow.Structs.AudioFormat)">
            <inheritdoc />
        </member>
        <member name="T:SoundFlow.Codecs.FFMpeg.FFmpegDecoder">
            <summary>
            An <see cref="T:SoundFlow.Interfaces.ISoundDecoder"/> implementation that uses a native FFmpeg wrapper
            to decode various audio formats.
            </summary>
        </member>
        <member name="M:SoundFlow.Codecs.FFMpeg.FFmpegDecoder.#ctor(System.IO.Stream,SoundFlow.Structs.AudioFormat)">
            <summary>
            Initializes a new instance of the <see cref="T:SoundFlow.Codecs.FFMpeg.FFmpegDecoder"/> class.
            </summary>
            <param name="stream">The input stream containing the audio data to decode.</param>
            <param name="targetFormat">The desired output format for the decoded PCM data.</param>
        </member>
        <member name="P:SoundFlow.Codecs.FFMpeg.FFmpegDecoder.IsDisposed">
            <inheritdoc />
        </member>
        <member name="P:SoundFlow.Codecs.FFMpeg.FFmpegDecoder.Length">
            <inheritdoc />
        </member>
        <member name="P:SoundFlow.Codecs.FFMpeg.FFmpegDecoder.SampleFormat">
            <inheritdoc />
        </member>
        <member name="P:SoundFlow.Codecs.FFMpeg.FFmpegDecoder.Channels">
            <inheritdoc />
        </member>
        <member name="P:SoundFlow.Codecs.FFMpeg.FFmpegDecoder.SampleRate">
            <inheritdoc />
        </member>
        <member name="E:SoundFlow.Codecs.FFMpeg.FFmpegDecoder.EndOfStreamReached">
            <inheritdoc />
        </member>
        <member name="M:SoundFlow.Codecs.FFMpeg.FFmpegDecoder.Decode(System.Span{System.Single})">
            <inheritdoc />
        </member>
        <member name="M:SoundFlow.Codecs.FFMpeg.FFmpegDecoder.Seek(System.Int32)">
            <inheritdoc />
        </member>
        <member name="M:SoundFlow.Codecs.FFMpeg.FFmpegDecoder.Dispose">
            <inheritdoc />
        </member>
        <member name="T:SoundFlow.Codecs.FFMpeg.FFmpegEncoder">
            <summary>
            An <see cref="T:SoundFlow.Interfaces.ISoundEncoder"/> implementation that uses a native FFmpeg wrapper
            to encode raw PCM data into various audio formats.
            </summary>
        </member>
        <member name="M:SoundFlow.Codecs.FFMpeg.FFmpegEncoder.#ctor(System.IO.Stream,System.String,SoundFlow.Structs.AudioFormat)">
            <summary>
            Initializes a new instance of the <see cref="T:SoundFlow.Codecs.FFMpeg.FFmpegEncoder"/> class.
            </summary>
            <param name="stream">The output stream to write the encoded audio data to.</param>
            <param name="formatId">The string identifier of the target audio format (e.g., "mp3", "flac").</param>
            <param name="sourceFormat">The format of the raw PCM input data.</param>
        </member>
        <member name="P:SoundFlow.Codecs.FFMpeg.FFmpegEncoder.IsDisposed">
            <inheritdoc />
        </member>
        <member name="M:SoundFlow.Codecs.FFMpeg.FFmpegEncoder.Encode(System.Span{System.Single})">
            <inheritdoc />
        </member>
        <member name="M:SoundFlow.Codecs.FFMpeg.FFmpegEncoder.Dispose">
            <inheritdoc />
        </member>
        <member name="T:SoundFlow.Codecs.FFMpeg.Native.SeekWhence">
            <summary>
            Defines the origin for seek operations, mirroring System.IO.SeekOrigin.
            </summary>
        </member>
        <member name="F:SoundFlow.Codecs.FFMpeg.Native.SeekWhence.Set">
            <summary>
            Specifies the beginning of a stream.
            </summary>
        </member>
        <member name="F:SoundFlow.Codecs.FFMpeg.Native.SeekWhence.Cur">
            <summary>
            Specifies the current position within a stream.
            </summary>
        </member>
        <member name="F:SoundFlow.Codecs.FFMpeg.Native.SeekWhence.End">
            <summary>
            Specifies the end of a stream.
            </summary>
        </member>
        <member name="F:SoundFlow.Codecs.FFMpeg.Native.SeekWhence.Size">
            <summary>
            Requests the total size of the stream in bytes.
            Mirrors FFmpeg's AVSEEK_SIZE.
            </summary>
        </member>
        <member name="T:SoundFlow.Codecs.FFMpeg.Native.FFmpeg">
            <summary>
            Provides P/Invoke declarations for the native soundflow_ffmpeg library.
            </summary>
        </member>
        <member name="M:SoundFlow.Codecs.FFMpeg.Native.FFmpeg.NativeLibraryResolver.GetPlatformSpecificLibraryName(System.String)">
            <summary>
            Gets the platform-specific library name
            </summary>
        </member>
        <member name="M:SoundFlow.Codecs.FFMpeg.Native.FFmpeg.NativeLibraryResolver.GetLibraryPath(System.String)">
            <summary>
            Constructs the relative path to the native library within the 'runtimes' folder.
            </summary>
        </member>
        <member name="T:SoundFlow.Codecs.FFMpeg.Native.SafeDecoderHandle">
            <summary>
            Represents a wrapper for a native SF_Decoder handle.
            </summary>
        </member>
        <member name="M:SoundFlow.Codecs.FFMpeg.Native.SafeDecoderHandle.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:SoundFlow.Codecs.FFMpeg.Native.SafeDecoderHandle"/> class.
            </summary>
        </member>
        <member name="M:SoundFlow.Codecs.FFMpeg.Native.SafeDecoderHandle.ReleaseHandle">
            <inheritdoc/>
        </member>
        <member name="T:SoundFlow.Codecs.FFMpeg.Native.SafeEncoderHandle">
            <summary>
            Represents a wrapper for a native SF_Encoder handle.
            </summary>
        </member>
        <member name="M:SoundFlow.Codecs.FFMpeg.Native.SafeEncoderHandle.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:SoundFlow.Codecs.FFMpeg.Native.SafeEncoderHandle"/> class.
            </summary>
        </member>
        <member name="M:SoundFlow.Codecs.FFMpeg.Native.SafeEncoderHandle.ReleaseHandle">
            <inheritdoc/>
        </member>
    </members>
</doc>
