17 template<
typename Buffer>
20 constexpr static auto is_const =
23 using ConstBuffer =
typename Buffer::ByteBuffer;
66 operator ConstBuffer() &&
requires(!is_const) {
return ConstBuffer(di::move(m_buffer), m_info); }
68 private : Buffer m_buffer;
#define ASSERT_EQ
Definition assert_binary.h:84
constexpr auto byte_count() const -> usize
Definition frame.h:38
constexpr auto sample_rate_hz() const -> usize
Definition frame.h:32
constexpr FrameImpl(Buffer buffer, FrameInfo info)
Definition frame.h:28
constexpr auto stride() const -> usize
Definition frame.h:37
constexpr auto channel_count() const -> usize
Definition frame.h:31
constexpr auto info() const -> FrameInfo
Definition frame.h:33
auto as_signed_int16_le() const
Definition frame.h:46
constexpr auto shrink_to_first_n_samples(usize count)
Definition frame.h:60
constexpr auto as_raw_bytes() const
Definition frame.h:58
auto as_signed_int32_le() const
Definition frame.h:52
constexpr auto format() const -> SampleFormat
Definition frame.h:30
constexpr auto sample_count() const -> usize
Definition frame.h:35
auto as_float32_le() const
Definition frame.h:40
constexpr auto bytes_per_sample() const -> usize
Definition frame.h:36
Definition span_forward_declaration.h:10
constexpr auto format_bytes_per_sample(SampleFormat format) -> usize
Definition frame_info.h:25
frame::FrameImpl< di::ByteBuffer > Frame
Definition frame.h:73
SampleFormat
Definition frame_info.h:11
@ SignedInt32LE
Definition frame_info.h:14
@ SignedInt16LE
Definition frame_info.h:12
@ Float32LE
Definition frame_info.h:15
frame::FrameImpl< di::ExclusiveByteBuffer > ExclusiveFrame
Definition frame.h:74
size_t usize
Definition integers.h:33
Definition zstring_parser.h:9
auto declval() -> meta::AddRValueReference< T >
Definition declval.h:8
constexpr auto data
Definition data.h:51
constexpr auto count
Definition count.h:37
Definition frame_info.h:39