Agora Java API Reference for Android
|
7 #pragma once // NOLINT(build/header_guard)
14 #ifndef OPTIONAL_ENUM_SIZE_T
15 #if __cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1800)
16 #define OPTIONAL_ENUM_SIZE_T enum : size_t
18 #define OPTIONAL_ENUM_SIZE_T enum
22 #if !defined(__APPLE__)
29 typedef unsigned int uid_t;
30 typedef unsigned int track_id_t;
31 typedef unsigned int conn_id_t;
33 static const unsigned int DEFAULT_CONNECTION_ID = 0;
34 static const unsigned int DUMMY_CONNECTION_ID = (std::numeric_limits<unsigned int>::max)();
37 struct EncodedVideoFrameInfo;
70 ROUTE_HEADSETBLUETOOTH,
81 enum NLP_AGGRESSIVENESS {
82 NLP_NOT_SPECIFIED = 0,
86 NLP_SUPER_AGGRESSIVE = 4,
93 enum BYTES_PER_SAMPLE {
97 TWO_BYTES_PER_SAMPLE = 2,
103 size_t frames_per_buffer;
108 frames_per_buffer(0) {}
111 enum RAW_AUDIO_FRAME_OP_MODE_TYPE {
116 RAW_AUDIO_FRAME_OP_MODE_READ_ONLY = 0,
122 RAW_AUDIO_FRAME_OP_MODE_READ_WRITE = 2,
131 enum MEDIA_SOURCE_TYPE {
135 AUDIO_PLAYOUT_SOURCE = 0,
139 AUDIO_RECORDING_SOURCE = 1,
143 PRIMARY_CAMERA_SOURCE = 2,
147 SECONDARY_CAMERA_SOURCE = 3,
151 PRIMARY_SCREEN_SOURCE = 4,
155 SECONDARY_SCREEN_SOURCE = 5,
159 CUSTOM_VIDEO_SOURCE = 6,
163 MEDIA_PLAYER_SOURCE = 7,
167 RTC_IMAGE_PNG_SOURCE = 8,
171 RTC_IMAGE_JPEG_SOURCE = 9,
175 RTC_IMAGE_GIF_SOURCE = 10,
179 REMOTE_VIDEO_SOURCE = 11,
183 TRANSCODED_VIDEO_SOURCE = 12,
187 UNKNOWN_MEDIA_SOURCE = 100
191 #define MAX_CONTENT_INSPECT_MODULE_COUNT 32
192 enum CONTENT_INSPECT_RESULT {
193 CONTENT_INSPECT_NEUTRAL = 1,
194 CONTENT_INSPECT_SEXY = 2,
195 CONTENT_INSPECT_PORN = 3,
197 enum CONTENT_INSPECT_VENDOR { CONTENT_INSPECT_VENDOR_AGORA = 1, CONTENT_INSPECT_VENDOR_TUPU = 2, CONTENT_INSPECT_VENDOR_HIVE = 3 };
198 enum CONTENT_INSPECT_DEVICE_TYPE{
199 CONTENT_INSPECT_DEVICE_INVALID = 0,
200 CONTENT_INSPECT_DEVICE_AGORA = 1
202 enum CONTENT_INSPECT_TYPE {
206 CONTENT_INSPECT_INVALID = 0,
210 CONTENT_INSPECT_MODERATION = 1,
214 CONTENT_INSPECT_SUPERVISION = 2
217 enum CONTENT_INSPECT_WORK_TYPE {
221 CONTENT_INSPECT_WORK_DEVICE = 0,
225 CONTENT_INSPECT_WORK_CLOUD = 1,
229 CONTENT_INSPECT_WORK_DEVICE_CLOUD = 2
236 CONTENT_INSPECT_VENDOR vendor;
237 const char* callbackUrl;
244 type = CONTENT_INSPECT_INVALID;
246 vendor = CONTENT_INSPECT_VENDOR_AGORA;
259 const char* extraInfo;
272 extraInfo = rth.extraInfo;
282 typedef void* view_t;
284 typedef const char* user_id_t;
286 static const uint8_t kMaxCodecNameLength = 50;
291 enum MAX_METADATA_SIZE_TYPE {
292 MAX_METADATA_SIZE_IN_BYTE = 1024
305 uint8_t audioLevelIndication;
308 audioLevelIndication(127) {}
311 enum AUDIO_PROCESSING_CHANNELS {
312 AUDIO_PROCESSING_MONO = 1,
313 AUDIO_PROCESSING_STEREO = 2,
317 AUDIO_PROCESSING_CHANNELS audioProcessingChannels;
354 kMaxDataSizeSamples = 3840,
356 kMaxDataSizeBytes = kMaxDataSizeSamples *
sizeof(int16_t),
389 if (length > kMaxDataSizeSamples) {
390 length = kMaxDataSizeSamples;
393 memcpy(this->data_, src.
data_, length *
sizeof(int16_t));
407 AudioPcmFrame(
const AudioPcmFrame& src)
413 size_t length = src.samples_per_channel_ * src.num_channels_;
414 if (length > kMaxDataSizeSamples) {
415 length = kMaxDataSizeSamples;
418 memcpy(this->data_, src.data_, length *
sizeof(int16_t));
424 enum AUDIO_DUAL_MONO_MODE {
426 AUDIO_DUAL_MONO_STEREO = 0,
428 AUDIO_DUAL_MONO_L = 1,
430 AUDIO_DUAL_MONO_R = 2,
432 AUDIO_DUAL_MONO_MIX = 3
452 enum VIDEO_PIXEL_FORMAT {
456 VIDEO_PIXEL_DEFAULT = 0,
460 VIDEO_PIXEL_I420 = 1,
464 VIDEO_PIXEL_BGRA = 2,
468 VIDEO_PIXEL_NV21 = 3,
472 VIDEO_PIXEL_RGBA = 4,
476 VIDEO_PIXEL_NV12 = 8,
480 VIDEO_TEXTURE_2D = 10,
484 VIDEO_TEXTURE_OES = 11,
488 VIDEO_PIXEL_I422 = 16,
494 enum RENDER_MODE_TYPE {
499 RENDER_MODE_HIDDEN = 1,
510 RENDER_MODE_ADAPTIVE __deprecated = 3,
518 format(VIDEO_PIXEL_DEFAULT),
655 type(VIDEO_PIXEL_DEFAULT),
758 virtual bool isExternal() {
return true; }
759 virtual VIDEO_PIXEL_FORMAT getVideoFormatPreference() {
return VIDEO_PIXEL_DEFAULT; }
762 enum MEDIA_PLAYER_SOURCE_TYPE {
768 MEDIA_PLAYER_SOURCE_DEFAULT,
774 MEDIA_PLAYER_SOURCE_FULL_FEATURED,
779 MEDIA_PLAYER_SOURCE_SIMPLE,
782 enum VIDEO_MODULE_POSITION {
783 POSITION_POST_CAPTURER = 1 << 0,
784 POSITION_PRE_RENDERER = 1 << 1,
785 POSITION_PRE_ENCODER = 1 << 2,
786 POSITION_POST_FILTERS = 1 << 3,
1032 enum VIDEO_FRAME_PROCESS_MODE {
1033 PROCESS_MODE_READ_ONLY,
1034 PROCESS_MODE_READ_WRITE,
1079 virtual bool onSecondaryCameraCaptureVideoFrame(
VideoFrame& videoFrame) = 0;
1117 virtual bool onPreEncodeScreenVideoFrame(
VideoFrame& videoFrame) = 0;
1136 virtual bool onSecondaryScreenCaptureVideoFrame(
VideoFrame& videoFrame) = 0;
1138 virtual bool onSecondaryPreEncodeScreenVideoFrame(
VideoFrame& videoFrame) = 0;
1159 virtual bool onTranscodedVideoFrame(
VideoFrame& videoFrame) = 0;
1166 return PROCESS_MODE_READ_ONLY;
1174 virtual base::VIDEO_PIXEL_FORMAT getVideoFormatPreference() {
return base::VIDEO_PIXEL_DEFAULT; }
1212 return base::POSITION_POST_CAPTURER | base::POSITION_PRE_RENDERER;
1228 enum EXTERNAL_VIDEO_SOURCE_TYPE {
1236 ENCODED_VIDEO_FRAME,
ContentInspectModule modules[MAX_CONTENT_INSPECT_MODULE_COUNT]
Definition: AgoraMediaBase.h:264
Definition: AgoraMediaBase.h:100
Definition: AgoraBase.h:1870
CONTENT_INSPECT_DEVICE_TYPE DeviceworkType
Definition: AgoraMediaBase.h:258
Definition: AgoraMediaBase.h:231
unsigned int frequency
Definition: AgoraMediaBase.h:242
int moduleCount
Definition: AgoraMediaBase.h:267
CONTENT_INSPECT_TYPE type
Definition: AgoraMediaBase.h:235
Definition: AgoraMediaBase.h:253
CONTENT_INSPECT_WORK_TYPE ContentWorkType
Definition: AgoraMediaBase.h:255