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  VideoCaptureConfig
 

Public Types

enum  CaptureMode { kPull, kPush }
 
enum  VideoContentSubType {
  UNSPECIFIED = 0, SHARE_DOCUMENT = 1, SHARE_GAMING = 2, SHARE_VIDEO = 3,
  SHARE_RDC = 4, SHARE_HFHD = 5, MAX = 16
}
 

Public Member Functions

virtual ~IScreenCaptureSource ()
 
virtual int initializeCapture (const agora_refptr< Control > &control)=0
 
virtual int startVideoCapture (const VideoCaptureConfig &config)=0
 
virtual int stopVideoCapture ()=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 void * getCustomContext (const char *key)
 
virtual void * getScreenCaptureSources (int thumb_cx, int thumb_cy, int icon_cx, int icon_cy, bool include_screen)
 
virtual int SetContentType (VideoContentSubType type)
 
- 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 

◆ VideoContentSubType

Enumerator
UNSPECIFIED 
SHARE_DOCUMENT 
SHARE_GAMING 
SHARE_VIDEO 
SHARE_RDC 
SHARE_HFHD 
MAX 

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

◆ startVideoCapture()

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

◆ stopVideoCapture()

virtual int agora::rtc::IScreenCaptureSource::stopVideoCapture ( )
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

◆ getCustomContext()

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

◆ getScreenCaptureSources()

virtual void* agora::rtc::IScreenCaptureSource::getScreenCaptureSources ( int  thumb_cx,
int  thumb_cy,
int  icon_cx,
int  icon_cy,
bool  include_screen 
)
inlinevirtual

◆ SetContentType()

virtual int agora::rtc::IScreenCaptureSource::SetContentType ( VideoContentSubType  type)
inlinevirtual