vkQuake2 doxygen  1.0 dev
miniaudio.h File Reference
#include <stddef.h>
#include <stdint.h>
#include <assert.h>
#include <limits.h>
#include <math.h>
#include <windows.h>
#include <objbase.h>
#include <mmreg.h>
#include <mmsystem.h>
#include <stdio.h>
#include <strings.h>

Go to the source code of this file.

Classes

struct  ma_format_converter_config
 
struct  ma_format_converter
 
struct  ma_channel_router_config
 
struct  ma_channel_router
 
struct  ma_src_config_sinc
 
struct  ma_src_config
 
struct  ma_pcm_converter_config
 
struct  ma_rb
 
struct  ma_pcm_rb
 
struct  ma_IMMNotificationClient
 
struct  ma_thread
 
struct  ma_mutex
 
struct  ma_event
 
union  ma_device_id
 
struct  ma_device_info
 
union  ma_timer
 
struct  ma_device_config
 
struct  ma_context_config
 
struct  ma_context
 
struct  ma_decoder_config
 
struct  ma_decoder
 
struct  ma_sine_wave
 

Macros

#define MA_WIN32
 
#define MA_WIN32_DESKTOP
 
#define MA_HAS_STDINT
 
#define MA_TRUE   1
 
#define MA_FALSE   0
 
#define NULL   0
 
#define MA_SIZE_MAX   0xFFFFFFFF /* When SIZE_MAX is not defined by the standard library just default to the maximum 32-bit unsigned integer. */
 
#define MA_INLINE
 
#define MA_ALIGN(alignment)   __attribute__((aligned(alignment)))
 
#define MA_ALIGNED_STRUCT(alignment)   struct MA_ALIGN(alignment)
 
#define MA_SIMD_ALIGNMENT   64
 
#define MA_LOG_LEVEL_VERBOSE   4
 
#define MA_LOG_LEVEL_INFO   3
 
#define MA_LOG_LEVEL_WARNING   2
 
#define MA_LOG_LEVEL_ERROR   1
 
#define MA_LOG_LEVEL   MA_LOG_LEVEL_ERROR
 
#define MA_CHANNEL_NONE   0
 
#define MA_CHANNEL_MONO   1
 
#define MA_CHANNEL_FRONT_LEFT   2
 
#define MA_CHANNEL_FRONT_RIGHT   3
 
#define MA_CHANNEL_FRONT_CENTER   4
 
#define MA_CHANNEL_LFE   5
 
#define MA_CHANNEL_BACK_LEFT   6
 
#define MA_CHANNEL_BACK_RIGHT   7
 
#define MA_CHANNEL_FRONT_LEFT_CENTER   8
 
#define MA_CHANNEL_FRONT_RIGHT_CENTER   9
 
#define MA_CHANNEL_BACK_CENTER   10
 
#define MA_CHANNEL_SIDE_LEFT   11
 
#define MA_CHANNEL_SIDE_RIGHT   12
 
#define MA_CHANNEL_TOP_CENTER   13
 
#define MA_CHANNEL_TOP_FRONT_LEFT   14
 
#define MA_CHANNEL_TOP_FRONT_CENTER   15
 
#define MA_CHANNEL_TOP_FRONT_RIGHT   16
 
#define MA_CHANNEL_TOP_BACK_LEFT   17
 
#define MA_CHANNEL_TOP_BACK_CENTER   18
 
#define MA_CHANNEL_TOP_BACK_RIGHT   19
 
#define MA_CHANNEL_AUX_0   20
 
#define MA_CHANNEL_AUX_1   21
 
#define MA_CHANNEL_AUX_2   22
 
#define MA_CHANNEL_AUX_3   23
 
#define MA_CHANNEL_AUX_4   24
 
#define MA_CHANNEL_AUX_5   25
 
#define MA_CHANNEL_AUX_6   26
 
#define MA_CHANNEL_AUX_7   27
 
#define MA_CHANNEL_AUX_8   28
 
#define MA_CHANNEL_AUX_9   29
 
#define MA_CHANNEL_AUX_10   30
 
#define MA_CHANNEL_AUX_11   31
 
#define MA_CHANNEL_AUX_12   32
 
#define MA_CHANNEL_AUX_13   33
 
#define MA_CHANNEL_AUX_14   34
 
#define MA_CHANNEL_AUX_15   35
 
#define MA_CHANNEL_AUX_16   36
 
#define MA_CHANNEL_AUX_17   37
 
#define MA_CHANNEL_AUX_18   38
 
#define MA_CHANNEL_AUX_19   39
 
#define MA_CHANNEL_AUX_20   40
 
#define MA_CHANNEL_AUX_21   41
 
#define MA_CHANNEL_AUX_22   42
 
#define MA_CHANNEL_AUX_23   43
 
#define MA_CHANNEL_AUX_24   44
 
#define MA_CHANNEL_AUX_25   45
 
#define MA_CHANNEL_AUX_26   46
 
#define MA_CHANNEL_AUX_27   47
 
#define MA_CHANNEL_AUX_28   48
 
#define MA_CHANNEL_AUX_29   49
 
#define MA_CHANNEL_AUX_30   50
 
#define MA_CHANNEL_AUX_31   51
 
#define MA_CHANNEL_LEFT   MA_CHANNEL_FRONT_LEFT
 
#define MA_CHANNEL_RIGHT   MA_CHANNEL_FRONT_RIGHT
 
#define MA_CHANNEL_POSITION_COUNT   MA_CHANNEL_AUX_31 + 1
 
#define MA_SUCCESS   0
 
#define MA_ERROR   -1 /* A generic error. */
 
#define MA_INVALID_ARGS   -2
 
#define MA_INVALID_OPERATION   -3
 
#define MA_OUT_OF_MEMORY   -4
 
#define MA_ACCESS_DENIED   -5
 
#define MA_TOO_LARGE   -6
 
#define MA_TIMEOUT   -7
 
#define MA_FORMAT_NOT_SUPPORTED   -100
 
#define MA_DEVICE_TYPE_NOT_SUPPORTED   -101
 
#define MA_SHARE_MODE_NOT_SUPPORTED   -102
 
#define MA_NO_BACKEND   -103
 
#define MA_NO_DEVICE   -104
 
#define MA_API_NOT_FOUND   -105
 
#define MA_INVALID_DEVICE_CONFIG   -106
 
#define MA_DEVICE_BUSY   -200
 
#define MA_DEVICE_NOT_INITIALIZED   -201
 
#define MA_DEVICE_NOT_STARTED   -202
 
#define MA_DEVICE_UNAVAILABLE   -203
 
#define MA_FAILED_TO_MAP_DEVICE_BUFFER   -300
 
#define MA_FAILED_TO_UNMAP_DEVICE_BUFFER   -301
 
#define MA_FAILED_TO_INIT_BACKEND   -302
 
#define MA_FAILED_TO_READ_DATA_FROM_CLIENT   -303
 
#define MA_FAILED_TO_READ_DATA_FROM_DEVICE   -304
 
#define MA_FAILED_TO_SEND_DATA_TO_CLIENT   -305
 
#define MA_FAILED_TO_SEND_DATA_TO_DEVICE   -306
 
#define MA_FAILED_TO_OPEN_BACKEND_DEVICE   -307
 
#define MA_FAILED_TO_START_BACKEND_DEVICE   -308
 
#define MA_FAILED_TO_STOP_BACKEND_DEVICE   -309
 
#define MA_FAILED_TO_CONFIGURE_BACKEND_DEVICE   -310
 
#define MA_FAILED_TO_CREATE_MUTEX   -311
 
#define MA_FAILED_TO_CREATE_EVENT   -312
 
#define MA_FAILED_TO_CREATE_THREAD   -313
 
#define MA_SAMPLE_RATE_8000   8000
 
#define MA_SAMPLE_RATE_11025   11025
 
#define MA_SAMPLE_RATE_16000   16000
 
#define MA_SAMPLE_RATE_22050   22050
 
#define MA_SAMPLE_RATE_24000   24000
 
#define MA_SAMPLE_RATE_32000   32000
 
#define MA_SAMPLE_RATE_44100   44100
 
#define MA_SAMPLE_RATE_48000   48000
 
#define MA_SAMPLE_RATE_88200   88200
 
#define MA_SAMPLE_RATE_96000   96000
 
#define MA_SAMPLE_RATE_176400   176400
 
#define MA_SAMPLE_RATE_192000   192000
 
#define MA_SAMPLE_RATE_352800   352800
 
#define MA_SAMPLE_RATE_384000   384000
 
#define MA_MIN_PCM_SAMPLE_SIZE_IN_BYTES   1 /* For simplicity, miniaudio does not support PCM samples that are not byte aligned. */
 
#define MA_MAX_PCM_SAMPLE_SIZE_IN_BYTES   8
 
#define MA_MIN_CHANNELS   1
 
#define MA_MAX_CHANNELS   32
 
#define MA_MIN_SAMPLE_RATE   MA_SAMPLE_RATE_8000
 
#define MA_MAX_SAMPLE_RATE   MA_SAMPLE_RATE_384000
 
#define MA_SRC_SINC_MIN_WINDOW_WIDTH   2
 
#define MA_SRC_SINC_MAX_WINDOW_WIDTH   32
 
#define MA_SRC_SINC_DEFAULT_WINDOW_WIDTH   32
 
#define MA_SRC_SINC_LOOKUP_TABLE_RESOLUTION   8
 
#define MA_SRC_INPUT_BUFFER_SIZE_IN_SAMPLES   256
 
#define MA_SUPPORT_WASAPI
 
#define MA_SUPPORT_DSOUND
 
#define MA_SUPPORT_WINMM
 
#define MA_SUPPORT_JACK   /* JACK is technically supported on Windows, but I don't know how many people use it in practice... */
 
#define MA_SUPPORT_NULL
 
#define MA_ENABLE_WASAPI
 
#define MA_ENABLE_DSOUND
 
#define MA_ENABLE_WINMM
 
#define MA_ENABLE_JACK
 
#define MA_ENABLE_NULL
 

Typedefs

typedef int8_t ma_int8
 
typedef uint8_t ma_uint8
 
typedef int16_t ma_int16
 
typedef uint16_t ma_uint16
 
typedef int32_t ma_int32
 
typedef uint32_t ma_uint32
 
typedef int64_t ma_int64
 
typedef uint64_t ma_uint64
 
typedef uintptr_t ma_uintptr
 
typedef ma_uint8 ma_bool8
 
typedef ma_uint32 ma_bool32
 
typedef voidma_handle
 
typedef voidma_ptr
 
typedef void(* ma_proc) (void)
 
typedef struct ma_context ma_context
 
typedef struct ma_device ma_device
 
typedef ma_uint8 ma_channel
 
typedef int ma_result
 
typedef struct ma_format_converter ma_format_converter
 
typedef ma_uint32(* ma_format_converter_read_proc) (ma_format_converter *pConverter, ma_uint32 frameCount, void *pFramesOut, void *pUserData)
 
typedef ma_uint32(* ma_format_converter_read_deinterleaved_proc) (ma_format_converter *pConverter, ma_uint32 frameCount, void **ppSamplesOut, void *pUserData)
 
typedef struct ma_channel_router ma_channel_router
 
typedef ma_uint32(* ma_channel_router_read_deinterleaved_proc) (ma_channel_router *pRouter, ma_uint32 frameCount, void **ppSamplesOut, void *pUserData)
 
typedef struct ma_src ma_src
 
typedef ma_uint32(* ma_src_read_deinterleaved_proc) (ma_src *pSRC, ma_uint32 frameCount, void **ppSamplesOut, void *pUserData)
 
typedef struct ma_pcm_converter ma_pcm_converter
 
typedef ma_uint32(* ma_pcm_converter_read_proc) (ma_pcm_converter *pDSP, void *pSamplesOut, ma_uint32 frameCount, void *pUserData)
 
typedef void(* ma_device_callback_proc) (ma_device *pDevice, void *pOutput, const void *pInput, ma_uint32 frameCount)
 
typedef void(* ma_stop_proc) (ma_device *pDevice)
 
typedef void(* ma_log_proc) (ma_context *pContext, ma_device *pDevice, ma_uint32 logLevel, const char *message)
 
typedef ma_bool32(* ma_enum_devices_callback_proc) (ma_context *pContext, ma_device_type deviceType, const ma_device_info *pInfo, void *pUserData)
 
typedef struct ma_decoder ma_decoder
 
typedef size_t(* ma_decoder_read_proc) (ma_decoder *pDecoder, void *pBufferOut, size_t bytesToRead)
 
typedef ma_bool32(* ma_decoder_seek_proc) (ma_decoder *pDecoder, int byteOffset, ma_seek_origin origin)
 
typedef ma_result(* ma_decoder_seek_to_pcm_frame_proc) (ma_decoder *pDecoder, ma_uint64 frameIndex)
 
typedef ma_result(* ma_decoder_uninit_proc) (ma_decoder *pDecoder)
 
typedef ma_uint64(* ma_decoder_get_length_in_pcm_frames_proc) (ma_decoder *pDecoder)
 

Enumerations

enum  ma_stream_format { ma_stream_format_pcm = 0 }
 
enum  ma_stream_layout { ma_stream_layout_interleaved = 0, ma_stream_layout_deinterleaved }
 
enum  ma_dither_mode { ma_dither_mode_none = 0, ma_dither_mode_rectangle, ma_dither_mode_triangle }
 
enum  ma_format {
  ma_format_unknown = 0, ma_format_u8 = 1, ma_format_s16 = 2, ma_format_s24 = 3,
  ma_format_s32 = 4, ma_format_f32 = 5, ma_format_count
}
 
enum  ma_channel_mix_mode {
  ma_channel_mix_mode_rectangular = 0, ma_channel_mix_mode_simple, ma_channel_mix_mode_custom_weights, ma_channel_mix_mode_planar_blend = ma_channel_mix_mode_rectangular,
  ma_channel_mix_mode_default = ma_channel_mix_mode_planar_blend
}
 
enum  ma_standard_channel_map {
  ma_standard_channel_map_microsoft, ma_standard_channel_map_alsa, ma_standard_channel_map_rfc3551, ma_standard_channel_map_flac,
  ma_standard_channel_map_vorbis, ma_standard_channel_map_sound4, ma_standard_channel_map_sndio, ma_standard_channel_map_webaudio = ma_standard_channel_map_flac,
  ma_standard_channel_map_default = ma_standard_channel_map_microsoft
}
 
enum  ma_performance_profile { ma_performance_profile_low_latency = 0, ma_performance_profile_conservative }
 
enum  ma_src_algorithm { ma_src_algorithm_linear = 0, ma_src_algorithm_sinc, ma_src_algorithm_none, ma_src_algorithm_default = ma_src_algorithm_linear }
 
enum  ma_src_sinc_window_function { ma_src_sinc_window_function_hann = 0, ma_src_sinc_window_function_rectangular, ma_src_sinc_window_function_default = ma_src_sinc_window_function_hann }
 
enum  ma_backend {
  ma_backend_wasapi, ma_backend_dsound, ma_backend_winmm, ma_backend_coreaudio,
  ma_backend_sndio, ma_backend_audio4, ma_backend_oss, ma_backend_pulseaudio,
  ma_backend_alsa, ma_backend_jack, ma_backend_aaudio, ma_backend_opensl,
  ma_backend_webaudio, ma_backend_null
}
 
enum  ma_thread_priority {
  ma_thread_priority_idle = -5, ma_thread_priority_lowest = -4, ma_thread_priority_low = -3, ma_thread_priority_normal = -2,
  ma_thread_priority_high = -1, ma_thread_priority_highest = 0, ma_thread_priority_realtime = 1, ma_thread_priority_default = 0
}
 
enum  ma_device_type { ma_device_type_playback = 1, ma_device_type_capture = 2, ma_device_type_duplex = ma_device_type_playback | ma_device_type_capture }
 
enum  ma_share_mode { ma_share_mode_shared = 0, ma_share_mode_exclusive }
 
enum  ma_seek_origin { ma_seek_origin_start, ma_seek_origin_current }
 

Functions

 MA_ALIGNED_STRUCT (MA_SIMD_ALIGNMENT) ma_src
 
void ma_get_standard_channel_map (ma_standard_channel_map standardChannelMap, ma_uint32 channels, ma_channel channelMap[MA_MAX_CHANNELS])
 
void ma_channel_map_copy (ma_channel *pOut, const ma_channel *pIn, ma_uint32 channels)
 
ma_bool32 ma_channel_map_valid (ma_uint32 channels, const ma_channel channelMap[MA_MAX_CHANNELS])
 
ma_bool32 ma_channel_map_equal (ma_uint32 channels, const ma_channel channelMapA[MA_MAX_CHANNELS], const ma_channel channelMapB[MA_MAX_CHANNELS])
 
ma_bool32 ma_channel_map_blank (ma_uint32 channels, const ma_channel channelMap[MA_MAX_CHANNELS])
 
ma_bool32 ma_channel_map_contains_channel_position (ma_uint32 channels, const ma_channel channelMap[MA_MAX_CHANNELS], ma_channel channelPosition)
 
ma_result ma_format_converter_init (const ma_format_converter_config *pConfig, ma_format_converter *pConverter)
 
ma_uint64 ma_format_converter_read (ma_format_converter *pConverter, ma_uint64 frameCount, void *pFramesOut, void *pUserData)
 
ma_uint64 ma_format_converter_read_deinterleaved (ma_format_converter *pConverter, ma_uint64 frameCount, void **ppSamplesOut, void *pUserData)
 
ma_format_converter_config ma_format_converter_config_init_new (void)
 
ma_format_converter_config ma_format_converter_config_init (ma_format formatIn, ma_format formatOut, ma_uint32 channels, ma_format_converter_read_proc onRead, void *pUserData)
 
ma_format_converter_config ma_format_converter_config_init_deinterleaved (ma_format formatIn, ma_format formatOut, ma_uint32 channels, ma_format_converter_read_deinterleaved_proc onReadDeinterleaved, void *pUserData)
 
ma_result ma_channel_router_init (const ma_channel_router_config *pConfig, ma_channel_router *pRouter)
 
ma_uint64 ma_channel_router_read_deinterleaved (ma_channel_router *pRouter, ma_uint64 frameCount, void **ppSamplesOut, void *pUserData)
 
ma_channel_router_config ma_channel_router_config_init (ma_uint32 channelsIn, const ma_channel channelMapIn[MA_MAX_CHANNELS], ma_uint32 channelsOut, const ma_channel channelMapOut[MA_MAX_CHANNELS], ma_channel_mix_mode mixingMode, ma_channel_router_read_deinterleaved_proc onRead, void *pUserData)
 
ma_result ma_src_init (const ma_src_config *pConfig, ma_src *pSRC)
 
ma_result ma_src_set_sample_rate (ma_src *pSRC, ma_uint32 sampleRateIn, ma_uint32 sampleRateOut)
 
ma_uint64 ma_src_read_deinterleaved (ma_src *pSRC, ma_uint64 frameCount, void **ppSamplesOut, void *pUserData)
 
ma_src_config ma_src_config_init_new (void)
 
ma_src_config ma_src_config_init (ma_uint32 sampleRateIn, ma_uint32 sampleRateOut, ma_uint32 channels, ma_src_read_deinterleaved_proc onReadDeinterleaved, void *pUserData)
 
ma_result ma_pcm_converter_init (const ma_pcm_converter_config *pConfig, ma_pcm_converter *pDSP)
 
ma_result ma_pcm_converter_set_input_sample_rate (ma_pcm_converter *pDSP, ma_uint32 sampleRateOut)
 
ma_result ma_pcm_converter_set_output_sample_rate (ma_pcm_converter *pDSP, ma_uint32 sampleRateOut)
 
ma_result ma_pcm_converter_set_sample_rate (ma_pcm_converter *pDSP, ma_uint32 sampleRateIn, ma_uint32 sampleRateOut)
 
ma_uint64 ma_pcm_converter_read (ma_pcm_converter *pDSP, void *pFramesOut, ma_uint64 frameCount)
 
ma_pcm_converter_config ma_pcm_converter_config_init_new (void)
 
ma_pcm_converter_config ma_pcm_converter_config_init (ma_format formatIn, ma_uint32 channelsIn, ma_uint32 sampleRateIn, ma_format formatOut, ma_uint32 channelsOut, ma_uint32 sampleRateOut, ma_pcm_converter_read_proc onRead, void *pUserData)
 
ma_pcm_converter_config ma_pcm_converter_config_init_ex (ma_format formatIn, ma_uint32 channelsIn, ma_uint32 sampleRateIn, ma_channel channelMapIn[MA_MAX_CHANNELS], ma_format formatOut, ma_uint32 channelsOut, ma_uint32 sampleRateOut, ma_channel channelMapOut[MA_MAX_CHANNELS], ma_pcm_converter_read_proc onRead, void *pUserData)
 
ma_uint64 ma_convert_frames (void *pOut, ma_format formatOut, ma_uint32 channelsOut, ma_uint32 sampleRateOut, const void *pIn, ma_format formatIn, ma_uint32 channelsIn, ma_uint32 sampleRateIn, ma_uint64 frameCount)
 
ma_uint64 ma_convert_frames_ex (void *pOut, ma_format formatOut, ma_uint32 channelsOut, ma_uint32 sampleRateOut, ma_channel channelMapOut[MA_MAX_CHANNELS], const void *pIn, ma_format formatIn, ma_uint32 channelsIn, ma_uint32 sampleRateIn, ma_channel channelMapIn[MA_MAX_CHANNELS], ma_uint64 frameCount)
 
ma_result ma_rb_init_ex (size_t subbufferSizeInBytes, size_t subbufferCount, size_t subbufferStrideInBytes, void *pOptionalPreallocatedBuffer, ma_rb *pRB)
 
ma_result ma_rb_init (size_t bufferSizeInBytes, void *pOptionalPreallocatedBuffer, ma_rb *pRB)
 
void ma_rb_uninit (ma_rb *pRB)
 
ma_result ma_rb_acquire_read (ma_rb *pRB, size_t *pSizeInBytes, void **ppBufferOut)
 
ma_result ma_rb_commit_read (ma_rb *pRB, size_t sizeInBytes, void *pBufferOut)
 
ma_result ma_rb_acquire_write (ma_rb *pRB, size_t *pSizeInBytes, void **ppBufferOut)
 
ma_result ma_rb_commit_write (ma_rb *pRB, size_t sizeInBytes, void *pBufferOut)
 
ma_result ma_rb_seek_read (ma_rb *pRB, size_t offsetInBytes)
 
ma_result ma_rb_seek_write (ma_rb *pRB, size_t offsetInBytes)
 
ma_int32 ma_rb_pointer_distance (ma_rb *pRB)
 
size_t ma_rb_get_subbuffer_size (ma_rb *pRB)
 
size_t ma_rb_get_subbuffer_stride (ma_rb *pRB)
 
size_t ma_rb_get_subbuffer_offset (ma_rb *pRB, size_t subbufferIndex)
 
voidma_rb_get_subbuffer_ptr (ma_rb *pRB, size_t subbufferIndex, void *pBuffer)
 
ma_result ma_pcm_rb_init_ex (ma_format format, ma_uint32 channels, ma_uint32 subbufferSizeInFrames, ma_uint32 subbufferCount, ma_uint32 subbufferStrideInFrames, void *pOptionalPreallocatedBuffer, ma_pcm_rb *pRB)
 
ma_result ma_pcm_rb_init (ma_format format, ma_uint32 channels, ma_uint32 bufferSizeInFrames, void *pOptionalPreallocatedBuffer, ma_pcm_rb *pRB)
 
void ma_pcm_rb_uninit (ma_pcm_rb *pRB)
 
ma_result ma_pcm_rb_acquire_read (ma_pcm_rb *pRB, ma_uint32 *pSizeInFrames, void **ppBufferOut)
 
ma_result ma_pcm_rb_commit_read (ma_pcm_rb *pRB, ma_uint32 sizeInFrames, void *pBufferOut)
 
ma_result ma_pcm_rb_acquire_write (ma_pcm_rb *pRB, ma_uint32 *pSizeInFrames, void **ppBufferOut)
 
ma_result ma_pcm_rb_commit_write (ma_pcm_rb *pRB, ma_uint32 sizeInFrames, void *pBufferOut)
 
ma_result ma_pcm_rb_seek_read (ma_pcm_rb *pRB, ma_uint32 offsetInFrames)
 
ma_result ma_pcm_rb_seek_write (ma_pcm_rb *pRB, ma_uint32 offsetInFrames)
 
ma_int32 ma_pcm_rb_pointer_disance (ma_pcm_rb *pRB)
 
ma_uint32 ma_pcm_rb_get_subbuffer_size (ma_pcm_rb *pRB)
 
ma_uint32 ma_pcm_rb_get_subbuffer_stride (ma_pcm_rb *pRB)
 
ma_uint32 ma_pcm_rb_get_subbuffer_offset (ma_pcm_rb *pRB, ma_uint32 subbufferIndex)
 
voidma_pcm_rb_get_subbuffer_ptr (ma_pcm_rb *pRB, ma_uint32 subbufferIndex, void *pBuffer)
 
voidma_malloc (size_t sz)
 
voidma_realloc (void *p, size_t sz)
 
void ma_free (void *p)
 
voidma_aligned_malloc (size_t sz, size_t alignment)
 
void ma_aligned_free (void *p)
 
const char * ma_get_format_name (ma_format format)
 
void ma_blend_f32 (float *pOut, float *pInA, float *pInB, float factor, ma_uint32 channels)
 
ma_uint32 ma_get_bytes_per_sample (ma_format format)
 
static MA_INLINE ma_uint32 ma_get_bytes_per_frame (ma_format format, ma_uint32 channels)
 
const char * ma_log_level_to_string (ma_uint32 logLevel)
 
void ma_pcm_u8_to_s16 (void *pOut, const void *pIn, ma_uint64 count, ma_dither_mode ditherMode)
 
void ma_pcm_u8_to_s24 (void *pOut, const void *pIn, ma_uint64 count, ma_dither_mode ditherMode)
 
void ma_pcm_u8_to_s32 (void *pOut, const void *pIn, ma_uint64 count, ma_dither_mode ditherMode)
 
void ma_pcm_u8_to_f32 (void *pOut, const void *pIn, ma_uint64 count, ma_dither_mode ditherMode)
 
void ma_pcm_s16_to_u8 (void *pOut, const void *pIn, ma_uint64 count, ma_dither_mode ditherMode)
 
void ma_pcm_s16_to_s24 (void *pOut, const void *pIn, ma_uint64 count, ma_dither_mode ditherMode)
 
void ma_pcm_s16_to_s32 (void *pOut, const void *pIn, ma_uint64 count, ma_dither_mode ditherMode)
 
void ma_pcm_s16_to_f32 (void *pOut, const void *pIn, ma_uint64 count, ma_dither_mode ditherMode)
 
void ma_pcm_s24_to_u8 (void *pOut, const void *pIn, ma_uint64 count, ma_dither_mode ditherMode)
 
void ma_pcm_s24_to_s16 (void *pOut, const void *pIn, ma_uint64 count, ma_dither_mode ditherMode)
 
void ma_pcm_s24_to_s32 (void *pOut, const void *pIn, ma_uint64 count, ma_dither_mode ditherMode)
 
void ma_pcm_s24_to_f32 (void *pOut, const void *pIn, ma_uint64 count, ma_dither_mode ditherMode)
 
void ma_pcm_s32_to_u8 (void *pOut, const void *pIn, ma_uint64 count, ma_dither_mode ditherMode)
 
void ma_pcm_s32_to_s16 (void *pOut, const void *pIn, ma_uint64 count, ma_dither_mode ditherMode)
 
void ma_pcm_s32_to_s24 (void *pOut, const void *pIn, ma_uint64 count, ma_dither_mode ditherMode)
 
void ma_pcm_s32_to_f32 (void *pOut, const void *pIn, ma_uint64 count, ma_dither_mode ditherMode)
 
void ma_pcm_f32_to_u8 (void *pOut, const void *pIn, ma_uint64 count, ma_dither_mode ditherMode)
 
void ma_pcm_f32_to_s16 (void *pOut, const void *pIn, ma_uint64 count, ma_dither_mode ditherMode)
 
void ma_pcm_f32_to_s24 (void *pOut, const void *pIn, ma_uint64 count, ma_dither_mode ditherMode)
 
void ma_pcm_f32_to_s32 (void *pOut, const void *pIn, ma_uint64 count, ma_dither_mode ditherMode)
 
void ma_pcm_convert (void *pOut, ma_format formatOut, const void *pIn, ma_format formatIn, ma_uint64 sampleCount, ma_dither_mode ditherMode)
 
void ma_deinterleave_pcm_frames (ma_format format, ma_uint32 channels, ma_uint64 frameCount, const void *pInterleavedPCMFrames, void **ppDeinterleavedPCMFrames)
 
void ma_interleave_pcm_frames (ma_format format, ma_uint32 channels, ma_uint64 frameCount, const void **ppDeinterleavedPCMFrames, void *pInterleavedPCMFrames)
 
ma_result ma_context_init (const ma_backend backends[], ma_uint32 backendCount, const ma_context_config *pConfig, ma_context *pContext)
 
ma_result ma_context_uninit (ma_context *pContext)
 
ma_result ma_context_enumerate_devices (ma_context *pContext, ma_enum_devices_callback_proc callback, void *pUserData)
 
ma_result ma_context_get_devices (ma_context *pContext, ma_device_info **ppPlaybackDeviceInfos, ma_uint32 *pPlaybackDeviceCount, ma_device_info **ppCaptureDeviceInfos, ma_uint32 *pCaptureDeviceCount)
 
ma_result ma_context_get_device_info (ma_context *pContext, ma_device_type deviceType, const ma_device_id *pDeviceID, ma_share_mode shareMode, ma_device_info *pDeviceInfo)
 
ma_result ma_device_init (ma_context *pContext, const ma_device_config *pConfig, ma_device *pDevice)
 
ma_result ma_device_init_ex (const ma_backend backends[], ma_uint32 backendCount, const ma_context_config *pContextConfig, const ma_device_config *pConfig, ma_device *pDevice)
 
void ma_device_uninit (ma_device *pDevice)
 
void ma_device_set_stop_callback (ma_device *pDevice, ma_stop_proc proc)
 
ma_result ma_device_start (ma_device *pDevice)
 
ma_result ma_device_stop (ma_device *pDevice)
 
ma_bool32 ma_device_is_started (ma_device *pDevice)
 
ma_context_config ma_context_config_init (void)
 
ma_device_config ma_device_config_init (ma_device_type deviceType)
 
ma_result ma_mutex_init (ma_context *pContext, ma_mutex *pMutex)
 
void ma_mutex_uninit (ma_mutex *pMutex)
 
void ma_mutex_lock (ma_mutex *pMutex)
 
void ma_mutex_unlock (ma_mutex *pMutex)
 
const char * ma_get_backend_name (ma_backend backend)
 
ma_uint32 ma_scale_buffer_size (ma_uint32 baseBufferSize, float scale)
 
ma_uint32 ma_calculate_buffer_size_in_milliseconds_from_frames (ma_uint32 bufferSizeInFrames, ma_uint32 sampleRate)
 
ma_uint32 ma_calculate_buffer_size_in_frames_from_milliseconds (ma_uint32 bufferSizeInMilliseconds, ma_uint32 sampleRate)
 
ma_uint32 ma_get_default_buffer_size_in_milliseconds (ma_performance_profile performanceProfile)
 
ma_uint32 ma_get_default_buffer_size_in_frames (ma_performance_profile performanceProfile, ma_uint32 sampleRate)
 
void ma_zero_pcm_frames (void *p, ma_uint32 frameCount, ma_format format, ma_uint32 channels)
 
ma_decoder_config ma_decoder_config_init (ma_format outputFormat, ma_uint32 outputChannels, ma_uint32 outputSampleRate)
 
ma_result ma_decoder_init (ma_decoder_read_proc onRead, ma_decoder_seek_proc onSeek, void *pUserData, const ma_decoder_config *pConfig, ma_decoder *pDecoder)
 
ma_result ma_decoder_init_wav (ma_decoder_read_proc onRead, ma_decoder_seek_proc onSeek, void *pUserData, const ma_decoder_config *pConfig, ma_decoder *pDecoder)
 
ma_result ma_decoder_init_flac (ma_decoder_read_proc onRead, ma_decoder_seek_proc onSeek, void *pUserData, const ma_decoder_config *pConfig, ma_decoder *pDecoder)
 
ma_result ma_decoder_init_vorbis (ma_decoder_read_proc onRead, ma_decoder_seek_proc onSeek, void *pUserData, const ma_decoder_config *pConfig, ma_decoder *pDecoder)
 
ma_result ma_decoder_init_mp3 (ma_decoder_read_proc onRead, ma_decoder_seek_proc onSeek, void *pUserData, const ma_decoder_config *pConfig, ma_decoder *pDecoder)
 
ma_result ma_decoder_init_raw (ma_decoder_read_proc onRead, ma_decoder_seek_proc onSeek, void *pUserData, const ma_decoder_config *pConfigIn, const ma_decoder_config *pConfigOut, ma_decoder *pDecoder)
 
ma_result ma_decoder_init_memory (const void *pData, size_t dataSize, const ma_decoder_config *pConfig, ma_decoder *pDecoder)
 
ma_result ma_decoder_init_memory_wav (const void *pData, size_t dataSize, const ma_decoder_config *pConfig, ma_decoder *pDecoder)
 
ma_result ma_decoder_init_memory_flac (const void *pData, size_t dataSize, const ma_decoder_config *pConfig, ma_decoder *pDecoder)
 
ma_result ma_decoder_init_memory_vorbis (const void *pData, size_t dataSize, const ma_decoder_config *pConfig, ma_decoder *pDecoder)
 
ma_result ma_decoder_init_memory_mp3 (const void *pData, size_t dataSize, const ma_decoder_config *pConfig, ma_decoder *pDecoder)
 
ma_result ma_decoder_init_memory_raw (const void *pData, size_t dataSize, const ma_decoder_config *pConfigIn, const ma_decoder_config *pConfigOut, ma_decoder *pDecoder)
 
ma_result ma_decoder_init_file (const char *pFilePath, const ma_decoder_config *pConfig, ma_decoder *pDecoder)
 
ma_result ma_decoder_init_file_wav (const char *pFilePath, const ma_decoder_config *pConfig, ma_decoder *pDecoder)
 
ma_result ma_decoder_uninit (ma_decoder *pDecoder)
 
ma_uint64 ma_decoder_get_length_in_pcm_frames (ma_decoder *pDecoder)
 
ma_uint64 ma_decoder_read_pcm_frames (ma_decoder *pDecoder, void *pFramesOut, ma_uint64 frameCount)
 
ma_result ma_decoder_seek_to_pcm_frame (ma_decoder *pDecoder, ma_uint64 frameIndex)
 
ma_result ma_decode_file (const char *pFilePath, ma_decoder_config *pConfig, ma_uint64 *pFrameCountOut, void **ppDataOut)
 
ma_result ma_decode_memory (const void *pData, size_t dataSize, ma_decoder_config *pConfig, ma_uint64 *pFrameCountOut, void **ppDataOut)
 
ma_result ma_sine_wave_init (double amplitude, double period, ma_uint32 sampleRate, ma_sine_wave *pSineWave)
 
ma_uint64 ma_sine_wave_read_f32 (ma_sine_wave *pSineWave, ma_uint64 count, float *pSamples)
 
ma_uint64 ma_sine_wave_read_f32_ex (ma_sine_wave *pSineWave, ma_uint64 frameCount, ma_uint32 channels, ma_stream_layout layout, float **ppFrames)
 

Macro Definition Documentation

◆ MA_ACCESS_DENIED

#define MA_ACCESS_DENIED   -5

Definition at line 680 of file miniaudio.h.

◆ MA_ALIGN

#define MA_ALIGN (   alignment)    __attribute__((aligned(alignment)))

Definition at line 585 of file miniaudio.h.

◆ MA_ALIGNED_STRUCT

#define MA_ALIGNED_STRUCT (   alignment)    struct MA_ALIGN(alignment)

Definition at line 594 of file miniaudio.h.

◆ MA_API_NOT_FOUND

#define MA_API_NOT_FOUND   -105

Definition at line 690 of file miniaudio.h.

◆ MA_CHANNEL_AUX_0

#define MA_CHANNEL_AUX_0   20

Definition at line 635 of file miniaudio.h.

◆ MA_CHANNEL_AUX_1

#define MA_CHANNEL_AUX_1   21

Definition at line 636 of file miniaudio.h.

◆ MA_CHANNEL_AUX_10

#define MA_CHANNEL_AUX_10   30

Definition at line 645 of file miniaudio.h.

◆ MA_CHANNEL_AUX_11

#define MA_CHANNEL_AUX_11   31

Definition at line 646 of file miniaudio.h.

◆ MA_CHANNEL_AUX_12

#define MA_CHANNEL_AUX_12   32

Definition at line 647 of file miniaudio.h.

◆ MA_CHANNEL_AUX_13

#define MA_CHANNEL_AUX_13   33

Definition at line 648 of file miniaudio.h.

◆ MA_CHANNEL_AUX_14

#define MA_CHANNEL_AUX_14   34

Definition at line 649 of file miniaudio.h.

◆ MA_CHANNEL_AUX_15

#define MA_CHANNEL_AUX_15   35

Definition at line 650 of file miniaudio.h.

◆ MA_CHANNEL_AUX_16

#define MA_CHANNEL_AUX_16   36

Definition at line 651 of file miniaudio.h.

◆ MA_CHANNEL_AUX_17

#define MA_CHANNEL_AUX_17   37

Definition at line 652 of file miniaudio.h.

◆ MA_CHANNEL_AUX_18

#define MA_CHANNEL_AUX_18   38

Definition at line 653 of file miniaudio.h.

◆ MA_CHANNEL_AUX_19

#define MA_CHANNEL_AUX_19   39

Definition at line 654 of file miniaudio.h.

◆ MA_CHANNEL_AUX_2

#define MA_CHANNEL_AUX_2   22

Definition at line 637 of file miniaudio.h.

◆ MA_CHANNEL_AUX_20

#define MA_CHANNEL_AUX_20   40

Definition at line 655 of file miniaudio.h.

◆ MA_CHANNEL_AUX_21

#define MA_CHANNEL_AUX_21   41

Definition at line 656 of file miniaudio.h.

◆ MA_CHANNEL_AUX_22

#define MA_CHANNEL_AUX_22   42

Definition at line 657 of file miniaudio.h.

◆ MA_CHANNEL_AUX_23

#define MA_CHANNEL_AUX_23   43

Definition at line 658 of file miniaudio.h.

◆ MA_CHANNEL_AUX_24

#define MA_CHANNEL_AUX_24   44

Definition at line 659 of file miniaudio.h.

◆ MA_CHANNEL_AUX_25

#define MA_CHANNEL_AUX_25   45

Definition at line 660 of file miniaudio.h.

◆ MA_CHANNEL_AUX_26

#define MA_CHANNEL_AUX_26   46

Definition at line 661 of file miniaudio.h.

◆ MA_CHANNEL_AUX_27

#define MA_CHANNEL_AUX_27   47

Definition at line 662 of file miniaudio.h.

◆ MA_CHANNEL_AUX_28

#define MA_CHANNEL_AUX_28   48

Definition at line 663 of file miniaudio.h.

◆ MA_CHANNEL_AUX_29

#define MA_CHANNEL_AUX_29   49

Definition at line 664 of file miniaudio.h.

◆ MA_CHANNEL_AUX_3

#define MA_CHANNEL_AUX_3   23

Definition at line 638 of file miniaudio.h.

◆ MA_CHANNEL_AUX_30

#define MA_CHANNEL_AUX_30   50

Definition at line 665 of file miniaudio.h.

◆ MA_CHANNEL_AUX_31

#define MA_CHANNEL_AUX_31   51

Definition at line 666 of file miniaudio.h.

◆ MA_CHANNEL_AUX_4

#define MA_CHANNEL_AUX_4   24

Definition at line 639 of file miniaudio.h.

◆ MA_CHANNEL_AUX_5

#define MA_CHANNEL_AUX_5   25

Definition at line 640 of file miniaudio.h.

◆ MA_CHANNEL_AUX_6

#define MA_CHANNEL_AUX_6   26

Definition at line 641 of file miniaudio.h.

◆ MA_CHANNEL_AUX_7

#define MA_CHANNEL_AUX_7   27

Definition at line 642 of file miniaudio.h.

◆ MA_CHANNEL_AUX_8

#define MA_CHANNEL_AUX_8   28

Definition at line 643 of file miniaudio.h.

◆ MA_CHANNEL_AUX_9

#define MA_CHANNEL_AUX_9   29

Definition at line 644 of file miniaudio.h.

◆ MA_CHANNEL_BACK_CENTER

#define MA_CHANNEL_BACK_CENTER   10

Definition at line 625 of file miniaudio.h.

◆ MA_CHANNEL_BACK_LEFT

#define MA_CHANNEL_BACK_LEFT   6

Definition at line 621 of file miniaudio.h.

◆ MA_CHANNEL_BACK_RIGHT

#define MA_CHANNEL_BACK_RIGHT   7

Definition at line 622 of file miniaudio.h.

◆ MA_CHANNEL_FRONT_CENTER

#define MA_CHANNEL_FRONT_CENTER   4

Definition at line 619 of file miniaudio.h.

◆ MA_CHANNEL_FRONT_LEFT

#define MA_CHANNEL_FRONT_LEFT   2

Definition at line 617 of file miniaudio.h.

◆ MA_CHANNEL_FRONT_LEFT_CENTER

#define MA_CHANNEL_FRONT_LEFT_CENTER   8

Definition at line 623 of file miniaudio.h.

◆ MA_CHANNEL_FRONT_RIGHT

#define MA_CHANNEL_FRONT_RIGHT   3

Definition at line 618 of file miniaudio.h.

◆ MA_CHANNEL_FRONT_RIGHT_CENTER

#define MA_CHANNEL_FRONT_RIGHT_CENTER   9

Definition at line 624 of file miniaudio.h.

◆ MA_CHANNEL_LEFT

#define MA_CHANNEL_LEFT   MA_CHANNEL_FRONT_LEFT

Definition at line 667 of file miniaudio.h.

◆ MA_CHANNEL_LFE

#define MA_CHANNEL_LFE   5

Definition at line 620 of file miniaudio.h.

◆ MA_CHANNEL_MONO

#define MA_CHANNEL_MONO   1

Definition at line 616 of file miniaudio.h.

◆ MA_CHANNEL_NONE

#define MA_CHANNEL_NONE   0

Definition at line 615 of file miniaudio.h.

◆ MA_CHANNEL_POSITION_COUNT

#define MA_CHANNEL_POSITION_COUNT   MA_CHANNEL_AUX_31 + 1

Definition at line 669 of file miniaudio.h.

◆ MA_CHANNEL_RIGHT

#define MA_CHANNEL_RIGHT   MA_CHANNEL_FRONT_RIGHT

Definition at line 668 of file miniaudio.h.

◆ MA_CHANNEL_SIDE_LEFT

#define MA_CHANNEL_SIDE_LEFT   11

Definition at line 626 of file miniaudio.h.

◆ MA_CHANNEL_SIDE_RIGHT

#define MA_CHANNEL_SIDE_RIGHT   12

Definition at line 627 of file miniaudio.h.

◆ MA_CHANNEL_TOP_BACK_CENTER

#define MA_CHANNEL_TOP_BACK_CENTER   18

Definition at line 633 of file miniaudio.h.

◆ MA_CHANNEL_TOP_BACK_LEFT

#define MA_CHANNEL_TOP_BACK_LEFT   17

Definition at line 632 of file miniaudio.h.

◆ MA_CHANNEL_TOP_BACK_RIGHT

#define MA_CHANNEL_TOP_BACK_RIGHT   19

Definition at line 634 of file miniaudio.h.

◆ MA_CHANNEL_TOP_CENTER

#define MA_CHANNEL_TOP_CENTER   13

Definition at line 628 of file miniaudio.h.

◆ MA_CHANNEL_TOP_FRONT_CENTER

#define MA_CHANNEL_TOP_FRONT_CENTER   15

Definition at line 630 of file miniaudio.h.

◆ MA_CHANNEL_TOP_FRONT_LEFT

#define MA_CHANNEL_TOP_FRONT_LEFT   14

Definition at line 629 of file miniaudio.h.

◆ MA_CHANNEL_TOP_FRONT_RIGHT

#define MA_CHANNEL_TOP_FRONT_RIGHT   16

Definition at line 631 of file miniaudio.h.

◆ MA_DEVICE_BUSY

#define MA_DEVICE_BUSY   -200

Definition at line 694 of file miniaudio.h.

◆ MA_DEVICE_NOT_INITIALIZED

#define MA_DEVICE_NOT_INITIALIZED   -201

Definition at line 695 of file miniaudio.h.

◆ MA_DEVICE_NOT_STARTED

#define MA_DEVICE_NOT_STARTED   -202

Definition at line 696 of file miniaudio.h.

◆ MA_DEVICE_TYPE_NOT_SUPPORTED

#define MA_DEVICE_TYPE_NOT_SUPPORTED   -101

Definition at line 686 of file miniaudio.h.

◆ MA_DEVICE_UNAVAILABLE

#define MA_DEVICE_UNAVAILABLE   -203

Definition at line 697 of file miniaudio.h.

◆ MA_ENABLE_DSOUND

#define MA_ENABLE_DSOUND

Definition at line 1613 of file miniaudio.h.

◆ MA_ENABLE_JACK

#define MA_ENABLE_JACK

Definition at line 1625 of file miniaudio.h.

◆ MA_ENABLE_NULL

#define MA_ENABLE_NULL

Definition at line 1649 of file miniaudio.h.

◆ MA_ENABLE_WASAPI

#define MA_ENABLE_WASAPI

Definition at line 1610 of file miniaudio.h.

◆ MA_ENABLE_WINMM

#define MA_ENABLE_WINMM

Definition at line 1616 of file miniaudio.h.

◆ MA_ERROR

#define MA_ERROR   -1 /* A generic error. */

Definition at line 676 of file miniaudio.h.

◆ MA_FAILED_TO_CONFIGURE_BACKEND_DEVICE

#define MA_FAILED_TO_CONFIGURE_BACKEND_DEVICE   -310

Definition at line 710 of file miniaudio.h.

◆ MA_FAILED_TO_CREATE_EVENT

#define MA_FAILED_TO_CREATE_EVENT   -312

Definition at line 712 of file miniaudio.h.

◆ MA_FAILED_TO_CREATE_MUTEX

#define MA_FAILED_TO_CREATE_MUTEX   -311

Definition at line 711 of file miniaudio.h.

◆ MA_FAILED_TO_CREATE_THREAD

#define MA_FAILED_TO_CREATE_THREAD   -313

Definition at line 713 of file miniaudio.h.

◆ MA_FAILED_TO_INIT_BACKEND

#define MA_FAILED_TO_INIT_BACKEND   -302

Definition at line 702 of file miniaudio.h.

◆ MA_FAILED_TO_MAP_DEVICE_BUFFER

#define MA_FAILED_TO_MAP_DEVICE_BUFFER   -300

Definition at line 700 of file miniaudio.h.

◆ MA_FAILED_TO_OPEN_BACKEND_DEVICE

#define MA_FAILED_TO_OPEN_BACKEND_DEVICE   -307

Definition at line 707 of file miniaudio.h.

◆ MA_FAILED_TO_READ_DATA_FROM_CLIENT

#define MA_FAILED_TO_READ_DATA_FROM_CLIENT   -303

Definition at line 703 of file miniaudio.h.

◆ MA_FAILED_TO_READ_DATA_FROM_DEVICE

#define MA_FAILED_TO_READ_DATA_FROM_DEVICE   -304

Definition at line 704 of file miniaudio.h.

◆ MA_FAILED_TO_SEND_DATA_TO_CLIENT

#define MA_FAILED_TO_SEND_DATA_TO_CLIENT   -305

Definition at line 705 of file miniaudio.h.

◆ MA_FAILED_TO_SEND_DATA_TO_DEVICE

#define MA_FAILED_TO_SEND_DATA_TO_DEVICE   -306

Definition at line 706 of file miniaudio.h.

◆ MA_FAILED_TO_START_BACKEND_DEVICE

#define MA_FAILED_TO_START_BACKEND_DEVICE   -308

Definition at line 708 of file miniaudio.h.

◆ MA_FAILED_TO_STOP_BACKEND_DEVICE

#define MA_FAILED_TO_STOP_BACKEND_DEVICE   -309

Definition at line 709 of file miniaudio.h.

◆ MA_FAILED_TO_UNMAP_DEVICE_BUFFER

#define MA_FAILED_TO_UNMAP_DEVICE_BUFFER   -301

Definition at line 701 of file miniaudio.h.

◆ MA_FALSE

#define MA_FALSE   0

Definition at line 548 of file miniaudio.h.

◆ MA_FORMAT_NOT_SUPPORTED

#define MA_FORMAT_NOT_SUPPORTED   -100

Definition at line 685 of file miniaudio.h.

◆ MA_HAS_STDINT

#define MA_HAS_STDINT

Definition at line 513 of file miniaudio.h.

◆ MA_INLINE

#define MA_INLINE

Definition at line 576 of file miniaudio.h.

◆ MA_INVALID_ARGS

#define MA_INVALID_ARGS   -2

Definition at line 677 of file miniaudio.h.

◆ MA_INVALID_DEVICE_CONFIG

#define MA_INVALID_DEVICE_CONFIG   -106

Definition at line 691 of file miniaudio.h.

◆ MA_INVALID_OPERATION

#define MA_INVALID_OPERATION   -3

Definition at line 678 of file miniaudio.h.

◆ MA_LOG_LEVEL

#define MA_LOG_LEVEL   MA_LOG_LEVEL_ERROR

Definition at line 608 of file miniaudio.h.

◆ MA_LOG_LEVEL_ERROR

#define MA_LOG_LEVEL_ERROR   1

Definition at line 605 of file miniaudio.h.

◆ MA_LOG_LEVEL_INFO

#define MA_LOG_LEVEL_INFO   3

Definition at line 603 of file miniaudio.h.

◆ MA_LOG_LEVEL_VERBOSE

#define MA_LOG_LEVEL_VERBOSE   4

Definition at line 602 of file miniaudio.h.

◆ MA_LOG_LEVEL_WARNING

#define MA_LOG_LEVEL_WARNING   2

Definition at line 604 of file miniaudio.h.

◆ MA_MAX_CHANNELS

#define MA_MAX_CHANNELS   32

Definition at line 735 of file miniaudio.h.

◆ MA_MAX_PCM_SAMPLE_SIZE_IN_BYTES

#define MA_MAX_PCM_SAMPLE_SIZE_IN_BYTES   8

Definition at line 733 of file miniaudio.h.

◆ MA_MAX_SAMPLE_RATE

#define MA_MAX_SAMPLE_RATE   MA_SAMPLE_RATE_384000

Definition at line 737 of file miniaudio.h.

◆ MA_MIN_CHANNELS

#define MA_MIN_CHANNELS   1

Definition at line 734 of file miniaudio.h.

◆ MA_MIN_PCM_SAMPLE_SIZE_IN_BYTES

#define MA_MIN_PCM_SAMPLE_SIZE_IN_BYTES   1 /* For simplicity, miniaudio does not support PCM samples that are not byte aligned. */

Definition at line 732 of file miniaudio.h.

◆ MA_MIN_SAMPLE_RATE

#define MA_MIN_SAMPLE_RATE   MA_SAMPLE_RATE_8000

Definition at line 736 of file miniaudio.h.

◆ MA_NO_BACKEND

#define MA_NO_BACKEND   -103

Definition at line 688 of file miniaudio.h.

◆ MA_NO_DEVICE

#define MA_NO_DEVICE   -104

Definition at line 689 of file miniaudio.h.

◆ MA_OUT_OF_MEMORY

#define MA_OUT_OF_MEMORY   -4

Definition at line 679 of file miniaudio.h.

◆ MA_SAMPLE_RATE_11025

#define MA_SAMPLE_RATE_11025   11025

Definition at line 718 of file miniaudio.h.

◆ MA_SAMPLE_RATE_16000

#define MA_SAMPLE_RATE_16000   16000

Definition at line 719 of file miniaudio.h.

◆ MA_SAMPLE_RATE_176400

#define MA_SAMPLE_RATE_176400   176400

Definition at line 727 of file miniaudio.h.

◆ MA_SAMPLE_RATE_192000

#define MA_SAMPLE_RATE_192000   192000

Definition at line 728 of file miniaudio.h.

◆ MA_SAMPLE_RATE_22050

#define MA_SAMPLE_RATE_22050   22050

Definition at line 720 of file miniaudio.h.

◆ MA_SAMPLE_RATE_24000

#define MA_SAMPLE_RATE_24000   24000

Definition at line 721 of file miniaudio.h.

◆ MA_SAMPLE_RATE_32000

#define MA_SAMPLE_RATE_32000   32000

Definition at line 722 of file miniaudio.h.

◆ MA_SAMPLE_RATE_352800

#define MA_SAMPLE_RATE_352800   352800

Definition at line 729 of file miniaudio.h.

◆ MA_SAMPLE_RATE_384000

#define MA_SAMPLE_RATE_384000   384000

Definition at line 730 of file miniaudio.h.

◆ MA_SAMPLE_RATE_44100

#define MA_SAMPLE_RATE_44100   44100

Definition at line 723 of file miniaudio.h.

◆ MA_SAMPLE_RATE_48000

#define MA_SAMPLE_RATE_48000   48000

Definition at line 724 of file miniaudio.h.

◆ MA_SAMPLE_RATE_8000

#define MA_SAMPLE_RATE_8000   8000

Definition at line 717 of file miniaudio.h.

◆ MA_SAMPLE_RATE_88200

#define MA_SAMPLE_RATE_88200   88200

Definition at line 725 of file miniaudio.h.

◆ MA_SAMPLE_RATE_96000

#define MA_SAMPLE_RATE_96000   96000

Definition at line 726 of file miniaudio.h.

◆ MA_SHARE_MODE_NOT_SUPPORTED

#define MA_SHARE_MODE_NOT_SUPPORTED   -102

Definition at line 687 of file miniaudio.h.

◆ MA_SIMD_ALIGNMENT

#define MA_SIMD_ALIGNMENT   64

Definition at line 598 of file miniaudio.h.

◆ MA_SIZE_MAX

#define MA_SIZE_MAX   0xFFFFFFFF /* When SIZE_MAX is not defined by the standard library just default to the maximum 32-bit unsigned integer. */

Definition at line 566 of file miniaudio.h.

◆ MA_SRC_INPUT_BUFFER_SIZE_IN_SAMPLES

#define MA_SRC_INPUT_BUFFER_SIZE_IN_SAMPLES   256

Definition at line 742 of file miniaudio.h.

◆ MA_SRC_SINC_DEFAULT_WINDOW_WIDTH

#define MA_SRC_SINC_DEFAULT_WINDOW_WIDTH   32

Definition at line 740 of file miniaudio.h.

◆ MA_SRC_SINC_LOOKUP_TABLE_RESOLUTION

#define MA_SRC_SINC_LOOKUP_TABLE_RESOLUTION   8

Definition at line 741 of file miniaudio.h.

◆ MA_SRC_SINC_MAX_WINDOW_WIDTH

#define MA_SRC_SINC_MAX_WINDOW_WIDTH   32

Definition at line 739 of file miniaudio.h.

◆ MA_SRC_SINC_MIN_WINDOW_WIDTH

#define MA_SRC_SINC_MIN_WINDOW_WIDTH   2

Definition at line 738 of file miniaudio.h.

◆ MA_SUCCESS

#define MA_SUCCESS   0

Definition at line 673 of file miniaudio.h.

◆ MA_SUPPORT_DSOUND

#define MA_SUPPORT_DSOUND

Definition at line 1567 of file miniaudio.h.

◆ MA_SUPPORT_JACK

#define MA_SUPPORT_JACK   /* JACK is technically supported on Windows, but I don't know how many people use it in practice... */

Definition at line 1569 of file miniaudio.h.

◆ MA_SUPPORT_NULL

#define MA_SUPPORT_NULL

Definition at line 1605 of file miniaudio.h.

◆ MA_SUPPORT_WASAPI

#define MA_SUPPORT_WASAPI

Definition at line 1565 of file miniaudio.h.

◆ MA_SUPPORT_WINMM

#define MA_SUPPORT_WINMM

Definition at line 1568 of file miniaudio.h.

◆ MA_TIMEOUT

#define MA_TIMEOUT   -7

Definition at line 682 of file miniaudio.h.

◆ MA_TOO_LARGE

#define MA_TOO_LARGE   -6

Definition at line 681 of file miniaudio.h.

◆ MA_TRUE

#define MA_TRUE   1

Definition at line 547 of file miniaudio.h.

◆ MA_WIN32

#define MA_WIN32

Definition at line 462 of file miniaudio.h.

◆ MA_WIN32_DESKTOP

#define MA_WIN32_DESKTOP

Definition at line 466 of file miniaudio.h.

◆ NULL

#define NULL   0

Definition at line 560 of file miniaudio.h.

Typedef Documentation

◆ ma_bool32

Definition at line 546 of file miniaudio.h.

◆ ma_bool8

typedef ma_uint8 ma_bool8

Definition at line 545 of file miniaudio.h.

◆ ma_channel

Definition at line 614 of file miniaudio.h.

◆ ma_channel_router

Definition at line 841 of file miniaudio.h.

◆ ma_channel_router_read_deinterleaved_proc

typedef ma_uint32(* ma_channel_router_read_deinterleaved_proc) (ma_channel_router *pRouter, ma_uint32 frameCount, void **ppSamplesOut, void *pUserData)

Definition at line 842 of file miniaudio.h.

◆ ma_context

typedef struct ma_context ma_context

Definition at line 611 of file miniaudio.h.

◆ ma_decoder

typedef struct ma_decoder ma_decoder

Definition at line 2992 of file miniaudio.h.

◆ ma_decoder_get_length_in_pcm_frames_proc

typedef ma_uint64(* ma_decoder_get_length_in_pcm_frames_proc) (ma_decoder *pDecoder)

Definition at line 3004 of file miniaudio.h.

◆ ma_decoder_read_proc

typedef size_t(* ma_decoder_read_proc) (ma_decoder *pDecoder, void *pBufferOut, size_t bytesToRead)

Definition at line 3000 of file miniaudio.h.

◆ ma_decoder_seek_proc

typedef ma_bool32(* ma_decoder_seek_proc) (ma_decoder *pDecoder, int byteOffset, ma_seek_origin origin)

Definition at line 3001 of file miniaudio.h.

◆ ma_decoder_seek_to_pcm_frame_proc

typedef ma_result(* ma_decoder_seek_to_pcm_frame_proc) (ma_decoder *pDecoder, ma_uint64 frameIndex)

Definition at line 3002 of file miniaudio.h.

◆ ma_decoder_uninit_proc

typedef ma_result(* ma_decoder_uninit_proc) (ma_decoder *pDecoder)

Definition at line 3003 of file miniaudio.h.

◆ ma_device

typedef struct ma_device ma_device

Definition at line 612 of file miniaudio.h.

◆ ma_device_callback_proc

typedef void(* ma_device_callback_proc) (ma_device *pDevice, void *pOutput, const void *pInput, ma_uint32 frameCount)

Definition at line 1778 of file miniaudio.h.

◆ ma_enum_devices_callback_proc

typedef ma_bool32(* ma_enum_devices_callback_proc) (ma_context *pContext, ma_device_type deviceType, const ma_device_info *pInfo, void *pUserData)

Definition at line 1953 of file miniaudio.h.

◆ ma_format_converter

Definition at line 806 of file miniaudio.h.

◆ ma_format_converter_read_deinterleaved_proc

typedef ma_uint32(* ma_format_converter_read_deinterleaved_proc) (ma_format_converter *pConverter, ma_uint32 frameCount, void **ppSamplesOut, void *pUserData)

Definition at line 808 of file miniaudio.h.

◆ ma_format_converter_read_proc

typedef ma_uint32(* ma_format_converter_read_proc) (ma_format_converter *pConverter, ma_uint32 frameCount, void *pFramesOut, void *pUserData)

Definition at line 807 of file miniaudio.h.

◆ ma_handle

typedef void* ma_handle

Definition at line 550 of file miniaudio.h.

◆ ma_int16

typedef int16_t ma_int16

Definition at line 517 of file miniaudio.h.

◆ ma_int32

typedef int32_t ma_int32

Definition at line 519 of file miniaudio.h.

◆ ma_int64

typedef int64_t ma_int64

Definition at line 521 of file miniaudio.h.

◆ ma_int8

typedef int8_t ma_int8

Definition at line 515 of file miniaudio.h.

◆ ma_log_proc

typedef void(* ma_log_proc) (ma_context *pContext, ma_device *pDevice, ma_uint32 logLevel, const char *message)

Definition at line 1802 of file miniaudio.h.

◆ ma_pcm_converter

Definition at line 946 of file miniaudio.h.

◆ ma_pcm_converter_read_proc

typedef ma_uint32(* ma_pcm_converter_read_proc) (ma_pcm_converter *pDSP, void *pSamplesOut, ma_uint32 frameCount, void *pUserData)

Definition at line 947 of file miniaudio.h.

◆ ma_proc

typedef void(* ma_proc) (void)

Definition at line 552 of file miniaudio.h.

◆ ma_ptr

typedef void* ma_ptr

Definition at line 551 of file miniaudio.h.

◆ ma_result

typedef int ma_result

Definition at line 672 of file miniaudio.h.

◆ ma_src

typedef struct ma_src ma_src

Definition at line 874 of file miniaudio.h.

◆ ma_src_read_deinterleaved_proc

typedef ma_uint32(* ma_src_read_deinterleaved_proc) (ma_src *pSRC, ma_uint32 frameCount, void **ppSamplesOut, void *pUserData)

Definition at line 875 of file miniaudio.h.

◆ ma_stop_proc

typedef void(* ma_stop_proc) (ma_device *pDevice)

Definition at line 1788 of file miniaudio.h.

◆ ma_uint16

typedef uint16_t ma_uint16

Definition at line 518 of file miniaudio.h.

◆ ma_uint32

typedef uint32_t ma_uint32

Definition at line 520 of file miniaudio.h.

◆ ma_uint64

typedef uint64_t ma_uint64

Definition at line 522 of file miniaudio.h.

◆ ma_uint8

typedef uint8_t ma_uint8

Definition at line 516 of file miniaudio.h.

◆ ma_uintptr

typedef uintptr_t ma_uintptr

Definition at line 526 of file miniaudio.h.

Enumeration Type Documentation

◆ ma_backend

enum ma_backend
Enumerator
ma_backend_wasapi 
ma_backend_dsound 
ma_backend_winmm 
ma_backend_coreaudio 
ma_backend_sndio 
ma_backend_audio4 
ma_backend_oss 
ma_backend_pulseaudio 
ma_backend_alsa 
ma_backend_jack 
ma_backend_aaudio 
ma_backend_opensl 
ma_backend_webaudio 
ma_backend_null 

Definition at line 1663 of file miniaudio.h.

1664 {
1678  ma_backend_null /* <-- Must always be the last item. Lowest priority, and used as the terminator for backend enumeration. */
1679 } ma_backend;

◆ ma_channel_mix_mode

Enumerator
ma_channel_mix_mode_rectangular 
ma_channel_mix_mode_simple 
ma_channel_mix_mode_custom_weights 
ma_channel_mix_mode_planar_blend 
ma_channel_mix_mode_default 

Definition at line 777 of file miniaudio.h.

778 {
779  ma_channel_mix_mode_rectangular = 0, /* Simple averaging based on the plane(s) the channel is sitting on. */
780  ma_channel_mix_mode_simple, /* Drop excess channels; zeroed out extra channels. */
781  ma_channel_mix_mode_custom_weights, /* Use custom weights specified in ma_channel_router_config. */

◆ ma_device_type

Enumerator
ma_device_type_playback 
ma_device_type_capture 
ma_device_type_duplex 

Definition at line 1804 of file miniaudio.h.

◆ ma_dither_mode

Enumerator
ma_dither_mode_none 
ma_dither_mode_rectangle 
ma_dither_mode_triangle 

Definition at line 755 of file miniaudio.h.

◆ ma_format

enum ma_format
Enumerator
ma_format_unknown 
ma_format_u8 
ma_format_s16 
ma_format_s24 
ma_format_s32 
ma_format_f32 
ma_format_count 

Definition at line 762 of file miniaudio.h.

763 {
764  /*
765  I like to keep these explicitly defined because they're used as a key into a lookup table. When items are
766  added to this, make sure there are no gaps and that they're added to the lookup table in ma_get_bytes_per_sample().
767  */
768  ma_format_unknown = 0, /* Mainly used for indicating an error, but also used as the default for the output format for decoders. */
769  ma_format_u8 = 1,
770  ma_format_s16 = 2, /* Seems to be the most widely supported format. */
771  ma_format_s24 = 3, /* Tightly packed. 3 bytes per sample. */
772  ma_format_s32 = 4,
773  ma_format_f32 = 5,
775 } ma_format;

◆ ma_performance_profile

Enumerator
ma_performance_profile_low_latency 
ma_performance_profile_conservative 

Definition at line 799 of file miniaudio.h.

◆ ma_seek_origin

Enumerator
ma_seek_origin_start 
ma_seek_origin_current 

Definition at line 2994 of file miniaudio.h.

◆ ma_share_mode

Enumerator
ma_share_mode_shared 
ma_share_mode_exclusive 

Definition at line 1811 of file miniaudio.h.

1812 {
1815 } ma_share_mode;

◆ ma_src_algorithm

Enumerator
ma_src_algorithm_linear 
ma_src_algorithm_sinc 
ma_src_algorithm_none 
ma_src_algorithm_default 

Definition at line 877 of file miniaudio.h.

◆ ma_src_sinc_window_function

Enumerator
ma_src_sinc_window_function_hann 
ma_src_sinc_window_function_rectangular 
ma_src_sinc_window_function_default 

Definition at line 885 of file miniaudio.h.

◆ ma_standard_channel_map

Enumerator
ma_standard_channel_map_microsoft 
ma_standard_channel_map_alsa 
ma_standard_channel_map_rfc3551 
ma_standard_channel_map_flac 
ma_standard_channel_map_vorbis 
ma_standard_channel_map_sound4 
ma_standard_channel_map_sndio 
ma_standard_channel_map_webaudio 
ma_standard_channel_map_default 

Definition at line 786 of file miniaudio.h.

787 {
790  ma_standard_channel_map_rfc3551, /* Based off AIFF. */
793  ma_standard_channel_map_sound4, /* FreeBSD's sound(4). */
794  ma_standard_channel_map_sndio, /* www.sndio.org/tips.html */
795  ma_standard_channel_map_webaudio = ma_standard_channel_map_flac, /* https://webaudio.github.io/web-audio-api/#ChannelOrdering. Only 1, 2, 4 and 6 channels are defined, but can fill in the gaps with logical assumptions. */

◆ ma_stream_format

Enumerator
ma_stream_format_pcm 

Definition at line 744 of file miniaudio.h.

745 {

◆ ma_stream_layout

Enumerator
ma_stream_layout_interleaved 
ma_stream_layout_deinterleaved 

Definition at line 749 of file miniaudio.h.

◆ ma_thread_priority

Enumerator
ma_thread_priority_idle 
ma_thread_priority_lowest 
ma_thread_priority_low 
ma_thread_priority_normal 
ma_thread_priority_high 
ma_thread_priority_highest 
ma_thread_priority_realtime 
ma_thread_priority_default 

Definition at line 1682 of file miniaudio.h.

Function Documentation

◆ ma_aligned_free()

void ma_aligned_free ( void p)

◆ ma_aligned_malloc()

void* ma_aligned_malloc ( size_t  sz,
size_t  alignment 
)

◆ MA_ALIGNED_STRUCT()

MA_ALIGNED_STRUCT ( MA_SIMD_ALIGNMENT  )

Definition at line 917 of file miniaudio.h.

918 {
919  union
920  {
921  struct
922  {
924  float timeIn;
925  ma_uint32 leftoverFrames;
926  } linear;
927 
928  struct
929  {
931  float timeIn;
932  ma_uint32 inputFrameCount; /* The number of frames sitting in the input buffer, not including the first half of the window. */
933  ma_uint32 windowPosInSamples; /* An offset of <input>. */
934  float table[MA_SRC_SINC_MAX_WINDOW_WIDTH*1 * MA_SRC_SINC_LOOKUP_TABLE_RESOLUTION]; /* Precomputed lookup table. The +1 is used to avoid the need for an overflow check. */
935  } sinc;
936  };
937 
938  ma_src_config config;
939  ma_bool32 isEndOfInputLoaded : 1;
940  ma_bool32 useSSE2 : 1;
941  ma_bool32 useAVX2 : 1;
942  ma_bool32 useAVX512 : 1;
943  ma_bool32 useNEON : 1;
944 };

◆ ma_blend_f32()

void ma_blend_f32 ( float *  pOut,
float *  pInA,
float *  pInB,
float  factor,
ma_uint32  channels 
)

◆ ma_calculate_buffer_size_in_frames_from_milliseconds()

ma_uint32 ma_calculate_buffer_size_in_frames_from_milliseconds ( ma_uint32  bufferSizeInMilliseconds,
ma_uint32  sampleRate 
)

◆ ma_calculate_buffer_size_in_milliseconds_from_frames()

ma_uint32 ma_calculate_buffer_size_in_milliseconds_from_frames ( ma_uint32  bufferSizeInFrames,
ma_uint32  sampleRate 
)

◆ ma_channel_map_blank()

ma_bool32 ma_channel_map_blank ( ma_uint32  channels,
const ma_channel  channelMap[MA_MAX_CHANNELS] 
)

◆ ma_channel_map_contains_channel_position()

ma_bool32 ma_channel_map_contains_channel_position ( ma_uint32  channels,
const ma_channel  channelMap[MA_MAX_CHANNELS],
ma_channel  channelPosition 
)

◆ ma_channel_map_copy()

void ma_channel_map_copy ( ma_channel pOut,
const ma_channel pIn,
ma_uint32  channels 
)

◆ ma_channel_map_equal()

ma_bool32 ma_channel_map_equal ( ma_uint32  channels,
const ma_channel  channelMapA[MA_MAX_CHANNELS],
const ma_channel  channelMapB[MA_MAX_CHANNELS] 
)

◆ ma_channel_map_valid()

ma_bool32 ma_channel_map_valid ( ma_uint32  channels,
const ma_channel  channelMap[MA_MAX_CHANNELS] 
)

◆ ma_channel_router_config_init()

ma_channel_router_config ma_channel_router_config_init ( ma_uint32  channelsIn,
const ma_channel  channelMapIn[MA_MAX_CHANNELS],
ma_uint32  channelsOut,
const ma_channel  channelMapOut[MA_MAX_CHANNELS],
ma_channel_mix_mode  mixingMode,
ma_channel_router_read_deinterleaved_proc  onRead,
void pUserData 
)

◆ ma_channel_router_init()

ma_result ma_channel_router_init ( const ma_channel_router_config pConfig,
ma_channel_router pRouter 
)

◆ ma_channel_router_read_deinterleaved()

ma_uint64 ma_channel_router_read_deinterleaved ( ma_channel_router pRouter,
ma_uint64  frameCount,
void **  ppSamplesOut,
void pUserData 
)

◆ ma_context_config_init()

ma_context_config ma_context_config_init ( void  )

◆ ma_context_enumerate_devices()

ma_result ma_context_enumerate_devices ( ma_context pContext,
ma_enum_devices_callback_proc  callback,
void pUserData 
)

◆ ma_context_get_device_info()

ma_result ma_context_get_device_info ( ma_context pContext,
ma_device_type  deviceType,
const ma_device_id pDeviceID,
ma_share_mode  shareMode,
ma_device_info pDeviceInfo 
)

◆ ma_context_get_devices()

ma_result ma_context_get_devices ( ma_context pContext,
ma_device_info **  ppPlaybackDeviceInfos,
ma_uint32 pPlaybackDeviceCount,
ma_device_info **  ppCaptureDeviceInfos,
ma_uint32 pCaptureDeviceCount 
)

◆ ma_context_init()

ma_result ma_context_init ( const ma_backend  backends[],
ma_uint32  backendCount,
const ma_context_config pConfig,
ma_context pContext 
)

◆ ma_context_uninit()

ma_result ma_context_uninit ( ma_context pContext)

◆ ma_convert_frames()

ma_uint64 ma_convert_frames ( void pOut,
ma_format  formatOut,
ma_uint32  channelsOut,
ma_uint32  sampleRateOut,
const void pIn,
ma_format  formatIn,
ma_uint32  channelsIn,
ma_uint32  sampleRateIn,
ma_uint64  frameCount 
)

◆ ma_convert_frames_ex()

ma_uint64 ma_convert_frames_ex ( void pOut,
ma_format  formatOut,
ma_uint32  channelsOut,
ma_uint32  sampleRateOut,
ma_channel  channelMapOut[MA_MAX_CHANNELS],
const void pIn,
ma_format  formatIn,
ma_uint32  channelsIn,
ma_uint32  sampleRateIn,
ma_channel  channelMapIn[MA_MAX_CHANNELS],
ma_uint64  frameCount 
)

◆ ma_decode_file()

ma_result ma_decode_file ( const char *  pFilePath,
ma_decoder_config pConfig,
ma_uint64 pFrameCountOut,
void **  ppDataOut 
)

◆ ma_decode_memory()

ma_result ma_decode_memory ( const void pData,
size_t  dataSize,
ma_decoder_config pConfig,
ma_uint64 pFrameCountOut,
void **  ppDataOut 
)

◆ ma_decoder_config_init()

ma_decoder_config ma_decoder_config_init ( ma_format  outputFormat,
ma_uint32  outputChannels,
ma_uint32  outputSampleRate 
)

◆ ma_decoder_get_length_in_pcm_frames()

ma_uint64 ma_decoder_get_length_in_pcm_frames ( ma_decoder pDecoder)

◆ ma_decoder_init()

ma_result ma_decoder_init ( ma_decoder_read_proc  onRead,
ma_decoder_seek_proc  onSeek,
void pUserData,
const ma_decoder_config pConfig,
ma_decoder pDecoder 
)

◆ ma_decoder_init_file()

ma_result ma_decoder_init_file ( const char *  pFilePath,
const ma_decoder_config pConfig,
ma_decoder pDecoder 
)

Referenced by LoadTrack().

◆ ma_decoder_init_file_wav()

ma_result ma_decoder_init_file_wav ( const char *  pFilePath,
const ma_decoder_config pConfig,
ma_decoder pDecoder 
)

◆ ma_decoder_init_flac()

ma_result ma_decoder_init_flac ( ma_decoder_read_proc  onRead,
ma_decoder_seek_proc  onSeek,
void pUserData,
const ma_decoder_config pConfig,
ma_decoder pDecoder 
)

◆ ma_decoder_init_memory()

ma_result ma_decoder_init_memory ( const void pData,
size_t  dataSize,
const ma_decoder_config pConfig,
ma_decoder pDecoder 
)

◆ ma_decoder_init_memory_flac()

ma_result ma_decoder_init_memory_flac ( const void pData,
size_t  dataSize,
const ma_decoder_config pConfig,
ma_decoder pDecoder 
)

◆ ma_decoder_init_memory_mp3()

ma_result ma_decoder_init_memory_mp3 ( const void pData,
size_t  dataSize,
const ma_decoder_config pConfig,
ma_decoder pDecoder 
)

◆ ma_decoder_init_memory_raw()

ma_result ma_decoder_init_memory_raw ( const void pData,
size_t  dataSize,
const ma_decoder_config pConfigIn,
const ma_decoder_config pConfigOut,
ma_decoder pDecoder 
)

◆ ma_decoder_init_memory_vorbis()

ma_result ma_decoder_init_memory_vorbis ( const void pData,
size_t  dataSize,
const ma_decoder_config pConfig,
ma_decoder pDecoder 
)

◆ ma_decoder_init_memory_wav()

ma_result ma_decoder_init_memory_wav ( const void pData,
size_t  dataSize,
const ma_decoder_config pConfig,
ma_decoder pDecoder 
)

◆ ma_decoder_init_mp3()

ma_result ma_decoder_init_mp3 ( ma_decoder_read_proc  onRead,
ma_decoder_seek_proc  onSeek,
void pUserData,
const ma_decoder_config pConfig,
ma_decoder pDecoder 
)

◆ ma_decoder_init_raw()

ma_result ma_decoder_init_raw ( ma_decoder_read_proc  onRead,
ma_decoder_seek_proc  onSeek,
void pUserData,
const ma_decoder_config pConfigIn,
const ma_decoder_config pConfigOut,
ma_decoder pDecoder 
)

◆ ma_decoder_init_vorbis()

ma_result ma_decoder_init_vorbis ( ma_decoder_read_proc  onRead,
ma_decoder_seek_proc  onSeek,
void pUserData,
const ma_decoder_config pConfig,
ma_decoder pDecoder 
)

◆ ma_decoder_init_wav()

ma_result ma_decoder_init_wav ( ma_decoder_read_proc  onRead,
ma_decoder_seek_proc  onSeek,
void pUserData,
const ma_decoder_config pConfig,
ma_decoder pDecoder 
)

◆ ma_decoder_read_pcm_frames()

ma_uint64 ma_decoder_read_pcm_frames ( ma_decoder pDecoder,
void pFramesOut,
ma_uint64  frameCount 
)

Referenced by data_callback().

◆ ma_decoder_seek_to_pcm_frame()

ma_result ma_decoder_seek_to_pcm_frame ( ma_decoder pDecoder,
ma_uint64  frameIndex 
)

Referenced by Miniaudio_Update().

◆ ma_decoder_uninit()

ma_result ma_decoder_uninit ( ma_decoder pDecoder)

Referenced by Miniaudio_Play(), and Miniaudio_Stop().

◆ ma_deinterleave_pcm_frames()

void ma_deinterleave_pcm_frames ( ma_format  format,
ma_uint32  channels,
ma_uint64  frameCount,
const void pInterleavedPCMFrames,
void **  ppDeinterleavedPCMFrames 
)

◆ ma_device_config_init()

ma_device_config ma_device_config_init ( ma_device_type  deviceType)

Referenced by Miniaudio_Play().

◆ ma_device_init()

ma_result ma_device_init ( ma_context pContext,
const ma_device_config pConfig,
ma_device pDevice 
)

Referenced by Miniaudio_Play().

◆ ma_device_init_ex()

ma_result ma_device_init_ex ( const ma_backend  backends[],
ma_uint32  backendCount,
const ma_context_config pContextConfig,
const ma_device_config pConfig,
ma_device pDevice 
)

◆ ma_device_is_started()

ma_bool32 ma_device_is_started ( ma_device pDevice)

◆ ma_device_set_stop_callback()

void ma_device_set_stop_callback ( ma_device pDevice,
ma_stop_proc  proc 
)

◆ ma_device_start()

ma_result ma_device_start ( ma_device pDevice)

Referenced by Miniaudio_Play(), and Miniaudio_Resume().

◆ ma_device_stop()

ma_result ma_device_stop ( ma_device pDevice)

Referenced by Miniaudio_Pause().

◆ ma_device_uninit()

void ma_device_uninit ( ma_device pDevice)

Referenced by Miniaudio_Play(), and Miniaudio_Stop().

◆ ma_format_converter_config_init()

ma_format_converter_config ma_format_converter_config_init ( ma_format  formatIn,
ma_format  formatOut,
ma_uint32  channels,
ma_format_converter_read_proc  onRead,
void pUserData 
)

◆ ma_format_converter_config_init_deinterleaved()

ma_format_converter_config ma_format_converter_config_init_deinterleaved ( ma_format  formatIn,
ma_format  formatOut,
ma_uint32  channels,
ma_format_converter_read_deinterleaved_proc  onReadDeinterleaved,
void pUserData 
)

◆ ma_format_converter_config_init_new()

ma_format_converter_config ma_format_converter_config_init_new ( void  )

◆ ma_format_converter_init()

ma_result ma_format_converter_init ( const ma_format_converter_config pConfig,
ma_format_converter pConverter 
)

◆ ma_format_converter_read()

ma_uint64 ma_format_converter_read ( ma_format_converter pConverter,
ma_uint64  frameCount,
void pFramesOut,
void pUserData 
)

◆ ma_format_converter_read_deinterleaved()

ma_uint64 ma_format_converter_read_deinterleaved ( ma_format_converter pConverter,
ma_uint64  frameCount,
void **  ppSamplesOut,
void pUserData 
)

◆ ma_free()

void ma_free ( void p)

◆ ma_get_backend_name()

const char* ma_get_backend_name ( ma_backend  backend)

Referenced by Miniaudio_f().

◆ ma_get_bytes_per_frame()

static MA_INLINE ma_uint32 ma_get_bytes_per_frame ( ma_format  format,
ma_uint32  channels 
)
static

Definition at line 1506 of file miniaudio.h.

◆ ma_get_bytes_per_sample()

ma_uint32 ma_get_bytes_per_sample ( ma_format  format)

Referenced by ma_get_bytes_per_frame().

◆ ma_get_default_buffer_size_in_frames()

ma_uint32 ma_get_default_buffer_size_in_frames ( ma_performance_profile  performanceProfile,
ma_uint32  sampleRate 
)

◆ ma_get_default_buffer_size_in_milliseconds()

ma_uint32 ma_get_default_buffer_size_in_milliseconds ( ma_performance_profile  performanceProfile)

◆ ma_get_format_name()

const char* ma_get_format_name ( ma_format  format)

◆ ma_get_standard_channel_map()

void ma_get_standard_channel_map ( ma_standard_channel_map  standardChannelMap,
ma_uint32  channels,
ma_channel  channelMap[MA_MAX_CHANNELS] 
)

◆ ma_interleave_pcm_frames()

void ma_interleave_pcm_frames ( ma_format  format,
ma_uint32  channels,
ma_uint64  frameCount,
const void **  ppDeinterleavedPCMFrames,
void pInterleavedPCMFrames 
)

◆ ma_log_level_to_string()

const char* ma_log_level_to_string ( ma_uint32  logLevel)

◆ ma_malloc()

void* ma_malloc ( size_t  sz)

◆ ma_mutex_init()

ma_result ma_mutex_init ( ma_context pContext,
ma_mutex pMutex 
)

◆ ma_mutex_lock()

void ma_mutex_lock ( ma_mutex pMutex)

◆ ma_mutex_uninit()

void ma_mutex_uninit ( ma_mutex pMutex)

◆ ma_mutex_unlock()

void ma_mutex_unlock ( ma_mutex pMutex)

◆ ma_pcm_convert()

void ma_pcm_convert ( void pOut,
ma_format  formatOut,
const void pIn,
ma_format  formatIn,
ma_uint64  sampleCount,
ma_dither_mode  ditherMode 
)

◆ ma_pcm_converter_config_init()

ma_pcm_converter_config ma_pcm_converter_config_init ( ma_format  formatIn,
ma_uint32  channelsIn,
ma_uint32  sampleRateIn,
ma_format  formatOut,
ma_uint32  channelsOut,
ma_uint32  sampleRateOut,
ma_pcm_converter_read_proc  onRead,
void pUserData 
)

◆ ma_pcm_converter_config_init_ex()

ma_pcm_converter_config ma_pcm_converter_config_init_ex ( ma_format  formatIn,
ma_uint32  channelsIn,
ma_uint32  sampleRateIn,
ma_channel  channelMapIn[MA_MAX_CHANNELS],
ma_format  formatOut,
ma_uint32  channelsOut,
ma_uint32  sampleRateOut,
ma_channel  channelMapOut[MA_MAX_CHANNELS],
ma_pcm_converter_read_proc  onRead,
void pUserData 
)

◆ ma_pcm_converter_config_init_new()

ma_pcm_converter_config ma_pcm_converter_config_init_new ( void  )

◆ ma_pcm_converter_init()

ma_result ma_pcm_converter_init ( const ma_pcm_converter_config pConfig,
ma_pcm_converter pDSP 
)

◆ ma_pcm_converter_read()

ma_uint64 ma_pcm_converter_read ( ma_pcm_converter pDSP,
void pFramesOut,
ma_uint64  frameCount 
)

◆ ma_pcm_converter_set_input_sample_rate()

ma_result ma_pcm_converter_set_input_sample_rate ( ma_pcm_converter pDSP,
ma_uint32  sampleRateOut 
)

◆ ma_pcm_converter_set_output_sample_rate()

ma_result ma_pcm_converter_set_output_sample_rate ( ma_pcm_converter pDSP,
ma_uint32  sampleRateOut 
)

◆ ma_pcm_converter_set_sample_rate()

ma_result ma_pcm_converter_set_sample_rate ( ma_pcm_converter pDSP,
ma_uint32  sampleRateIn,
ma_uint32  sampleRateOut 
)

◆ ma_pcm_f32_to_s16()

void ma_pcm_f32_to_s16 ( void pOut,
const void pIn,
ma_uint64  count,
ma_dither_mode  ditherMode 
)

◆ ma_pcm_f32_to_s24()

void ma_pcm_f32_to_s24 ( void pOut,
const void pIn,
ma_uint64  count,
ma_dither_mode  ditherMode 
)

◆ ma_pcm_f32_to_s32()

void ma_pcm_f32_to_s32 ( void pOut,
const void pIn,
ma_uint64  count,
ma_dither_mode  ditherMode 
)

◆ ma_pcm_f32_to_u8()

void ma_pcm_f32_to_u8 ( void pOut,
const void pIn,
ma_uint64  count,
ma_dither_mode  ditherMode 
)

◆ ma_pcm_rb_acquire_read()

ma_result ma_pcm_rb_acquire_read ( ma_pcm_rb pRB,
ma_uint32 pSizeInFrames,
void **  ppBufferOut 
)

◆ ma_pcm_rb_acquire_write()

ma_result ma_pcm_rb_acquire_write ( ma_pcm_rb pRB,
ma_uint32 pSizeInFrames,
void **  ppBufferOut 
)

◆ ma_pcm_rb_commit_read()

ma_result ma_pcm_rb_commit_read ( ma_pcm_rb pRB,
ma_uint32  sizeInFrames,
void pBufferOut 
)

◆ ma_pcm_rb_commit_write()

ma_result ma_pcm_rb_commit_write ( ma_pcm_rb pRB,
ma_uint32  sizeInFrames,
void pBufferOut 
)

◆ ma_pcm_rb_get_subbuffer_offset()

ma_uint32 ma_pcm_rb_get_subbuffer_offset ( ma_pcm_rb pRB,
ma_uint32  subbufferIndex 
)

◆ ma_pcm_rb_get_subbuffer_ptr()

void* ma_pcm_rb_get_subbuffer_ptr ( ma_pcm_rb pRB,
ma_uint32  subbufferIndex,
void pBuffer 
)

◆ ma_pcm_rb_get_subbuffer_size()

ma_uint32 ma_pcm_rb_get_subbuffer_size ( ma_pcm_rb pRB)

◆ ma_pcm_rb_get_subbuffer_stride()

ma_uint32 ma_pcm_rb_get_subbuffer_stride ( ma_pcm_rb pRB)

◆ ma_pcm_rb_init()

ma_result ma_pcm_rb_init ( ma_format  format,
ma_uint32  channels,
ma_uint32  bufferSizeInFrames,
void pOptionalPreallocatedBuffer,
ma_pcm_rb pRB 
)

◆ ma_pcm_rb_init_ex()

ma_result ma_pcm_rb_init_ex ( ma_format  format,
ma_uint32  channels,
ma_uint32  subbufferSizeInFrames,
ma_uint32  subbufferCount,
ma_uint32  subbufferStrideInFrames,
void pOptionalPreallocatedBuffer,
ma_pcm_rb pRB 
)

◆ ma_pcm_rb_pointer_disance()

ma_int32 ma_pcm_rb_pointer_disance ( ma_pcm_rb pRB)

◆ ma_pcm_rb_seek_read()

ma_result ma_pcm_rb_seek_read ( ma_pcm_rb pRB,
ma_uint32  offsetInFrames 
)

◆ ma_pcm_rb_seek_write()

ma_result ma_pcm_rb_seek_write ( ma_pcm_rb pRB,
ma_uint32  offsetInFrames 
)

◆ ma_pcm_rb_uninit()

void ma_pcm_rb_uninit ( ma_pcm_rb pRB)

◆ ma_pcm_s16_to_f32()

void ma_pcm_s16_to_f32 ( void pOut,
const void pIn,
ma_uint64  count,
ma_dither_mode  ditherMode 
)

◆ ma_pcm_s16_to_s24()

void ma_pcm_s16_to_s24 ( void pOut,
const void pIn,
ma_uint64  count,
ma_dither_mode  ditherMode 
)

◆ ma_pcm_s16_to_s32()

void ma_pcm_s16_to_s32 ( void pOut,
const void pIn,
ma_uint64  count,
ma_dither_mode  ditherMode 
)

◆ ma_pcm_s16_to_u8()

void ma_pcm_s16_to_u8 ( void pOut,
const void pIn,
ma_uint64  count,
ma_dither_mode  ditherMode 
)

◆ ma_pcm_s24_to_f32()

void ma_pcm_s24_to_f32 ( void pOut,
const void pIn,
ma_uint64  count,
ma_dither_mode  ditherMode 
)

◆ ma_pcm_s24_to_s16()

void ma_pcm_s24_to_s16 ( void pOut,
const void pIn,
ma_uint64  count,
ma_dither_mode  ditherMode 
)

◆ ma_pcm_s24_to_s32()

void ma_pcm_s24_to_s32 ( void pOut,
const void pIn,
ma_uint64  count,
ma_dither_mode  ditherMode 
)

◆ ma_pcm_s24_to_u8()

void ma_pcm_s24_to_u8 ( void pOut,
const void pIn,
ma_uint64  count,
ma_dither_mode  ditherMode 
)

◆ ma_pcm_s32_to_f32()

void ma_pcm_s32_to_f32 ( void pOut,
const void pIn,
ma_uint64  count,
ma_dither_mode  ditherMode 
)

◆ ma_pcm_s32_to_s16()

void ma_pcm_s32_to_s16 ( void pOut,
const void pIn,
ma_uint64  count,
ma_dither_mode  ditherMode 
)

◆ ma_pcm_s32_to_s24()

void ma_pcm_s32_to_s24 ( void pOut,
const void pIn,
ma_uint64  count,
ma_dither_mode  ditherMode 
)

◆ ma_pcm_s32_to_u8()

void ma_pcm_s32_to_u8 ( void pOut,
const void pIn,
ma_uint64  count,
ma_dither_mode  ditherMode 
)

◆ ma_pcm_u8_to_f32()

void ma_pcm_u8_to_f32 ( void pOut,
const void pIn,
ma_uint64  count,
ma_dither_mode  ditherMode 
)

◆ ma_pcm_u8_to_s16()

void ma_pcm_u8_to_s16 ( void pOut,
const void pIn,
ma_uint64  count,
ma_dither_mode  ditherMode 
)

◆ ma_pcm_u8_to_s24()

void ma_pcm_u8_to_s24 ( void pOut,
const void pIn,
ma_uint64  count,
ma_dither_mode  ditherMode 
)

◆ ma_pcm_u8_to_s32()

void ma_pcm_u8_to_s32 ( void pOut,
const void pIn,
ma_uint64  count,
ma_dither_mode  ditherMode 
)

◆ ma_rb_acquire_read()

ma_result ma_rb_acquire_read ( ma_rb pRB,
size_t *  pSizeInBytes,
void **  ppBufferOut 
)

◆ ma_rb_acquire_write()

ma_result ma_rb_acquire_write ( ma_rb pRB,
size_t *  pSizeInBytes,
void **  ppBufferOut 
)

◆ ma_rb_commit_read()

ma_result ma_rb_commit_read ( ma_rb pRB,
size_t  sizeInBytes,
void pBufferOut 
)

◆ ma_rb_commit_write()

ma_result ma_rb_commit_write ( ma_rb pRB,
size_t  sizeInBytes,
void pBufferOut 
)

◆ ma_rb_get_subbuffer_offset()

size_t ma_rb_get_subbuffer_offset ( ma_rb pRB,
size_t  subbufferIndex 
)

◆ ma_rb_get_subbuffer_ptr()

void* ma_rb_get_subbuffer_ptr ( ma_rb pRB,
size_t  subbufferIndex,
void pBuffer 
)

◆ ma_rb_get_subbuffer_size()

size_t ma_rb_get_subbuffer_size ( ma_rb pRB)

◆ ma_rb_get_subbuffer_stride()

size_t ma_rb_get_subbuffer_stride ( ma_rb pRB)

◆ ma_rb_init()

ma_result ma_rb_init ( size_t  bufferSizeInBytes,
void pOptionalPreallocatedBuffer,
ma_rb pRB 
)

◆ ma_rb_init_ex()

ma_result ma_rb_init_ex ( size_t  subbufferSizeInBytes,
size_t  subbufferCount,
size_t  subbufferStrideInBytes,
void pOptionalPreallocatedBuffer,
ma_rb pRB 
)

◆ ma_rb_pointer_distance()

ma_int32 ma_rb_pointer_distance ( ma_rb pRB)

◆ ma_rb_seek_read()

ma_result ma_rb_seek_read ( ma_rb pRB,
size_t  offsetInBytes 
)

◆ ma_rb_seek_write()

ma_result ma_rb_seek_write ( ma_rb pRB,
size_t  offsetInBytes 
)

◆ ma_rb_uninit()

void ma_rb_uninit ( ma_rb pRB)

◆ ma_realloc()

void* ma_realloc ( void p,
size_t  sz 
)

◆ ma_scale_buffer_size()

ma_uint32 ma_scale_buffer_size ( ma_uint32  baseBufferSize,
float  scale 
)

◆ ma_sine_wave_init()

ma_result ma_sine_wave_init ( double  amplitude,
double  period,
ma_uint32  sampleRate,
ma_sine_wave pSineWave 
)

◆ ma_sine_wave_read_f32()

ma_uint64 ma_sine_wave_read_f32 ( ma_sine_wave pSineWave,
ma_uint64  count,
float *  pSamples 
)

◆ ma_sine_wave_read_f32_ex()

ma_uint64 ma_sine_wave_read_f32_ex ( ma_sine_wave pSineWave,
ma_uint64  frameCount,
ma_uint32  channels,
ma_stream_layout  layout,
float **  ppFrames 
)

◆ ma_src_config_init()

ma_src_config ma_src_config_init ( ma_uint32  sampleRateIn,
ma_uint32  sampleRateOut,
ma_uint32  channels,
ma_src_read_deinterleaved_proc  onReadDeinterleaved,
void pUserData 
)

◆ ma_src_config_init_new()

ma_src_config ma_src_config_init_new ( void  )

◆ ma_src_init()

ma_result ma_src_init ( const ma_src_config pConfig,
ma_src pSRC 
)

◆ ma_src_read_deinterleaved()

ma_uint64 ma_src_read_deinterleaved ( ma_src pSRC,
ma_uint64  frameCount,
void **  ppSamplesOut,
void pUserData 
)

◆ ma_src_set_sample_rate()

ma_result ma_src_set_sample_rate ( ma_src pSRC,
ma_uint32  sampleRateIn,
ma_uint32  sampleRateOut 
)

◆ ma_zero_pcm_frames()

void ma_zero_pcm_frames ( void p,
ma_uint32  frameCount,
ma_format  format,
ma_uint32  channels 
)
ma_src_sinc_window_function
ma_src_sinc_window_function
Definition: miniaudio.h:885
ma_seek_origin_current
@ ma_seek_origin_current
Definition: miniaudio.h:2997
ma_thread_priority_default
@ ma_thread_priority_default
Definition: miniaudio.h:1691
ma_src_algorithm_linear
@ ma_src_algorithm_linear
Definition: miniaudio.h:879
ma_standard_channel_map_alsa
@ ma_standard_channel_map_alsa
Definition: miniaudio.h:789
ma_thread_priority
ma_thread_priority
Definition: miniaudio.h:1682
ma_dither_mode
ma_dither_mode
Definition: miniaudio.h:755
ma_standard_channel_map_vorbis
@ ma_standard_channel_map_vorbis
Definition: miniaudio.h:792
ma_backend_dsound
@ ma_backend_dsound
Definition: miniaudio.h:1666
MA_SRC_INPUT_BUFFER_SIZE_IN_SAMPLES
#define MA_SRC_INPUT_BUFFER_SIZE_IN_SAMPLES
Definition: miniaudio.h:742
ma_src_algorithm_none
@ ma_src_algorithm_none
Definition: miniaudio.h:881
ma_thread_priority_high
@ ma_thread_priority_high
Definition: miniaudio.h:1688
ma_backend_opensl
@ ma_backend_opensl
Definition: miniaudio.h:1676
ma_src_config
Definition: miniaudio.h:898
ma_standard_channel_map_microsoft
@ ma_standard_channel_map_microsoft
Definition: miniaudio.h:788
ma_src_sinc_window_function_hann
@ ma_src_sinc_window_function_hann
Definition: miniaudio.h:887
ma_seek_origin_start
@ ma_seek_origin_start
Definition: miniaudio.h:2996
ma_backend_sndio
@ ma_backend_sndio
Definition: miniaudio.h:1669
ma_format_count
@ ma_format_count
Definition: miniaudio.h:774
ma_thread_priority_idle
@ ma_thread_priority_idle
Definition: miniaudio.h:1684
ma_performance_profile
ma_performance_profile
Definition: miniaudio.h:799
ma_dither_mode_triangle
@ ma_dither_mode_triangle
Definition: miniaudio.h:759
ma_standard_channel_map_sound4
@ ma_standard_channel_map_sound4
Definition: miniaudio.h:793
ma_stream_format
ma_stream_format
Definition: miniaudio.h:744
ma_src_algorithm
ma_src_algorithm
Definition: miniaudio.h:877
ma_backend_winmm
@ ma_backend_winmm
Definition: miniaudio.h:1667
MA_MAX_CHANNELS
#define MA_MAX_CHANNELS
Definition: miniaudio.h:735
ma_src_algorithm_sinc
@ ma_src_algorithm_sinc
Definition: miniaudio.h:880
ma_performance_profile_conservative
@ ma_performance_profile_conservative
Definition: miniaudio.h:802
ma_thread_priority_lowest
@ ma_thread_priority_lowest
Definition: miniaudio.h:1685
ma_format_f32
@ ma_format_f32
Definition: miniaudio.h:773
ma_standard_channel_map
ma_standard_channel_map
Definition: miniaudio.h:786
ma_stream_layout_deinterleaved
@ ma_stream_layout_deinterleaved
Definition: miniaudio.h:752
ma_thread_priority_realtime
@ ma_thread_priority_realtime
Definition: miniaudio.h:1690
ma_channel_mix_mode
ma_channel_mix_mode
Definition: miniaudio.h:777
ma_backend
ma_backend
Definition: miniaudio.h:1663
ma_standard_channel_map_sndio
@ ma_standard_channel_map_sndio
Definition: miniaudio.h:794
ma_share_mode_shared
@ ma_share_mode_shared
Definition: miniaudio.h:1813
ma_backend_aaudio
@ ma_backend_aaudio
Definition: miniaudio.h:1675
ma_standard_channel_map_flac
@ ma_standard_channel_map_flac
Definition: miniaudio.h:791
ma_standard_channel_map_webaudio
@ ma_standard_channel_map_webaudio
Definition: miniaudio.h:795
ma_stream_format_pcm
@ ma_stream_format_pcm
Definition: miniaudio.h:746
ma_format_unknown
@ ma_format_unknown
Definition: miniaudio.h:768
ma_backend_pulseaudio
@ ma_backend_pulseaudio
Definition: miniaudio.h:1672
ma_stream_layout
ma_stream_layout
Definition: miniaudio.h:749
ma_get_bytes_per_sample
ma_uint32 ma_get_bytes_per_sample(ma_format format)
ma_backend_audio4
@ ma_backend_audio4
Definition: miniaudio.h:1670
ma_backend_webaudio
@ ma_backend_webaudio
Definition: miniaudio.h:1677
ma_channel_mix_mode_planar_blend
@ ma_channel_mix_mode_planar_blend
Definition: miniaudio.h:782
ma_format_s24
@ ma_format_s24
Definition: miniaudio.h:771
ma_dither_mode_rectangle
@ ma_dither_mode_rectangle
Definition: miniaudio.h:758
ma_bool32
ma_uint32 ma_bool32
Definition: miniaudio.h:546
ma_thread_priority_highest
@ ma_thread_priority_highest
Definition: miniaudio.h:1689
ma_stream_layout_interleaved
@ ma_stream_layout_interleaved
Definition: miniaudio.h:751
MA_ALIGN
#define MA_ALIGN(alignment)
Definition: miniaudio.h:585
ma_src_sinc_window_function_default
@ ma_src_sinc_window_function_default
Definition: miniaudio.h:889
ma_standard_channel_map_rfc3551
@ ma_standard_channel_map_rfc3551
Definition: miniaudio.h:790
ma_device_type
ma_device_type
Definition: miniaudio.h:1804
channels
channel_t channels[MAX_CHANNELS]
Definition: snd_dma.c:42
ma_standard_channel_map_default
@ ma_standard_channel_map_default
Definition: miniaudio.h:796
ma_channel_mix_mode_rectangular
@ ma_channel_mix_mode_rectangular
Definition: miniaudio.h:779
ma_channel_mix_mode_default
@ ma_channel_mix_mode_default
Definition: miniaudio.h:783
ma_dither_mode_none
@ ma_dither_mode_none
Definition: miniaudio.h:757
ma_backend_wasapi
@ ma_backend_wasapi
Definition: miniaudio.h:1665
ma_format_s16
@ ma_format_s16
Definition: miniaudio.h:770
ma_device_type_playback
@ ma_device_type_playback
Definition: miniaudio.h:1806
ma_format
ma_format
Definition: miniaudio.h:762
ma_uint32
uint32_t ma_uint32
Definition: miniaudio.h:520
ma_format_s32
@ ma_format_s32
Definition: miniaudio.h:772
MA_SIMD_ALIGNMENT
#define MA_SIMD_ALIGNMENT
Definition: miniaudio.h:598
ma_backend_oss
@ ma_backend_oss
Definition: miniaudio.h:1671
ma_share_mode_exclusive
@ ma_share_mode_exclusive
Definition: miniaudio.h:1814
ma_format_u8
@ ma_format_u8
Definition: miniaudio.h:769
ma_share_mode
ma_share_mode
Definition: miniaudio.h:1811
ma_thread_priority_normal
@ ma_thread_priority_normal
Definition: miniaudio.h:1687
MA_SRC_SINC_MAX_WINDOW_WIDTH
#define MA_SRC_SINC_MAX_WINDOW_WIDTH
Definition: miniaudio.h:739
format
GLsizei GLenum format
Definition: qgl_win.c:131
ma_channel_mix_mode_custom_weights
@ ma_channel_mix_mode_custom_weights
Definition: miniaudio.h:781
ma_channel_mix_mode_simple
@ ma_channel_mix_mode_simple
Definition: miniaudio.h:780
MA_SRC_SINC_LOOKUP_TABLE_RESOLUTION
#define MA_SRC_SINC_LOOKUP_TABLE_RESOLUTION
Definition: miniaudio.h:741
ma_device_type_duplex
@ ma_device_type_duplex
Definition: miniaudio.h:1808
ma_backend_jack
@ ma_backend_jack
Definition: miniaudio.h:1674
ma_backend_null
@ ma_backend_null
Definition: miniaudio.h:1678
ma_performance_profile_low_latency
@ ma_performance_profile_low_latency
Definition: miniaudio.h:801
ma_device_type_capture
@ ma_device_type_capture
Definition: miniaudio.h:1807
ma_backend_coreaudio
@ ma_backend_coreaudio
Definition: miniaudio.h:1668
ma_thread_priority_low
@ ma_thread_priority_low
Definition: miniaudio.h:1686
ma_backend_alsa
@ ma_backend_alsa
Definition: miniaudio.h:1673
ma_src_algorithm_default
@ ma_src_algorithm_default
Definition: miniaudio.h:882
ma_seek_origin
ma_seek_origin
Definition: miniaudio.h:2994
ma_src_sinc_window_function_rectangular
@ ma_src_sinc_window_function_rectangular
Definition: miniaudio.h:888