Agora C++ API Reference for All Platforms
Loading...
Searching...
No Matches
NGIAgoraScreenCapturer.h
1//
2// Agora SDK
3//
4// Copyright (c) 2019 Agora.io. All rights reserved.
5//
6
7#pragma once // NOLINT(build/header_guard)
8
9#include "AgoraBase.h"
10#include "AgoraRefPtr.h"
11#include <api/cpp/aosl_ares_class.h>
12
13namespace agora {
14namespace rtc {
15
20 public:
21#if defined (_WIN32) || (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IPHONE) || (defined(__linux__) && !defined(__ANDROID__) && !defined(__OHOS__))
39 virtual int initWithDisplayId(int64_t displayId, const Rectangle& regionRect) = 0;
40#endif
41
42#if defined(_WIN32) || (defined(__linux__) && !defined(__ANDROID__) && !defined(__OHOS__))
60 virtual int initWithScreenRect(const Rectangle& screenRect,
61 const Rectangle& regionRect) = 0;
62#endif // TARGET_OS_MAC && !TARGET_OS_IPHONE
63
81 virtual int initWithWindowId(view_t windowId, const Rectangle& regionRect) = 0;
82
94 virtual int setContentHint(VIDEO_CONTENT_HINT contentHint, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
95
106 virtual int updateScreenCaptureRegion(const Rectangle& regionRect, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
107
112 virtual int setScreenOrientation(VIDEO_ORIENTATION orientation, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
113
118 virtual int setFrameRate(int rate, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
119
120#if defined(__ANDROID__)
138 const VideoDimensions& dimensions) = 0;
139#endif // __ANDROID__
140
141 protected:
143};
144
145#if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IPHONE) || defined (__OHOS__)
147 public:
158 virtual int setScreenCaptureDimensions(const VideoDimensions& dimensions, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
159
170 virtual int updateScreenCaptureRegion(const Rectangle& regionRect, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
171
176 virtual int setFrameRate(int rate, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
177
186 virtual int setAudioRecordConfig(int channels, int sampleRate, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
187
195 virtual int setAudioVolume(uint32_t volume, aosl_ref_t ares = AOSL_REF_INVALID) = 0;
196
197#if defined(__ANDROID__)
214 virtual int setExternalMediaProjection(void* mediaProjection) = 0;
215#endif
216
217 protected:
218 virtual ~IScreenCapturer2() {}
219};
220#endif
221
222} // namespace rtc
223} // namespace agora
Definition AgoraRefPtr.h:31
Definition NGIAgoraScreenCapturer.h:146
virtual int setAudioRecordConfig(int channels, int sampleRate, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int updateScreenCaptureRegion(const Rectangle &regionRect, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int setAudioVolume(uint32_t volume, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int setScreenCaptureDimensions(const VideoDimensions &dimensions, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int setFrameRate(int rate, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int setExternalMediaProjection(void *mediaProjection)=0
virtual ~IScreenCapturer2()
Definition NGIAgoraScreenCapturer.h:218
Definition NGIAgoraScreenCapturer.h:19
virtual int updateScreenCaptureRegion(const Rectangle &regionRect, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int setFrameRate(int rate, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int initWithScreenRect(const Rectangle &screenRect, const Rectangle &regionRect)=0
virtual int initWithMediaProjectionPermissionResultData(void *data, const VideoDimensions &dimensions)=0
virtual int setScreenOrientation(VIDEO_ORIENTATION orientation, aosl_ref_t ares=AOSL_REF_INVALID)=0
virtual int initWithWindowId(view_t windowId, const Rectangle &regionRect)=0
virtual int initWithDisplayId(int64_t displayId, const Rectangle &regionRect)=0
virtual int setContentHint(VIDEO_CONTENT_HINT contentHint, aosl_ref_t ares=AOSL_REF_INVALID)=0
~IScreenCapturer()
Definition NGIAgoraScreenCapturer.h:142
Definition AgoraExtensions.h:5
VIDEO_CONTENT_HINT
Definition AgoraBase.h:3130
VIDEO_ORIENTATION
Definition AgoraBase.h:987
Definition AgoraAtomicOps.h:21
void * view_t
Definition AgoraBase.h:854
Definition AgoraBase.h:2281
Definition AgoraBase.h:1139