61#ifndef PA_MAC_CORE_INTERNAL_H__
62#define PA_MAC_CORE_INTERNAL_H__
64#include <CoreAudio/CoreAudio.h>
65#include <CoreServices/CoreServices.h>
66#include <AudioUnit/AudioUnit.h>
67#include <AudioToolbox/AudioToolbox.h>
68#include <dispatch/dispatch.h>
94#define RING_BUFFER_ADVANCE_DENOMINATOR (4)
Allocation Group prototypes. An Allocation Group makes it easy to allocate multiple blocks of memory ...
Functions to assist in measuring the CPU utilization of a callback stream. Used to implement the Pa_G...
Interfaces and representation structures used by pa_front.c to manage and communicate with host API i...
PaError WriteStream(PaStream *stream, const void *buffer, unsigned long frames)
Definition pa_mac_core_blocking.c:502
PaError ReadStream(PaStream *stream, void *buffer, unsigned long frames)
Definition pa_mac_core_blocking.c:423
struct PaMacCoreDeviceProperties PaMacCoreDeviceProperties
signed long GetStreamReadAvailable(PaStream *stream)
Definition pa_mac_core_blocking.c:625
struct PaMacCoreStream PaMacCoreStream
PaError PaMacCore_Initialize(PaUtilHostApiRepresentation **hostApi, PaHostApiIndex index)
Definition pa_mac_core.c:818
signed long GetStreamWriteAvailable(PaStream *stream)
Definition pa_mac_core_blocking.c:634
Buffer Processor prototypes. A Buffer Processor performs buffer length adaption, coordinates sample f...
Single-reader single-writer lock-free ring buffer.
Stream interfaces, representation structures and helper functions used to interface between pa_front....
Prototypes for utility functions used by PortAudio implementations.
The portable PortAudio API.
void PaStream
Definition portaudio.h:643
int PaError
Definition portaudio.h:122
int PaHostApiIndex
Definition portaudio.h:240
char buffer[NUM_BYTES]
Definition recplay.c:26
Definition pa_mac_core_internal.h:103
long devCount
Definition pa_mac_core_internal.h:111
AudioDeviceID * devIds
Definition pa_mac_core_internal.h:112
PaUtilStreamInterface callbackStreamInterface
Definition pa_mac_core_internal.h:105
PaUtilAllocationGroup * allocations
Definition pa_mac_core_internal.h:108
PaUtilStreamInterface blockingStreamInterface
Definition pa_mac_core_internal.h:106
PaUtilHostApiRepresentation inheritedHostApiRep
Definition pa_mac_core_internal.h:104
AudioDeviceID defaultIn
Definition pa_mac_core_internal.h:113
AudioDeviceID defaultOut
Definition pa_mac_core_internal.h:114
Definition pa_mac_core_blocking.h:79
Definition pa_mac_core_internal.h:119
Float64 sampleRate
Definition pa_mac_core_internal.h:130
Float64 samplePeriod
Definition pa_mac_core_internal.h:131
UInt32 bufferFrameSize
Definition pa_mac_core_internal.h:122
UInt32 deviceLatency
Definition pa_mac_core_internal.h:124
UInt32 safetyOffset
Definition pa_mac_core_internal.h:121
Definition pa_mac_core_internal.h:137
Float64 timestampOffsetCombined
Definition pa_mac_core_internal.h:193
AudioUnit inputUnit
Definition pa_mac_core_internal.h:144
PaUtilRingBuffer inputRingBuffer
Definition pa_mac_core_internal.h:154
size_t inputFramesPerBuffer
Definition pa_mac_core_internal.h:150
PaUtilStreamRepresentation streamRepresentation
Definition pa_mac_core_internal.h:138
double sampleRate
Definition pa_mac_core_internal.h:174
Float64 timestampOffsetInputDevice
Definition pa_mac_core_internal.h:194
Float64 timestampOffsetOutputDevice_ioProcCopy
Definition pa_mac_core_internal.h:201
Float64 timestampOffsetInputDevice_ioProcCopy
Definition pa_mac_core_internal.h:200
dispatch_source_t startStopSource
Definition pa_mac_core_internal.h:183
PaUtilCpuLoadMeasurer cpuLoadMeasurer
Definition pa_mac_core_internal.h:139
size_t outputFramesPerBuffer
Definition pa_mac_core_internal.h:151
PaMacCoreDeviceProperties inputProperties
Definition pa_mac_core_internal.h:175
PaMacCoreDeviceProperties outputProperties
Definition pa_mac_core_internal.h:176
size_t userInChan
Definition pa_mac_core_internal.h:148
Float64 timestampOffsetOutputDevice
Definition pa_mac_core_internal.h:195
AudioUnit outputUnit
Definition pa_mac_core_internal.h:145
AudioDeviceID inputDevice
Definition pa_mac_core_internal.h:146
Float64 timestampOffsetCombined_ioProcCopy
Definition pa_mac_core_internal.h:199
int timingInformationMutexIsInitialized
Definition pa_mac_core_internal.h:189
AudioBufferList inputAudioBufferList
Definition pa_mac_core_internal.h:158
PaUtilBufferProcessor bufferProcessor
Definition pa_mac_core_internal.h:140
size_t userOutChan
Definition pa_mac_core_internal.h:149
AudioTimeStamp startTime
Definition pa_mac_core_internal.h:159
pthread_mutex_t timingInformationMutex
Definition pa_mac_core_internal.h:190
AudioConverterRef inputSRConverter
Definition pa_mac_core_internal.h:156
dispatch_queue_t startStopQueue
Definition pa_mac_core_internal.h:182
bool bufferProcessorIsInitialized
Definition pa_mac_core_internal.h:143
@ STOPPED
Definition pa_mac_core_internal.h:163
@ CALLBACK_STOPPED
Definition pa_mac_core_internal.h:165
@ STOPPING
Definition pa_mac_core_internal.h:167
@ ACTIVE
Definition pa_mac_core_internal.h:172
volatile int32_t streamFinishedArmed
Definition pa_mac_core_internal.h:186
AudioDeviceID outputDevice
Definition pa_mac_core_internal.h:147
PaMacBlio blio
Definition pa_mac_core_internal.h:152
volatile uint32_t xrunFlags
Definition pa_mac_core_internal.h:161
enum PaMacCoreStream::@0 state
Definition pa_allocation.h:66
The main buffer processor data structure.
Definition pa_process.h:253
Definition pa_cpuload.h:56
Definition pa_hostapi.h:194
Definition pa_ringbuffer.h:94
Definition pa_stream.h:67
Definition pa_stream.h:147