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 );
PaError initializeBlioRingBuffers(PaMacBlio *blio, PaSampleFormat inputSampleFormat, PaSampleFormat outputSampleFormat, long ringBufferSizeInFrames, int inChan, int outChan)
Definition pa_mac_core_blocking.c:118
PaError waitUntilBlioWriteBufferIsEmpty(PaMacBlio *blio, double sampleRate, size_t framesPerBuffer)
Definition pa_mac_core_blocking.c:595
PaError destroyBlioRingBuffers(PaMacBlio *blio)
Definition pa_mac_core_blocking.c:312
PaError resetBlioRingBuffers(PaMacBlio *blio)
Definition pa_mac_core_blocking.c:268
int BlioCallback(const void *input, void *output, unsigned long frameCount, const PaStreamCallbackTimeInfo *timeInfo, PaStreamCallbackFlags statusFlags, void *userData)
Definition pa_mac_core_blocking.c:344
Single-reader single-writer lock-free ring buffer.
long ring_buffer_size_t
Definition pa_ringbuffer.h:83
The portable PortAudio API.
unsigned long PaSampleFormat
Definition portaudio.h:489
int PaError
Definition portaudio.h:122
unsigned long PaStreamCallbackFlags
Definition portaudio.h:721
Definition pa_mac_core_blocking.h:79
uint32_t statusFlags
Definition pa_mac_core_blocking.h:94
PaSampleFormat inputSampleFormat
Definition pa_mac_core_blocking.h:83
ring_buffer_size_t ringBufferFrames
Definition pa_mac_core_blocking.h:82
int outChan
Definition pa_mac_core_blocking.h:91
PaError errors
Definition pa_mac_core_blocking.h:95
size_t inputSampleSizePow2
Definition pa_mac_core_blocking.h:85
PaSampleFormat outputSampleFormat
Definition pa_mac_core_blocking.h:86
int inChan
Definition pa_mac_core_blocking.h:90
size_t outputSampleSizeActual
Definition pa_mac_core_blocking.h:87
size_t outputSampleSizePow2
Definition pa_mac_core_blocking.h:88
PaUtilRingBuffer inputRingBuffer
Definition pa_mac_core_blocking.h:80
size_t inputSampleSizeActual
Definition pa_mac_core_blocking.h:84
PaUtilRingBuffer outputRingBuffer
Definition pa_mac_core_blocking.h:81
Definition portaudio.h:708
Definition pa_ringbuffer.h:94