Agora RTC Objective-C API Reference Refactor

Public Member Functions
IVideoSinkBase Class Referenceabstract

Inherits RefCountInterface.

Inherited by IExtensionVideoSink, and IVideoRenderer.

## Public Member Functions
virtual int | setProperty (const char *key, const void *buf, int buf_size)
virtual int | getProperty (const char *key, void *buf, int buf_size)
virtual int | onFrame (const media::base::VideoFrame &videoFrame)=0
virtual bool | isExternalSink ()
virtual bool | onDataStreamWillStart ()
virtual void | onDataStreamWillStop ()
virtual bool | applyMirror ()
virtual bool | applyRotation ()

## Detailed Description

The `IVideoSinkBase` class is the base class for the custom video sink.

## Member Function Documentation

## ◆ setProperty()

virtual int setProperty | ( | const char * | key,
|  | const void * | buf,
|  | int | buf_size
| ) |  |
| inline virtual

Sets a private property in the `IVideoFilter` class.

Parameters

  key | The pointer to the property name.
  buf | The pointer to the buffer of this private property.
  buf_size | The buffer size of this private property.

Returns
  - The actual size of the private property, if the method call succeeds.
  - -1, if the method call fails.

## ◆ getProperty()

virtual int getProperty | ( | const char * | key,
|  | void * | buf,
|  | int | buf_size
| ) |  |
| inline virtual

Gets a private property in the `IVideoFilter` class.

Parameters

  key | The pointer to the property name.
  buf | The pointer to the buffer of this private property.
  buf_size | The buffer size of this private property.

Returns
  - The actual size of the private property, if the method call succeeds.
  - -1, if the method call fails.

## ◆ onFrame()

virtual int onFrame | ( | const media::base::VideoFrame & | videoFrame | ) |
| pure virtual

Occurs when the `IVideoSinkBase` object receives the video frame.

Parameters

  videoFrame | The reference to the video frame.

## ◆ isExternalSink()

virtual bool isExternalSink | ( |  | ) |
| inline virtual

Used internally to distinguish between external and internal sinks. External application should not override this interface.

## ◆ onDataStreamWillStart()

virtual bool onDataStreamWillStart | ( |  | ) |
| inline virtual

This function is invoked right before data stream starts. Custom sink can override this function for initialization.

Returns
  - `true`, if initialization succeeds.
  - `false`, if initialization fails.

## ◆ onDataStreamWillStop()

virtual void onDataStreamWillStop | ( |  | ) |
| inline virtual

This function is invoked right before data stream stops. Custom sink can override this function for deinitialization.

## ◆ applyMirror()

virtual bool applyMirror | ( |  | ) |
| inline virtual

Whether to mirror the video frame.

Returns
  - true: mirror the video frame.
  - false: do not mirror the video frame.

## ◆ applyRotation()

virtual bool applyRotation | ( |  | ) |
| inline virtual

Whether to rotate the video frame.

Returns
  - true: rotate the video frame.
  - false: do not rotate the video frame.

## ◆ AddRef()

virtual void AddRef | ( |  | ) | const
| pure virtual inherited

## ◆ Release()

virtual RefCountReleaseStatus Release | ( |  | ) | const
| pure virtual inherited

## ◆ HasOneRef()

virtual bool HasOneRef | ( |  | ) | const
| pure virtual inherited