Agora C++ API Reference for All Platforms
|
7 #pragma once // NOLINT(build/header_guard)
10 #include "IAgoraLog.h"
11 #include "AgoraRefPtr.h"
12 #include "NGIAgoraVideoFrame.h"
13 #include "AgoraMediaBase.h"
36 virtual int postEvent(
const char* key,
const char* value) = 0;
51 #if defined (__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE)
58 struct VideoCaptureConfig {
134 virtual int setProperty(
const char* key,
const char* json_value) {
140 virtual int getProperty(
const char* key,
char* json_value,
int& length) {
143 virtual int setHighLight(
bool isHighLight,
unsigned int color,
int width) {
150 bool include_screen) {
virtual void * getScreenCaptureSources(int thumb_cx, int thumb_cy, int icon_cx, int icon_cy, bool include_screen)
Definition: NGIAgoraExtensionScreenSource.h:149
ScreenCaptureProfilingStatistics()
Definition: NGIAgoraExtensionScreenSource.h:26
@ CaptureScreen
Definition: NGIAgoraExtensionScreenSource.h:61
virtual int pushAudioFrame(const media::IAudioFrameObserver::AudioFrame &captured_frame)=0
Definition: NGIAgoraExtensionScreenSource.h:17
virtual bool timeToPushVideo()=0
Definition: AgoraRefPtr.h:44
uint32_t captured_frame_height
Definition: NGIAgoraExtensionScreenSource.h:20
virtual int postEvent(const char *key, const char *value)=0
@ SHARE_RDC
Definition: NGIAgoraExtensionScreenSource.h:83
Definition: AgoraBase.h:1930
void * view_t
Definition: AgoraBase.h:799
VideoContentSubType
Definition: NGIAgoraExtensionScreenSource.h:78
@ MAX
Definition: NGIAgoraExtensionScreenSource.h:85
virtual int getProfilingStats(ScreenCaptureProfilingStatistics &stats)
Definition: NGIAgoraExtensionScreenSource.h:128
@ CaptureWindow
Definition: NGIAgoraExtensionScreenSource.h:60
virtual int setAudioVolume(uint32_t volume)
Definition: NGIAgoraExtensionScreenSource.h:107
@ kPush
Definition: NGIAgoraExtensionScreenSource.h:75
virtual int capture(agora::agora_refptr< IVideoFrame > &frame)
Definition: NGIAgoraExtensionScreenSource.h:125
virtual int setHighLight(bool isHighLight, unsigned int color, int width)
Definition: NGIAgoraExtensionScreenSource.h:143
Rectangle region_offset
Definition: NGIAgoraExtensionScreenSource.h:65
AudioCaptureConfig()
Definition: NGIAgoraExtensionScreenSource.h:48
uint32_t total_captured_frames
Definition: NGIAgoraExtensionScreenSource.h:21
Definition: AgoraAtomicOps.h:21
uint32_t captured_frame_width
Definition: NGIAgoraExtensionScreenSource.h:19
Definition: NGIAgoraExtensionScreenSource.h:44
virtual int stopAudioCapture()
Definition: NGIAgoraExtensionScreenSource.h:104
virtual int captureMouseCursor(bool capture)
Definition: NGIAgoraExtensionScreenSource.h:122
uint32_t display_id
Definition: NGIAgoraExtensionScreenSource.h:66
@ SHARE_HFHD
Definition: NGIAgoraExtensionScreenSource.h:84
virtual int getProperty(const char *key, char *json_value, int &length)
Definition: NGIAgoraExtensionScreenSource.h:140
virtual void printLog(commons::LOG_LEVEL level, const char *format,...)=0
virtual int setProperty(const char *key, const char *json_value)
Definition: NGIAgoraExtensionScreenSource.h:134
virtual agora::agora_refptr< IVideoFrameMemoryPool > getMemoryPool()=0
OPTIONAL_ENUM_CLASS LOG_LEVEL
Definition: IAgoraLog.h:33
agora::rtc::VideoDimensions dimensions
Definition: NGIAgoraExtensionScreenSource.h:53
int num_channels
Definition: NGIAgoraExtensionScreenSource.h:47
Definition: NGIAgoraExtensionScreenSource.h:34
CaptureMode
Definition: NGIAgoraExtensionScreenSource.h:73
virtual int initializeCapture(const agora_refptr< Control > &control)=0
uint64_t per_frame_cap_time_ms
Definition: NGIAgoraExtensionScreenSource.h:22
bool capture_mouse_cursor
Definition: NGIAgoraExtensionScreenSource.h:24
virtual int setFrameRate(int fps)
Definition: NGIAgoraExtensionScreenSource.h:110
virtual int pushVideoFrame(const agora::agora_refptr< IVideoFrame > &captured_frame)=0
int capture_type
Definition: NGIAgoraExtensionScreenSource.h:18
virtual int updateCaptureRegion(const agora::rtc::Rectangle &captureRegion)
Definition: NGIAgoraExtensionScreenSource.h:116
virtual int startAudioCapture(const AudioCaptureConfig &config)
Definition: NGIAgoraExtensionScreenSource.h:101
@ SHARE_DOCUMENT
Definition: NGIAgoraExtensionScreenSource.h:80
uint32_t volume
Definition: NGIAgoraExtensionScreenSource.h:45
@ ERR_NOT_SUPPORTED
Definition: AgoraBase.h:474
virtual CaptureMode getVideoCaptureMode()=0
Definition: NGIAgoraExtensionScreenSource.h:32
CaptureType type
Definition: NGIAgoraExtensionScreenSource.h:63
virtual int stopVideoCapture()=0
Definition: AgoraRefPtr.h:31
virtual int startVideoCapture(const VideoCaptureConfig &config)=0
view_t window_id
Definition: NGIAgoraExtensionScreenSource.h:67
@ UNSPECIFIED
Definition: NGIAgoraExtensionScreenSource.h:79
virtual int SetContentType(VideoContentSubType type)
Definition: NGIAgoraExtensionScreenSource.h:154
Definition: AgoraBase.h:1079
CaptureType
Definition: NGIAgoraExtensionScreenSource.h:59
virtual void * getCustomContext(const char *key)
Definition: NGIAgoraExtensionScreenSource.h:146
virtual int setCustomContext(const char *key, const void *context)
Definition: NGIAgoraExtensionScreenSource.h:137
virtual int setScreenCaptureDimensions(const agora::rtc::VideoDimensions &dimensions)
Definition: NGIAgoraExtensionScreenSource.h:113
@ kPull
Definition: NGIAgoraExtensionScreenSource.h:74
virtual ~IScreenCaptureSource()
Definition: NGIAgoraExtensionScreenSource.h:90
virtual int setExcludeWindowList(void *const *handles, int count)
Definition: NGIAgoraExtensionScreenSource.h:119
VideoCaptureConfig()
Definition: NGIAgoraExtensionScreenSource.h:54
@ SHARE_VIDEO
Definition: NGIAgoraExtensionScreenSource.h:82
Rectangle screen_rect
Definition: NGIAgoraExtensionScreenSource.h:64
int sample_rate_hz
Definition: NGIAgoraExtensionScreenSource.h:46
virtual int getScreenDimensions(int &width, int &height)
Definition: NGIAgoraExtensionScreenSource.h:131
Definition: NGIAgoraExtensionScreenSource.h:52
uint64_t per_capture_cpu_cycles
Definition: NGIAgoraExtensionScreenSource.h:23
@ SHARE_GAMING
Definition: NGIAgoraExtensionScreenSource.h:81
Definition: video_node_i.h:25