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,
267 CONTENT_INSPECT_MODERATION __deprecated = 1,
271 CONTENT_INSPECT_SUPERVISION = 2,
275 CONTENT_INSPECT_IMAGE_MODERATION = 3
288 type = CONTENT_INSPECT_INVALID;
295 const char* extraInfo;
309 extraInfo = rth.extraInfo;
320 typedef void* view_t;
322 typedef const char* user_id_t;
324 static const uint8_t kMaxCodecNameLength = 50;
336 uint8_t audioLevelIndication;
339 audioLevelIndication(127) {}
375 kMaxDataSizeSamples = 3840,
377 kMaxDataSizeBytes = kMaxDataSizeSamples *
sizeof(int16_t),
410 if (length > kMaxDataSizeSamples) {
411 length = kMaxDataSizeSamples;
414 memcpy(this->data_, src.
data_, length *
sizeof(int16_t));
428 AudioPcmFrame(
const AudioPcmFrame& src)
434 size_t length = src.samples_per_channel_ * src.num_channels_;
435 if (length > kMaxDataSizeSamples) {
436 length = kMaxDataSizeSamples;
439 memcpy(this->data_, src.data_, length *
sizeof(int16_t));
445 enum AUDIO_DUAL_MONO_MODE {
447 AUDIO_DUAL_MONO_STEREO = 0,
449 AUDIO_DUAL_MONO_L = 1,
451 AUDIO_DUAL_MONO_R = 2,
453 AUDIO_DUAL_MONO_MIX = 3
459 enum VIDEO_PIXEL_FORMAT {
463 VIDEO_PIXEL_DEFAULT = 0,
467 VIDEO_PIXEL_I420 = 1,
471 VIDEO_PIXEL_BGRA = 2,
475 VIDEO_PIXEL_NV21 = 3,
479 VIDEO_PIXEL_RGBA = 4,
483 VIDEO_PIXEL_NV12 = 8,
487 VIDEO_TEXTURE_2D = 10,
491 VIDEO_TEXTURE_OES = 11,
495 VIDEO_CVPIXEL_NV12 = 12,
499 VIDEO_CVPIXEL_I420 = 13,
503 VIDEO_CVPIXEL_BGRA = 14,
507 VIDEO_PIXEL_I422 = 16,
511 VIDEO_TEXTURE_ID3D11TEXTURE2D = 17,
517 enum RENDER_MODE_TYPE {
522 RENDER_MODE_HIDDEN = 1,
533 RENDER_MODE_ADAPTIVE __deprecated = 3,
539 enum CAMERA_VIDEO_SOURCE_TYPE {
543 CAMERA_SOURCE_FRONT = 0,
547 CAMERA_SOURCE_BACK = 1,
551 VIDEO_SOURCE_UNSPECIFIED = 2,
560 format(VIDEO_PIXEL_DEFAULT),
716 type(VIDEO_PIXEL_DEFAULT),
840 virtual bool isExternal() {
return true; }
841 virtual VIDEO_PIXEL_FORMAT getVideoFormatPreference() {
return VIDEO_PIXEL_DEFAULT; }
844 enum MEDIA_PLAYER_SOURCE_TYPE {
850 MEDIA_PLAYER_SOURCE_DEFAULT,
856 MEDIA_PLAYER_SOURCE_FULL_FEATURED,
861 MEDIA_PLAYER_SOURCE_SIMPLE,
864 enum VIDEO_MODULE_POSITION {
865 POSITION_POST_CAPTURER = 1 << 0,
866 POSITION_PRE_RENDERER = 1 << 1,
867 POSITION_PRE_ENCODER = 1 << 2,
903 enum { MAX_HANDLE_TIME_CNT = 10 };
970 AUDIO_FRAME_POSITION_NONE = 0x0000,
1008 rtc::RAW_AUDIO_FRAME_OP_MODE_TYPE mode;
1016 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) {}
1020 virtual ~IAudioFrameObserverBase() {}
1365 virtual bool onTranscodedVideoFrame(
VideoFrame& videoFrame) = 0;
1444 return base::POSITION_POST_CAPTURER | base::POSITION_PRE_RENDERER;
1460 enum EXTERNAL_VIDEO_SOURCE_TYPE {
1468 ENCODED_VIDEO_FRAME,
1476 enum MediaRecorderContainerFormat {
1487 enum MediaRecorderStreamType {
1491 STREAM_TYPE_AUDIO = 0x01,
1495 STREAM_TYPE_VIDEO = 0x02,
1499 STREAM_TYPE_BOTH = STREAM_TYPE_AUDIO | STREAM_TYPE_VIDEO,
1506 enum RecorderState {
1510 RECORDER_STATE_ERROR = -1,
1514 RECORDER_STATE_START = 2,
1518 RECORDER_STATE_STOP = 3,
1525 enum RecorderErrorCode {
1529 RECORDER_ERROR_NONE = 0,
1533 RECORDER_ERROR_WRITE_FAILED = 1,
1537 RECORDER_ERROR_NO_STREAM = 2,
1541 RECORDER_ERROR_OVER_MAX_DURATION = 3,
1545 RECORDER_ERROR_CONFIG_CHANGED = 4,
1624 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:303
Definition: AgoraMediaBase.h:159
Definition: AgoraBase.h:1548
const char * serverConfig
Definition: AgoraMediaBase.h:299
Definition: AgoraMediaBase.h:278
int moduleCount
Definition: AgoraMediaBase.h:306
unsigned int interval
Definition: AgoraMediaBase.h:286
CONTENT_INSPECT_TYPE type
Definition: AgoraMediaBase.h:282
Definition: AgoraMediaBase.h:294