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),
473 if (length > kMaxDataSizeSamples) {
474 length = kMaxDataSizeSamples;
477 memcpy(
data_, src.
data_, length *
sizeof(int16_t));
492 AudioPcmFrame(
const AudioPcmFrame& src)
499 size_t length = src.samples_per_channel_ * src.num_channels_;
500 if (length > kMaxDataSizeSamples) {
501 length = kMaxDataSizeSamples;
504 memcpy(this->data_, src.data_, length *
sizeof(int16_t));
510 enum AUDIO_DUAL_MONO_MODE {
512 AUDIO_DUAL_MONO_STEREO = 0,
514 AUDIO_DUAL_MONO_L = 1,
516 AUDIO_DUAL_MONO_R = 2,
518 AUDIO_DUAL_MONO_MIX = 3
524 enum VIDEO_PIXEL_FORMAT {
528 VIDEO_PIXEL_DEFAULT = 0,
532 VIDEO_PIXEL_I420 = 1,
536 VIDEO_PIXEL_BGRA = 2,
540 VIDEO_PIXEL_NV21 = 3,
544 VIDEO_PIXEL_RGBA = 4,
548 VIDEO_PIXEL_NV12 = 8,
552 VIDEO_TEXTURE_2D = 10,
556 VIDEO_TEXTURE_OES = 11,
560 VIDEO_CVPIXEL_NV12 = 12,
564 VIDEO_CVPIXEL_I420 = 13,
568 VIDEO_CVPIXEL_BGRA = 14,
572 VIDEO_CVPIXEL_P010 = 15,
576 VIDEO_PIXEL_I422 = 16,
581 VIDEO_TEXTURE_ID3D11TEXTURE2D = 17,
586 VIDEO_PIXEL_I010 = 18,
592 enum RENDER_MODE_TYPE {
597 RENDER_MODE_HIDDEN = 1,
608 RENDER_MODE_ADAPTIVE __deprecated = 3,
614 enum CAMERA_VIDEO_SOURCE_TYPE {
618 CAMERA_SOURCE_FRONT = 0,
622 CAMERA_SOURCE_BACK = 1,
626 VIDEO_SOURCE_UNSPECIFIED = 2,
636 KEY_FACE_CAPTURE = 0,
639 virtual const char* getMetaInfoStr(META_INFO_KEY key)
const = 0;
646 PRIMARYID_UNSPECIFIED = 2,
647 PRIMARYID_BT470M = 4,
648 PRIMARYID_BT470BG = 5,
649 PRIMARYID_SMPTE170M = 6,
650 PRIMARYID_SMPTE240M = 7,
652 PRIMARYID_BT2020 = 9,
653 PRIMARYID_SMPTEST428 = 10,
654 PRIMARYID_SMPTEST431 = 11,
655 PRIMARYID_SMPTEST432 = 12,
656 PRIMARYID_JEDECP22 = 22,
675 MATRIXID_UNSPECIFIED = 2,
677 MATRIXID_BT470BG = 5,
678 MATRIXID_SMPTE170M = 6,
679 MATRIXID_SMPTE240M = 7,
681 MATRIXID_BT2020_NCL = 9,
682 MATRIXID_BT2020_CL = 10,
683 MATRIXID_SMPTE2085 = 11,
684 MATRIXID_CDNCLS = 12,
686 MATRIXID_BT2100_ICTCP = 14,
691 TRANSFERID_BT709 = 1,
692 TRANSFERID_UNSPECIFIED = 2,
693 TRANSFERID_GAMMA22 = 4,
694 TRANSFERID_GAMMA28 = 5,
695 TRANSFERID_SMPTE170M = 6,
696 TRANSFERID_SMPTE240M = 7,
697 TRANSFERID_LINEAR = 8,
699 TRANSFERID_LOG_SQRT = 10,
700 TRANSFERID_IEC61966_2_4 = 11,
701 TRANSFERID_BT1361_ECG = 12,
702 TRANSFERID_IEC61966_2_1 = 13,
703 TRANSFERID_BT2020_10 = 14,
704 TRANSFERID_BT2020_12 = 15,
705 TRANSFERID_SMPTEST2084 = 16,
706 TRANSFERID_SMPTEST428 = 17,
707 TRANSFERID_ARIB_STD_B67 = 18,
716 : primaries(PRIMARYID_UNSPECIFIED), transfer(TRANSFERID_UNSPECIFIED),
717 matrix(MATRIXID_UNSPECIFIED), range(RANGEID_INVALID) {}
719 bool validate()
const {
720 return primaries != PRIMARYID_UNSPECIFIED || transfer != TRANSFERID_UNSPECIFIED ||
721 matrix != MATRIXID_UNSPECIFIED ||
722 range != RANGEID_INVALID;
793 bool validate()
const {
803 enum ALPHA_STITCH_MODE {
815 ALPHA_STITCH_BELOW = 2,
819 ALPHA_STITCH_LEFT = 3,
823 ALPHA_STITCH_RIGHT = 4,
833 format(VIDEO_PIXEL_DEFAULT),
1025 type(VIDEO_PIXEL_DEFAULT),
1178 virtual bool isExternal() {
return true; }
1179 virtual VIDEO_PIXEL_FORMAT getVideoFormatPreference() {
return VIDEO_PIXEL_DEFAULT; }
1182 enum MEDIA_PLAYER_SOURCE_TYPE {
1188 MEDIA_PLAYER_SOURCE_DEFAULT,
1194 MEDIA_PLAYER_SOURCE_FULL_FEATURED,
1199 MEDIA_PLAYER_SOURCE_SIMPLE,
1202 enum VIDEO_MODULE_POSITION {
1203 POSITION_POST_CAPTURER = 1 << 0,
1204 POSITION_PRE_RENDERER = 1 << 1,
1205 POSITION_PRE_ENCODER = 1 << 2,
1206 POSITION_POST_CAPTURER_ORIGIN = 1 << 3,
1266 enum { MAX_HANDLE_TIME_CNT = 10 };
1347 AUDIO_FRAME_POSITION_NONE = 0x0000,
1385 rtc::RAW_AUDIO_FRAME_OP_MODE_TYPE mode;
1395 mode(rtc::RAW_AUDIO_FRAME_OP_MODE_READ_ONLY),
1397 AudioParams(
int samplerate,
int channel, rtc::RAW_AUDIO_FRAME_OP_MODE_TYPE type,
1406 virtual ~IAudioFrameObserverBase() {}
1624 unsigned int spectrumNumber) = 0;
1643 rtc::uid_t uid,
const uint8_t* imageBuffer,
size_t length,
1776 virtual bool onTranscodedVideoFrame(
VideoFrame& videoFrame) = 0;
1864 return base::POSITION_POST_CAPTURER | base::POSITION_PRE_RENDERER;
1880 enum EXTERNAL_VIDEO_SOURCE_TYPE {
1888 ENCODED_VIDEO_FRAME,
1896 enum MediaRecorderContainerFormat {
1907 enum MediaRecorderStreamType {
1911 STREAM_TYPE_AUDIO = 0x01,
1915 STREAM_TYPE_VIDEO = 0x02,
1919 STREAM_TYPE_BOTH = STREAM_TYPE_AUDIO | STREAM_TYPE_VIDEO,
1926 enum RecorderState {
1930 RECORDER_STATE_ERROR = -1,
1934 RECORDER_STATE_START = 2,
1938 RECORDER_STATE_STOP = 3,
1945 enum RecorderReasonCode {
1949 RECORDER_REASON_NONE = 0,
1953 RECORDER_REASON_WRITE_FAILED = 1,
1958 RECORDER_REASON_NO_STREAM = 2,
1962 RECORDER_REASON_OVER_MAX_DURATION = 3,
1966 RECORDER_REASON_CONFIG_CHANGED = 4,
2041 MediaRecorderStreamType type,
int duration,
int interval)
2089 RecorderInfo(
const char* name,
unsigned int dur,
unsigned int size)
2110 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:1636
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