Agora RTC Objective-C API Reference Refactor

Public Member Functions
IMediaPlayerCustomDataProvider Class Referenceabstract

## Public Member Functions
virtual int | onReadData (unsigned char *buffer, int bufferSize)=0
virtual int64_t | onSeek (int64_t offset, int whence)=0

## Detailed Description

The custom data source provides a data stream input callback, and the player will continue to call back this interface, requesting the user to fill in the data that needs to be played.

## Constructor & Destructor Documentation

## ◆ ~IMediaPlayerCustomDataProvider()

virtual ~IMediaPlayerCustomDataProvider | ( |  | ) |
| inline virtual

## Member Function Documentation

## ◆ onReadData()

virtual int onReadData | ( | unsigned char * | buffer,
|  | int | bufferSize
| ) |  |
| pure virtual

The player requests to read the data callback, you need to fill the specified length of data into the buffer.

Parameters

  buffer | the buffer pointer that you need to fill data.
  bufferSize | the bufferSize need to fill of the buffer pointer.

Returns
  you need return offset value if succeed. return 0 if failed.

## ◆ onSeek()

virtual int64_t onSeek | ( | int64_t | offset,
|  | int | whence
| ) |  |
| pure virtual

The Player seek event callback, you need to operate the corresponding stream seek operation, You can refer to the definition of lseek() at https://man7.org/linux/man-pages/man2/lseek.2.html.

Parameters

  offset | the value of seek offset.
  whence | the postion of start seeking, the directive whence as follows: 0 - SEEK_SET : The file offset is set to offset bytes. 1 - SEEK_CUR : The file offset is set to its current location plus offset bytes. 2 - SEEK_END : The file offset is set to the size of the file plus offset bytes. 65536 - AVSEEK_SIZE : Optional. Passing this as the "whence" parameter to a seek function causes it to return the filesize without seeking anywhere.

Returns
  whence == 65536, return filesize if you need. whence >= 0 && whence < 3 , return offset value if succeed. return -1 if failed.