- Main Page
- Modules
- Data Structures
- Files
- Directories
- Related Pages

- Data Structures
- Data Fields

# gavl_audio_frame_t Struct Reference
[Audio frame]

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

## Detailed Description

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.

## Field Documentation

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

The documentation for this struct was generated from the following file:

- /sda4/XXX/YYY/F/gavl-1.0.0/include/gavl/gavl.h