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;
32 typedef unsigned int video_track_id_t;
34 static const unsigned int INVALID_TRACK_ID = 0xffffffff;
35 static const unsigned int DEFAULT_CONNECTION_ID = 0;
36 static const unsigned int DUMMY_CONNECTION_ID = (std::numeric_limits<unsigned int>::max)();
39 struct EncodedVideoFrameInfo;
45 enum VIDEO_SOURCE_TYPE {
48 VIDEO_SOURCE_CAMERA_PRIMARY = 0,
49 VIDEO_SOURCE_CAMERA = VIDEO_SOURCE_CAMERA_PRIMARY,
52 VIDEO_SOURCE_CAMERA_SECONDARY = 1,
55 VIDEO_SOURCE_SCREEN_PRIMARY = 2,
56 VIDEO_SOURCE_SCREEN = VIDEO_SOURCE_SCREEN_PRIMARY,
59 VIDEO_SOURCE_SCREEN_SECONDARY = 3,
62 VIDEO_SOURCE_CUSTOM = 4,
65 VIDEO_SOURCE_MEDIA_PLAYER = 5,
68 VIDEO_SOURCE_RTC_IMAGE_PNG = 6,
71 VIDEO_SOURCE_RTC_IMAGE_JPEG = 7,
74 VIDEO_SOURCE_RTC_IMAGE_GIF = 8,
77 VIDEO_SOURCE_REMOTE = 9,
80 VIDEO_SOURCE_TRANSCODED = 10,
84 VIDEO_SOURCE_CAMERA_THIRD = 11,
87 VIDEO_SOURCE_CAMERA_FOURTH = 12,
90 VIDEO_SOURCE_SCREEN_THIRD = 13,
93 VIDEO_SOURCE_SCREEN_FOURTH = 14,
95 VIDEO_SOURCE_UNKNOWN = 100
118 ROUTE_HEADSETNOMIC = 2,
122 ROUTE_SPEAKERPHONE = 3,
126 ROUTE_LOUDSPEAKER = 4,
130 ROUTE_HEADSETBLUETOOTH = 5,
142 ROUTE_DISPLAYPORT = 8,
152 enum BYTES_PER_SAMPLE {
156 TWO_BYTES_PER_SAMPLE = 2,
162 size_t frames_per_buffer;
167 frames_per_buffer(0) {}
173 enum RAW_AUDIO_FRAME_OP_MODE_TYPE {
177 RAW_AUDIO_FRAME_OP_MODE_READ_ONLY = 0,
182 RAW_AUDIO_FRAME_OP_MODE_READ_WRITE = 2,
191 enum MEDIA_SOURCE_TYPE {
195 AUDIO_PLAYOUT_SOURCE = 0,
199 AUDIO_RECORDING_SOURCE = 1,
203 PRIMARY_CAMERA_SOURCE = 2,
207 SECONDARY_CAMERA_SOURCE = 3,
211 PRIMARY_SCREEN_SOURCE = 4,
215 SECONDARY_SCREEN_SOURCE = 5,
219 CUSTOM_VIDEO_SOURCE = 6,
223 MEDIA_PLAYER_SOURCE = 7,
227 RTC_IMAGE_PNG_SOURCE = 8,
231 RTC_IMAGE_JPEG_SOURCE = 9,
235 RTC_IMAGE_GIF_SOURCE = 10,
239 REMOTE_VIDEO_SOURCE = 11,
243 TRANSCODED_VIDEO_SOURCE = 12,
247 UNKNOWN_MEDIA_SOURCE = 100
251 #define MAX_CONTENT_INSPECT_MODULE_COUNT 32
252 enum CONTENT_INSPECT_RESULT {
253 CONTENT_INSPECT_NEUTRAL = 1,
254 CONTENT_INSPECT_SEXY = 2,
255 CONTENT_INSPECT_PORN = 3,
258 enum CONTENT_INSPECT_TYPE {
262 CONTENT_INSPECT_INVALID = 0,
266 CONTENT_INSPECT_MODERATION = 1,
270 CONTENT_INSPECT_SUPERVISION = 2
283 type = CONTENT_INSPECT_INVALID;
290 const char* extraInfo;
301 extraInfo = rth.extraInfo;
311 typedef void* view_t;
313 typedef const char* user_id_t;
315 static const uint8_t kMaxCodecNameLength = 50;
327 uint8_t audioLevelIndication;
330 audioLevelIndication(127) {}
366 kMaxDataSizeSamples = 3840,
368 kMaxDataSizeBytes = kMaxDataSizeSamples *
sizeof(int16_t),
401 if (length > kMaxDataSizeSamples) {
402 length = kMaxDataSizeSamples;
405 memcpy(this->data_, src.
data_, length *
sizeof(int16_t));
419 AudioPcmFrame(
const AudioPcmFrame& src)
425 size_t length = src.samples_per_channel_ * src.num_channels_;
426 if (length > kMaxDataSizeSamples) {
427 length = kMaxDataSizeSamples;
430 memcpy(this->data_, src.data_, length *
sizeof(int16_t));
436 enum AUDIO_DUAL_MONO_MODE {
438 AUDIO_DUAL_MONO_STEREO = 0,
440 AUDIO_DUAL_MONO_L = 1,
442 AUDIO_DUAL_MONO_R = 2,
444 AUDIO_DUAL_MONO_MIX = 3
450 enum VIDEO_PIXEL_FORMAT {
454 VIDEO_PIXEL_DEFAULT = 0,
458 VIDEO_PIXEL_I420 = 1,
462 VIDEO_PIXEL_BGRA = 2,
466 VIDEO_PIXEL_NV21 = 3,
470 VIDEO_PIXEL_RGBA = 4,
474 VIDEO_PIXEL_NV12 = 8,
478 VIDEO_TEXTURE_2D = 10,
482 VIDEO_TEXTURE_OES = 11,
486 VIDEO_CVPIXEL_NV12 = 12,
490 VIDEO_CVPIXEL_I420 = 13,
494 VIDEO_CVPIXEL_BGRA = 14,
498 VIDEO_PIXEL_I422 = 16,
504 enum RENDER_MODE_TYPE {
509 RENDER_MODE_HIDDEN = 1,
520 RENDER_MODE_ADAPTIVE __deprecated = 3,
526 enum CAMERA_VIDEO_SOURCE_TYPE {
530 CAMERA_SOURCE_FRONT = 0,
534 CAMERA_SOURCE_BACK = 1,
538 VIDEO_SOURCE_UNSPECIFIED = 2,
547 format(VIDEO_PIXEL_DEFAULT),
691 type(VIDEO_PIXEL_DEFAULT),
810 virtual bool isExternal() {
return true; }
811 virtual VIDEO_PIXEL_FORMAT getVideoFormatPreference() {
return VIDEO_PIXEL_DEFAULT; }
814 enum MEDIA_PLAYER_SOURCE_TYPE {
820 MEDIA_PLAYER_SOURCE_DEFAULT,
826 MEDIA_PLAYER_SOURCE_FULL_FEATURED,
831 MEDIA_PLAYER_SOURCE_SIMPLE,
834 enum VIDEO_MODULE_POSITION {
835 POSITION_POST_CAPTURER = 1 << 0,
836 POSITION_PRE_RENDERER = 1 << 1,
837 POSITION_PRE_ENCODER = 1 << 2,
873 enum { MAX_HANDLE_TIME_CNT = 10 };
940 AUDIO_FRAME_POSITION_NONE = 0x0000,
978 rtc::RAW_AUDIO_FRAME_OP_MODE_TYPE mode;
986 AudioParams(
int samplerate,
int channel, rtc::RAW_AUDIO_FRAME_OP_MODE_TYPE type,
int samplesPerCall) :
sample_rate(samplerate), channels(channel), mode(type),
samples_per_call(samplesPerCall) {}
990 virtual ~IAudioFrameObserverBase() {}
1335 virtual bool onTranscodedVideoFrame(
VideoFrame& videoFrame) = 0;
1414 return base::POSITION_POST_CAPTURER | base::POSITION_PRE_RENDERER;
1430 enum EXTERNAL_VIDEO_SOURCE_TYPE {
1438 ENCODED_VIDEO_FRAME,
1446 enum MediaRecorderContainerFormat {
1457 enum MediaRecorderStreamType {
1461 STREAM_TYPE_AUDIO = 0x01,
1465 STREAM_TYPE_VIDEO = 0x02,
1469 STREAM_TYPE_BOTH = STREAM_TYPE_AUDIO | STREAM_TYPE_VIDEO,
1476 enum RecorderState {
1480 RECORDER_STATE_ERROR = -1,
1484 RECORDER_STATE_START = 2,
1488 RECORDER_STATE_STOP = 3,
1495 enum RecorderErrorCode {
1499 RECORDER_ERROR_NONE = 0,
1503 RECORDER_ERROR_WRITE_FAILED = 1,
1507 RECORDER_ERROR_NO_STREAM = 2,
1511 RECORDER_ERROR_OVER_MAX_DURATION = 3,
1515 RECORDER_ERROR_CONFIG_CHANGED = 4,
1594 virtual void onRecorderStateChanged(
const char* channelId, rtc::uid_t uid, RecorderState state, RecorderErrorCode error) = 0;
ContentInspectModule modules[MAX_CONTENT_INSPECT_MODULE_COUNT]
Definition: AgoraMediaBase.h:295
Definition: AgoraMediaBase.h:159
Definition: AgoraBase.h:1544
Definition: AgoraMediaBase.h:273
int moduleCount
Definition: AgoraMediaBase.h:298
unsigned int interval
Definition: AgoraMediaBase.h:281
CONTENT_INSPECT_TYPE type
Definition: AgoraMediaBase.h:277
Definition: AgoraMediaBase.h:289