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>

Functions

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

◆ BlioCallback()

◆ destroyBlioRingBuffers()

◆ GetStreamReadAvailable()

◆ GetStreamWriteAvailable()

◆ initializeBlioRingBuffers()

◆ ReadStream()

static PaError ReadStream ( PaStream * stream,
void * buffer,
unsigned long framesRequested )

◆ resetBlioRingBuffers()

◆ waitUntilBlioWriteBufferIsEmpty()

PaError waitUntilBlioWriteBufferIsEmpty ( PaMacBlio * blio,
double sampleRate,
size_t framesPerBuffer )

◆ WriteStream()