26class AudioFrameBufferInfo;
27class OwnedAudioFrameBuffer;
68 const std::vector<std::int16_t> &data() const noexcept {
return data_; }
69 std::vector<std::int16_t> &data() noexcept {
return data_; }
92 proto::AudioFrameBufferInfo toProto() const;
96 std::vector<std::int16_t> data_;
99 int samples_per_channel_;
Represents a raw PCM audio frame with interleaved int16 samples.
Definition audio_frame.h:37
AudioFrame(std::vector< std::int16_t > data, int sample_rate, int num_channels, int samples_per_channel)
int num_channels() const noexcept
Number of channels.
Definition audio_frame.h:78
static AudioFrame create(int sample_rate, int num_channels, int samples_per_channel)
std::size_t total_samples() const noexcept
Number of samples in the buffer (per all channels).
Definition audio_frame.h:72
static AudioFrame fromOwnedInfo(const proto::OwnedAudioFrameBuffer &owned)
double duration() const noexcept
Duration in seconds (samples_per_channel / sample_rate).
int samples_per_channel() const noexcept
Samples per channel.
Definition audio_frame.h:81
int sample_rate() const noexcept
Sample rate in Hz.
Definition audio_frame.h:75
std::string to_string() const
A human-readable description.
Definition audio_source.h:36