PortAudio  2.0
Macros | Functions
pa_mac_core_utilities.h File Reference
#include <pthread.h>
#include "portaudio.h"
#include "pa_util.h"
#include <AudioUnit/AudioUnit.h>
#include <AudioToolbox/AudioToolbox.h>

Go to the source code of this file.

Macros

#define MIN(a, b)   (((a)<(b))?(a):(b))
 
#define MAX(a, b)   (((a)<(b))?(b):(a))
 
#define ERR(mac_error)   PaMacCore_SetError(mac_error, __LINE__, 1 )
 
#define WARNING(mac_error)   PaMacCore_SetError(mac_error, __LINE__, 0 )
 
#define INPUT_ELEMENT   (1)
 
#define OUTPUT_ELEMENT   (0)
 
#define MAC_CORE_DEBUG
 
#define DBUG(MSG)   do { printf("||PaMacCore (AUHAL)|| "); printf MSG ; fflush(stdout); } while(0)
 
#define VDBUG(MSG)
 
#define VVDBUG(MSG)
 
#define UNIX_ERR(err)   PaMacCore_SetUnixError( err, __LINE__ )
 

Functions

OSStatus PaMacCore_AudioHardwareGetProperty (AudioHardwarePropertyID inPropertyID, UInt32 *ioPropertyDataSize, void *outPropertyData)
 
OSStatus PaMacCore_AudioHardwareGetPropertySize (AudioHardwarePropertyID inPropertyID, UInt32 *outSize)
 
OSStatus PaMacCore_AudioDeviceGetProperty (AudioDeviceID inDevice, UInt32 inChannel, Boolean isInput, AudioDevicePropertyID inPropertyID, UInt32 *ioPropertyDataSize, void *outPropertyData)
 
OSStatus PaMacCore_AudioDeviceSetProperty (AudioDeviceID inDevice, const AudioTimeStamp *inWhen, UInt32 inChannel, Boolean isInput, AudioDevicePropertyID inPropertyID, UInt32 inPropertyDataSize, const void *inPropertyData)
 
OSStatus PaMacCore_AudioDeviceGetPropertySize (AudioDeviceID inDevice, UInt32 inChannel, Boolean isInput, AudioDevicePropertyID inPropertyID, UInt32 *outSize)
 
OSStatus PaMacCore_AudioDeviceAddPropertyListener (AudioDeviceID inDevice, UInt32 inChannel, Boolean isInput, AudioDevicePropertyID inPropertyID, AudioObjectPropertyListenerProc inProc, void *inClientData)
 
OSStatus PaMacCore_AudioDeviceRemovePropertyListener (AudioDeviceID inDevice, UInt32 inChannel, Boolean isInput, AudioDevicePropertyID inPropertyID, AudioObjectPropertyListenerProc inProc, void *inClientData)
 
OSStatus PaMacCore_AudioStreamGetProperty (AudioStreamID inStream, UInt32 inChannel, AudioDevicePropertyID inPropertyID, UInt32 *ioPropertyDataSize, void *outPropertyData)
 
PaError PaMacCore_SetUnixError (int err, int line)
 
PaError PaMacCore_SetError (OSStatus error, int line, int isError)
 
long computeRingBufferSize (const PaStreamParameters *inputParameters, const PaStreamParameters *outputParameters, long inputFramesPerBuffer, long outputFramesPerBuffer, double sampleRate)
 
OSStatus propertyProc (AudioObjectID inObjectID, UInt32 inNumberAddresses, const AudioObjectPropertyAddress *inAddresses, void *inClientData)
 
PaError AudioDeviceSetPropertyNowAndWaitForChange (AudioDeviceID inDevice, UInt32 inChannel, Boolean isInput, AudioDevicePropertyID inPropertyID, UInt32 inPropertyDataSize, const void *inPropertyData, void *outPropertyData)
 
PaError setBestSampleRateForDevice (const AudioDeviceID device, const bool isOutput, const bool requireExact, const Float64 desiredSrate)
 
PaError setBestFramesPerBuffer (const AudioDeviceID device, const bool isOutput, UInt32 requestedFramesPerBuffer, UInt32 *actualFramesPerBuffer)
 
OSStatus xrunCallback (AudioObjectID inObjectID, UInt32 inNumberAddresses, const AudioObjectPropertyAddress *inAddresses, void *inClientData)
 
int initializeXRunListenerList (void)
 
int destroyXRunListenerList (void)
 
void * addToXRunListenerList (void *stream)
 
int removeFromXRunListenerList (void *stream)
 

Macro Definition Documentation

#define DBUG (   MSG)    do { printf("||PaMacCore (AUHAL)|| "); printf MSG ; fflush(stdout); } while(0)
#define ERR (   mac_error)    PaMacCore_SetError(mac_error, __LINE__, 1 )
#define INPUT_ELEMENT   (1)
#define MAC_CORE_DEBUG
#define MAX (   a,
 
)    (((a)<(b))?(b):(a))

Referenced by computeRingBufferSize().

#define MIN (   a,
 
)    (((a)<(b))?(a):(b))

Referenced by ReadStream(), and WriteStream().

#define OUTPUT_ELEMENT   (0)
#define UNIX_ERR (   err)    PaMacCore_SetUnixError( err, __LINE__ )
#define VDBUG (   MSG)
#define VVDBUG (   MSG)
#define WARNING (   mac_error)    PaMacCore_SetError(mac_error, __LINE__, 0 )

Function Documentation

void* addToXRunListenerList ( void *  stream)

Returns the list, so that it can be passed to CorAudio.

References PaMacXRunListNode_s::next, and PaMacXRunListNode_s::stream.

PaError AudioDeviceSetPropertyNowAndWaitForChange ( AudioDeviceID  inDevice,
UInt32  inChannel,
Boolean  isInput,
AudioDevicePropertyID  inPropertyID,
UInt32  inPropertyDataSize,
const void *  inPropertyData,
void *  outPropertyData 
)
long computeRingBufferSize ( const PaStreamParameters inputParameters,
const PaStreamParameters outputParameters,
long  inputFramesPerBuffer,
long  outputFramesPerBuffer,
double  sampleRate 
)
int destroyXRunListenerList ( void  )

returns zero on success or a unix style error code.

References PaMacXRunListNode_s::next.

int initializeXRunListenerList ( void  )

returns zero on success or a unix style error code.

Referenced by PaMacCore_Initialize().

OSStatus PaMacCore_AudioDeviceAddPropertyListener ( AudioDeviceID  inDevice,
UInt32  inChannel,
Boolean  isInput,
AudioDevicePropertyID  inPropertyID,
AudioObjectPropertyListenerProc  inProc,
void *  inClientData 
)
OSStatus PaMacCore_AudioDeviceGetProperty ( AudioDeviceID  inDevice,
UInt32  inChannel,
Boolean  isInput,
AudioDevicePropertyID  inPropertyID,
UInt32 *  ioPropertyDataSize,
void *  outPropertyData 
)
OSStatus PaMacCore_AudioDeviceGetPropertySize ( AudioDeviceID  inDevice,
UInt32  inChannel,
Boolean  isInput,
AudioDevicePropertyID  inPropertyID,
UInt32 *  outSize 
)
OSStatus PaMacCore_AudioDeviceRemovePropertyListener ( AudioDeviceID  inDevice,
UInt32  inChannel,
Boolean  isInput,
AudioDevicePropertyID  inPropertyID,
AudioObjectPropertyListenerProc  inProc,
void *  inClientData 
)
OSStatus PaMacCore_AudioDeviceSetProperty ( AudioDeviceID  inDevice,
const AudioTimeStamp *  inWhen,
UInt32  inChannel,
Boolean  isInput,
AudioDevicePropertyID  inPropertyID,
UInt32  inPropertyDataSize,
const void *  inPropertyData 
)
OSStatus PaMacCore_AudioHardwareGetProperty ( AudioHardwarePropertyID  inPropertyID,
UInt32 *  ioPropertyDataSize,
void *  outPropertyData 
)
OSStatus PaMacCore_AudioHardwareGetPropertySize ( AudioHardwarePropertyID  inPropertyID,
UInt32 *  outSize 
)
OSStatus PaMacCore_AudioStreamGetProperty ( AudioStreamID  inStream,
UInt32  inChannel,
AudioDevicePropertyID  inPropertyID,
UInt32 *  ioPropertyDataSize,
void *  outPropertyData 
)
PaError PaMacCore_SetError ( OSStatus  error,
int  line,
int  isError 
)
PaError PaMacCore_SetUnixError ( int  err,
int  line 
)

Map Unix error to PaError. Pretty much the only one that maps is ENOMEM.

References DBUG, paCoreAudio, paInsufficientMemory, paInternalError, paNoError, and PaUtil_SetLastHostErrorInfo().

Referenced by initializeBlioRingBuffers().

OSStatus propertyProc ( AudioObjectID  inObjectID,
UInt32  inNumberAddresses,
const AudioObjectPropertyAddress *  inAddresses,
void *  inClientData 
)
int removeFromXRunListenerList ( void *  stream)

Returns the number of Listeners in the list remaining.

References PaMacXRunListNode_s::next, and PaMacXRunListNode_s::stream.

PaError setBestFramesPerBuffer ( const AudioDeviceID  device,
const bool  isOutput,
UInt32  requestedFramesPerBuffer,
UInt32 *  actualFramesPerBuffer 
)
PaError setBestSampleRateForDevice ( const AudioDeviceID  device,
const bool  isOutput,
const bool  requireExact,
const Float64  desiredSrate 
)
OSStatus xrunCallback ( AudioObjectID  inObjectID,
UInt32  inNumberAddresses,
const AudioObjectPropertyAddress *  inAddresses,
void *  inClientData 
)