INNER CODE UNIT · C
new_rd
Cateners/tiny_container · app/src/main/cpp/tiny_audio_jni.c:81
uint32_t new_rd = w - RING_LATENCY_LIMIT;
LOGI("ring: latency guard skip %u bytes", new_rd - rd);
atomic_store_explicit(&r->read_idx, new_rd, memory_order_release);
rd = new_rd;
used = RING_LATENCY_LIMIT;
}
uint32_t space = RING_SIZE - used;
if (n > space) n = space;
if (!n) return 0;
uint32_t off = w % RING_SIZE, c0 = RING_SIZE - off;
if (c0 > n) c0 = n;
memcpy(r->buf + off, src, c0);
if (n > c0) memcpy(r->buf, src + c0, n - c0);
atomic_store_explicit(&r->write_idx, w + n, memory_order_release);
return n;
}