Agora C++ API Reference for All Platforms

Public Member Functions | Public Attributes | List of all members
agora::media::IAudioFrameObserverBase::AudioFrame Struct Reference

## Public Member Functions
| AudioFrame ()

## Public Attributes
AUDIO_FRAME_TYPE | type
int | samplesPerChannel
agora::rtc::BYTES_PER_SAMPLE | bytesPerSample
int | channels
int | samplesPerSec
void * | buffer
int64_t | renderTimeMs
int | avsync_type
int64_t | presentationMs
int | audioTrackNumber
uint32_t | rtpTimestamp

## Detailed Description

The definition of the AudioFrame struct.

## Constructor & Destructor Documentation

## ◆ AudioFrame()

agora::media::IAudioFrameObserverBase::AudioFrame::AudioFrame | ( |  | ) |
| inline

## Member Data Documentation

## ◆ type

AUDIO_FRAME_TYPE agora::media::IAudioFrameObserverBase::AudioFrame::type

The audio frame type: AUDIO_FRAME_TYPE.

## ◆ samplesPerChannel

int agora::media::IAudioFrameObserverBase::AudioFrame::samplesPerChannel

The number of samples per channel in this frame.

## ◆ bytesPerSample

agora::rtc::BYTES_PER_SAMPLE agora::media::IAudioFrameObserverBase::AudioFrame::bytesPerSample

The number of bytes per sample: #BYTES_PER_SAMPLE

## ◆ channels

int agora::media::IAudioFrameObserverBase::AudioFrame::channels

The number of audio channels (data is interleaved, if stereo).

- 1: Mono.
- 2: Stereo.

## ◆ samplesPerSec

int agora::media::IAudioFrameObserverBase::AudioFrame::samplesPerSec

The sample rate

## ◆ buffer

void* agora::media::IAudioFrameObserverBase::AudioFrame::buffer

The data buffer of the audio frame. When the audio frame uses a stereo channel, the data buffer is interleaved.

Buffer data size: buffer = samplesPerChannel × channels × bytesPerSample.

## ◆ renderTimeMs

int64_t agora::media::IAudioFrameObserverBase::AudioFrame::renderTimeMs

The timestamp to render the audio data.

You can use this timestamp to restore the order of the captured audio frame, and synchronize audio and video frames in video scenarios, including scenarios where external video sources are used.

## ◆ avsync_type

int agora::media::IAudioFrameObserverBase::AudioFrame::avsync_type

A reserved parameter.

You can use this presentationMs parameter to indicate the presenation milisecond timestamp, this will then filled into audio4 extension part, the remote side could use this pts in av sync process with video frame.

## ◆ presentationMs

int64_t agora::media::IAudioFrameObserverBase::AudioFrame::presentationMs

The pts timestamp of this audio frame.

This timestamp is used to indicate the origin pts time of the frame, and sync with video frame by the pts time stamp

## ◆ audioTrackNumber

int agora::media::IAudioFrameObserverBase::AudioFrame::audioTrackNumber

The number of the audio track.

## ◆ rtpTimestamp

uint32_t agora::media::IAudioFrameObserverBase::AudioFrame::rtpTimestamp

RTP timestamp of the first sample in the audio frame