| 287 | } |
| 288 | |
| 289 | void Framebuffer_readBuffer(CSOUND *csound, Framebuffer *self, |
| 290 | MYFLT *outputSamples, int32_t outputSamplesCount) |
| 291 | { |
| 292 | IGN(csound); |
| 293 | if (self->writeIndex + outputSamplesCount < self->elementCount) { |
| 294 | |
| 295 | memcpy(outputSamples, &self->buffer[self->writeIndex], |
| 296 | sizeof(MYFLT) * outputSamplesCount); |
| 297 | } |
| 298 | else { |
| 299 | |
| 300 | int32_t firstHalf = self->elementCount - self->writeIndex; |
| 301 | memcpy(outputSamples, &self->buffer[self->writeIndex], |
| 302 | sizeof(MYFLT) * firstHalf); |
| 303 | int32_t secondHalf = outputSamplesCount - firstHalf; |
| 304 | memcpy(&outputSamples[firstHalf], self->buffer, |
| 305 | sizeof(MYFLT) * secondHalf); |
| 306 | } |
| 307 | } |
| 308 | |
| 309 | void Framebuffer_processAudioInFrameOut(CSOUND *csound, Framebuffer *self) |
| 310 | { |
no outgoing calls
no test coverage detected