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
IVideoFrameMetaInfo * | metaInfo
Hdr10MetadataInfo | hdr10MetadataInfo
ColorSpace | colorSpace

## Detailed Description

The definition of the VideoFrame struct.

## Constructor & Destructor Documentation

## ◆ VideoFrame()

VideoFrame | ( |  | ) |
| inline

## Field Documentation

## ◆ type

VIDEO_PIXEL_FORMAT type

The video pixel format: VIDEO_PIXEL_FORMAT.

## ◆ width

int width

The width of the video frame.

## ◆ height

int height

The height of the video frame.

## ◆ yStride

int yStride

The line span of Y buffer in the YUV data.

## ◆ uStride

int uStride

The line span of U buffer in the YUV data.

## ◆ vStride

int vStride

The line span of V buffer in the YUV data.

## ◆ yBuffer

uint8_t* yBuffer

The pointer to the Y buffer in the YUV data.

## ◆ uBuffer

uint8_t* uBuffer

The pointer to the U buffer in the YUV data.

## ◆ vBuffer

uint8_t* vBuffer

The pointer to the V buffer in the YUV data.

## ◆ rotation

int rotation

The clockwise rotation information of this frame. You can set it as 0, 90, 180 or 270.

## ◆ renderTimeMs

int64_t renderTimeMs

The timestamp to render the video stream. Use this parameter for audio-video synchronization when rendering the video.

Note
  This parameter is for rendering the video, not capturing the video.

## ◆ avsync_type

int avsync_type

The type of audio-video synchronization.

## ◆ metadata_buffer

uint8_t* metadata_buffer

[Texture related parameter] The MetaData buffer. The default value is NULL

## ◆ metadata_size

int metadata_size

[Texture related parameter] The MetaData size. The default value is 0

## ◆ sharedContext

void* sharedContext

[Texture related parameter], egl context.

## ◆ textureId

int textureId

[Texture related parameter], Texture ID used by the video frame.

## ◆ d3d11Texture2d

void* d3d11Texture2d

[Texture related parameter] The pointer of ID3D11Texture2D used by the video frame,for Windows only.

## ◆ matrix

float matrix[16]

[Texture related parameter], Incoming 4 × 4 transformational matrix.

## ◆ alphaBuffer

uint8_t* alphaBuffer

Indicates the alpha channel of current frame, which is consistent with the dimension of the video frame. The value range of each pixel is [0,255], where 0 represents the background; 255 represents the foreground. The default value is NULL.

## ◆ alphaStitchMode

ALPHA_STITCH_MODE alphaStitchMode

The relative position between alphabuffer and the frame. 0: Normal frame; 1: Alphabuffer is above the frame; 2: Alphabuffer is below the frame; 3: Alphabuffer is on the left of frame; 4: Alphabuffer is on the right of frame; The default value is 0.

## ◆ pixelBuffer

void* pixelBuffer

The type of CVPixelBufferRef, for iOS and macOS only.

## ◆ metaInfo

IVideoFrameMetaInfo* metaInfo

The pointer to IVideoFrameMetaInfo, which is the interface to get metainfo contents from VideoFrame.

## ◆ hdr10MetadataInfo

Hdr10MetadataInfo hdr10MetadataInfo

metadata info used for hdr video data

## ◆ colorSpace

ColorSpace colorSpace

The ColorSpace of the video frame