RUNE-2003: FFmpeg Audio Decoder and Encoder Proposed
Summary
FFmpegAudioClipBufferProvider is deleted. FFmpeg audio support now centers on FFmpegAudioDecoder, FFmpegAudioEncoder, FFmpegResampledAudioBuffer, and the temporary FFmpegMuxer.
Design
FFmpegAudioDecoderopens the best audio stream during construction, exposesStreamInfo, supportsSeek(TimeSpan), and fills caller buffers with canonical interleaved float32 PCM throughRead(Span<float>).FFmpegAudioEncoderis configured up front, opens the output stream withInitialize(), accepts canonical interleaved float32 PCM throughEncode(ReadOnlySpan<float>), and flushes/finalizes withComplete().FFmpegResampledAudioBufferadapts anyIAudioBufferto a target sample rate and channel count through libswresample.FFmpegMuxeronly muxes already encoded track files into a container; it does not participate in sample-domain encoding.
Boundaries
These FFmpeg audio types are reusable codec primitives, not IMediaEncoder/IMediaDecoder implementations and not a clip-provider abstraction. Scheduling, effect composition, multi-track mixing, and track-based export orchestration all live outside the FFmpeg package.