Agora RTC Objective-C API Reference Refactor

Instance Methods | Properties
AgoraVideoFrame Class Reference

Inherits <NSObject>.

## Instance Methods
(void) | - fillAlphaData

## Properties
NSInteger | format
CMTime | time
int | stride
int | strideInPixels
int | height
CVPixelBufferRef _Nullable | textureBuf
IMAGE_CLASS *_Nullable | image
NSData *_Nullable | dataBuf
NSData *_Nullable | alphaBuf
AgoraAlphaStitchMode | alphaStitchMode
int | cropLeft
int | cropTop
int | cropRight
int | cropBottom
int | rotation
AgoraColorSpace *_Nullable | colorSpace

## Method Documentation

## ◆ fillAlphaData

- (void) fillAlphaData |  |  |

If data format is BGRA or RGBA and alphaBuf is nill, it is required to call fillAlphaData to fill alphaBuf.

## Property Documentation

## ◆ format

- (NSInteger) format
| read write nonatomic assign

The format of the incoming video frame. This parameter must be specified as one of the following values:

- 1: I420
- 2: BGRA
- 3: NV21
- 4: RGBA
- 5: IMC2
- 7: ARGB
- 8: NV12
- 12: iOS texture (CVPixelBufferRef)
- 16: I422

## ◆ time

- (CMTime) time
| read write nonatomic assign

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

## ◆ stride

- (int) stride
| read write nonatomic assign

The line span of the frame, that is, the number of pixels between two adjacent lines of video frames.

Note
  - The unit of this parameter is pixels, not bytes.
  - If the video is in Texture format, set this parameter to the width of Texture.
  - If the video frame format is set to 12, do not use this field.
  - 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.

Deprecated:
  Use strideInPixels instead.

## ◆ strideInPixels

- (int) strideInPixels
| read write nonatomic assign

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) height
| read write nonatomic assign

Height of the incoming video frame.

## ◆ textureBuf

- (CVPixelBufferRef _Nullable) textureBuf
| read write nonatomic assign

Buffer of iOS texture.

## ◆ image

- (IMAGE_CLASS* _Nullable) image
| read write nonatomic strong

Still Image (UIImage for iPhone, NSImage for Mac)

## ◆ dataBuf

- (NSData* _Nullable) dataBuf
| read write nonatomic strong

Raw data buffer. This parameter does not apply to iOS textures.

## ◆ alphaBuf

- (NSData* _Nullable) alphaBuf
| read write nonatomic strong

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 nill.

## ◆ alphaStitchMode

- (AgoraAlphaStitchMode) alphaStitchMode
| read write nonatomic assign

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

## ◆ cropLeft

- (int) cropLeft
| read write nonatomic assign

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

## ◆ cropTop

- (int) cropTop
| read write nonatomic assign

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

## ◆ cropRight

- (int) cropRight
| read write nonatomic assign

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

## ◆ cropBottom

- (int) cropBottom
| read write nonatomic assign

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

## ◆ rotation

- (int) rotation
| read write nonatomic assign

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.

## ◆ colorSpace

- (AgoraColorSpace* _Nullable) colorSpace
| read write nonatomic strong

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