Generic container for audio samples. More...
#include <gavl.h>
Data Fields | |
gavl_audio_samples_t | samples |
gavl_audio_channels_t | channels |
int | valid_samples |
int64_t | timestamp |
int | channel_stride |
Generic container for audio samples.
This is the main container structure for audio data. The data are stored in unions, so you can access the matching pointer type without the need for casts. If you have noninterleaved channels, the i'th channel will be in channels[i].f (if you use floating point samples). For noninterleaved formats, use the samples member. valid_samples must be set by the source to the number of actually valid samples in this frame.
Audio frames are created with gavl_audio_frame_create and destroyed with gavl_audio_frame_destroy. The memory can either be allocated by gavl (memory aligned) or by the caller.
Sample pointer for interleaved formats
Channel pointer for non interleaved formats
Number of actually valid samples
int64_t gavl_audio_frame_t::timestamp |
Timestamp in samplerate tics
Byte offset between channels. Total allocated size is always num_channels * channel_stride