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