Agora Java API Reference for Android
Public Member Functions | List of all members
agora::media::base::IMediaPlayerCustomDataProvider Class Referenceabstract

#include <AgoraMediaPlayerTypes.h>

Public Member Functions

virtual int onReadData (unsigned char *buffer, int bufferSize)=0
 The player requests to read the data callback, you need to fill the specified length of data into the buffer. More...
 
virtual int64_t onSeek (int64_t offset, int whence)=0
 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. More...
 

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.

Member Function Documentation

◆ onReadData()

virtual int agora::media::base::IMediaPlayerCustomDataProvider::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
bufferthe buffer pointer that you need to fill data.
bufferSizethe bufferSize need to fill of the buffer pointer.
Returns
you need return offset value if succeed. return 0 if failed.

◆ onSeek()

virtual int64_t agora::media::base::IMediaPlayerCustomDataProvider::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
offsetthe value of seek offset.
whencethe 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.