Agora C++ API Reference for All Platforms
Public Member Functions | List of all members
agora::media::IMediaEngineEx Class Referenceabstract

Inherits agora::media::IMediaEngine.

Public Member Functions

virtual int pushVideoFrameEx (const webrtc::VideoFrame &frame, unsigned int video_track_id=0)=0
 
virtual int enableDualStreamModeEx (bool enabled, const rtc::SimulcastStreamConfig &streamConfig, const rtc::RtcConnection &connection)=0
 
virtual int setExternalVideoConfigEx (const rtc::VideoEncoderConfiguration &config)=0
 
virtual int setExternalVideoConfigEx (const rtc::VideoEncoderConfiguration &config, const rtc::RtcConnection &connection)=0
 
 ~IMediaEngineEx () override=default
 
virtual int registerAudioFrameObserver (IAudioFrameObserver *observer)=0
 
virtual int registerVideoFrameObserver (IVideoFrameObserver *observer)=0
 
virtual int registerVideoEncodedFrameObserver (IVideoEncodedFrameObserver *observer)=0
 
virtual int pushEncodedVideoImage (const unsigned char *imageBuffer, size_t length, const agora::rtc::EncodedVideoFrameInfo &videoEncodedFrameInfo, unsigned int videoTrackId=0)=0
 
- Public Member Functions inherited from agora::media::IMediaEngine
virtual int registerAudioFrameObserver (IAudioFrameObserver *observer)=0
 
virtual int registerVideoFrameObserver (IVideoFrameObserver *observer)=0
 
virtual int registerVideoEncodedFrameObserver (IVideoEncodedFrameObserver *observer)=0
 
virtual int registerFaceInfoObserver (IFaceInfoObserver *observer)=0
 
virtual int pushAudioFrame (IAudioFrameObserverBase::AudioFrame *frame, rtc::track_id_t trackId=0)=0
 
virtual int pullAudioFrame (IAudioFrameObserverBase::AudioFrame *frame)=0
 
virtual int setExternalVideoSource (bool enabled, bool useTexture, EXTERNAL_VIDEO_SOURCE_TYPE sourceType=VIDEO_FRAME, rtc::SenderOptions encodedVideoOption=rtc::SenderOptions())=0
 
virtual int setExternalAudioSource (bool enabled, int sampleRate, int channels, bool localPlayback=false, bool publish=true) __deprecated=0
 
virtual rtc::track_id_t createCustomAudioTrack (rtc::AUDIO_TRACK_TYPE trackType, const rtc::AudioTrackConfig &config)=0
 
virtual int destroyCustomAudioTrack (rtc::track_id_t trackId)=0
 
virtual int setExternalAudioSink (bool enabled, int sampleRate, int channels)=0
 
virtual int enableCustomAudioLocalPlayback (rtc::track_id_t trackId, bool enabled)=0
 
virtual int pushVideoFrame (base::ExternalVideoFrame *frame, unsigned int videoTrackId=0)=0
 
virtual int pushEncodedVideoImage (const unsigned char *imageBuffer, size_t length, const agora::rtc::EncodedVideoFrameInfo &videoEncodedFrameInfo, unsigned int videoTrackId=0)=0
 
virtual int addVideoFrameRenderer (IVideoFrameObserver *renderer)=0
 
virtual int removeVideoFrameRenderer (IVideoFrameObserver *renderer)=0
 
virtual void release ()=0
 

Additional Inherited Members

- Protected Member Functions inherited from agora::media::IMediaEngine
virtual ~IMediaEngine ()
 

Detailed Description

The IMediaEngineEx class

Constructor & Destructor Documentation

◆ ~IMediaEngineEx()

agora::media::IMediaEngineEx::~IMediaEngineEx ( )
overridedefault

Member Function Documentation

◆ pushVideoFrameEx()

virtual int agora::media::IMediaEngineEx::pushVideoFrameEx ( const webrtc::VideoFrame &  frame,
unsigned int  video_track_id = 0 
)
pure virtual

◆ enableDualStreamModeEx()

virtual int agora::media::IMediaEngineEx::enableDualStreamModeEx ( bool  enabled,
const rtc::SimulcastStreamConfig streamConfig,
const rtc::RtcConnection connection 
)
pure virtual

◆ setExternalVideoConfigEx() [1/2]

virtual int agora::media::IMediaEngineEx::setExternalVideoConfigEx ( const rtc::VideoEncoderConfiguration config)
pure virtual

Deprecated by IRtcEngine::setVideoEncoderConfiguration.

◆ setExternalVideoConfigEx() [2/2]

virtual int agora::media::IMediaEngineEx::setExternalVideoConfigEx ( const rtc::VideoEncoderConfiguration config,
const rtc::RtcConnection connection 
)
pure virtual

◆ registerAudioFrameObserver()

virtual int agora::media::IMediaEngine::registerAudioFrameObserver

Registers an audio frame observer object.

Note
Ensure that you call this method before joinChannel.
Parameters
observerA pointer to the audio frame observer object: IAudioFrameObserver, nullptr means unregistering observer instead.
Returns
  • 0: Success.
  • < 0: Failure.

◆ registerVideoFrameObserver()

virtual int agora::media::IMediaEngine::registerVideoFrameObserver

Registers a video frame observer object.

Note
  • Ensure that you call this method before joining the channel.
  • If you register an observer for video raw video data, you cannot register an IVideoEncodedFrameObserver object.
Parameters
observerA pointer to the video frame observer: IVideoFrameObserver.
Returns
  • 0: Success.
  • < 0: Failure.

◆ registerVideoEncodedFrameObserver()

virtual int agora::media::IMediaEngine::registerVideoEncodedFrameObserver

Registers a receiver object for the encoded video image.

Note
  • Ensure that you call this method before joining the channel.
Parameters
observerA pointer to the observer of the encoded video image: IVideoEncodedFrameObserver.
Returns
  • 0: Success.
  • < 0: Failure.

◆ pushEncodedVideoImage()

virtual int agora::media::IMediaEngine::pushEncodedVideoImage

Pushes the encoded video image to the app.

Parameters
imageBufferA pointer to the video image.
lengthThe data length.
videoEncodedFrameInfoThe reference to the information of the encoded video frame: EncodedVideoFrameInfo.
videoTrackIdThe id of the video track.
  • 0: Success.
  • < 0: Failure.