Agora C++ API Reference for All Platforms
AgoraMediaBase.h
1 //
2 // Agora Engine SDK
3 //
4 // Created by Sting Feng in 2017-11.
5 // Copyright (c) 2017 Agora.io. All rights reserved.
6 
7 #pragma once // NOLINT(build/header_guard)
8 
9 #include <cstring>
10 #include <stdint.h>
11 #include <limits>
12 #include <stddef.h>
13 
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
17 #else
18 #define OPTIONAL_ENUM_SIZE_T enum
19 #endif
20 #endif
21 
22 #if !defined(__APPLE__)
23 #define __deprecated
24 #endif
25 
26 namespace agora {
27 namespace rtc {
28 
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;
33 
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)();
37 
38 
40 
41 
81 
94 
96 };
97 
102 {
147 };
148 
157 };
158 
161  size_t channels;
163 
165  : sample_rate(0),
166  channels(0),
167  frames_per_buffer(0) {}
168 };
169 
178 
183 };
184 
185 } // namespace rtc
186 
187 namespace media {
248 };
251 #define MAX_CONTENT_INSPECT_MODULE_COUNT 32
256 };
257 
267 CONTENT_INSPECT_MODERATION __deprecated = 1,
276 };
277 
286  unsigned int interval;
289  interval = 0;
290  }
291 };
295  const char* extraInfo;
299  const char* serverConfig;
303  ContentInspectModule modules[MAX_CONTENT_INSPECT_MODULE_COUNT];
308  {
309  extraInfo = rth.extraInfo;
311  moduleCount = rth.moduleCount;
312  memcpy(&modules, &rth.modules, MAX_CONTENT_INSPECT_MODULE_COUNT * sizeof(ContentInspectModule));
313  return *this;
314  }
316 };
317 
318 namespace base {
319 
320 typedef void* view_t;
321 
322 typedef const char* user_id_t;
323 
324 static const uint8_t kMaxCodecNameLength = 50;
325 
334  uint32_t timestamp;
335  // Audio level indication.
338  : timestamp(0),
339  audioLevelIndication(127) {}
340 };
341 
350  uint64_t sendTs;
354  uint8_t codec;
356  : sendTs(0),
357  codec(0) {}
358 };
359 
368  // Stereo, 32 kHz, 60 ms (2 * 32 * 60)
375  kMaxDataSizeSamples = 3840,
377  kMaxDataSizeBytes = kMaxDataSizeSamples * sizeof(int16_t),
378  };
379 
396  int16_t data_[kMaxDataSizeSamples];
397 
399  if(this == &src) {
400  return *this;
401  }
402 
403  this->capture_timestamp = src.capture_timestamp;
404  this->samples_per_channel_ = src.samples_per_channel_;
405  this->sample_rate_hz_ = src.sample_rate_hz_;
406  this->bytes_per_sample = src.bytes_per_sample;
407  this->num_channels_ = src.num_channels_;
408 
409  size_t length = src.samples_per_channel_ * src.num_channels_;
410  if (length > kMaxDataSizeSamples) {
411  length = kMaxDataSizeSamples;
412  }
413 
414  memcpy(this->data_, src.data_, length * sizeof(int16_t));
415 
416  return *this;
417  }
418 
420  : capture_timestamp(0),
422  sample_rate_hz_(0),
423  num_channels_(0),
424  bytes_per_sample(rtc::TWO_BYTES_PER_SAMPLE) {
425  memset(data_, 0, sizeof(data_));
426  }
427 
434  size_t length = src.samples_per_channel_ * src.num_channels_;
435  if (length > kMaxDataSizeSamples) {
436  length = kMaxDataSizeSamples;
437  }
438 
439  memcpy(this->data_, src.data_, length * sizeof(int16_t));
440  }
441 };
442 
449  AUDIO_DUAL_MONO_L = 1,
451  AUDIO_DUAL_MONO_R = 2,
454 };
455 
492  /*
493  12: pixel format for iOS CVPixelBuffer NV12
494  */
496  /*
497  13: pixel format for iOS CVPixelBuffer I420
498  */
500  /*
501  14: pixel format for iOS CVPixelBuffer BGRA
502  */
512 };
513 
533  RENDER_MODE_ADAPTIVE __deprecated = 3,
534 };
535 
552 };
553 
561  buffer(NULL),
562  stride(0),
563  height(0),
564  cropLeft(0),
565  cropTop(0),
566  cropRight(0),
567  cropBottom(0),
568  rotation(0),
569  timestamp(0),
570  eglContext(NULL),
572  textureId(0),
573  metadata_buffer(NULL),
574  metadata_size(0),
575  alphaBuffer(NULL),
576  d3d11_texture_2d(NULL),
578 
591  };
592 
609  };
610 
622  void* buffer;
627  int stride;
631  int height;
636  int cropLeft;
641  int cropTop;
656  int rotation;
664  long long timestamp;
670  void *eglContext;
682  float matrix[16];
687  uint8_t* metadata_buffer;
698  uint8_t* alphaBuffer;
699 
704 
709 };
710 
714 struct VideoFrame {
717  width(0),
718  height(0),
719  yStride(0),
720  uStride(0),
721  vStride(0),
722  yBuffer(NULL),
723  uBuffer(NULL),
724  vBuffer(NULL),
725  rotation(0),
726  renderTimeMs(0),
727  avsync_type(0),
728  metadata_buffer(NULL),
729  metadata_size(0),
730  sharedContext(0),
731  textureId(0),
732  d3d11Texture2d(NULL),
733  alphaBuffer(NULL),
734  pixelBuffer(NULL){
735  memset(matrix, 0, sizeof(matrix));
736  }
744  int width;
748  int height;
752  int yStride;
756  int uStride;
760  int vStride;
764  uint8_t* yBuffer;
768  uint8_t* uBuffer;
772  uint8_t* vBuffer;
776  int rotation;
783  int64_t renderTimeMs;
792  uint8_t* metadata_buffer;
813  float matrix[16];
819  uint8_t* alphaBuffer;
823  void* pixelBuffer;
824 };
825 
830  public:
838  virtual void onFrame(const VideoFrame* frame) = 0;
839  virtual ~IVideoFrameObserver() {}
840  virtual bool isExternal() { return true; }
842 };
843 
862 };
863 
868 };
869 
870 } // namespace base
871 
876  public:
885  virtual void onFrame(agora::media::base::AudioPcmFrame* frame) = 0;
886  virtual ~IAudioPcmFrameSink() {}
887 };
888 
893  public:
902  };
903  enum { MAX_HANDLE_TIME_CNT = 10 };
907  struct AudioFrame {
925  int channels;
936  void* buffer;
944  int64_t renderTimeMs;
956  int64_t presentationMs;
957 
960  bytesPerSample(rtc::TWO_BYTES_PER_SAMPLE),
961  channels(0),
962  samplesPerSec(0),
963  buffer(NULL),
964  renderTimeMs(0),
965  avsync_type(0),
966  presentationMs(0) {}
967  };
968 
986  };
987 
988  struct AudioParams {
998 
999  /* The number of audio channels, which can be set as either of the following values:
1000 
1001  - `1`: Mono (Default)
1002  - `2`: Stereo
1003  */
1005 
1006  /* The use mode of the audio data. See AgoraAudioRawFrameOperationMode.
1007  */
1009 
1014 
1015  AudioParams() : sample_rate(0), channels(0), mode(rtc::RAW_AUDIO_FRAME_OP_MODE_READ_ONLY), samples_per_call(0) {}
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) {}
1017  };
1018 
1019  public:
1021 
1030  virtual bool onRecordAudioFrame(const char* channelId, AudioFrame& audioFrame) = 0;
1039  virtual bool onPlaybackAudioFrame(const char* channelId, AudioFrame& audioFrame) = 0;
1048  virtual bool onMixedAudioFrame(const char* channelId, AudioFrame& audioFrame) = 0;
1056  virtual bool onEarMonitoringAudioFrame(AudioFrame& audioFrame) = 0;
1066  virtual bool onPlaybackAudioFrameBeforeMixing(const char* channelId, base::user_id_t userId, AudioFrame& audioFrame) {
1067  (void) channelId;
1068  (void) userId;
1069  (void) audioFrame;
1070  return true;
1071  }
1072 
1089 
1102 
1114 
1126 
1138 };
1139 
1144  public:
1155  virtual bool onPlaybackAudioFrameBeforeMixing(const char* channelId, rtc::uid_t uid, AudioFrame& audioFrame) = 0;
1156 };
1157 
1162  const float *audioSpectrumData;
1167 
1169  AudioSpectrumData(const float *data, int length) :
1170  audioSpectrumData(data), dataLength(length) {}
1171 };
1172 
1182 
1184  UserAudioSpectrumInfo(agora::rtc::uid_t _uid, const float *data, int length) :
1185  uid(_uid) { spectrumData.audioSpectrumData = data; spectrumData.dataLength = length; }
1186 };
1187 
1192 public:
1194 
1207  virtual bool onLocalAudioSpectrum(const AudioSpectrumData& data) = 0;
1208 
1226  virtual bool onRemoteAudioSpectrum(const UserAudioSpectrumInfo * spectrums, unsigned int spectrumNumber) = 0;
1227 };
1228 
1233  public:
1244  virtual bool onEncodedVideoFrameReceived(rtc::uid_t uid, const uint8_t* imageBuffer, size_t length,
1245  const rtc::EncodedVideoFrameInfo& videoEncodedFrameInfo) = 0;
1246 
1248 };
1249 
1254  public:
1265  PROCESS_MODE_READ_ONLY, // Observer works as a pure renderer and will not modify the original frame.
1271  PROCESS_MODE_READ_WRITE, // Observer works as a filter that will process the video frame and affect the following frame processing in SDK.
1272  };
1273 
1274  public:
1276 
1297  virtual bool onCaptureVideoFrame(agora::rtc::VIDEO_SOURCE_TYPE sourceType, VideoFrame& videoFrame) = 0;
1298 
1320  virtual bool onPreEncodeVideoFrame(agora::rtc::VIDEO_SOURCE_TYPE sourceType, VideoFrame& videoFrame) = 0;
1321 
1342  virtual bool onMediaPlayerVideoFrame(VideoFrame& videoFrame, int mediaPlayerId) = 0;
1343 
1363  virtual bool onRenderVideoFrame(const char* channelId, rtc::uid_t remoteUid, VideoFrame& videoFrame) = 0;
1364 
1365  virtual bool onTranscodedVideoFrame(VideoFrame& videoFrame) = 0;
1366 
1375  return PROCESS_MODE_READ_ONLY;
1376  }
1377 
1393 
1408  virtual bool getRotationApplied() { return false; }
1409 
1424  virtual bool getMirrorApplied() { return false; }
1425 
1443  virtual uint32_t getObservedFramePosition() {
1445  }
1446 
1454  virtual bool isExternal() { return true; }
1455 };
1456 
1469 };
1470 
1481 };
1500 };
1519 };
1546 };
1561  const char* storagePath;
1581 
1583  MediaRecorderConfiguration(const char* path, MediaRecorderContainerFormat format, MediaRecorderStreamType type, int duration, int interval) : storagePath(path), containerFormat(format), streamType(type), maxDurationMs(duration), recorderInfoUpdateInterval(interval) {}
1584 };
1594  const char* fileName;
1598  unsigned int durationMs;
1602  unsigned int fileSize;
1603 
1605  RecorderInfo(const char* name, unsigned int dur, unsigned int size) : fileName(name), durationMs(dur), fileSize(size) {}
1606 };
1607 
1608 
1610  public:
1624  virtual void onRecorderStateChanged(const char* channelId, rtc::uid_t uid, RecorderState state, RecorderErrorCode error) = 0;
1639  virtual void onRecorderInfoUpdated(const char* channelId, rtc::uid_t uid, const RecorderInfo& info) = 0;
1641 };
1642 } // namespace media
1643 } // namespace agora
agora::rtc::AudioParameters::sample_rate
int sample_rate
Definition: AgoraMediaBase.h:160
agora::media::PRIMARY_SCREEN_SOURCE
@ PRIMARY_SCREEN_SOURCE
Definition: AgoraMediaBase.h:211
agora::media::base::VIDEO_PIXEL_NV21
@ VIDEO_PIXEL_NV21
Definition: AgoraMediaBase.h:475
agora::media::base::AudioPcmFrame::AudioPcmFrame
AudioPcmFrame()
Definition: AgoraMediaBase.h:419
agora::rtc::VIDEO_SOURCE_MEDIA_PLAYER
@ VIDEO_SOURCE_MEDIA_PLAYER
Definition: AgoraMediaBase.h:65
agora::media::base::VIDEO_SOURCE_UNSPECIFIED
@ VIDEO_SOURCE_UNSPECIFIED
Definition: AgoraMediaBase.h:551
agora::media::IVideoFrameObserver::PROCESS_MODE_READ_ONLY
@ PROCESS_MODE_READ_ONLY
Definition: AgoraMediaBase.h:1265
agora::media::base::VideoFrame
Definition: AgoraMediaBase.h:714
agora::media::base::ExternalVideoFrame::cropBottom
int cropBottom
Definition: AgoraMediaBase.h:651
agora::media::IAudioFrameObserverBase::AudioParams::channels
int channels
Definition: AgoraMediaBase.h:1004
agora::rtc::VIDEO_SOURCE_SCREEN
@ VIDEO_SOURCE_SCREEN
Definition: AgoraMediaBase.h:56
agora::rtc::VIDEO_SOURCE_UNKNOWN
@ VIDEO_SOURCE_UNKNOWN
Definition: AgoraMediaBase.h:95
agora::media::MEDIA_PLAYER_SOURCE
@ MEDIA_PLAYER_SOURCE
Definition: AgoraMediaBase.h:223
agora::rtc::VIDEO_SOURCE_CAMERA
@ VIDEO_SOURCE_CAMERA
Definition: AgoraMediaBase.h:49
agora::media::base::VideoFrame::metadata_size
int metadata_size
Definition: AgoraMediaBase.h:797
agora::media::base::POSITION_PRE_RENDERER
@ POSITION_PRE_RENDERER
Definition: AgoraMediaBase.h:866
agora::media::CONTENT_INSPECT_INVALID
@ CONTENT_INSPECT_INVALID
Definition: AgoraMediaBase.h:262
agora::media::AudioSpectrumData::audioSpectrumData
const float * audioSpectrumData
Definition: AgoraMediaBase.h:1162
agora::media::IAudioFrameObserverBase::onEarMonitoringAudioFrame
virtual bool onEarMonitoringAudioFrame(AudioFrame &audioFrame)=0
agora::media::base::ExternalVideoFrame::matrix
float matrix[16]
Definition: AgoraMediaBase.h:682
agora::media::ContentInspectConfig::ContentInspectConfig
ContentInspectConfig()
Definition: AgoraMediaBase.h:315
agora::media::base::VIDEO_PIXEL_FORMAT
VIDEO_PIXEL_FORMAT
Definition: AgoraMediaBase.h:459
agora::media::IAudioPcmFrameSink
Definition: AgoraMediaBase.h:875
agora::rtc::VIDEO_SOURCE_CAMERA_SECONDARY
@ VIDEO_SOURCE_CAMERA_SECONDARY
Definition: AgoraMediaBase.h:52
agora::media::IMediaRecorderObserver
Definition: AgoraMediaBase.h:1609
agora::media::IAudioFrameObserverBase
Definition: AgoraMediaBase.h:892
agora::media::ContentInspectConfig::modules
ContentInspectModule modules[MAX_CONTENT_INSPECT_MODULE_COUNT]
Definition: AgoraMediaBase.h:303
agora::media::base::VideoFrame::uStride
int uStride
Definition: AgoraMediaBase.h:756
agora::rtc::AudioParameters::AudioParameters
AudioParameters()
Definition: AgoraMediaBase.h:164
agora::media::RECORDER_STATE_STOP
@ RECORDER_STATE_STOP
Definition: AgoraMediaBase.h:1518
agora::rtc::AudioParameters::channels
size_t channels
Definition: AgoraMediaBase.h:161
agora::media::IMediaRecorderObserver::~IMediaRecorderObserver
virtual ~IMediaRecorderObserver()
Definition: AgoraMediaBase.h:1640
agora::media::IAudioFrameObserverBase::FRAME_TYPE_PCM16
@ FRAME_TYPE_PCM16
Definition: AgoraMediaBase.h:901
agora::media::UNKNOWN_MEDIA_SOURCE
@ UNKNOWN_MEDIA_SOURCE
Definition: AgoraMediaBase.h:247
agora::media::VIDEO_FRAME
@ VIDEO_FRAME
Definition: AgoraMediaBase.h:1464
agora::media::base::VideoFrame::alphaBuffer
uint8_t * alphaBuffer
Definition: AgoraMediaBase.h:819
agora::media::base::IVideoFrameObserver::getVideoFormatPreference
virtual VIDEO_PIXEL_FORMAT getVideoFormatPreference()
Definition: AgoraMediaBase.h:841
agora::media::base::kMaxCodecNameLength
static const uint8_t kMaxCodecNameLength
Definition: AgoraMediaBase.h:324
agora::media::base::MEDIA_PLAYER_SOURCE_TYPE
MEDIA_PLAYER_SOURCE_TYPE
Definition: AgoraMediaBase.h:844
agora::media::base::MEDIA_PLAYER_SOURCE_DEFAULT
@ MEDIA_PLAYER_SOURCE_DEFAULT
Definition: AgoraMediaBase.h:850
agora::media::PRIMARY_CAMERA_SOURCE
@ PRIMARY_CAMERA_SOURCE
Definition: AgoraMediaBase.h:203
agora::media::base::CAMERA_SOURCE_FRONT
@ CAMERA_SOURCE_FRONT
Definition: AgoraMediaBase.h:543
agora::media::base::VideoFrame::height
int height
Definition: AgoraMediaBase.h:748
agora::media::base::AudioPcmFrame::data_
int16_t data_[kMaxDataSizeSamples]
Definition: AgoraMediaBase.h:396
agora::media::IAudioFrameObserverBase::onRecordAudioFrame
virtual bool onRecordAudioFrame(const char *channelId, AudioFrame &audioFrame)=0
agora::media::MediaRecorderConfiguration::maxDurationMs
int maxDurationMs
Definition: AgoraMediaBase.h:1573
agora::media::MediaRecorderConfiguration::MediaRecorderConfiguration
MediaRecorderConfiguration(const char *path, MediaRecorderContainerFormat format, MediaRecorderStreamType type, int duration, int interval)
Definition: AgoraMediaBase.h:1583
agora::media::IAudioSpectrumObserver
Definition: AgoraMediaBase.h:1191
agora::media::AudioSpectrumData::AudioSpectrumData
AudioSpectrumData(const float *data, int length)
Definition: AgoraMediaBase.h:1169
agora::media::base::POSITION_POST_CAPTURER
@ POSITION_POST_CAPTURER
Definition: AgoraMediaBase.h:865
agora::rtc::AudioParameters
Definition: AgoraMediaBase.h:159
agora::media::IAudioFrameObserverBase::AudioFrame::renderTimeMs
int64_t renderTimeMs
Definition: AgoraMediaBase.h:944
agora::media::IAudioFrameObserverBase::AudioParams::mode
rtc::RAW_AUDIO_FRAME_OP_MODE_TYPE mode
Definition: AgoraMediaBase.h:1008
agora::media::base::RENDER_MODE_FIT
@ RENDER_MODE_FIT
Definition: AgoraMediaBase.h:528
agora::media::TRANSCODED_VIDEO_SOURCE
@ TRANSCODED_VIDEO_SOURCE
Definition: AgoraMediaBase.h:243
agora::media::base::VideoFrame::VideoFrame
VideoFrame()
Definition: AgoraMediaBase.h:715
agora::media::base::ExternalVideoFrame::VIDEO_BUFFER_RAW_DATA
@ VIDEO_BUFFER_RAW_DATA
Definition: AgoraMediaBase.h:600
agora::media::IAudioFrameObserverBase::getPlaybackAudioParams
virtual AudioParams getPlaybackAudioParams()=0
agora::media::base::CAMERA_SOURCE_BACK
@ CAMERA_SOURCE_BACK
Definition: AgoraMediaBase.h:547
agora::media::base::ExternalVideoFrame::buffer
void * buffer
Definition: AgoraMediaBase.h:622
agora::media::IAudioFrameObserverBase::AudioFrame::channels
int channels
Definition: AgoraMediaBase.h:925
agora::media::base::VIDEO_TEXTURE_OES
@ VIDEO_TEXTURE_OES
Definition: AgoraMediaBase.h:491
agora::media::IVideoFrameObserver::getVideoFormatPreference
virtual base::VIDEO_PIXEL_FORMAT getVideoFormatPreference()
Definition: AgoraMediaBase.h:1392
agora::rtc::ROUTE_HEADSETBLUETOOTH
@ ROUTE_HEADSETBLUETOOTH
Definition: AgoraMediaBase.h:130
agora::media::IAudioFrameObserverBase::AudioFrame::AudioFrame
AudioFrame()
Definition: AgoraMediaBase.h:958
agora::rtc::EncodedVideoFrameInfo
Definition: AgoraBase.h:1547
agora::media::base::ExternalVideoFrame::VIDEO_BUFFER_TYPE
VIDEO_BUFFER_TYPE
Definition: AgoraMediaBase.h:596
agora::media::ContentInspectConfig::serverConfig
const char * serverConfig
Definition: AgoraMediaBase.h:299
agora::media::base::IVideoFrameObserver
Definition: AgoraMediaBase.h:829
agora::media::base::user_id_t
const char * user_id_t
Definition: AgoraMediaBase.h:322
agora::media::STREAM_TYPE_AUDIO
@ STREAM_TYPE_AUDIO
Definition: AgoraMediaBase.h:1491
agora::rtc::ROUTE_HEADSET
@ ROUTE_HEADSET
Definition: AgoraMediaBase.h:110
agora::media::IVideoFrameObserver::getVideoFrameProcessMode
virtual VIDEO_FRAME_PROCESS_MODE getVideoFrameProcessMode()
Definition: AgoraMediaBase.h:1374
agora::media::IVideoFrameObserver
Definition: AgoraMediaBase.h:1253
agora::media::base::AudioPcmFrame::operator=
AudioPcmFrame & operator=(const AudioPcmFrame &src)
Definition: AgoraMediaBase.h:398
agora::media::IAudioFrameObserverBase::AudioFrame
Definition: AgoraMediaBase.h:907
agora::media::base::VIDEO_TEXTURE_2D
@ VIDEO_TEXTURE_2D
Definition: AgoraMediaBase.h:487
agora::media::base::view_t
void * view_t
Definition: AgoraMediaBase.h:320
agora::media::base::AudioEncodedFrameInfo::codec
uint8_t codec
Definition: AgoraMediaBase.h:354
agora::media::IVideoEncodedFrameObserver::onEncodedVideoFrameReceived
virtual bool onEncodedVideoFrameReceived(rtc::uid_t uid, const uint8_t *imageBuffer, size_t length, const rtc::EncodedVideoFrameInfo &videoEncodedFrameInfo)=0
agora::rtc::VIDEO_SOURCE_SCREEN_SECONDARY
@ VIDEO_SOURCE_SCREEN_SECONDARY
Definition: AgoraMediaBase.h:59
agora::media::base::IVideoFrameObserver::~IVideoFrameObserver
virtual ~IVideoFrameObserver()
Definition: AgoraMediaBase.h:839
agora::media::RECORDER_ERROR_OVER_MAX_DURATION
@ RECORDER_ERROR_OVER_MAX_DURATION
Definition: AgoraMediaBase.h:1541
agora::media::MediaRecorderConfiguration::recorderInfoUpdateInterval
int recorderInfoUpdateInterval
Definition: AgoraMediaBase.h:1580
agora::media::IAudioFrameObserver
Definition: AgoraMediaBase.h:1143
agora::media::IAudioFrameObserverBase::getEarMonitoringAudioParams
virtual AudioParams getEarMonitoringAudioParams()=0
agora::media::base::VideoFrame::d3d11Texture2d
void * d3d11Texture2d
Definition: AgoraMediaBase.h:809
agora::media::base::VideoFrame::rotation
int rotation
Definition: AgoraMediaBase.h:776
agora::rtc::BYTES_PER_SAMPLE
BYTES_PER_SAMPLE
Definition: AgoraMediaBase.h:152
agora::media::base::IVideoFrameObserver::onFrame
virtual void onFrame(const VideoFrame *frame)=0
agora::media::base::MEDIA_PLAYER_SOURCE_FULL_FEATURED
@ MEDIA_PLAYER_SOURCE_FULL_FEATURED
Definition: AgoraMediaBase.h:856
agora::media::IAudioFrameObserverBase::getMixedAudioParams
virtual AudioParams getMixedAudioParams()=0
agora::rtc::conn_id_t
unsigned int conn_id_t
Definition: AgoraMediaBase.h:31
agora::media::IAudioFrameObserverBase::AudioParams::AudioParams
AudioParams(int samplerate, int channel, rtc::RAW_AUDIO_FRAME_OP_MODE_TYPE type, int samplesPerCall)
Definition: AgoraMediaBase.h:1016
agora::media::base::IVideoFrameObserver::isExternal
virtual bool isExternal()
Definition: AgoraMediaBase.h:840
agora::media::base::AudioPcmFrame::OPTIONAL_ENUM_SIZE_T
OPTIONAL_ENUM_SIZE_T
Definition: AgoraMediaBase.h:367
agora::media::base::ExternalVideoFrame::eglContext
void * eglContext
Definition: AgoraMediaBase.h:670
agora::media::base::VIDEO_CVPIXEL_NV12
@ VIDEO_CVPIXEL_NV12
Definition: AgoraMediaBase.h:495
agora::media::base::ExternalVideoFrame::cropRight
int cropRight
Definition: AgoraMediaBase.h:646
agora::media::CUSTOM_VIDEO_SOURCE
@ CUSTOM_VIDEO_SOURCE
Definition: AgoraMediaBase.h:219
agora::media::IAudioFrameObserverBase::getRecordAudioParams
virtual AudioParams getRecordAudioParams()=0
agora::media::base::VideoFrame::textureId
int textureId
Definition: AgoraMediaBase.h:805
agora::media::base::ExternalVideoFrame::VIDEO_BUFFER_ARRAY
@ VIDEO_BUFFER_ARRAY
Definition: AgoraMediaBase.h:604
agora::media::base::ExternalVideoFrame::VIDEO_BUFFER_TEXTURE
@ VIDEO_BUFFER_TEXTURE
Definition: AgoraMediaBase.h:608
agora::media::IAudioFrameObserverBase::AudioFrame::presentationMs
int64_t presentationMs
Definition: AgoraMediaBase.h:956
agora::media::RECORDER_ERROR_NO_STREAM
@ RECORDER_ERROR_NO_STREAM
Definition: AgoraMediaBase.h:1537
agora::rtc::VIDEO_SOURCE_SCREEN_THIRD
@ VIDEO_SOURCE_SCREEN_THIRD
Definition: AgoraMediaBase.h:90
agora::media::base::VideoFrame::avsync_type
int avsync_type
Definition: AgoraMediaBase.h:787
agora
Definition: AgoraAtomicOps.h:21
agora::media::base::VideoFrame::matrix
float matrix[16]
Definition: AgoraMediaBase.h:813
agora::media::base::ExternalVideoFrame::cropLeft
int cropLeft
Definition: AgoraMediaBase.h:636
agora::media::RTC_IMAGE_GIF_SOURCE
@ RTC_IMAGE_GIF_SOURCE
Definition: AgoraMediaBase.h:235
agora::media::RECORDER_ERROR_WRITE_FAILED
@ RECORDER_ERROR_WRITE_FAILED
Definition: AgoraMediaBase.h:1533
agora::rtc::track_id_t
unsigned int track_id_t
Definition: AgoraMediaBase.h:30
agora::media::IAudioFrameObserverBase::AudioFrame::samplesPerSec
int samplesPerSec
Definition: AgoraMediaBase.h:929
agora::media::AUDIO_RECORDING_SOURCE
@ AUDIO_RECORDING_SOURCE
Definition: AgoraMediaBase.h:199
agora::media::RecorderErrorCode
RecorderErrorCode
Definition: AgoraMediaBase.h:1525
agora::rtc::ROUTE_AIRPLAY
@ ROUTE_AIRPLAY
Definition: AgoraMediaBase.h:146
agora::media::ContentInspectModule
Definition: AgoraMediaBase.h:278
agora::media::base::VIDEO_PIXEL_I422
@ VIDEO_PIXEL_I422
Definition: AgoraMediaBase.h:507
agora::media::IAudioFrameObserverBase::AudioFrame::buffer
void * buffer
Definition: AgoraMediaBase.h:936
agora::rtc::VIDEO_SOURCE_CUSTOM
@ VIDEO_SOURCE_CUSTOM
Definition: AgoraMediaBase.h:62
agora::media::CONTENT_INSPECT_TYPE
CONTENT_INSPECT_TYPE
Definition: AgoraMediaBase.h:258
agora::media::IAudioFrameObserverBase::onPlaybackAudioFrameBeforeMixing
virtual bool onPlaybackAudioFrameBeforeMixing(const char *channelId, base::user_id_t userId, AudioFrame &audioFrame)
Definition: AgoraMediaBase.h:1066
agora::rtc::RAW_AUDIO_FRAME_OP_MODE_TYPE
RAW_AUDIO_FRAME_OP_MODE_TYPE
Definition: AgoraMediaBase.h:173
agora::media::IAudioSpectrumObserver::onRemoteAudioSpectrum
virtual bool onRemoteAudioSpectrum(const UserAudioSpectrumInfo *spectrums, unsigned int spectrumNumber)=0
agora::media::MediaRecorderStreamType
MediaRecorderStreamType
Definition: AgoraMediaBase.h:1487
agora::media::IMediaRecorderObserver::onRecorderInfoUpdated
virtual void onRecorderInfoUpdated(const char *channelId, rtc::uid_t uid, const RecorderInfo &info)=0
agora::rtc::VIDEO_SOURCE_REMOTE
@ VIDEO_SOURCE_REMOTE
Definition: AgoraMediaBase.h:77
agora::media::SECONDARY_SCREEN_SOURCE
@ SECONDARY_SCREEN_SOURCE
Definition: AgoraMediaBase.h:215
agora::media::base::ExternalVideoFrame
Definition: AgoraMediaBase.h:557
agora::media::base::AudioEncodedFrameInfo::sendTs
uint64_t sendTs
Definition: AgoraMediaBase.h:350
agora::media::base::ExternalVideoFrame::ExternalVideoFrame
ExternalVideoFrame()
Definition: AgoraMediaBase.h:558
agora::media::ContentInspectConfig::moduleCount
int moduleCount
Definition: AgoraMediaBase.h:306
agora::media::base::VIDEO_CVPIXEL_I420
@ VIDEO_CVPIXEL_I420
Definition: AgoraMediaBase.h:499
agora::media::base::VideoFrame::type
VIDEO_PIXEL_FORMAT type
Definition: AgoraMediaBase.h:740
agora::rtc::ROUTE_DEFAULT
@ ROUTE_DEFAULT
Definition: AgoraMediaBase.h:106
agora::media::RTC_IMAGE_JPEG_SOURCE
@ RTC_IMAGE_JPEG_SOURCE
Definition: AgoraMediaBase.h:231
agora::media::base::AudioPcmFrame::capture_timestamp
int64_t capture_timestamp
Definition: AgoraMediaBase.h:382
agora::media::base::ExternalVideoFrame::timestamp
long long timestamp
Definition: AgoraMediaBase.h:664
agora::rtc::DEFAULT_CONNECTION_ID
static const unsigned int DEFAULT_CONNECTION_ID
Definition: AgoraMediaBase.h:35
agora::media::base::AudioPcmFrame::sample_rate_hz_
int sample_rate_hz_
Definition: AgoraMediaBase.h:388
agora::rtc::RAW_AUDIO_FRAME_OP_MODE_READ_WRITE
@ RAW_AUDIO_FRAME_OP_MODE_READ_WRITE
Definition: AgoraMediaBase.h:182
agora::media::IVideoFrameObserver::onTranscodedVideoFrame
virtual bool onTranscodedVideoFrame(VideoFrame &videoFrame)=0
agora::media::base::__deprecated
@ __deprecated
Definition: AgoraMediaBase.h:533
agora::media::RTC_IMAGE_PNG_SOURCE
@ RTC_IMAGE_PNG_SOURCE
Definition: AgoraMediaBase.h:227
agora::rtc::VIDEO_SOURCE_TRANSCODED
@ VIDEO_SOURCE_TRANSCODED
Definition: AgoraMediaBase.h:80
agora::media::base::AUDIO_DUAL_MONO_MIX
@ AUDIO_DUAL_MONO_MIX
Definition: AgoraMediaBase.h:453
agora::rtc::ROUTE_EARPIECE
@ ROUTE_EARPIECE
Definition: AgoraMediaBase.h:114
agora::media::base::PacketOptions::PacketOptions
PacketOptions()
Definition: AgoraMediaBase.h:337
agora::media::IAudioFrameObserverBase::AUDIO_FRAME_POSITION
AUDIO_FRAME_POSITION
Definition: AgoraMediaBase.h:969
agora::media::base::ExternalVideoFrame::height
int height
Definition: AgoraMediaBase.h:631
agora::media::base::VideoFrame::sharedContext
void * sharedContext
Definition: AgoraMediaBase.h:801
agora::media::base::ExternalVideoFrame::rotation
int rotation
Definition: AgoraMediaBase.h:656
agora::rtc::ROUTE_USB
@ ROUTE_USB
Definition: AgoraMediaBase.h:134
agora::media::RECORDER_ERROR_NONE
@ RECORDER_ERROR_NONE
Definition: AgoraMediaBase.h:1529
agora::media::RecorderInfo
Definition: AgoraMediaBase.h:1590
agora::rtc::AudioParameters::frames_per_buffer
size_t frames_per_buffer
Definition: AgoraMediaBase.h:162
agora::media::base::VIDEO_CVPIXEL_BGRA
@ VIDEO_CVPIXEL_BGRA
Definition: AgoraMediaBase.h:503
agora::media::base::ExternalVideoFrame::d3d11_texture_2d
void * d3d11_texture_2d
Definition: AgoraMediaBase.h:703
agora::media::IVideoFrameObserver::onCaptureVideoFrame
virtual bool onCaptureVideoFrame(agora::rtc::VIDEO_SOURCE_TYPE sourceType, VideoFrame &videoFrame)=0
agora::media::UserAudioSpectrumInfo::UserAudioSpectrumInfo
UserAudioSpectrumInfo()
Definition: AgoraMediaBase.h:1183
agora::media::UserAudioSpectrumInfo::spectrumData
struct AudioSpectrumData spectrumData
Definition: AgoraMediaBase.h:1181
agora::media::SECONDARY_CAMERA_SOURCE
@ SECONDARY_CAMERA_SOURCE
Definition: AgoraMediaBase.h:207
agora::media::IAudioFrameObserverBase::AudioParams::samples_per_call
int samples_per_call
Definition: AgoraMediaBase.h:1013
agora::media::IAudioFrameObserverBase::AUDIO_FRAME_POSITION_PLAYBACK
@ AUDIO_FRAME_POSITION_PLAYBACK
Definition: AgoraMediaBase.h:973
agora::media::RecorderState
RecorderState
Definition: AgoraMediaBase.h:1506
agora::media::base::PacketOptions
Definition: AgoraMediaBase.h:330
agora::media::base::AudioPcmFrame::AudioPcmFrame
AudioPcmFrame(const AudioPcmFrame &src)
Definition: AgoraMediaBase.h:428
agora::media::base::PacketOptions::timestamp
uint32_t timestamp
Definition: AgoraMediaBase.h:334
agora::rtc::VIDEO_SOURCE_CAMERA_PRIMARY
@ VIDEO_SOURCE_CAMERA_PRIMARY
Definition: AgoraMediaBase.h:48
agora::rtc::VIDEO_SOURCE_RTC_IMAGE_JPEG
@ VIDEO_SOURCE_RTC_IMAGE_JPEG
Definition: AgoraMediaBase.h:71
agora::rtc::VIDEO_SOURCE_SCREEN_PRIMARY
@ VIDEO_SOURCE_SCREEN_PRIMARY
Definition: AgoraMediaBase.h:55
agora::media::base::RENDER_MODE_HIDDEN
@ RENDER_MODE_HIDDEN
Definition: AgoraMediaBase.h:522
agora::rtc::VIDEO_SOURCE_CAMERA_FOURTH
@ VIDEO_SOURCE_CAMERA_FOURTH
Definition: AgoraMediaBase.h:87
agora::media::IAudioFrameObserverBase::AUDIO_FRAME_TYPE
AUDIO_FRAME_TYPE
Definition: AgoraMediaBase.h:897
agora::media::base::VideoFrame::yBuffer
uint8_t * yBuffer
Definition: AgoraMediaBase.h:764
agora::rtc::INVALID_TRACK_ID
static const unsigned int INVALID_TRACK_ID
Definition: AgoraMediaBase.h:34
agora::media::base::AudioPcmFrame::bytes_per_sample
rtc::BYTES_PER_SAMPLE bytes_per_sample
Definition: AgoraMediaBase.h:394
agora::media::MediaRecorderContainerFormat
MediaRecorderContainerFormat
Definition: AgoraMediaBase.h:1476
agora::media::UserAudioSpectrumInfo
Definition: AgoraMediaBase.h:1173
agora::media::IAudioFrameObserverBase::AUDIO_FRAME_POSITION_EAR_MONITORING
@ AUDIO_FRAME_POSITION_EAR_MONITORING
Definition: AgoraMediaBase.h:985
agora::media::RecorderInfo::fileName
const char * fileName
Definition: AgoraMediaBase.h:1594
agora::rtc::RAW_AUDIO_FRAME_OP_MODE_READ_ONLY
@ RAW_AUDIO_FRAME_OP_MODE_READ_ONLY
Definition: AgoraMediaBase.h:177
agora::media::RECORDER_STATE_ERROR
@ RECORDER_STATE_ERROR
Definition: AgoraMediaBase.h:1510
agora::media::IAudioFrameObserverBase::~IAudioFrameObserverBase
virtual ~IAudioFrameObserverBase()
Definition: AgoraMediaBase.h:1020
agora::media::IVideoFrameObserver::onRenderVideoFrame
virtual bool onRenderVideoFrame(const char *channelId, rtc::uid_t remoteUid, VideoFrame &videoFrame)=0
agora::media::STREAM_TYPE_VIDEO
@ STREAM_TYPE_VIDEO
Definition: AgoraMediaBase.h:1495
agora::media::IVideoFrameObserver::PROCESS_MODE_READ_WRITE
@ PROCESS_MODE_READ_WRITE
Definition: AgoraMediaBase.h:1271
agora::media::IVideoFrameObserver::isExternal
virtual bool isExternal()
Definition: AgoraMediaBase.h:1454
agora::media::__deprecated
@ __deprecated
Definition: AgoraMediaBase.h:267
agora::media::CONTENT_INSPECT_IMAGE_MODERATION
@ CONTENT_INSPECT_IMAGE_MODERATION
Definition: AgoraMediaBase.h:275
agora::media::ContentInspectModule::interval
unsigned int interval
Definition: AgoraMediaBase.h:286
agora::media::IVideoFrameObserver::getObservedFramePosition
virtual uint32_t getObservedFramePosition()
Definition: AgoraMediaBase.h:1443
agora::media::base::VideoFrame::yStride
int yStride
Definition: AgoraMediaBase.h:752
agora::media::IAudioFrameObserverBase::AudioParams::AudioParams
AudioParams()
Definition: AgoraMediaBase.h:1015
agora::media::base::ExternalVideoFrame::alphaBuffer
uint8_t * alphaBuffer
Definition: AgoraMediaBase.h:698
agora::media::base::ExternalVideoFrame::metadata_buffer
uint8_t * metadata_buffer
Definition: AgoraMediaBase.h:687
agora::media::base::PacketOptions::audioLevelIndication
uint8_t audioLevelIndication
Definition: AgoraMediaBase.h:336
agora::media::ContentInspectModule::type
CONTENT_INSPECT_TYPE type
Definition: AgoraMediaBase.h:282
agora::media::IAudioFrameObserverBase::AUDIO_FRAME_POSITION_NONE
@ AUDIO_FRAME_POSITION_NONE
Definition: AgoraMediaBase.h:970
agora::media::MediaRecorderConfiguration::containerFormat
MediaRecorderContainerFormat containerFormat
Definition: AgoraMediaBase.h:1565
agora::media::base::ExternalVideoFrame::EGL_CONTEXT14
@ EGL_CONTEXT14
Definition: AgoraMediaBase.h:590
agora::media::base::AudioEncodedFrameInfo::AudioEncodedFrameInfo
AudioEncodedFrameInfo()
Definition: AgoraMediaBase.h:355
agora::rtc::VIDEO_SOURCE_TYPE
VIDEO_SOURCE_TYPE
Definition: AgoraMediaBase.h:45
agora::media::base::AUDIO_DUAL_MONO_L
@ AUDIO_DUAL_MONO_L
Definition: AgoraMediaBase.h:449
agora::media::IAudioPcmFrameSink::~IAudioPcmFrameSink
virtual ~IAudioPcmFrameSink()
Definition: AgoraMediaBase.h:886
agora::media::RecorderInfo::RecorderInfo
RecorderInfo(const char *name, unsigned int dur, unsigned int size)
Definition: AgoraMediaBase.h:1605
agora::media::base::VIDEO_MODULE_POSITION
VIDEO_MODULE_POSITION
Definition: AgoraMediaBase.h:864
agora::media::RecorderInfo::fileSize
unsigned int fileSize
Definition: AgoraMediaBase.h:1602
agora::media::ContentInspectConfig::operator=
ContentInspectConfig & operator=(const ContentInspectConfig &rth)
Definition: AgoraMediaBase.h:307
agora::media::CONTENT_INSPECT_NEUTRAL
@ CONTENT_INSPECT_NEUTRAL
Definition: AgoraMediaBase.h:253
agora::media::base::ExternalVideoFrame::cropTop
int cropTop
Definition: AgoraMediaBase.h:641
agora::media::base::ExternalVideoFrame::type
VIDEO_BUFFER_TYPE type
Definition: AgoraMediaBase.h:614
agora::media::IVideoFrameObserver::onPreEncodeVideoFrame
virtual bool onPreEncodeVideoFrame(agora::rtc::VIDEO_SOURCE_TYPE sourceType, VideoFrame &videoFrame)=0
agora::media::base::RENDER_MODE_TYPE
RENDER_MODE_TYPE
Definition: AgoraMediaBase.h:517
agora::media::base::CAMERA_VIDEO_SOURCE_TYPE
CAMERA_VIDEO_SOURCE_TYPE
Definition: AgoraMediaBase.h:539
agora::media::IVideoFrameObserver::getRotationApplied
virtual bool getRotationApplied()
Definition: AgoraMediaBase.h:1408
agora::media::IVideoFrameObserver::VideoFrame
media::base::VideoFrame VideoFrame
Definition: AgoraMediaBase.h:1255
agora::media::CONTENT_INSPECT_SUPERVISION
@ CONTENT_INSPECT_SUPERVISION
Definition: AgoraMediaBase.h:271
agora::media::base::VideoFrame::vBuffer
uint8_t * vBuffer
Definition: AgoraMediaBase.h:772
agora::media::AudioSpectrumData::dataLength
int dataLength
Definition: AgoraMediaBase.h:1166
agora::media::base::ExternalVideoFrame::EGL_CONTEXT_TYPE
EGL_CONTEXT_TYPE
Definition: AgoraMediaBase.h:582
agora::media::AudioSpectrumData::AudioSpectrumData
AudioSpectrumData()
Definition: AgoraMediaBase.h:1168
agora::media::IAudioFrameObserverBase::onMixedAudioFrame
virtual bool onMixedAudioFrame(const char *channelId, AudioFrame &audioFrame)=0
agora::rtc::ROUTE_HEADSETNOMIC
@ ROUTE_HEADSETNOMIC
Definition: AgoraMediaBase.h:118
agora::media::RecorderInfo::RecorderInfo
RecorderInfo()
Definition: AgoraMediaBase.h:1604
agora::media::IAudioFrameObserverBase::AudioParams
Definition: AgoraMediaBase.h:988
agora::media::UserAudioSpectrumInfo::UserAudioSpectrumInfo
UserAudioSpectrumInfo(agora::rtc::uid_t _uid, const float *data, int length)
Definition: AgoraMediaBase.h:1184
agora::media::base::AudioPcmFrame::num_channels_
size_t num_channels_
Definition: AgoraMediaBase.h:391
agora::rtc::VIDEO_SOURCE_RTC_IMAGE_GIF
@ VIDEO_SOURCE_RTC_IMAGE_GIF
Definition: AgoraMediaBase.h:74
agora::media::RECORDER_STATE_START
@ RECORDER_STATE_START
Definition: AgoraMediaBase.h:1514
agora::media::IAudioFrameObserverBase::AudioFrame::avsync_type
int avsync_type
Definition: AgoraMediaBase.h:948
agora::media::IAudioFrameObserverBase::getObservedAudioFramePosition
virtual int getObservedAudioFramePosition()=0
agora::media::MediaRecorderConfiguration
Definition: AgoraMediaBase.h:1552
agora::rtc::VIDEO_SOURCE_CAMERA_THIRD
@ VIDEO_SOURCE_CAMERA_THIRD
Definition: AgoraMediaBase.h:84
agora::media::base::VideoFrame::metadata_buffer
uint8_t * metadata_buffer
Definition: AgoraMediaBase.h:792
agora::media::MediaRecorderConfiguration::streamType
MediaRecorderStreamType streamType
Definition: AgoraMediaBase.h:1569
agora::media::IAudioFrameObserverBase::AUDIO_FRAME_POSITION_BEFORE_MIXING
@ AUDIO_FRAME_POSITION_BEFORE_MIXING
Definition: AgoraMediaBase.h:982
agora::media::base::VIDEO_PIXEL_DEFAULT
@ VIDEO_PIXEL_DEFAULT
Definition: AgoraMediaBase.h:463
agora::media::STREAM_TYPE_BOTH
@ STREAM_TYPE_BOTH
Definition: AgoraMediaBase.h:1499
agora::media::CONTENT_INSPECT_SEXY
@ CONTENT_INSPECT_SEXY
Definition: AgoraMediaBase.h:254
agora::media::FORMAT_MP4
@ FORMAT_MP4
Definition: AgoraMediaBase.h:1480
agora::media::MediaRecorderConfiguration::storagePath
const char * storagePath
Definition: AgoraMediaBase.h:1561
agora::media::AudioSpectrumData
Definition: AgoraMediaBase.h:1158
agora::rtc::ROUTE_DISPLAYPORT
@ ROUTE_DISPLAYPORT
Definition: AgoraMediaBase.h:142
agora::media::base::VideoFrame::width
int width
Definition: AgoraMediaBase.h:744
agora::media::RecorderInfo::durationMs
unsigned int durationMs
Definition: AgoraMediaBase.h:1598
agora::media::base::VideoFrame::renderTimeMs
int64_t renderTimeMs
Definition: AgoraMediaBase.h:783
agora::media::base::ExternalVideoFrame::metadata_size
int metadata_size
Definition: AgoraMediaBase.h:692
agora::media::base::AudioPcmFrame::samples_per_channel_
size_t samples_per_channel_
Definition: AgoraMediaBase.h:385
agora::media::IAudioFrameObserver::onPlaybackAudioFrameBeforeMixing
virtual bool onPlaybackAudioFrameBeforeMixing(const char *channelId, rtc::uid_t uid, AudioFrame &audioFrame)=0
agora::rtc::VIDEO_SOURCE_RTC_IMAGE_PNG
@ VIDEO_SOURCE_RTC_IMAGE_PNG
Definition: AgoraMediaBase.h:68
agora::media::IVideoFrameObserver::onMediaPlayerVideoFrame
virtual bool onMediaPlayerVideoFrame(VideoFrame &videoFrame, int mediaPlayerId)=0
agora::media::IAudioFrameObserverBase::AudioFrame::bytesPerSample
agora::rtc::BYTES_PER_SAMPLE bytesPerSample
Definition: AgoraMediaBase.h:919
agora::media::IVideoFrameObserver::~IVideoFrameObserver
virtual ~IVideoFrameObserver()
Definition: AgoraMediaBase.h:1275
agora::media::base::ExternalVideoFrame::textureId
int textureId
Definition: AgoraMediaBase.h:678
agora::media::base::VideoFrame::pixelBuffer
void * pixelBuffer
Definition: AgoraMediaBase.h:823
agora::media::IAudioSpectrumObserver::~IAudioSpectrumObserver
virtual ~IAudioSpectrumObserver()
Definition: AgoraMediaBase.h:1193
agora::media::IAudioFrameObserverBase::AudioFrame::type
AUDIO_FRAME_TYPE type
Definition: AgoraMediaBase.h:911
agora::rtc::VIDEO_SOURCE_SCREEN_FOURTH
@ VIDEO_SOURCE_SCREEN_FOURTH
Definition: AgoraMediaBase.h:93
agora::media::IAudioFrameObserverBase::MAX_HANDLE_TIME_CNT
@ MAX_HANDLE_TIME_CNT
Definition: AgoraMediaBase.h:903
agora::media::base::AUDIO_DUAL_MONO_R
@ AUDIO_DUAL_MONO_R
Definition: AgoraMediaBase.h:451
agora::media::IAudioPcmFrameSink::onFrame
virtual void onFrame(agora::media::base::AudioPcmFrame *frame)=0
agora::media::IVideoEncodedFrameObserver
Definition: AgoraMediaBase.h:1232
agora::media::IAudioFrameObserverBase::AudioFrame::samplesPerChannel
int samplesPerChannel
Definition: AgoraMediaBase.h:915
agora::media::base::VIDEO_PIXEL_RGBA
@ VIDEO_PIXEL_RGBA
Definition: AgoraMediaBase.h:479
agora::media::CONTENT_INSPECT_PORN
@ CONTENT_INSPECT_PORN
Definition: AgoraMediaBase.h:255
agora::media::base::MEDIA_PLAYER_SOURCE_SIMPLE
@ MEDIA_PLAYER_SOURCE_SIMPLE
Definition: AgoraMediaBase.h:861
agora::media::base::AUDIO_DUAL_MONO_STEREO
@ AUDIO_DUAL_MONO_STEREO
Definition: AgoraMediaBase.h:447
agora::media::EXTERNAL_VIDEO_SOURCE_TYPE
EXTERNAL_VIDEO_SOURCE_TYPE
Definition: AgoraMediaBase.h:1460
agora::rtc::TWO_BYTES_PER_SAMPLE
@ TWO_BYTES_PER_SAMPLE
Definition: AgoraMediaBase.h:156
agora::media::IVideoFrameObserver::getMirrorApplied
virtual bool getMirrorApplied()
Definition: AgoraMediaBase.h:1424
agora::media::IAudioSpectrumObserver::onLocalAudioSpectrum
virtual bool onLocalAudioSpectrum(const AudioSpectrumData &data)=0
agora::media::base::AudioEncodedFrameInfo
Definition: AgoraMediaBase.h:346
agora::media::IAudioFrameObserverBase::AUDIO_FRAME_POSITION_RECORD
@ AUDIO_FRAME_POSITION_RECORD
Definition: AgoraMediaBase.h:976
agora::media::base::ExternalVideoFrame::texture_slice_index
int texture_slice_index
Definition: AgoraMediaBase.h:708
agora::rtc::ROUTE_LOUDSPEAKER
@ ROUTE_LOUDSPEAKER
Definition: AgoraMediaBase.h:126
agora::media::base::VideoFrame::vStride
int vStride
Definition: AgoraMediaBase.h:760
agora::media::ENCODED_VIDEO_FRAME
@ ENCODED_VIDEO_FRAME
Definition: AgoraMediaBase.h:1468
agora::rtc::video_track_id_t
unsigned int video_track_id_t
Definition: AgoraMediaBase.h:32
agora::media::IVideoEncodedFrameObserver::~IVideoEncodedFrameObserver
virtual ~IVideoEncodedFrameObserver()
Definition: AgoraMediaBase.h:1247
agora::media::IMediaRecorderObserver::onRecorderStateChanged
virtual void onRecorderStateChanged(const char *channelId, rtc::uid_t uid, RecorderState state, RecorderErrorCode error)=0
agora::media::RECORDER_ERROR_CONFIG_CHANGED
@ RECORDER_ERROR_CONFIG_CHANGED
Definition: AgoraMediaBase.h:1545
agora::media::base::VIDEO_PIXEL_I420
@ VIDEO_PIXEL_I420
Definition: AgoraMediaBase.h:467
agora::media::base::POSITION_PRE_ENCODER
@ POSITION_PRE_ENCODER
Definition: AgoraMediaBase.h:867
agora::media::ContentInspectConfig
Definition: AgoraMediaBase.h:294
agora::media::IAudioFrameObserverBase::AUDIO_FRAME_POSITION_MIXED
@ AUDIO_FRAME_POSITION_MIXED
Definition: AgoraMediaBase.h:979
agora::rtc::uid_t
unsigned int uid_t
Definition: AgoraMediaBase.h:29
agora::media::base::AudioPcmFrame
Definition: AgoraMediaBase.h:363
agora::media::base::VIDEO_PIXEL_NV12
@ VIDEO_PIXEL_NV12
Definition: AgoraMediaBase.h:483
agora::media::MEDIA_SOURCE_TYPE
MEDIA_SOURCE_TYPE
Definition: AgoraMediaBase.h:191
agora::media::IAudioFrameObserverBase::AudioParams::sample_rate
int sample_rate
Definition: AgoraMediaBase.h:997
agora::media::base::AUDIO_DUAL_MONO_MODE
AUDIO_DUAL_MONO_MODE
Definition: AgoraMediaBase.h:445
agora::media::ContentInspectModule::ContentInspectModule
ContentInspectModule()
Definition: AgoraMediaBase.h:287
agora::media::CONTENT_INSPECT_RESULT
CONTENT_INSPECT_RESULT
Definition: AgoraMediaBase.h:252
agora::rtc::ROUTE_SPEAKERPHONE
@ ROUTE_SPEAKERPHONE
Definition: AgoraMediaBase.h:122
agora::media::base::VideoFrame::uBuffer
uint8_t * uBuffer
Definition: AgoraMediaBase.h:768
agora::media::IAudioFrameObserverBase::onPlaybackAudioFrame
virtual bool onPlaybackAudioFrame(const char *channelId, AudioFrame &audioFrame)=0
agora::media::base::ExternalVideoFrame::EGL_CONTEXT10
@ EGL_CONTEXT10
Definition: AgoraMediaBase.h:586
agora::media::base::VIDEO_TEXTURE_ID3D11TEXTURE2D
@ VIDEO_TEXTURE_ID3D11TEXTURE2D
Definition: AgoraMediaBase.h:511
agora::rtc::DUMMY_CONNECTION_ID
static const unsigned int DUMMY_CONNECTION_ID
Definition: AgoraMediaBase.h:36
agora::media::UserAudioSpectrumInfo::uid
agora::rtc::uid_t uid
Definition: AgoraMediaBase.h:1177
agora::media::AUDIO_PLAYOUT_SOURCE
@ AUDIO_PLAYOUT_SOURCE
Definition: AgoraMediaBase.h:195
rtc
Definition: video_node_i.h:26
agora::media::IVideoFrameObserver::VIDEO_FRAME_PROCESS_MODE
VIDEO_FRAME_PROCESS_MODE
Definition: AgoraMediaBase.h:1259
agora::media::base::ExternalVideoFrame::format
VIDEO_PIXEL_FORMAT format
Definition: AgoraMediaBase.h:618
agora::media::MediaRecorderConfiguration::MediaRecorderConfiguration
MediaRecorderConfiguration()
Definition: AgoraMediaBase.h:1582
agora::media::ContentInspectConfig::extraInfo
const char * extraInfo
Definition: AgoraMediaBase.h:295
agora::media::base::ExternalVideoFrame::stride
int stride
Definition: AgoraMediaBase.h:627
agora::media::base::VIDEO_PIXEL_BGRA
@ VIDEO_PIXEL_BGRA
Definition: AgoraMediaBase.h:471
agora::media::REMOTE_VIDEO_SOURCE
@ REMOTE_VIDEO_SOURCE
Definition: AgoraMediaBase.h:239
agora::rtc::ROUTE_HDMI
@ ROUTE_HDMI
Definition: AgoraMediaBase.h:138
agora::rtc::AudioRoute
AudioRoute
Definition: AgoraMediaBase.h:102
agora::media::base::ExternalVideoFrame::eglType
EGL_CONTEXT_TYPE eglType
Definition: AgoraMediaBase.h:674