12 #ifndef ROC_AUDIO_PCM_DECODER_H_
13 #define ROC_AUDIO_PCM_DECODER_H_
43 virtual size_t shift(
size_t n_samples);
54 const void* frame_data_;
Audio frame decoder interface.
virtual size_t shift(size_t n_samples)
Shift samples from current frame.
virtual packet::timestamp_t position() const
Get current stream position.
PCMDecoder(const PCMFuncs &funcs)
Initialize.
virtual void begin(packet::timestamp_t frame_position, const void *frame_data, size_t frame_size)
Start decoding a new frame.
virtual packet::timestamp_t available() const
Get number of samples available for decoding.
virtual size_t read(sample_t *samples, size_t n_samples, packet::channel_mask_t channels)
Read samples from current frame.
virtual void end()
Finish decoding current frame.
Base class for non-copyable objects.
Audio frame decoder interface.
float sample_t
Audio sample.
uint32_t timestamp_t
Audio packet timestamp.
uint32_t channel_mask_t
Bitmask of channels present in audio packet.