7 #pragma once // NOLINT(build/header_guard)
10 #include "AgoraRefPtr.h"
20 #if defined (_WIN32) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE)
38 virtual int initWithDisplayId(uint32_t displayId,
const Rectangle& regionRect) = 0;
41 #if defined(_WIN32) || (defined(__linux__) && !defined(__ANDROID__))
59 virtual int initWithScreenRect(
const Rectangle& screenRect,
61 #endif // TARGET_OS_MAC && !TARGET_OS_IPHONE
119 #if defined(__ANDROID__)
136 virtual int initWithMediaProjectionPermissionResultData(
void* data,
138 #endif // __ANDROID__
144 #if defined(__ANDROID__) || TARGET_OS_IPHONE
157 virtual int setScreenCaptureDimensions(
const VideoDimensions& dimensions) = 0;
169 virtual int updateScreenCaptureRegion(
const Rectangle& regionRect) = 0;
175 virtual int setFrameRate(
int rate) = 0;
185 virtual int setAudioRecordConfig(
int channels,
int sampleRate) = 0;
194 virtual int setAudioVolume(uint32_t volume) = 0;
197 virtual ~IScreenCapturer2() {}