12#ifndef ROC_AUDIO_IFRAME_DECODER_H_
13#define ROC_AUDIO_IFRAME_DECODER_H_
65 const void* frame_data,
66 size_t frame_size) = 0;
107 virtual size_t shift(
size_t n_samples) = 0;
Audio frame decoder interface.
virtual size_t read(sample_t *samples, size_t n_samples, packet::channel_mask_t channels)=0
Read samples from current frame.
virtual void begin(packet::timestamp_t frame_position, const void *frame_data, size_t frame_size)=0
Start decoding a new frame.
virtual packet::timestamp_t available() const =0
Get number of samples available for decoding.
virtual size_t shift(size_t n_samples)=0
Shift samples from current frame.
virtual void end()=0
Finish decoding current frame.
virtual packet::timestamp_t position() const =0
Get decoded stream position.
float sample_t
Audio sample.
uint32_t timestamp_t
Audio packet timestamp.
uint32_t channel_mask_t
Bitmask of channels present in audio packet.
Various units used in audio processing.
Various units used in packets.
Commonly used types and functions.