|
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)();
38 static const int kAdmMaxDeviceNameSize = 128;
39 static const int kAdmMaxGuidSize = 128;
42 struct EncodedVideoFrameInfo;
48 enum VIDEO_SOURCE_TYPE {
51 VIDEO_SOURCE_CAMERA_PRIMARY = 0,
52 VIDEO_SOURCE_CAMERA = VIDEO_SOURCE_CAMERA_PRIMARY,
55 VIDEO_SOURCE_CAMERA_SECONDARY = 1,
58 VIDEO_SOURCE_SCREEN_PRIMARY = 2,
59 VIDEO_SOURCE_SCREEN = VIDEO_SOURCE_SCREEN_PRIMARY,
62 VIDEO_SOURCE_SCREEN_SECONDARY = 3,
65 VIDEO_SOURCE_CUSTOM = 4,
68 VIDEO_SOURCE_MEDIA_PLAYER = 5,
71 VIDEO_SOURCE_RTC_IMAGE_PNG = 6,
74 VIDEO_SOURCE_RTC_IMAGE_JPEG = 7,
77 VIDEO_SOURCE_RTC_IMAGE_GIF = 8,
80 VIDEO_SOURCE_REMOTE = 9,
83 VIDEO_SOURCE_TRANSCODED = 10,
87 VIDEO_SOURCE_CAMERA_THIRD = 11,
90 VIDEO_SOURCE_CAMERA_FOURTH = 12,
93 VIDEO_SOURCE_SCREEN_THIRD = 13,
96 VIDEO_SOURCE_SCREEN_FOURTH = 14,
99 VIDEO_SOURCE_SPEECH_DRIVEN = 15,
101 VIDEO_SOURCE_UNKNOWN = 100
124 ROUTE_HEADSETNOMIC = 2,
128 ROUTE_SPEAKERPHONE = 3,
132 ROUTE_LOUDSPEAKER = 4,
136 ROUTE_HEADSETBLUETOOTH = 5,
148 ROUTE_DISPLAYPORT = 8,
160 ROUTE_CONTINUITY = 11,
166 enum BYTES_PER_SAMPLE {
170 TWO_BYTES_PER_SAMPLE = 2,
176 size_t frames_per_buffer;
181 frames_per_buffer(0) {}
187 enum RAW_AUDIO_FRAME_OP_MODE_TYPE {
191 RAW_AUDIO_FRAME_OP_MODE_READ_ONLY = 0,
196 RAW_AUDIO_FRAME_OP_MODE_READ_WRITE = 2,
203 enum TRACK_AUDIO_MIXED_POLICY_TYPE {
206 TRACK_AUDIO_MIXED_LOCAL = 1 << 0,
209 TRACK_AUDIO_MIXED_REMOTE = 1 << 1,
259 AudioDeviceInfo& operator=(
const AudioDeviceInfo& other) {
275 enum MEDIA_SOURCE_TYPE {
279 AUDIO_PLAYOUT_SOURCE = 0,
283 AUDIO_RECORDING_SOURCE = 1,
287 PRIMARY_CAMERA_SOURCE = 2,
291 SECONDARY_CAMERA_SOURCE = 3,
295 PRIMARY_SCREEN_SOURCE = 4,
299 SECONDARY_SCREEN_SOURCE = 5,
303 CUSTOM_VIDEO_SOURCE = 6,
307 MEDIA_PLAYER_SOURCE = 7,
311 RTC_IMAGE_PNG_SOURCE = 8,
315 RTC_IMAGE_JPEG_SOURCE = 9,
319 RTC_IMAGE_GIF_SOURCE = 10,
323 REMOTE_VIDEO_SOURCE = 11,
327 TRANSCODED_VIDEO_SOURCE = 12,
331 SPEECH_DRIVEN_VIDEO_SOURCE = 13,
335 UNKNOWN_MEDIA_SOURCE = 100
339 #define MAX_CONTENT_INSPECT_MODULE_COUNT 32
340 enum CONTENT_INSPECT_RESULT {
341 CONTENT_INSPECT_NEUTRAL = 1,
342 CONTENT_INSPECT_SEXY = 2,
343 CONTENT_INSPECT_PORN = 3,
346 enum CONTENT_INSPECT_TYPE {
350 CONTENT_INSPECT_INVALID = 0,
355 CONTENT_INSPECT_MODERATION __deprecated = 1,
359 CONTENT_INSPECT_SUPERVISION = 2,
363 CONTENT_INSPECT_IMAGE_MODERATION = 3
376 type = CONTENT_INSPECT_INVALID;
383 const char* extraInfo;
397 extraInfo = rth.extraInfo;
408 typedef void* view_t;
410 typedef const char* user_id_t;
412 static const uint8_t kMaxCodecNameLength = 50;
424 uint8_t audioLevelIndication;
427 audioLevelIndication(127) {}
463 kMaxDataSizeSamples = 3840,
465 kMaxDataSizeBytes = kMaxDataSizeSamples *
sizeof(int16_t),
498 if (length > kMaxDataSizeSamples) {
499 length = kMaxDataSizeSamples;
502 memcpy(this->data_, src.
data_, length *
sizeof(int16_t));
516 AudioPcmFrame(
const AudioPcmFrame& src)
522 size_t length = src.samples_per_channel_ * src.num_channels_;
523 if (length > kMaxDataSizeSamples) {
524 length = kMaxDataSizeSamples;
527 memcpy(this->data_, src.data_, length *
sizeof(int16_t));
533 enum AUDIO_DUAL_MONO_MODE {
535 AUDIO_DUAL_MONO_STEREO = 0,
537 AUDIO_DUAL_MONO_L = 1,
539 AUDIO_DUAL_MONO_R = 2,
541 AUDIO_DUAL_MONO_MIX = 3
547 enum VIDEO_PIXEL_FORMAT {
551 VIDEO_PIXEL_DEFAULT = 0,
555 VIDEO_PIXEL_I420 = 1,
559 VIDEO_PIXEL_BGRA = 2,
563 VIDEO_PIXEL_NV21 = 3,
567 VIDEO_PIXEL_RGBA = 4,
571 VIDEO_PIXEL_NV12 = 8,
575 VIDEO_TEXTURE_2D = 10,
579 VIDEO_TEXTURE_OES = 11,
583 VIDEO_CVPIXEL_NV12 = 12,
587 VIDEO_CVPIXEL_I420 = 13,
591 VIDEO_CVPIXEL_BGRA = 14,
595 VIDEO_PIXEL_I422 = 16,
599 VIDEO_TEXTURE_ID3D11TEXTURE2D = 17,
603 VIDEO_PIXEL_I010 = 18,
609 enum RENDER_MODE_TYPE {
614 RENDER_MODE_HIDDEN = 1,
625 RENDER_MODE_ADAPTIVE __deprecated = 3,
631 enum CAMERA_VIDEO_SOURCE_TYPE {
635 CAMERA_SOURCE_FRONT = 0,
639 CAMERA_SOURCE_BACK = 1,
643 VIDEO_SOURCE_UNSPECIFIED = 2,
653 KEY_FACE_CAPTURE = 0,
656 virtual const char* getMetaInfoStr(META_INFO_KEY key)
const = 0;
665 format(VIDEO_PIXEL_DEFAULT),
829 type(VIDEO_PIXEL_DEFAULT),
959 virtual bool isExternal() {
return true; }
960 virtual VIDEO_PIXEL_FORMAT getVideoFormatPreference() {
return VIDEO_PIXEL_DEFAULT; }
963 enum MEDIA_PLAYER_SOURCE_TYPE {
969 MEDIA_PLAYER_SOURCE_DEFAULT,
975 MEDIA_PLAYER_SOURCE_FULL_FEATURED,
980 MEDIA_PLAYER_SOURCE_SIMPLE,
983 enum VIDEO_MODULE_POSITION {
984 POSITION_POST_CAPTURER = 1 << 0,
985 POSITION_PRE_RENDERER = 1 << 1,
986 POSITION_PRE_ENCODER = 1 << 2,
1022 enum { MAX_HANDLE_TIME_CNT = 10 };
1099 AUDIO_FRAME_POSITION_NONE = 0x0000,
1137 rtc::RAW_AUDIO_FRAME_OP_MODE_TYPE mode;
1145 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) {}
1149 virtual ~IAudioFrameObserverBase() {}
1494 virtual bool onTranscodedVideoFrame(
VideoFrame& videoFrame) = 0;
1573 return base::POSITION_POST_CAPTURER | base::POSITION_PRE_RENDERER;
1589 enum EXTERNAL_VIDEO_SOURCE_TYPE {
1597 ENCODED_VIDEO_FRAME,
1605 enum MediaRecorderContainerFormat {
1616 enum MediaRecorderStreamType {
1620 STREAM_TYPE_AUDIO = 0x01,
1624 STREAM_TYPE_VIDEO = 0x02,
1628 STREAM_TYPE_BOTH = STREAM_TYPE_AUDIO | STREAM_TYPE_VIDEO,
1635 enum RecorderState {
1639 RECORDER_STATE_ERROR = -1,
1643 RECORDER_STATE_START = 2,
1647 RECORDER_STATE_STOP = 3,
1654 enum RecorderErrorCode {
1658 RECORDER_ERROR_NONE = 0,
1662 RECORDER_ERROR_WRITE_FAILED = 1,
1666 RECORDER_ERROR_NO_STREAM = 2,
1670 RECORDER_ERROR_OVER_MAX_DURATION = 3,
1674 RECORDER_ERROR_CONFIG_CHANGED = 4,
1768 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:391
bool isPlayoutDevice
Definition: AgoraMediaBase.h:238
Definition: AgoraMediaBase.h:173
bool isCurrentSelected
Definition: AgoraMediaBase.h:232
Definition: AgoraBase.h:1565
const char * serverConfig
Definition: AgoraMediaBase.h:387
Definition: AgoraMediaBase.h:366
int moduleCount
Definition: AgoraMediaBase.h:394
AudioRoute routing
Definition: AgoraMediaBase.h:243
unsigned int interval
Definition: AgoraMediaBase.h:374
CONTENT_INSPECT_TYPE type
Definition: AgoraMediaBase.h:370
char deviceName[kAdmMaxDeviceNameSize]
Definition: AgoraMediaBase.h:222
Definition: AgoraMediaBase.h:382
char deviceId[kAdmMaxGuidSize]
Definition: AgoraMediaBase.h:226
Definition: AgoraMediaBase.h:218