size_t I2SDoubleBuffer::write(const void *buffer, size_t size) { size_t space = availableForWrite(); if (size > space) { size = space; } if (size == 0) { return 0; } memcpy(&_buffer[_index][_length[_index]], buffer, size); _length[_index] += size; return size; }
void SDICameraControl::flushWrite() const { while (!availableForWrite()) { // Wait for control override bank to become ready for new data } }