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
46struct AudioParameters {
49 size_t frames_per_buffer;
54 frames_per_buffer(0) {}
146enum MAX_METADATA_SIZE_TYPE {
147 MAX_METADATA_SIZE_IN_BYTE = 1024
154struct PacketOptions {
160 uint8_t audioLevelIndication;
163 audioLevelIndication(127) {}
179 kMaxDataSizeSamples = 3840,
181 kMaxDataSizeBytes = kMaxDataSizeSamples *
sizeof(int16_t),
214 if (length > kMaxDataSizeSamples) {
215 length = kMaxDataSizeSamples;
218 memcpy(this->data_, src.
data_, length *
sizeof(int16_t));
239 if (length > kMaxDataSizeSamples) {
240 length = kMaxDataSizeSamples;
243 memcpy(this->data_, src.
data_, length *
sizeof(int16_t));
250enum AUDIO_DUAL_MONO_MODE {
252 AUDIO_DUAL_MONO_STEREO = 0,
254 AUDIO_DUAL_MONO_L = 1,
256 AUDIO_DUAL_MONO_R = 2,
258 AUDIO_DUAL_MONO_MIX = 3
263class IAudioFrameObserver {
273 virtual void onFrame(AudioPcmFrame* frame) = 0;
274 virtual ~IAudioFrameObserver() {}
324enum RENDER_MODE_TYPE {
329 RENDER_MODE_HIDDEN = 1,
340 RENDER_MODE_ADAPTIVE = 3,
361 eglType(EGL_CONTEXT10),
363 metadata_buffer(NULL),
371 enum EGL_CONTEXT_TYPE {
457 EGL_CONTEXT_TYPE eglType;
470 uint8_t* metadata_buffer;
507 metadata_buffer(NULL),
566 uint8_t* metadata_buffer;
589 uint8_t* alphaBuffer;
604 virtual void onFrame(
const VideoFrame* frame) = 0;
606 virtual bool isExternal() {
return true; }
610enum MEDIA_PLAYER_SOURCE_TYPE {
616 MEDIA_PLAYER_SOURCE_DEFAULT,
622 MEDIA_PLAYER_SOURCE_FULL_FEATURED,
627 MEDIA_PLAYER_SOURCE_SIMPLE,
844 virtual bool onCaptureVideoFrame(
VideoFrame& videoFrame) = 0;
862 virtual bool onSecondaryCameraCaptureVideoFrame(
VideoFrame& videoFrame) = 0;
881 virtual bool onSecondaryPreEncodeCameraVideoFrame(
VideoFrame& videoFrame) = 0;
899 virtual bool onScreenCaptureVideoFrame(
VideoFrame& videoFrame) = 0;
901 virtual bool onPreEncodeScreenVideoFrame(
VideoFrame& videoFrame) = 0;
919 virtual bool onMediaPlayerVideoFrame(
VideoFrame& videoFrame,
int mediaPlayerId) = 0;
921 virtual bool onSecondaryScreenCaptureVideoFrame(
VideoFrame& videoFrame) = 0;
923 virtual bool onSecondaryPreEncodeScreenVideoFrame(
VideoFrame& videoFrame) = 0;
1013#define MAX_CONTENT_INSPECT_MODULE_COUNT 32
1017enum CONTENT_INSPECT_RESULT {
1018 CONTENT_INSPECT_NEUTRAL = 1,
1019 CONTENT_INSPECT_SEXY = 2,
1020 CONTENT_INSPECT_PORN = 3,
1025enum CONTENT_INSPECT_DEVICE_TYPE{
1026 CONTENT_INSPECT_DEVICE_INVALID = 0,
1027 CONTENT_INSPECT_DEVICE_AGORA = 1,
1028 CONTENT_INSPECT_DEVICE_HIVE = 2,
1029 CONTENT_INSPECT_DEVICE_TUPU = 3
1034enum CONTENT_INSPECT_TYPE {
1038CONTENT_INSPECT_INVALIDE = 0,
1042CONTENT_INSPECT_MODERATION = 1,
1046CONTENT_INSPECT_SUPERVISE = 2
1051struct ContentInspectModule {
1055 CONTENT_INSPECT_TYPE type;
1059 unsigned int frequency;
unsigned int track_id_t
Definition: AgoraMediaBase.h:26
BYTES_PER_SAMPLE
Definition: AgoraMediaBase.h:38
@ TWO_BYTES_PER_SAMPLE
Definition: AgoraMediaBase.h:42
unsigned int uid_t
Definition: AgoraMediaBase.h:25
unsigned int conn_id_t
Definition: AgoraMediaBase.h:27
static const unsigned int DUMMY_CONNECTION_ID
Definition: AgoraMediaBase.h:30
RAW_AUDIO_FRAME_OP_MODE_TYPE
Definition: AgoraMediaBase.h:61
@ RAW_AUDIO_FRAME_OP_MODE_READ_WRITE
Definition: AgoraMediaBase.h:66
@ RAW_AUDIO_FRAME_OP_MODE_READ_ONLY
Definition: AgoraMediaBase.h:63
static const unsigned int DEFAULT_CONNECTION_ID
Definition: AgoraMediaBase.h:29
Definition: AgoraBase.h:85
Definition: AgoraBase.h:1842