zenilib  0.5.3.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
SDL_coreaudio.c File Reference
#include "SDL_config.h"
#include "SDL_audio.h"
#include "../SDL_audio_c.h"
#include "../SDL_sysaudio.h"
#include "SDL_coreaudio.h"
#include "SDL_assert.h"

Go to the source code of this file.

Macros

#define CHECK_RESULT(msg)
 
#define DEBUG_COREAUDIO   0
 

Typedefs

typedef void(* addDevFn )(const char *name, AudioDeviceID devId, void *data)
 

Functions

static void addToDevList (const char *name, AudioDeviceID devId, void *data)
 
static void build_device_list (int iscapture, addDevFn addfn, void *addfndata)
 
static void COREAUDIO_CloseDevice (_THIS)
 
static void COREAUDIO_DetectDevices (int iscapture, SDL_AddAudioDevice addfn)
 
static int COREAUDIO_Init (SDL_AudioDriverImpl *impl)
 
static int COREAUDIO_OpenDevice (_THIS, const char *devname, int iscapture)
 
static int find_device_by_name (_THIS, const char *devname, int iscapture)
 
static void findDevId (const char *name, AudioDeviceID devId, void *_data)
 
static OSStatus inputCallback (void *inRefCon, AudioUnitRenderActionFlags *ioActionFlags, const AudioTimeStamp *inTimeStamp, UInt32 inBusNumber, UInt32 inNumberFrames, AudioBufferList *ioData)
 
static OSStatus outputCallback (void *inRefCon, AudioUnitRenderActionFlags *ioActionFlags, const AudioTimeStamp *inTimeStamp, UInt32 inBusNumber, UInt32 inNumberFrames, AudioBufferList *ioData)
 
static int prepare_audiounit (_THIS, const char *devname, int iscapture, const AudioStreamBasicDescription *strdesc)
 

Variables

AudioBootStrap COREAUDIO_bootstrap
 

Macro Definition Documentation

#define CHECK_RESULT (   msg)
Value:
if (result != noErr) { \
SDL_SetError("CoreAudio error (%s): %d", msg, (int) result); \
return 0; \
}
return
Definition: pngrutil.c:1266
GLuint64EXT * result
Definition: glew.h:12708
DECLSPEC int SDLCALL SDL_SetError(const char *fmt,...)
Definition: SDL_error.c:53
static void COREAUDIO_CloseDevice(_THIS)

Definition at line 32 of file SDL_coreaudio.c.

Referenced by find_device_by_name(), and prepare_audiounit().

#define DEBUG_COREAUDIO   0

Definition at line 28 of file SDL_coreaudio.c.

Typedef Documentation

typedef void(* addDevFn)(const char *name, AudioDeviceID devId, void *data)

Definition at line 40 of file SDL_coreaudio.c.

Function Documentation

static void addToDevList ( const char *  name,
AudioDeviceID  devId,
void data 
)
static

Definition at line 43 of file SDL_coreaudio.c.

Referenced by COREAUDIO_DetectDevices().

static void build_device_list ( int  iscapture,
addDevFn  addfn,
void addfndata 
)
static

Definition at line 69 of file SDL_coreaudio.c.

References i, j, max, NULL, SDL_free(), and SDL_malloc().

Referenced by COREAUDIO_DetectDevices(), and find_device_by_name().

static void COREAUDIO_CloseDevice ( _THIS  )
static

Definition at line 318 of file SDL_coreaudio.c.

References NULL, SDL_free(), and SDL_memset().

Referenced by COREAUDIO_Init(), and COREAUDIO_OpenDevice().

static void COREAUDIO_DetectDevices ( int  iscapture,
SDL_AddAudioDevice  addfn 
)
static

Definition at line 176 of file SDL_coreaudio.c.

References addToDevList(), and build_device_list().

Referenced by COREAUDIO_Init().

static int find_device_by_name ( _THIS  ,
const char *  devname,
int  iscapture 
)
static

Definition at line 182 of file SDL_coreaudio.c.

References build_device_list(), CHECK_RESULT, findDevId(), NULL, SDL_SetError(), and SDL_zero.

Referenced by prepare_audiounit().

static void findDevId ( const char *  name,
AudioDeviceID  devId,
void _data 
)
static

Definition at line 57 of file SDL_coreaudio.c.

References SDL_strcmp().

Referenced by find_device_by_name().

static OSStatus inputCallback ( void inRefCon,
AudioUnitRenderActionFlags *  ioActionFlags,
const AudioTimeStamp *  inTimeStamp,
UInt32  inBusNumber,
UInt32  inNumberFrames,
AudioBufferList *  ioData 
)
static

Definition at line 305 of file SDL_coreaudio.c.

Referenced by prepare_audiounit().

static OSStatus outputCallback ( void inRefCon,
AudioUnitRenderActionFlags *  ioActionFlags,
const AudioTimeStamp *  inTimeStamp,
UInt32  inBusNumber,
UInt32  inNumberFrames,
AudioBufferList *  ioData 
)
static

Definition at line 247 of file SDL_coreaudio.c.

References i, SDL_LockMutex(), SDL_memcpy(), SDL_memset(), and SDL_UnlockMutex().

Referenced by prepare_audiounit().

static int prepare_audiounit ( _THIS  ,
const char *  devname,
int  iscapture,
const AudioStreamBasicDescription *  strdesc 
)
static

Variable Documentation

AudioBootStrap COREAUDIO_bootstrap
Initial value:
= {
"coreaudio", "CoreAudio", COREAUDIO_Init, 0
}
static int COREAUDIO_Init(SDL_AudioDriverImpl *impl)

Definition at line 555 of file SDL_coreaudio.c.