Skip to main content

odin_decoder_pop

enum OdinError odin_decoder_pop(struct OdinDecoder *decoder,
float *out_samples,
uint32_t out_samples_count,
bool *out_is_silent);

Overview

Retrieves a block of processed audio samples from the decoder's buffer. The samples are interleaved floating-point values in the range [-1, 1].

Parameters

NameTypeDescription
decoderstruct OdinDecoder *The decoder handle.
out_samplesfloat *Buffer to write samples to.
out_samples_countuint32_tSize of the buffer in samples.
out_is_silentbool *Pointer to receive silence flag (true if silent).

Return Value

TypeDescription
OdinErrorODIN_ERROR_SUCCESS on success.

Example

// Inside an audio playback callback requesting 'output_count' samples
std::vector<float> samples(output_count);

// Pop samples from the decoder
err = odin_decoder_pop(decoder, samples.data(), output_count, NULL);
if (err == ODIN_ERROR_SUCCESS) {
// Mix 'samples' into your output buffer
for (int i = 0; i < output_count; ++i) {
output_buffer[i] += samples[i];
}
}