|
Agora RTC Objective-C API Reference
Refactor
|
Go to the documentation of this file.
7 #pragma once // NOLINT(build/header_guard)
14 #if defined(WEBRTC_IOS)
15 #include <coreVideo/CVPixelBuffer.h>
45 virtual int postEvent(
const char* key,
const char* value) = 0;
52 #if defined(WEBRTC_IOS)
53 virtual int pushVideoFrame(CVPixelBufferRef pixelBuffer, int64_t timestamp_ms, uint32_t rotation) = 0;
55 #if defined(WEBRTC_WIN)
56 virtual void recycleVideoCache() = 0;
67 #if defined (__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) || defined(__OHOS__)
75 struct VideoCaptureConfig {
76 #if !defined(__linux__)
77 enum class CapturerMode {
80 kScreenCaptureKit = 10,
91 Rectangle screen_rect;
92 Rectangle region_offset;
100 bool disable_frame_transparent_check;
101 #if !defined(__linux__)
102 CapturerMode capturerMode = CapturerMode::kUnspecified;
104 bool captureAudio =
false;
105 int audio_channel_count = 2;
106 int audio_sample_rate = 48000;
107 bool excludeCurrentProcessAudio =
true;
111 : type(CaptureScreen), screen_rect(), region_offset(), display_id(0), window_id(NULL), window_focused(false), disable_avf(false), disable_frame_transparent_check(false) { }
125 #if defined(WEBRTC_MAC) && !defined(WEBRTC_IOS)
131 ApiType api_type = ApiType::kUnspecified;
191 virtual int setProperty(
const char* key,
const char* json_value) {
197 virtual int getProperty(
const char* key,
char* json_value,
int& length) {
200 virtual int setHighLight(
bool isHighLight,
unsigned int color,
int width) {
213 #if defined(WEBRTC_ANDROID) && !defined(RTC_EXCLUDE_JAVA)
214 virtual void setSmoothCapture(
bool smoothCapture) {};
215 virtual void setResetVitualDisplay(
bool reset) {};
217 #if defined(WEBRTC_ANDROID)
218 virtual int setExternalMediaProjection(
void* mediaProjection) {
virtual int updateCaptureRegion(const agora::rtc::Rectangle &captureRegion)
Definition: NGIAgoraExtensionScreenSource.h:173
virtual int getProfilingStats(ScreenCaptureProfilingStatistics &stats)
Definition: NGIAgoraExtensionScreenSource.h:185
Definition: NGIAgoraExtensionScreenSource.h:20
virtual int startVideoCapture(const VideoCaptureConfig &config)=0
uint32_t captured_frame_height
Definition: NGIAgoraExtensionScreenSource.h:23
Definition: AgoraRefPtr.h:44
virtual int stopVideoCapture()=0
uint64_t per_frame_cap_time_ms
Definition: NGIAgoraExtensionScreenSource.h:25
virtual int setHighLight(bool isHighLight, unsigned int color, int width)
Definition: NGIAgoraExtensionScreenSource.h:200
@ kPull
Definition: NGIAgoraExtensionScreenSource.h:136
virtual int postEvent(const char *key, const char *value)=0
bool ignore_unresponsive
Definition: NGIAgoraExtensionScreenSource.h:123
uint32_t captured_frame_width
Definition: NGIAgoraExtensionScreenSource.h:22
The location of the target area relative to the screen or window. If you do not set this parameter,...
Definition: AgoraBase.h:2342
void * view_t
Definition: AgoraBase.h:850
bool include_screen
Definition: NGIAgoraExtensionScreenSource.h:120
agora::rtc::VideoDimensions dimensions
Definition: NGIAgoraExtensionScreenSource.h:69
virtual CaptureMode getVideoCaptureMode()=0
AudioCaptureConfig()
Definition: NGIAgoraExtensionScreenSource.h:64
virtual void printLog(commons::LOG_LEVEL level, const char *format,...)=0
Definition: AgoraAtomicOps.h:21
Definition: NGIAgoraExtensionScreenSource.h:115
ScreenCaptureProfilingStatistics()
Definition: NGIAgoraExtensionScreenSource.h:33
Definition: NGIAgoraExtensionScreenSource.h:60
virtual int setCustomContext(const char *key, const void *context)
Definition: NGIAgoraExtensionScreenSource.h:194
uint32_t volume
Definition: NGIAgoraExtensionScreenSource.h:61
uint32_t drop_fps
Definition: NGIAgoraExtensionScreenSource.h:31
int num_channels
Definition: NGIAgoraExtensionScreenSource.h:63
OPTIONAL_ENUM_CLASS LOG_LEVEL
The output log level of the SDK.
Definition: IAgoraLog.h:33
uint32_t real_capture_fps
Definition: NGIAgoraExtensionScreenSource.h:29
virtual agora::agora_refptr< IVideoFrameMemoryPool > getMemoryPool()=0
int thumb_width
Definition: NGIAgoraExtensionScreenSource.h:116
virtual int initializeCapture(const agora_refptr< Control > &control)=0
virtual int setContentType(int contentType)
Definition: NGIAgoraExtensionScreenSource.h:203
virtual int capture(agora::agora_refptr< IVideoFrame > &frame)
Definition: NGIAgoraExtensionScreenSource.h:182
uint32_t capture_out_fps
Definition: NGIAgoraExtensionScreenSource.h:30
virtual int setAudioVolume(uint32_t volume)
Definition: NGIAgoraExtensionScreenSource.h:163
virtual int setProperty(const char *key, const char *json_value)
Definition: NGIAgoraExtensionScreenSource.h:191
Definition: NGIAgoraExtensionScreenSource.h:43
VideoCaptureConfig()
Definition: NGIAgoraExtensionScreenSource.h:71
@ kPush
Definition: NGIAgoraExtensionScreenSource.h:137
uint32_t target_fps
Definition: NGIAgoraExtensionScreenSource.h:28
int thumb_height
Definition: NGIAgoraExtensionScreenSource.h:117
virtual void setFrameCopy(bool frameCopy)
Definition: NGIAgoraExtensionScreenSource.h:212
virtual int setScreenCaptureDimensions(const agora::rtc::VideoDimensions &dimensions)
Definition: NGIAgoraExtensionScreenSource.h:170
virtual int getScreenDimensions(int &width, int &height)
Definition: NGIAgoraExtensionScreenSource.h:188
virtual void * getScreenCaptureSources(const ScreenSourceListOption &option)
Definition: NGIAgoraExtensionScreenSource.h:209
virtual int pushVideoFrame(const agora::agora_refptr< IVideoFrame > &captured_frame)=0
int sample_rate_hz
Definition: NGIAgoraExtensionScreenSource.h:62
virtual void * getCustomContext(const char *key)
Definition: NGIAgoraExtensionScreenSource.h:206
bool unskip_system_window
Definition: NGIAgoraExtensionScreenSource.h:122
Definition: NGIAgoraExtensionScreenSource.h:41
int frameRate
Definition: NGIAgoraExtensionScreenSource.h:70
virtual int stopAudioCapture()
Definition: NGIAgoraExtensionScreenSource.h:160
uint32_t total_captured_frames
Definition: NGIAgoraExtensionScreenSource.h:24
uint64_t per_capture_cpu_cycles
Definition: NGIAgoraExtensionScreenSource.h:26
Definition: AgoraRefPtr.h:31
virtual bool isAudioCaptureSupported()
Definition: NGIAgoraExtensionScreenSource.h:154
virtual int getProperty(const char *key, char *json_value, int &length)
Definition: NGIAgoraExtensionScreenSource.h:197
virtual int setFrameRate(int fps)
Definition: NGIAgoraExtensionScreenSource.h:166
CaptureMode
Definition: NGIAgoraExtensionScreenSource.h:135
virtual int startAudioCapture(const AudioCaptureConfig &config)
Definition: NGIAgoraExtensionScreenSource.h:157
The video dimension.
Definition: AgoraBase.h:1166
int capture_type
Definition: NGIAgoraExtensionScreenSource.h:21
bool capture_mouse_cursor
Definition: NGIAgoraExtensionScreenSource.h:27
virtual bool timeToPushVideo()=0
virtual ~IScreenCaptureSource()
Definition: NGIAgoraExtensionScreenSource.h:141
virtual int pushAudioFrame(const media::IAudioFrameObserver::AudioFrame &captured_frame)=0
bool unfiltered
Definition: NGIAgoraExtensionScreenSource.h:121
virtual void printLog(commons::LOG_LEVEL level, const char *fromat, va_list)=0
virtual int stopVideoCaptureAsync()=0
int icon_height
Definition: NGIAgoraExtensionScreenSource.h:119
@ ERR_NOT_SUPPORTED
Definition: AgoraBase.h:488
virtual int initVideo(const VideoCaptureConfig &config)=0
Definition: NGIAgoraExtensionScreenSource.h:68
int icon_width
Definition: NGIAgoraExtensionScreenSource.h:118
virtual int setExcludeWindowList(void *const *handles, int count)
Definition: NGIAgoraExtensionScreenSource.h:176
virtual int captureMouseCursor(bool capture)
Definition: NGIAgoraExtensionScreenSource.h:179