59 #ifndef PA_MAC_CORE_BLOCKING_H_ 
   60 #define PA_MAC_CORE_BLOCKING_H_ 
   69 #define PA_MAC_BLIO_BUSY_WAIT_SLEEP_INTERVAL (5) 
   74 #define PA_MAC_BLIO_BUSY_WAIT 
   98 #ifdef  PA_MAC_BLIO_MUTEX 
   99     volatile bool isInputEmpty;
 
  100     pthread_mutex_t inputMutex;
 
  101     pthread_cond_t inputCond;
 
  103     volatile bool isOutputFull;
 
  104     pthread_mutex_t outputMutex;
 
  105     pthread_cond_t outputCond;
 
  118                                        long ringBufferSizeInFrames,
 
  125         const void *input, 
void *output,
 
  126         unsigned long frameCount,
 
  132                                         size_t framesPerBuffer );
 
PaUtilRingBuffer outputRingBuffer
Definition: pa_mac_core_blocking.h:81
 
PaError waitUntilBlioWriteBufferIsEmpty(PaMacBlio *blio, double sampleRate, size_t framesPerBuffer)
Definition: pa_mac_core_blocking.c:591
 
Single-reader single-writer lock-free ring buffer. 
 
size_t outputSampleSizePow2
Definition: pa_mac_core_blocking.h:88
 
int outChan
Definition: pa_mac_core_blocking.h:91
 
PaError errors
Definition: pa_mac_core_blocking.h:95
 
PaError destroyBlioRingBuffers(PaMacBlio *blio)
Definition: pa_mac_core_blocking.c:309
 
int inChan
Definition: pa_mac_core_blocking.h:90
 
Definition: pa_ringbuffer.h:93
 
uint32_t statusFlags
Definition: pa_mac_core_blocking.h:94
 
size_t inputSampleSizeActual
Definition: pa_mac_core_blocking.h:84
 
The portable PortAudio API. 
 
PaError initializeBlioRingBuffers(PaMacBlio *blio, PaSampleFormat inputSampleFormat, PaSampleFormat outputSampleFormat, long ringBufferSizeInFrames, int inChan, int outChan)
Definition: pa_mac_core_blocking.c:116
 
Definition: pa_mac_core_blocking.h:79
 
ring_buffer_size_t ringBufferFrames
Definition: pa_mac_core_blocking.h:82
 
long ring_buffer_size_t
Definition: pa_ringbuffer.h:83
 
PaSampleFormat outputSampleFormat
Definition: pa_mac_core_blocking.h:86
 
int PaError
Definition: portaudio.h:121
 
unsigned long PaStreamCallbackFlags
Definition: portaudio.h:712
 
unsigned long PaSampleFormat
Definition: portaudio.h:484
 
size_t inputSampleSizePow2
Definition: pa_mac_core_blocking.h:85
 
int BlioCallback(const void *input, void *output, unsigned long frameCount, const PaStreamCallbackTimeInfo *timeInfo, PaStreamCallbackFlags statusFlags, void *userData)
Definition: pa_mac_core_blocking.c:341
 
size_t outputSampleSizeActual
Definition: pa_mac_core_blocking.h:87
 
PaSampleFormat inputSampleFormat
Definition: pa_mac_core_blocking.h:83
 
PaError resetBlioRingBuffers(PaMacBlio *blio)
Definition: pa_mac_core_blocking.c:265
 
PaUtilRingBuffer inputRingBuffer
Definition: pa_mac_core_blocking.h:80
 
Definition: portaudio.h:699