INNER CODE UNIT · C
buffer
tek256/astera · src/audio.c:365
uint32_t buffer = song->buffers[i];
float buf_time =
(float)((float)song->buffer_sizes[0] / song->info.sample_rate) * 1000.f;
song->curr += buf_time;
memset(ctx->pcm, 0, ctx->pcm_length * sizeof(uint16_t));
uint32_t pcm_total_length = 0;
for (uint16_t p = 0; p < song->packets_per_buffer; ++p) {
uint32_t pcm_remaining = ctx->pcm_length - pcm_total_length;
if (pcm_remaining < song->info.max_frame_size) {
break;
}
if (pcm_remaining == 0) {
break;
}