Agora RTC Objective-C API Reference  Refactor
Public Member Functions
IVideoFrame Class Referenceabstract

Inherits RefCountInterface.

Public Member Functions

virtual int getVideoFrameData (VideoFrameData &data) const =0
 
virtual int fillVideoFrameData (const VideoFrameData &data)=0
 
virtual int getVideoFrameMetaData (VideoFrameMetaDataType type, void *data)=0
 
virtual int fillVideoFrameMetaData (VideoFrameMetaDataType type, const void *data)=0
 

Detailed Description

The IVideoFrame class defines the interface to send video frame data to the SDK or get video frame data from the SDK.

Constructor & Destructor Documentation

◆ ~IVideoFrame()

~IVideoFrame ( )
inlineprotected

Member Function Documentation

◆ getVideoFrameData()

virtual int getVideoFrameData ( VideoFrameData data) const
pure virtual

Get the concrete video frame data of the underlying buffer.

Parameters
data[out] The video frame data.
Returns
  • int: error code. 0 for success.

◆ fillVideoFrameData()

virtual int fillVideoFrameData ( const VideoFrameData data)
pure virtual

Fill the underlying buffer with source buffer info contained in VideoFrameInfo For frames of type "Type::kMemPixels", This function first tries to fill in-place with no copy and reallocation. When it fails, a copy or copy-plus-reallocation may happen

Parameters
data[in] Data to be filled in.
Returns
  • 0: if succeeds
  • <0: failure

◆ getVideoFrameMetaData()

virtual int getVideoFrameMetaData ( VideoFrameMetaDataType  type,
void *  data 
)
pure virtual

Get the underlying meta data of the given type. e.g. If type is VideoFrameMetaDataType::kAlphaChannel, then data value can be casted to AlphaChannel;

Parameters
typeVideoFrameMetaDataType type of the meta data wanted
data[out] pointer to the the meta data object of the given type
Returns
  • 0: if succeeds
  • <0: failure

◆ fillVideoFrameMetaData()

virtual int fillVideoFrameMetaData ( VideoFrameMetaDataType  type,
const void *  data 
)
pure virtual

Fill the underlying meta data of the given type. e.g. If type is VideoFrameMetaDataType::kAlphaChannel, then data should point to AlphaChannel object;

Parameters
typeVideoFrameMetaDataType type of the meta data to fill
data[in] pointer to the the meta data object of the given type
Returns
  • 0: if succeeds
  • <0: failure

◆ AddRef()

virtual void AddRef ( ) const
pure virtualinherited

◆ Release()

virtual RefCountReleaseStatus Release ( ) const
pure virtualinherited

◆ HasOneRef()

virtual bool HasOneRef ( ) const
pure virtualinherited