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:595
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:312
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:118
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:122
unsigned long PaStreamCallbackFlags
Definition: portaudio.h:721
unsigned long PaSampleFormat
Definition: portaudio.h:489
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:344
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:268
PaUtilRingBuffer inputRingBuffer
Definition: pa_mac_core_blocking.h:80
Definition: portaudio.h:708