Agora C++ API Reference for All Platforms
|
9 #include "NGIAgoraScreenCapturer.h"
10 #include "api/video/video_content_type.h"
11 #include "api/video/video_frame.h"
12 #include "api/video/video_sink_interface.h"
13 #include "modules/desktop_capture/desktop_capturer.h"
18 class IScreenCaptureObserver;
37 virtual void SetHighLight(
bool isHighLight,
unsigned int color,
int width) {}
41 virtual void SetCaptureSource(
bool allow_magnification_api,
bool allow_directx_capturer) {}
42 virtual void GetCaptureSource(
bool& allow_magnification_api,
bool& allow_directx_capturer) {}
45 #if defined(_WIN32) || (defined(WEBRTC_MAC) && !defined(WEBRTC_IOS))
51 #endif // _WIN32 || (WEBRTC_MAC&&!WEBRTC_IOS)
59 bool include_screen) {
75 #if defined(__ANDROID__) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE)
76 class AudioPcmDataSinkInterface;
virtual int InitUsingLastRegionSetting()
Definition: screen_capture_i.h:40
virtual int GetCaptureType()=0
virtual void ForcedUsingScreenCapture(bool using_screen_capture)
Definition: screen_capture_i.h:46
Definition: screen_capture_i.h:66
virtual void onScreenCaptureStateChanged(IScreenCapturerEx::SCREEN_CAPTURER_STATE state)
Definition: screen_capture_i.h:68
virtual void SetHighLight(bool isHighLight, unsigned int color, int width)
Definition: screen_capture_i.h:37
SCREEN_CAPTURER_STATE
Definition: screen_capture_i.h:22
@ SCREEN_CAPTURER_STOPPED
Definition: screen_capture_i.h:24
virtual void SetExcludeWindowList(const std::vector< void * > &window_list)=0
virtual int SetOutputDimensions(VideoDimensions dimension)
Definition: screen_capture_i.h:34
virtual void RegisterCaptureDataCallback(std::weak_ptr<::rtc::VideoSinkInterface< webrtc::VideoFrame >> dataCallback)=0
virtual int unregisterScreenCaptureObserver(IScreenCaptureObserver *observer)
Definition: screen_capture_i.h:55
virtual void deinit()
Definition: screen_capture_i.h:62
virtual bool FocusOnSelectedSource()=0
virtual int registerScreenCaptureObserver(IScreenCaptureObserver *observer)
Definition: screen_capture_i.h:52
Definition: AgoraAtomicOps.h:21
virtual void * getScreenCaptureSources(int thumb_cx, int thumb_cy, int icon_cx, int icon_cy, bool include_screen)
Definition: screen_capture_i.h:58
Definition: NGIAgoraScreenCapturer.h:18
virtual ~IScreenCaptureObserver()
Definition: screen_capture_i.h:72
virtual int CaptureMouseCursor(bool capture)=0
virtual void removePcmDataSink(AudioPcmDataSinkInterface *sink)=0
virtual int StopCapture()=0
virtual void GetCaptureSource(bool &allow_magnification_api, bool &allow_directx_capturer)
Definition: screen_capture_i.h:42
virtual void SetCaptureSource(bool allow_magnification_api, bool allow_directx_capturer)
Definition: screen_capture_i.h:41
virtual int startAudioCapture()=0
Definition: NGIAgoraScreenCapturer.h:145
@ ERR_NOT_SUPPORTED
Definition: AgoraBase.h:474
virtual void deinit()
Definition: screen_capture_i.h:85
virtual int GetScreenDimensions(VideoDimensions &dimension)=0
virtual int stopAudioCapture()=0
Definition: screen_capture_i.h:77
virtual webrtc::DesktopCapturer::SourceId GetSourceId()=0
virtual int SetContentType(agora::VideoContentSubType type)
Definition: screen_capture_i.h:35
virtual int stopVideoCapture()=0
@ SCREEN_CAPTURER_STARTED
Definition: screen_capture_i.h:23
Definition: screen_capture_i.h:20
virtual ~IScreenCapturerEx()
Definition: screen_capture_i.h:27
Definition: AgoraBase.h:1079
virtual void attachStatsSpace(uint64_t stats_space)
Definition: screen_capture_i.h:63
virtual void addPcmDataSink(AudioPcmDataSinkInterface *sink)=0
Definition: video_node_i.h:29
virtual int startVideoCapture()=0
Definition: video_node_i.h:25
virtual int StartCapture()=0