#include <pa_hostapi.h>
Data Fields | |
PaUtilPrivatePaFrontHostApiInfo | privatePaFrontInfo |
PaHostApiInfo | info |
PaDeviceInfo ** | deviceInfos |
void(* | Terminate )(struct PaUtilHostApiRepresentation *hostApi) |
PaError(* | OpenStream )(struct PaUtilHostApiRepresentation *hostApi, PaStream **stream, const PaStreamParameters *inputParameters, const PaStreamParameters *outputParameters, double sampleRate, unsigned long framesPerCallback, PaStreamFlags streamFlags, PaStreamCallback *streamCallback, void *userData) |
PaError(* | IsFormatSupported )(struct PaUtilHostApiRepresentation *hostApi, const PaStreamParameters *inputParameters, const PaStreamParameters *outputParameters, double sampleRate) |
A structure representing the interface to a host API. Contains both concrete data and pointers to functions which implement the interface.
The host api implementation should populate the info field. In the case of info.defaultInputDevice and info.defaultOutputDevice the values stored should be 0 based indices within the host api's own device index range (0 to deviceCount). These values will be converted to global device indices by pa_front after PaUtilHostApiInitializer() returns.
Referenced by PaAsio_Initialize(), PaJack_Initialize(), PaMacCore_Initialize(), PaOSS_Initialize(), PaSkeleton_Initialize(), PaUtil_DeviceIndexToHostApiDeviceIndex(), PaWinDs_Initialize(), PaWinMme_Initialize(), and PaWinWdm_Initialize().
PaError(* PaUtilHostApiRepresentation::IsFormatSupported)(struct PaUtilHostApiRepresentation *hostApi, const PaStreamParameters *inputParameters, const PaStreamParameters *outputParameters, double sampleRate) |
Referenced by Pa_IsFormatSupported(), and PaMacCore_Initialize().
PaError(* PaUtilHostApiRepresentation::OpenStream)(struct PaUtilHostApiRepresentation *hostApi, PaStream **stream, const PaStreamParameters *inputParameters, const PaStreamParameters *outputParameters, double sampleRate, unsigned long framesPerCallback, PaStreamFlags streamFlags, PaStreamCallback *streamCallback, void *userData) |
The inputParameters and outputParameters pointers should not be saved as they will not remain valid after OpenStream is called.
The following guarantees are made about parameters to (*OpenStream)():
[NOTE: the following list up to *END PA FRONT VALIDATIONS* should be kept in sync with the one for ValidateOpenStreamParameters and Pa_OpenStream in pa_front.c]
PaHostApiRepresentation *hostApi
PaStream** stream
PaDeviceIndex inputParameters->device
int inputParameters->numChannels
PaSampleFormat inputParameters->sampleFormat
void *inputParameters->hostApiSpecificStreamInfo
PaDeviceIndex outputParmeters->device
int outputParmeters->numChannels
PaSampleFormat outputParmeters->sampleFormat
void *outputParmeters->hostApiSpecificStreamInfo
double sampleRate
PaStreamFlags streamFlags
[*END PA FRONT VALIDATIONS*]
The following validations MUST be performed by (*OpenStream)():
Referenced by Pa_OpenStream(), and PaMacCore_Initialize().
Referenced by PaUtil_DeviceIndexToHostApiDeviceIndex().
void(* PaUtilHostApiRepresentation::Terminate)(struct PaUtilHostApiRepresentation *hostApi) |
(*Terminate)() is guaranteed to be called with a valid <hostApi> parameter, which was previously returned from the same implementation's initializer.
Referenced by PaMacCore_Initialize().