PortAudio  2.0
pa_mac_core_blocking.c File Reference
#include "pa_mac_core_blocking.h"
#include "pa_mac_core_internal.h"
#include <assert.h>
#include <libkern/OSAtomic.h>


PaError initializeBlioRingBuffers (PaMacBlio *blio, PaSampleFormat inputSampleFormat, PaSampleFormat outputSampleFormat, long ringBufferSizeInFrames, int inChan, int outChan)
PaError resetBlioRingBuffers (PaMacBlio *blio)
PaError destroyBlioRingBuffers (PaMacBlio *blio)
int BlioCallback (const void *input, void *output, unsigned long frameCount, const PaStreamCallbackTimeInfo *timeInfo, PaStreamCallbackFlags statusFlags, void *userData)
PaError ReadStream (PaStream *stream, void *buffer, unsigned long framesRequested)
PaError WriteStream (PaStream *stream, const void *buffer, unsigned long framesRequested)
PaError waitUntilBlioWriteBufferIsEmpty (PaMacBlio *blio, double sampleRate, size_t framesPerBuffer)
signed long GetStreamReadAvailable (PaStream *stream)
signed long GetStreamWriteAvailable (PaStream *stream)

Detailed Description

This file contains the implementation required for blocking I/O. It is separated from pa_mac_core.c simply to ease development.

Function Documentation

int BlioCallback ( const void *  input,
void *  output,
unsigned long  frameCount,
const PaStreamCallbackTimeInfo timeInfo,
PaStreamCallbackFlags  statusFlags,
void *  userData 
PaError destroyBlioRingBuffers ( PaMacBlio blio)
static signed long GetStreamReadAvailable ( PaStream stream)
static signed long GetStreamWriteAvailable ( PaStream stream)
PaError initializeBlioRingBuffers ( PaMacBlio blio,
PaSampleFormat  inputSampleFormat,
PaSampleFormat  outputSampleFormat,
long  ringBufferSizeInFrames,
int  inChan,
int  outChan 
static PaError ReadStream ( PaStream stream,
void *  buffer,
unsigned long  framesRequested 
PaError resetBlioRingBuffers ( PaMacBlio blio)
PaError waitUntilBlioWriteBufferIsEmpty ( PaMacBlio blio,
double  sampleRate,
size_t  framesPerBuffer 
static PaError WriteStream ( PaStream stream,
const void *  buffer,
unsigned long  framesRequested