gavl
|
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.
gavl_audio_samples_t gavl_audio_frame_t::samples |
Sample pointer for interleaved formats
gavl_audio_channels_t gavl_audio_frame_t::channels |
Channel pointer for non interleaved formats
int gavl_audio_frame_t::valid_samples |
Number of actually valid samples
int64_t gavl_audio_frame_t::timestamp |
Timestamp in samplerate tics
int gavl_audio_frame_t::channel_stride |
Byte offset between channels. Total allocated size is always num_channels * channel_stride