Agora Java API Reference for Android
|
6 #pragma once // NOLINT(build/header_guard)
13 #ifndef OPTIONAL_ENUM_SIZE_T
14 #if __cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1800)
15 #define OPTIONAL_ENUM_SIZE_T enum : size_t
17 #define OPTIONAL_ENUM_SIZE_T enum
21 #if !defined(__APPLE__)
28 typedef unsigned int uid_t;
29 typedef unsigned int track_id_t;
30 typedef unsigned int conn_id_t;
31 typedef unsigned int video_track_id_t;
33 static const unsigned int INVALID_TRACK_ID = 0xffffffff;
34 static const unsigned int DEFAULT_CONNECTION_ID = 0;
35 static const unsigned int DUMMY_CONNECTION_ID = (std::numeric_limits<unsigned int>::max)();
37 struct EncodedVideoFrameInfo;
68 enum VIDEO_SOURCE_TYPE {
71 VIDEO_SOURCE_CAMERA_PRIMARY = 0,
72 VIDEO_SOURCE_CAMERA = VIDEO_SOURCE_CAMERA_PRIMARY,
75 VIDEO_SOURCE_CAMERA_SECONDARY = 1,
78 VIDEO_SOURCE_SCREEN_PRIMARY = 2,
79 VIDEO_SOURCE_SCREEN = VIDEO_SOURCE_SCREEN_PRIMARY,
82 VIDEO_SOURCE_SCREEN_SECONDARY = 3,
85 VIDEO_SOURCE_CUSTOM = 4,
88 VIDEO_SOURCE_MEDIA_PLAYER = 5,
91 VIDEO_SOURCE_RTC_IMAGE_PNG = 6,
94 VIDEO_SOURCE_RTC_IMAGE_JPEG = 7,
97 VIDEO_SOURCE_RTC_IMAGE_GIF = 8,
100 VIDEO_SOURCE_REMOTE = 9,
103 VIDEO_SOURCE_TRANSCODED = 10,
107 VIDEO_SOURCE_CAMERA_THIRD = 11,
110 VIDEO_SOURCE_CAMERA_FOURTH = 12,
113 VIDEO_SOURCE_SCREEN_THIRD = 13,
116 VIDEO_SOURCE_SCREEN_FOURTH = 14,
119 VIDEO_SOURCE_SPEECH_DRIVEN = 15,
121 VIDEO_SOURCE_UNKNOWN = 100
127 enum AUDIO_SOURCE_TYPE {
130 AUDIO_SOURCE_MICROPHONE = 0,
133 AUDIO_SOURCE_CUSTOM = 1,
136 AUDIO_SOURCE_MEDIA_PLAYER = 2,
139 AUDIO_SOURCE_LOOPBACK_RECORDING = 3,
142 AUDIO_SOURCE_MIXED_STREAM = 4,
145 AUDIO_SOURCE_REMOTE_USER = 5,
148 AUDIO_SOURCE_REMOTE_CHANNEL = 6,
150 AUDIO_SOURCE_UNKNOWN = 100
172 ROUTE_HEADSETNOMIC = 2,
176 ROUTE_SPEAKERPHONE = 3,
180 ROUTE_LOUDSPEAKER = 4,
184 ROUTE_BLUETOOTH_DEVICE_HFP = 5,
196 ROUTE_DISPLAYPORT = 8,
204 ROUTE_BLUETOOTH_DEVICE_A2DP = 10,
210 enum BYTES_PER_SAMPLE {
214 TWO_BYTES_PER_SAMPLE = 2,
220 size_t frames_per_buffer;
222 AudioParameters() : sample_rate(0), channels(0), frames_per_buffer(0) {}
228 enum RAW_AUDIO_FRAME_OP_MODE_TYPE {
232 RAW_AUDIO_FRAME_OP_MODE_READ_ONLY = 0,
238 RAW_AUDIO_FRAME_OP_MODE_READ_WRITE = 2,
247 enum MEDIA_SOURCE_TYPE {
251 AUDIO_PLAYOUT_SOURCE = 0,
255 AUDIO_RECORDING_SOURCE = 1,
259 PRIMARY_CAMERA_SOURCE = 2,
263 SECONDARY_CAMERA_SOURCE = 3,
267 PRIMARY_SCREEN_SOURCE = 4,
271 SECONDARY_SCREEN_SOURCE = 5,
275 CUSTOM_VIDEO_SOURCE = 6,
279 MEDIA_PLAYER_SOURCE = 7,
283 RTC_IMAGE_PNG_SOURCE = 8,
287 RTC_IMAGE_JPEG_SOURCE = 9,
291 RTC_IMAGE_GIF_SOURCE = 10,
295 REMOTE_VIDEO_SOURCE = 11,
299 TRANSCODED_VIDEO_SOURCE = 12,
303 SPEECH_DRIVEN_VIDEO_SOURCE = 13,
307 UNKNOWN_MEDIA_SOURCE = 100
311 #define MAX_CONTENT_INSPECT_MODULE_COUNT 32
312 enum CONTENT_INSPECT_RESULT {
313 CONTENT_INSPECT_NEUTRAL = 1,
314 CONTENT_INSPECT_SEXY = 2,
315 CONTENT_INSPECT_PORN = 3,
318 enum CONTENT_INSPECT_TYPE {
322 CONTENT_INSPECT_INVALID = 0,
327 CONTENT_INSPECT_MODERATION __deprecated = 1,
331 CONTENT_INSPECT_SUPERVISION = 2,
335 CONTENT_INSPECT_IMAGE_MODERATION = 3
348 type = CONTENT_INSPECT_INVALID;
355 const char* extraInfo;
368 extraInfo = rth.extraInfo;
379 typedef void* view_t;
381 typedef const char* user_id_t;
383 static const uint8_t kMaxCodecNameLength = 50;
395 uint8_t audioLevelIndication;
431 kMaxDataSizeSamples = 3840,
433 kMaxDataSizeBytes = kMaxDataSizeSamples *
sizeof(int16_t),
478 if (length > kMaxDataSizeSamples) {
479 length = kMaxDataSizeSamples;
482 memcpy(
data_, src.
data_, length *
sizeof(int16_t));
498 AudioPcmFrame(
const AudioPcmFrame& src)
506 size_t length = src.samples_per_channel_ * src.num_channels_;
507 if (length > kMaxDataSizeSamples) {
508 length = kMaxDataSizeSamples;
511 memcpy(this->data_, src.data_, length *
sizeof(int16_t));
517 enum AUDIO_DUAL_MONO_MODE {
519 AUDIO_DUAL_MONO_STEREO = 0,
521 AUDIO_DUAL_MONO_L = 1,
523 AUDIO_DUAL_MONO_R = 2,
525 AUDIO_DUAL_MONO_MIX = 3
531 enum VIDEO_PIXEL_FORMAT {
535 VIDEO_PIXEL_DEFAULT = 0,
539 VIDEO_PIXEL_I420 = 1,
543 VIDEO_PIXEL_BGRA = 2,
547 VIDEO_PIXEL_NV21 = 3,
551 VIDEO_PIXEL_RGBA = 4,
555 VIDEO_PIXEL_NV12 = 8,
559 VIDEO_TEXTURE_2D = 10,
563 VIDEO_TEXTURE_OES = 11,
567 VIDEO_CVPIXEL_NV12 = 12,
571 VIDEO_CVPIXEL_I420 = 13,
575 VIDEO_CVPIXEL_BGRA = 14,
579 VIDEO_CVPIXEL_P010 = 15,
583 VIDEO_PIXEL_I422 = 16,
588 VIDEO_TEXTURE_ID3D11TEXTURE2D = 17,
593 VIDEO_PIXEL_I010 = 18,
599 enum RENDER_MODE_TYPE {
604 RENDER_MODE_HIDDEN = 1,
615 RENDER_MODE_ADAPTIVE __deprecated = 3,
621 enum CAMERA_VIDEO_SOURCE_TYPE {
625 CAMERA_SOURCE_FRONT = 0,
629 CAMERA_SOURCE_BACK = 1,
633 VIDEO_SOURCE_UNSPECIFIED = 2,
643 KEY_FACE_CAPTURE = 0,
646 virtual const char* getMetaInfoStr(META_INFO_KEY key)
const = 0;
653 PRIMARYID_UNSPECIFIED = 2,
654 PRIMARYID_BT470M = 4,
655 PRIMARYID_BT470BG = 5,
656 PRIMARYID_SMPTE170M = 6,
657 PRIMARYID_SMPTE240M = 7,
659 PRIMARYID_BT2020 = 9,
660 PRIMARYID_SMPTEST428 = 10,
661 PRIMARYID_SMPTEST431 = 11,
662 PRIMARYID_SMPTEST432 = 12,
663 PRIMARYID_JEDECP22 = 22,
682 MATRIXID_UNSPECIFIED = 2,
684 MATRIXID_BT470BG = 5,
685 MATRIXID_SMPTE170M = 6,
686 MATRIXID_SMPTE240M = 7,
688 MATRIXID_BT2020_NCL = 9,
689 MATRIXID_BT2020_CL = 10,
690 MATRIXID_SMPTE2085 = 11,
691 MATRIXID_CDNCLS = 12,
693 MATRIXID_BT2100_ICTCP = 14,
698 TRANSFERID_BT709 = 1,
699 TRANSFERID_UNSPECIFIED = 2,
700 TRANSFERID_GAMMA22 = 4,
701 TRANSFERID_GAMMA28 = 5,
702 TRANSFERID_SMPTE170M = 6,
703 TRANSFERID_SMPTE240M = 7,
704 TRANSFERID_LINEAR = 8,
706 TRANSFERID_LOG_SQRT = 10,
707 TRANSFERID_IEC61966_2_4 = 11,
708 TRANSFERID_BT1361_ECG = 12,
709 TRANSFERID_IEC61966_2_1 = 13,
710 TRANSFERID_BT2020_10 = 14,
711 TRANSFERID_BT2020_12 = 15,
712 TRANSFERID_SMPTEST2084 = 16,
713 TRANSFERID_SMPTEST428 = 17,
714 TRANSFERID_ARIB_STD_B67 = 18,
723 : primaries(PRIMARYID_UNSPECIFIED), transfer(TRANSFERID_UNSPECIFIED),
724 matrix(MATRIXID_UNSPECIFIED), range(RANGEID_INVALID) {}
726 bool validate()
const {
727 return primaries != PRIMARYID_UNSPECIFIED || transfer != TRANSFERID_UNSPECIFIED ||
728 matrix != MATRIXID_UNSPECIFIED ||
729 range != RANGEID_INVALID;
800 bool validate()
const {
810 enum ALPHA_STITCH_MODE {
822 ALPHA_STITCH_BELOW = 2,
826 ALPHA_STITCH_LEFT = 3,
830 ALPHA_STITCH_RIGHT = 4,
840 format(VIDEO_PIXEL_DEFAULT),
1032 type(VIDEO_PIXEL_DEFAULT),
1185 virtual bool isExternal() {
return true; }
1186 virtual VIDEO_PIXEL_FORMAT getVideoFormatPreference() {
return VIDEO_PIXEL_DEFAULT; }
1189 enum MEDIA_PLAYER_SOURCE_TYPE {
1195 MEDIA_PLAYER_SOURCE_DEFAULT,
1201 MEDIA_PLAYER_SOURCE_FULL_FEATURED,
1206 MEDIA_PLAYER_SOURCE_SIMPLE,
1209 enum VIDEO_MODULE_POSITION {
1210 POSITION_POST_CAPTURER = 1 << 0,
1211 POSITION_PRE_RENDERER = 1 << 1,
1212 POSITION_PRE_ENCODER = 1 << 2,
1213 POSITION_POST_CAPTURER_ORIGIN = 1 << 3,
1273 enum { MAX_HANDLE_TIME_CNT = 10 };
1354 AUDIO_FRAME_POSITION_NONE = 0x0000,
1392 rtc::RAW_AUDIO_FRAME_OP_MODE_TYPE mode;
1402 mode(rtc::RAW_AUDIO_FRAME_OP_MODE_READ_ONLY),
1404 AudioParams(
int samplerate,
int channel, rtc::RAW_AUDIO_FRAME_OP_MODE_TYPE type,
1413 virtual ~IAudioFrameObserverBase() {}
1631 unsigned int spectrumNumber) = 0;
1650 rtc::uid_t uid,
const uint8_t* imageBuffer,
size_t length,
1783 virtual bool onTranscodedVideoFrame(
VideoFrame& videoFrame) = 0;
1871 return base::POSITION_POST_CAPTURER | base::POSITION_PRE_RENDERER;
1887 enum EXTERNAL_VIDEO_SOURCE_TYPE {
1895 ENCODED_VIDEO_FRAME,
1903 enum MediaRecorderContainerFormat {
1914 enum MediaRecorderStreamType {
1918 STREAM_TYPE_AUDIO = 0x01,
1922 STREAM_TYPE_VIDEO = 0x02,
1926 STREAM_TYPE_BOTH = STREAM_TYPE_AUDIO | STREAM_TYPE_VIDEO,
1933 enum RecorderState {
1937 RECORDER_STATE_ERROR = -1,
1941 RECORDER_STATE_START = 2,
1945 RECORDER_STATE_STOP = 3,
1952 enum RecorderReasonCode {
1956 RECORDER_REASON_NONE = 0,
1960 RECORDER_REASON_WRITE_FAILED = 1,
1965 RECORDER_REASON_NO_STREAM = 2,
1969 RECORDER_REASON_OVER_MAX_DURATION = 3,
1973 RECORDER_REASON_CONFIG_CHANGED = 4,
2048 MediaRecorderStreamType type,
int duration,
int interval)
2096 RecorderInfo(
const char* name,
unsigned int dur,
unsigned int size)
2117 RecorderReasonCode reason) = 0;
const char * providerName
Definition: AgoraMediaBase.h:56
ContentInspectModule modules[MAX_CONTENT_INSPECT_MODULE_COUNT]
Definition: AgoraMediaBase.h:363
Definition: AgoraMediaBase.h:217
Definition: AgoraBase.h:1640
const char * serverConfig
Definition: AgoraMediaBase.h:359
Definition: AgoraMediaBase.h:41
Definition: AgoraMediaBase.h:338
int moduleCount
Definition: AgoraMediaBase.h:366
unsigned int interval
Definition: AgoraMediaBase.h:346
CONTENT_INSPECT_TYPE type
Definition: AgoraMediaBase.h:342
uid_t uid
Definition: AgoraMediaBase.h:52
bool isValid
Definition: AgoraMediaBase.h:47
Definition: AgoraMediaBase.h:354
const char * extensionName
Definition: AgoraMediaBase.h:60