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)
virtual int | setExternalMediaProjection (void *mediaProjection)
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

enum agora::rtc::IScreenCaptureSource::CaptureMode

Enumerator
kPull |
kPush |

## Constructor & Destructor Documentation

## ◆ ~IScreenCaptureSource()

virtual agora::rtc::IScreenCaptureSource::~IScreenCaptureSource | ( |  | ) |
| inline virtual

## 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 | ) |
| inline virtual

## ◆ stopAudioCapture()

virtual int agora::rtc::IScreenCaptureSource::stopAudioCapture | ( |  | ) |
| inline virtual

## ◆ setAudioVolume()

virtual int agora::rtc::IScreenCaptureSource::setAudioVolume | ( | uint32_t | volume | ) |
| inline virtual

## ◆ setFrameRate()

virtual int agora::rtc::IScreenCaptureSource::setFrameRate | ( | int | fps | ) |
| inline virtual

## ◆ setScreenCaptureDimensions()

virtual int agora::rtc::IScreenCaptureSource::setScreenCaptureDimensions | ( | const agora::rtc::VideoDimensions & | dimensions | ) |
| inline virtual

## ◆ updateCaptureRegion()

virtual int agora::rtc::IScreenCaptureSource::updateCaptureRegion | ( | const agora::rtc::Rectangle & | captureRegion | ) |
| inline virtual

## ◆ setExcludeWindowList()

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

## ◆ captureMouseCursor()

virtual int agora::rtc::IScreenCaptureSource::captureMouseCursor | ( | bool | capture | ) |
| inline virtual

## ◆ capture()

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

## ◆ getProfilingStats()

virtual int agora::rtc::IScreenCaptureSource::getProfilingStats | ( | ScreenCaptureProfilingStatistics & | stats | ) |
| inline virtual

## ◆ getScreenDimensions()

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

## ◆ setProperty()

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

## ◆ setCustomContext()

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

## ◆ getProperty()

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

## ◆ setHighLight()

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

## ◆ setContentType()

virtual int agora::rtc::IScreenCaptureSource::setContentType | ( | int | contentType | ) |
| inline virtual

## ◆ getCustomContext()

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

## ◆ getScreenCaptureSources()

virtual void* agora::rtc::IScreenCaptureSource::getScreenCaptureSources | ( | const ScreenSourceListOption & | option | ) |
| inline virtual

## ◆ setFrameCopy()

virtual void agora::rtc::IScreenCaptureSource::setFrameCopy | ( | bool | frameCopy | ) |
| inline virtual

## ◆ setSmoothCapture()

virtual void agora::rtc::IScreenCaptureSource::setSmoothCapture | ( | bool | smoothCapture | ) |
| inline virtual

## ◆ setResetVitualDisplay()

virtual void agora::rtc::IScreenCaptureSource::setResetVitualDisplay | ( | bool | reset | ) |
| inline virtual

## ◆ setExternalMediaProjection()

virtual int agora::rtc::IScreenCaptureSource::setExternalMediaProjection | ( | void * | mediaProjection | ) |
| inline virtual