12#ifndef ROC_AUDIO_PCM_ENCODER_H_
13#define ROC_AUDIO_PCM_ENCODER_H_
33 virtual void begin(
void* frame,
size_t frame_size);
43 const size_t n_chans_;
46 size_t frame_byte_size_;
47 size_t frame_bit_off_;
Audio frame encoder interface.
virtual size_t write(const sample_t *samples, size_t n_samples)
Encode samples.
virtual size_t encoded_byte_count(size_t num_samples) const
Get encoded frame size in bytes for given number of samples per channel.
PcmEncoder(const PcmFormat &pcm_format, const SampleSpec &sample_spec)
Initialize.
virtual void begin(void *frame, size_t frame_size)
Start encoding a new frame.
virtual void end()
Finish encoding frame.
PCM format mapper. Convert between PCM formats.
Sample stream specification. Defines sample rate and channel layout.
Base class for non-copyable objects.
Audio frame encoder interface.
float sample_t
Audio sample.