Agora RTC Objective-C API Reference  Refactor
Public Types | Data Fields
ExternalVideoFrame Struct Reference

Public Types

enum  EGL_CONTEXT_TYPE { EGL_CONTEXT10 = 0, EGL_CONTEXT14 = 1 }
 
enum  VIDEO_BUFFER_TYPE { VIDEO_BUFFER_RAW_DATA = 1, VIDEO_BUFFER_ARRAY = 2, VIDEO_BUFFER_TEXTURE = 3 }
 

Data Fields

VIDEO_BUFFER_TYPE type
 
VIDEO_PIXEL_FORMAT format
 
void * buffer
 
int stride
 
int height
 
int cropLeft
 
int cropTop
 
int cropRight
 
int cropBottom
 
int rotation
 
long long timestamp
 
void * eglContext
 
EGL_CONTEXT_TYPE eglType
 
int textureId
 
float matrix [16]
 
uint8_t * metadata_buffer
 
int metadata_size
 

Detailed Description

The definition of the ExternalVideoFrame struct.

Member Enumeration Documentation

◆ EGL_CONTEXT_TYPE

The EGL context type.

Enumerator
EGL_CONTEXT10 

0: When using the OpenGL interface (javax.microedition.khronos.egl.*) defined by Khronos

EGL_CONTEXT14 

0: When using the OpenGL interface (android.opengl.*) defined by Android

◆ VIDEO_BUFFER_TYPE

Video buffer types.

Enumerator
VIDEO_BUFFER_RAW_DATA 

1: Raw data.

VIDEO_BUFFER_ARRAY 

2: The same as VIDEO_BUFFER_RAW_DATA.

VIDEO_BUFFER_TEXTURE 

3: The video buffer in the format of texture.

Constructor & Destructor Documentation

◆ ExternalVideoFrame()

ExternalVideoFrame ( )
inline

Field Documentation

◆ type

The buffer type: VIDEO_BUFFER_TYPE.

◆ format

The pixel format: VIDEO_PIXEL_FORMAT

◆ buffer

void* buffer

The video buffer.

◆ stride

int stride

The line spacing of the incoming video frame (px). For texture, it is the width of the texture.

◆ height

int height

The height of the incoming video frame.

◆ cropLeft

int cropLeft

[Raw data related parameter] The number of pixels trimmed from the left. The default value is 0.

◆ cropTop

int cropTop

[Raw data related parameter] The number of pixels trimmed from the top. The default value is 0.

◆ cropRight

int cropRight

[Raw data related parameter] The number of pixels trimmed from the right. The default value is 0.

◆ cropBottom

int cropBottom

[Raw data related parameter] The number of pixels trimmed from the bottom. The default value is 0.

◆ rotation

int rotation

[Raw data related parameter] The clockwise rotation information of the video frame. You can set the rotation angle as 0, 90, 180, or 270. The default value is 0.

◆ timestamp

long long timestamp

The timestamp (ms) of the incoming video frame. An incorrect timestamp results in a frame loss or unsynchronized audio and video.

◆ eglContext

void* eglContext

[Texture-related parameter] When using the OpenGL interface (javax.microedition.khronos.egl.*) defined by Khronos, set EGLContext to this field. When using the OpenGL interface (android.opengl.*) defined by Android, set EGLContext to this field.

◆ eglType

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

◆ textureId

int textureId

[Texture related parameter] Incoming 4 × 4 transformational matrix. The typical value is a unit matrix.

◆ matrix

float matrix[16]

[Texture related parameter] Incoming 4 × 4 transformational matrix. The typical value is a unit matrix.

◆ 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