#include <AgoraMediaBase.h>
◆ 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
The video buffer type.
| Enumerator |
|---|
| VIDEO_BUFFER_RAW_DATA | 1: The video buffer in the format of raw data.
|
| VIDEO_BUFFER_ARRAY | 2: The video buffer in the format of raw data.
|
| VIDEO_BUFFER_TEXTURE | 3: The video buffer in the format of Texture.
|
◆ ExternalVideoFrame()
| agora::media::base::ExternalVideoFrame::ExternalVideoFrame |
( |
| ) |
|
|
inline |
◆ type
◆ format
◆ buffer
| void* agora::media::base::ExternalVideoFrame::buffer |
◆ stride
| int agora::media::base::ExternalVideoFrame::stride |
Line spacing of the incoming video frame, which must be in pixels instead of bytes. For textures, it is the width of the texture.
◆ height
| int agora::media::base::ExternalVideoFrame::height |
Height of the incoming video frame.
◆ cropLeft
| int agora::media::base::ExternalVideoFrame::cropLeft |
Raw data related parameter. The number of pixels trimmed from the left. The default value is 0.
◆ cropTop
| int agora::media::base::ExternalVideoFrame::cropTop |
Raw data related parameter. The number of pixels trimmed from the top. The default value is 0.
◆ cropRight
| int agora::media::base::ExternalVideoFrame::cropRight |
Raw data related parameter. The number of pixels trimmed from the right. The default value is 0.
◆ cropBottom
| int agora::media::base::ExternalVideoFrame::cropBottom |
Raw data related parameter. The number of pixels trimmed from the bottom. The default value is 0.
◆ rotation
| int agora::media::base::ExternalVideoFrame::rotation |
Raw data related parameter. The clockwise rotation of the video frame. You can set the rotation angle as 0, 90, 180, or 270. The default value is 0.
◆ timestamp
| long long agora::media::base::ExternalVideoFrame::timestamp |
Timestamp (ms) of the incoming video frame. An incorrect timestamp results in frame loss or unsynchronized audio and video.
◆ eglContext
| void* agora::media::base::ExternalVideoFrame::eglContext |
This parameter only applies to video data in Texture format.
- 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
This parameter only applies to video data in Texture format. Texture ID of the video frame.
◆ textureId
| int agora::media::base::ExternalVideoFrame::textureId |
This parameter only applies to video data in Texture format. Incoming 4 × 4 transformational matrix. The typical value is a unit matrix.
◆ fenceObject
| long long agora::media::base::ExternalVideoFrame::fenceObject |
[Texture related parameter] The fence object related to the textureId parameter, indicating the synchronization status of the video data in Texture format. The default value is 0
◆ matrix
| float agora::media::base::ExternalVideoFrame::matrix[16] |
[Texture related parameter] Incoming 4 × 4 transformational matrix. The typical value is a unit matrix.
◆ metadataBuffer
| uint8_t* agora::media::base::ExternalVideoFrame::metadataBuffer |
This parameter only applies to video data in Texture format. The MetaData buffer. The default value is NULL.
◆ metadataSize
| int agora::media::base::ExternalVideoFrame::metadataSize |
This parameter only applies to video data in Texture format. The MetaData size. The default value is 0.
◆ alphaBuffer
| uint8_t* agora::media::base::ExternalVideoFrame::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.
◆ fillAlphaBuffer
| bool agora::media::base::ExternalVideoFrame::fillAlphaBuffer |
This parameter only applies to video data in BGRA or RGBA format. Whether to extract the alpha channel data from the video frame and automatically fill it into alphaBuffer:
true:Extract and fill the alpha channel data.
false: (Default) Do not extract and fill the Alpha channel data. - Note
- For video data in BGRA or RGBA format, you can set the Alpha channel data in either of the following ways:
- Automatically by setting this parameter to
true.
- Manually through the
alphaBuffer parameter.
◆ alphaStitchMode
When the video frame contains alpha channel data, it represents the relative position of alphaBuffer and the video frame. See ALPHA_STITCH_MODE.
◆ d3d11Texture2d
| void* agora::media::base::ExternalVideoFrame::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.
◆ textureSliceIndex
| int agora::media::base::ExternalVideoFrame::textureSliceIndex |
This parameter only applies to video data in Windows Texture format. It represents an index of an ID3D11Texture2D texture object used by the video frame in the ID3D11Texture2D array.
◆ hdr10MetadataInfo
metadata info used for hdr video data
◆ colorSpace
| ColorSpace agora::media::base::ExternalVideoFrame::colorSpace |
By default, the color space properties of video frames will apply the Full Range and BT.709 standard configurations.