#include "peak_buffer.h" // https://github.com/MusicPlayerDaemon/MPD/blob/c71e586c530e1d066efde7c2ca40c363f74100c7/src/util/PeakBuffer.cxx // We use ptrdiff_t here instead of nn_buffer's size_t just to map better to the types in audio_buffer. void camu_peak_buffer_init(struct camu_peak_buffer *peak, ptrdiff_t size) { nn_buffer_init(&peak->buffer); nn_buffer_ensure_space(&peak->buffer, (size_t)size); } void camu_peak_buffer_push(struct camu_peak_buffer *peak, u8 *data, ptrdiff_t size) { nn_buffer_append(&peak->buffer, data, (size_t)size); } ptrdiff_t camu_peak_buffer_get_size(struct camu_peak_buffer *peak) { return (ptrdiff_t)peak->buffer.size; } u8 *camu_peak_buffer_flush(struct camu_peak_buffer *peak) { peak->buffer.size = 0; return nn_buffer_get_ptr(&peak->buffer, 0); } void camu_peak_buffer_free(struct camu_peak_buffer *peak) { nn_buffer_free(&peak->buffer); }