[][src]Crate miniaudio

Modules

band_pass_filtering
biquad_filtering
high_pass_filtering
high_shelf_filter
low_pass_filtering
low_shelf_filter
notching_filter
peaking_eq_filter

Structs

ChannelConverter

channel conversion is used for channel rearrangement and conversion from one channel count to another. The ChannelConverter API is used for channel conversion.

ChannelConverterConfig

Configuration for ChannelConverter.

Context

An atomically reference counted context.

ContextConfig
ContextConfigAlsa
ContextConfigCoreAudio
ContextConfigJack
ContextConfigPulse
DataConverter
DataConverterConfig
Decoder
DecoderConfig
Device
DeviceCapture
DeviceConfig
DeviceConfigCapture
DeviceConfigPlayback
DeviceConfigUserData
DeviceId
DeviceIdAndName

Like device info but only contains the ID and name of a device info. use Context::device_info(ID) in order to get more information about the device that this refers to.

DeviceInfo
DevicePlayback
DeviceUserData
Frames
FramesIter
FramesIterMut
FramesMut
IOSSessionCategoryOption
LCG
LinearResampler
LinearResamplerConfig
Noise
NoiseConfig
RawContext
RawDecoder
RawDevice
Resampler
ResamplerConfig
RingBufferRecv

Be aware that it is not safe to have this being written to from multiple threads. This is part of a single producer single consumer ring buffer.

RingBufferSend

Be aware that it is not safe to have this being written to from multiple threads. This is part of a single producer single consumer ring buffer.

SyncDecoder

A decoder with synchronization. This will use a spinlock to synchronize access to the decoder on each function call. The decoder may have multiple readers or one writer. Cloning this decoder will simply return another reference to the same decoder.

Waveform
WaveformConfig

Enums

Backend
Channel
ChannelMixMode
DeviceType
DitherMode
Error
Format
IOSSessionCategory
NoiseType
PerformanceProfile
ResampleAlgorithm

The choice of resampling algorithm depends on your situation and requirements. The linear resampler is the most efficient and has the least amount of latency, but at the expense of poorer quality. The Speex resampler is higher quality, but slower with more latency. It also performs several heap allocations internally for memory management.

ResampleAlgorithmType
ShareMode
StandardChannelMap
StreamFormat
StreamLayout
ThreadPriority
WaveformType

Constants

MAX_CHANNELS

Maximum number of channels in a channel map.

MAX_FILTER_ORDER
MAX_SAMPLE_RATE
MIN_CHANNELS

Minimum number of channels in a channel map.

MIN_SAMPLE_RATE
SAMPLE_RATE_8000
SAMPLE_RATE_11025
SAMPLE_RATE_16000
SAMPLE_RATE_22050
SAMPLE_RATE_24000
SAMPLE_RATE_32000
SAMPLE_RATE_44100
SAMPLE_RATE_48000
SAMPLE_RATE_88200
SAMPLE_RATE_96000
SAMPLE_RATE_176400
SAMPLE_RATE_192000
SAMPLE_RATE_352800
SAMPLE_RATE_384000

Traits

Sample
SeekRead

Functions

ring_buffer

Create a sender/receiver pair for a single producer single consumer ring buffer. subbfer_len is the number of items that should be contained in each subbffer, and subbuffer_count is the number of subbffers that are used to swap data between the sender and receiver.

ring_buffer_preallocated

Create a sender/receiver pair for a single producer single consumer ring buffer using a preallocated buffer for items. subbfer_len is the number of items that should be contained in each subbffer, and subbuffer_count is the number of subbffers that are used to swap data between the sender and receiver.

Type Definitions

BoxedDataCallback
BoxedStopCallback
ConvertFn
DataCallback
StopCallback