Agora RTC Objective-C API Reference  Refactor
Data Fields
VideoFrame Struct Reference

Data Fields

VIDEO_PIXEL_FORMAT type
 
int width
 
int height
 
int yStride
 
int uStride
 
int vStride
 
uint8_t * yBuffer
 
uint8_t * uBuffer
 
uint8_t * vBuffer
 
int rotation
 
int64_t renderTimeMs
 
int avsync_type
 
uint8_t * metadata_buffer
 
int metadata_size
 
void * sharedContext
 
int textureId
 
void * d3d11Texture2d
 
float matrix [16]
 
uint8_t * alphaBuffer
 
ALPHA_STITCH_MODE alphaStitchMode
 
void * pixelBuffer
 
IVideoFrameMetaInfometaInfo
 
Hdr10MetadataInfo hdr10MetadataInfo
 
ColorSpace colorSpace
 

Detailed Description

Note that the buffer provides a pointer to a pointer. This interface cannot modify the pointer of the buffer, but it can modify the content of the buffer.

Constructor & Destructor Documentation

◆ VideoFrame()

VideoFrame ( )
inline

Field Documentation

◆ type

The pixel format. See VIDEO_PIXEL_FORMAT.

◆ width

int width

The width of the video, in pixels.

◆ height

int height

The height of the video, in pixels.

◆ yStride

int yStride

For YUV data, the line span of the Y buffer; for RGBA data, the total data length.

Note
When dealing with video data, it is necessary to process the offset between each line of pixel data based on this parameter, otherwise it may result in image distortion.

◆ uStride

int uStride

For YUV data, the line span of the U buffer; for RGBA data, the value is 0.

Note
When dealing with video data, it is necessary to process the offset between each line of pixel data based on this parameter, otherwise it may result in image distortion.

◆ vStride

int vStride

For YUV data, the line span of the V buffer; for RGBA data, the value is 0.

Note
When dealing with video data, it is necessary to process the offset between each line of pixel data based on this parameter, otherwise it may result in image distortion.

◆ yBuffer

uint8_t* yBuffer

For YUV data, the pointer to the Y buffer; for RGBA data, the data buffer.

◆ uBuffer

uint8_t* uBuffer

For YUV data, the pointer to the U buffer; for RGBA data, the value is 0.

◆ vBuffer

uint8_t* vBuffer

For YUV data, the pointer to the V buffer; for RGBA data, the value is 0.

◆ rotation

int rotation

The clockwise rotation of the video frame before rendering. Supported values include 0, 90, 180, and 270 degrees.

◆ renderTimeMs

int64_t renderTimeMs

The Unix timestamp (ms) when the video frame is rendered. This timestamp can be used to guide the rendering of the video frame. This parameter is required.

◆ avsync_type

int avsync_type

Reserved for future use.

◆ metadata_buffer

uint8_t* metadata_buffer

This parameter only applies to video data in Texture format. The MetaData buffer. The default value is NULL.

◆ metadata_size

int metadata_size

This parameter only applies to video data in Texture format. The MetaData size. The default value is 0.

◆ sharedContext

void* sharedContext

This parameter only applies to video data in Texture format. EGL Context.

◆ textureId

int textureId

This parameter only applies to video data in Texture format. Texture ID.

◆ d3d11Texture2d

void* d3d11Texture2d

This parameter only applies to video data in Windows Texture format. It represents a pointer to an object of typeID3D11Texture2D, which is used by a video frame.

◆ matrix

float matrix[16]

This parameter only applies to video data in Texture format. Incoming 4 × 4 transformational matrix. The typical value is a unit matrix.

◆ alphaBuffer

uint8_t* alphaBuffer

The alpha channel data output by using portrait segmentation algorithm. This data matches the size of the video frame, with each pixel value ranging from [0,255], where 0 represents the background and 255 represents the foreground (portrait). By setting this parameter, you can render the video background into various effects, such as transparent, solid color, image, video, etc.

Note
Make sure that alphaBuffer is exactly the same size as the video frame (width × height), otherwise it may cause the app to crash.

◆ alphaStitchMode

ALPHA_STITCH_MODE alphaStitchMode

When the video frame contains alpha channel data, it represents the relative position of alphaBuffer and the video frame. See ALPHA_STITCH_MODE.

◆ pixelBuffer

void* pixelBuffer

The type of CVPixelBufferRef, for iOS and macOS only.

◆ metaInfo

The meta information in the video frame. To use this parameter, contact technical support.

◆ hdr10MetadataInfo

Hdr10MetadataInfo hdr10MetadataInfo

metadata info used for hdr video data

◆ colorSpace

ColorSpace colorSpace

By default, the color space properties of video frames will apply the Full Range and BT.709 standard configurations.