namespace Bmp.Core.FFMpeg.CsCorePorts; /// /// Defines the base for all audio streams which provide samples instead of raw byte data. /// /// /// Compared to the , the provides samples instead of raw bytes. /// That means that the and the properties /// are expressed in samples. /// Also the method provides samples instead of raw bytes. /// public interface ISampleSource : IReadableAudioSource { /*/// /// Reads a sequence of samples from the and advances the position within the stream by the /// number of samples read. /// /// /// An array of floats. When this method returns, the contains the specified /// float array with the values between and ( + /// - 1) replaced by the floats read from the current source. /// /// /// The zero-based offset in the at which to begin storing the data /// read from the current stream. /// /// The maximum number of samples to read from the current source. /// The total number of samples read into the buffer. int Read(float[] buffer, int offset, int count); */ } /// /// Defines the base for all aggregators. /// public interface ISampleAggregator : ISampleSource, IAggregator { } /// /// Defines the base for all aggregators. /// public interface IWaveAggregator : IWaveSource, IAggregator { } /// /// Defines the base for all aggregators. /// /// The type of data, the aggregator provides. /// The type of the aggreator type. public interface IAggregator : IReadableAudioSource where TAggregator : IReadableAudioSource { /// /// Gets the underlying . /// /// /// The underlying . /// TAggregator BaseSource { get; } }