Agora C++ API Reference for All Platforms
Classes | Public Types | Public Member Functions | List of all members
agora::rtc::IScreenCaptureSource Class Referenceabstract

Inherits agora::RefCountInterface.

Classes

struct  AudioCaptureConfig
 
class  Control
 
struct  ScreenSourceListOption
 
struct  VideoCaptureConfig
 

Public Types

enum  CaptureMode { kPull, kPush }
 

Public Member Functions

virtual ~IScreenCaptureSource ()
 
virtual int initializeCapture (const agora_refptr< Control > &control)=0
 
virtual int initVideo (const VideoCaptureConfig &config)=0
 
virtual int startVideoCapture (const VideoCaptureConfig &config)=0
 
virtual int stopVideoCapture ()=0
 
virtual int stopVideoCaptureAsync ()=0
 
virtual CaptureMode getVideoCaptureMode ()=0
 
virtual int startAudioCapture (const AudioCaptureConfig &config)
 
virtual int stopAudioCapture ()
 
virtual int setAudioVolume (uint32_t volume)
 
virtual int setFrameRate (int fps)
 
virtual int setScreenCaptureDimensions (const agora::rtc::VideoDimensions &dimensions)
 
virtual int updateCaptureRegion (const agora::rtc::Rectangle &captureRegion)
 
virtual int setExcludeWindowList (void *const *handles, int count)
 
virtual int captureMouseCursor (bool capture)
 
virtual int capture (agora::agora_refptr< IVideoFrame > &frame)
 
virtual int getProfilingStats (ScreenCaptureProfilingStatistics &stats)
 
virtual int getScreenDimensions (int &width, int &height)
 
virtual int setProperty (const char *key, const char *json_value)
 
virtual int setCustomContext (const char *key, const void *context)
 
virtual int getProperty (const char *key, char *json_value, int &length)
 
virtual int setHighLight (bool isHighLight, unsigned int color, int width)
 
virtual int setContentType (int contentType)
 
virtual void * getCustomContext (const char *key)
 
virtual void * getScreenCaptureSources (const ScreenSourceListOption &option)
 
virtual void setFrameCopy (bool frameCopy)
 
virtual void setSmoothCapture (bool smoothCapture)
 
virtual void setResetVitualDisplay (bool reset)
 
- Public Member Functions inherited from agora::RefCountInterface
virtual void AddRef () const =0
 
virtual RefCountReleaseStatus Release () const =0
 
virtual bool HasOneRef () const =0
 

Additional Inherited Members

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

Member Enumeration Documentation

◆ CaptureMode

Enumerator
kPull 
kPush 

Constructor & Destructor Documentation

◆ ~IScreenCaptureSource()

virtual agora::rtc::IScreenCaptureSource::~IScreenCaptureSource ( )
inlinevirtual

Member Function Documentation

◆ initializeCapture()

virtual int agora::rtc::IScreenCaptureSource::initializeCapture ( const agora_refptr< Control > &  control)
pure virtual

◆ initVideo()

virtual int agora::rtc::IScreenCaptureSource::initVideo ( const VideoCaptureConfig config)
pure virtual

◆ startVideoCapture()

virtual int agora::rtc::IScreenCaptureSource::startVideoCapture ( const VideoCaptureConfig config)
pure virtual

◆ stopVideoCapture()

virtual int agora::rtc::IScreenCaptureSource::stopVideoCapture ( )
pure virtual

◆ stopVideoCaptureAsync()

virtual int agora::rtc::IScreenCaptureSource::stopVideoCaptureAsync ( )
pure virtual

◆ getVideoCaptureMode()

virtual CaptureMode agora::rtc::IScreenCaptureSource::getVideoCaptureMode ( )
pure virtual

◆ startAudioCapture()

virtual int agora::rtc::IScreenCaptureSource::startAudioCapture ( const AudioCaptureConfig config)
inlinevirtual

◆ stopAudioCapture()

virtual int agora::rtc::IScreenCaptureSource::stopAudioCapture ( )
inlinevirtual

◆ setAudioVolume()

virtual int agora::rtc::IScreenCaptureSource::setAudioVolume ( uint32_t  volume)
inlinevirtual

◆ setFrameRate()

virtual int agora::rtc::IScreenCaptureSource::setFrameRate ( int  fps)
inlinevirtual

◆ setScreenCaptureDimensions()

virtual int agora::rtc::IScreenCaptureSource::setScreenCaptureDimensions ( const agora::rtc::VideoDimensions dimensions)
inlinevirtual

◆ updateCaptureRegion()

virtual int agora::rtc::IScreenCaptureSource::updateCaptureRegion ( const agora::rtc::Rectangle captureRegion)
inlinevirtual

◆ setExcludeWindowList()

virtual int agora::rtc::IScreenCaptureSource::setExcludeWindowList ( void *const *  handles,
int  count 
)
inlinevirtual

◆ captureMouseCursor()

virtual int agora::rtc::IScreenCaptureSource::captureMouseCursor ( bool  capture)
inlinevirtual

◆ capture()

virtual int agora::rtc::IScreenCaptureSource::capture ( agora::agora_refptr< IVideoFrame > &  frame)
inlinevirtual

◆ getProfilingStats()

virtual int agora::rtc::IScreenCaptureSource::getProfilingStats ( ScreenCaptureProfilingStatistics stats)
inlinevirtual

◆ getScreenDimensions()

virtual int agora::rtc::IScreenCaptureSource::getScreenDimensions ( int &  width,
int &  height 
)
inlinevirtual

◆ setProperty()

virtual int agora::rtc::IScreenCaptureSource::setProperty ( const char *  key,
const char *  json_value 
)
inlinevirtual

◆ setCustomContext()

virtual int agora::rtc::IScreenCaptureSource::setCustomContext ( const char *  key,
const void *  context 
)
inlinevirtual

◆ getProperty()

virtual int agora::rtc::IScreenCaptureSource::getProperty ( const char *  key,
char *  json_value,
int &  length 
)
inlinevirtual

◆ setHighLight()

virtual int agora::rtc::IScreenCaptureSource::setHighLight ( bool  isHighLight,
unsigned int  color,
int  width 
)
inlinevirtual

◆ setContentType()

virtual int agora::rtc::IScreenCaptureSource::setContentType ( int  contentType)
inlinevirtual

◆ getCustomContext()

virtual void* agora::rtc::IScreenCaptureSource::getCustomContext ( const char *  key)
inlinevirtual

◆ getScreenCaptureSources()

virtual void* agora::rtc::IScreenCaptureSource::getScreenCaptureSources ( const ScreenSourceListOption option)
inlinevirtual

◆ setFrameCopy()

virtual void agora::rtc::IScreenCaptureSource::setFrameCopy ( bool  frameCopy)
inlinevirtual

◆ setSmoothCapture()

virtual void agora::rtc::IScreenCaptureSource::setSmoothCapture ( bool  smoothCapture)
inlinevirtual

◆ setResetVitualDisplay()

virtual void agora::rtc::IScreenCaptureSource::setResetVitualDisplay ( bool  reset)
inlinevirtual