65static int paCB(
const void* inBuf,
void* outBuf,
unsigned long framesPerBuf,
66 const PaStreamCallbackTimeInfo* timeInfo, PaStreamCallbackFlags statusFlags,
73 auto* out =
static_cast<float*
>(outBuf);
74 unsigned long framesLeft = data->
total - data->cur;
75 unsigned long framesToProcess =
76 (framesLeft < framesPerBuf) ? framesLeft : framesPerBuf;
78 std::memcpy(out, data->samples.data() + (data->cur * data->numChannels),
79 framesToProcess * data->numChannels *
sizeof(
float));
81 data->cur += framesToProcess;
83 if (framesToProcess < framesPerBuf) {
84 size_t offset = framesToProcess * data->numChannels;
86 memset(out + offset, 0,
87 (framesPerBuf - framesToProcess) * data->numChannels *
static int paCB(const void *inBuf, void *outBuf, unsigned long framesPerBuf, const PaStreamCallbackTimeInfo *timeInfo, PaStreamCallbackFlags statusFlags, void *userData)
PortAudio callback function.
Definition Audio.h:65