Agora RTC Objective-C API Reference  Refactor
AgoraMediaBase.h
Go to the documentation of this file.
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 static const int kAdmMaxDeviceNameSize = 128;
39 static const int kAdmMaxGuidSize = 128;
40 
41 
43 
44 
84 
100 
102 };
103 
108 {
161 };
162 
171 };
172 
175  size_t channels;
177 
179  : sample_rate(0),
180  channels(0),
181  frames_per_buffer(0) {}
182 };
183 
192 
197 };
198 
210 };
211 
239 
244 
246  isPlayoutDevice(true),
248  memset(deviceName, 0, sizeof(deviceName));
249  memset(deviceId, 0, sizeof(deviceId));
250  }
251 
254  routing(other.routing){
255  memcpy(deviceName, other.deviceName, sizeof(deviceName));
256  memcpy(deviceId, other.deviceId, sizeof(deviceId));
257  }
258 
262  routing = other.routing;
263  memcpy(deviceName, other.deviceName, sizeof(deviceName));
264  memcpy(deviceId, other.deviceId, sizeof(deviceId));
265  return *this;
266  }
267 };
268 
269 } // namespace rtc
270 
271 namespace media {
336 };
339 #define MAX_CONTENT_INSPECT_MODULE_COUNT 32
344 };
345 
364 };
365 
374  unsigned int interval;
377  interval = 0;
378  }
379 };
383  const char* extraInfo;
387  const char* serverConfig;
396  {
397  extraInfo = rth.extraInfo;
399  moduleCount = rth.moduleCount;
401  return *this;
402  }
404 };
405 
406 namespace base {
407 
408 typedef void* view_t;
409 
410 typedef const char* user_id_t;
411 
412 static const uint8_t kMaxCodecNameLength = 50;
413 
422  uint32_t timestamp;
423  // Audio level indication.
426  : timestamp(0),
427  audioLevelIndication(127) {}
428 };
429 
438  uint64_t sendTs;
442  uint8_t codec;
444  : sendTs(0),
445  codec(0) {}
446 };
447 
456  // Stereo, 32 kHz, 60 ms (2 * 32 * 60)
463  kMaxDataSizeSamples = 3840,
465  kMaxDataSizeBytes = kMaxDataSizeSamples * sizeof(int16_t),
466  };
467 
484  int16_t data_[kMaxDataSizeSamples];
485 
487  if(this == &src) {
488  return *this;
489  }
490 
491  this->capture_timestamp = src.capture_timestamp;
492  this->samples_per_channel_ = src.samples_per_channel_;
493  this->sample_rate_hz_ = src.sample_rate_hz_;
494  this->bytes_per_sample = src.bytes_per_sample;
495  this->num_channels_ = src.num_channels_;
496 
497  size_t length = src.samples_per_channel_ * src.num_channels_;
498  if (length > kMaxDataSizeSamples) {
499  length = kMaxDataSizeSamples;
500  }
501 
502  memcpy(this->data_, src.data_, length * sizeof(int16_t));
503 
504  return *this;
505  }
506 
508  : capture_timestamp(0),
510  sample_rate_hz_(0),
511  num_channels_(0),
513  memset(data_, 0, sizeof(data_));
514  }
515 
522  size_t length = src.samples_per_channel_ * src.num_channels_;
523  if (length > kMaxDataSizeSamples) {
524  length = kMaxDataSizeSamples;
525  }
526 
527  memcpy(this->data_, src.data_, length * sizeof(int16_t));
528  }
529 };
530 
537  AUDIO_DUAL_MONO_L = 1,
539  AUDIO_DUAL_MONO_R = 2,
542 };
543 
580  /*
581  12: pixel format for iOS CVPixelBuffer NV12
582  */
584  /*
585  13: pixel format for iOS CVPixelBuffer I420
586  */
588  /*
589  14: pixel format for iOS CVPixelBuffer BGRA
590  */
604 };
605 
626 };
627 
644 };
645 
651  public:
654  };
655  virtual ~IVideoFrameMetaInfo() {};
656  virtual const char* getMetaInfoStr(META_INFO_KEY key) const = 0;
657 };
658 
666  buffer(NULL),
667  stride(0),
668  height(0),
669  cropLeft(0),
670  cropTop(0),
671  cropRight(0),
672  cropBottom(0),
673  rotation(0),
674  timestamp(0),
675  eglContext(NULL),
677  textureId(0),
678  metadata_buffer(NULL),
679  metadata_size(0),
680  alphaBuffer(NULL),
681  fillAlphaBuffer(false),
682  d3d11_texture_2d(NULL),
684 
697  };
698 
715  };
716 
728  void* buffer;
733  int stride;
737  int height;
742  int cropLeft;
747  int cropTop;
762  int rotation;
770  long long timestamp;
776  void *eglContext;
788  float matrix[16];
793  uint8_t* metadata_buffer;
805  uint8_t* alphaBuffer;
812 
817 
822 };
823 
827 struct VideoFrame {
830  width(0),
831  height(0),
832  yStride(0),
833  uStride(0),
834  vStride(0),
835  yBuffer(NULL),
836  uBuffer(NULL),
837  vBuffer(NULL),
838  rotation(0),
839  renderTimeMs(0),
840  avsync_type(0),
841  metadata_buffer(NULL),
842  metadata_size(0),
843  sharedContext(0),
844  textureId(0),
845  d3d11Texture2d(NULL),
846  alphaBuffer(NULL),
847  pixelBuffer(NULL),
848  metaInfo(NULL){
849  memset(matrix, 0, sizeof(matrix));
850  }
858  int width;
862  int height;
866  int yStride;
870  int uStride;
874  int vStride;
878  uint8_t* yBuffer;
882  uint8_t* uBuffer;
886  uint8_t* vBuffer;
890  int rotation;
897  int64_t renderTimeMs;
906  uint8_t* metadata_buffer;
927  float matrix[16];
934  uint8_t* alphaBuffer;
938  void* pixelBuffer;
943 };
944 
949  public:
957  virtual void onFrame(const VideoFrame* frame) = 0;
958  virtual ~IVideoFrameObserver() {}
959  virtual bool isExternal() { return true; }
961 };
962 
981 };
982 
987 };
988 
989 } // namespace base
990 
995  public:
1004  virtual void onFrame(agora::media::base::AudioPcmFrame* frame) = 0;
1005  virtual ~IAudioPcmFrameSink() {}
1006 };
1007 
1012  public:
1021  };
1022  enum { MAX_HANDLE_TIME_CNT = 10 };
1026  struct AudioFrame {
1055  void* buffer;
1063  int64_t renderTimeMs;
1083  uint32_t rtpTimestamp;
1084 
1086  samplesPerChannel(0),
1088  channels(0),
1089  samplesPerSec(0),
1090  buffer(NULL),
1091  renderTimeMs(0),
1092  avsync_type(0),
1093  presentationMs(0),
1094  audioTrackNumber(0),
1095  rtpTimestamp(0) {}
1096  };
1097 
1115  };
1116 
1117  struct AudioParams {
1126  int sample_rate;
1127 
1128  /* The number of audio channels, which can be set as either of the following values:
1129 
1130  - `1`: Mono (Default)
1131  - `2`: Stereo
1132  */
1133  int channels;
1134 
1135  /* The use mode of the audio data. See AgoraAudioRawFrameOperationMode.
1136  */
1138 
1142  int samples_per_call;
1143 
1144  AudioParams() : sample_rate(0), channels(0), mode(rtc::RAW_AUDIO_FRAME_OP_MODE_READ_ONLY), samples_per_call(0) {}
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) {}
1146  };
1147 
1148  public:
1150 
1159  virtual bool onRecordAudioFrame(const char* channelId, AudioFrame& audioFrame) = 0;
1168  virtual bool onPlaybackAudioFrame(const char* channelId, AudioFrame& audioFrame) = 0;
1177  virtual bool onMixedAudioFrame(const char* channelId, AudioFrame& audioFrame) = 0;
1185  virtual bool onEarMonitoringAudioFrame(AudioFrame& audioFrame) = 0;
1195  virtual bool onPlaybackAudioFrameBeforeMixing(const char* channelId, base::user_id_t userId, AudioFrame& audioFrame) {
1196  (void) channelId;
1197  (void) userId;
1198  (void) audioFrame;
1199  return true;
1200  }
1201 
1218 
1230  virtual AudioParams getPlaybackAudioParams() = 0;
1231 
1242  virtual AudioParams getRecordAudioParams() = 0;
1243 
1254  virtual AudioParams getMixedAudioParams() = 0;
1255 
1266  virtual AudioParams getEarMonitoringAudioParams() = 0;
1267 };
1268 
1273  public:
1284  virtual bool onPlaybackAudioFrameBeforeMixing(const char* channelId, rtc::uid_t uid, AudioFrame& audioFrame) = 0;
1285 };
1286 
1291  const float *audioSpectrumData;
1296 
1298  AudioSpectrumData(const float *data, int length) :
1299  audioSpectrumData(data), dataLength(length) {}
1300 };
1301 
1311 
1313  UserAudioSpectrumInfo(agora::rtc::uid_t _uid, const float *data, int length) :
1314  uid(_uid) { spectrumData.audioSpectrumData = data; spectrumData.dataLength = length; }
1315 };
1316 
1321 public:
1323 
1336  virtual bool onLocalAudioSpectrum(const AudioSpectrumData& data) = 0;
1337 
1355  virtual bool onRemoteAudioSpectrum(const UserAudioSpectrumInfo * spectrums, unsigned int spectrumNumber) = 0;
1356 };
1357 
1362  public:
1373  virtual bool onEncodedVideoFrameReceived(rtc::uid_t uid, const uint8_t* imageBuffer, size_t length,
1374  const rtc::EncodedVideoFrameInfo& videoEncodedFrameInfo) = 0;
1375 
1377 };
1378 
1383  public:
1394  PROCESS_MODE_READ_ONLY, // Observer works as a pure renderer and will not modify the original frame.
1400  PROCESS_MODE_READ_WRITE, // Observer works as a filter that will process the video frame and affect the following frame processing in SDK.
1401  };
1402 
1403  public:
1405 
1426  virtual bool onCaptureVideoFrame(agora::rtc::VIDEO_SOURCE_TYPE sourceType, VideoFrame& videoFrame) = 0;
1427 
1449  virtual bool onPreEncodeVideoFrame(agora::rtc::VIDEO_SOURCE_TYPE sourceType, VideoFrame& videoFrame) = 0;
1450 
1471  virtual bool onMediaPlayerVideoFrame(VideoFrame& videoFrame, int mediaPlayerId) = 0;
1472 
1492  virtual bool onRenderVideoFrame(const char* channelId, rtc::uid_t remoteUid, VideoFrame& videoFrame) = 0;
1493 
1494  virtual bool onTranscodedVideoFrame(VideoFrame& videoFrame) = 0;
1495 
1504  return PROCESS_MODE_READ_ONLY;
1505  }
1506 
1522 
1537  virtual bool getRotationApplied() { return false; }
1538 
1553  virtual bool getMirrorApplied() { return false; }
1554 
1572  virtual uint32_t getObservedFramePosition() {
1574  }
1575 
1583  virtual bool isExternal() { return true; }
1584 };
1585 
1598 };
1599 
1610 };
1629 };
1648 };
1675 };
1690  const char* storagePath;
1710 
1712  MediaRecorderConfiguration(const char* path, MediaRecorderContainerFormat format, MediaRecorderStreamType type, int duration, int interval) : storagePath(path), containerFormat(format), streamType(type), maxDurationMs(duration), recorderInfoUpdateInterval(interval) {}
1713 };
1714 
1716 public:
1724  virtual bool onFaceInfo(const char* outFaceInfo) = 0;
1725 
1726  virtual ~IFaceInfoObserver() {}
1727 };
1728 
1738  const char* fileName;
1742  unsigned int durationMs;
1746  unsigned int fileSize;
1747 
1749  RecorderInfo(const char* name, unsigned int dur, unsigned int size) : fileName(name), durationMs(dur), fileSize(size) {}
1750 };
1751 
1752 
1754  public:
1768  virtual void onRecorderStateChanged(const char* channelId, rtc::uid_t uid, RecorderState state, RecorderErrorCode error) = 0;
1783  virtual void onRecorderInfoUpdated(const char* channelId, rtc::uid_t uid, const RecorderInfo& info) = 0;
1785 };
1786 } // namespace media
1787 } // namespace agora
agora::rtc::VIDEO_SOURCE_RTC_IMAGE_JPEG
@ VIDEO_SOURCE_RTC_IMAGE_JPEG
Definition: AgoraMediaBase.h:74
agora::media::MediaRecorderConfiguration::MediaRecorderConfiguration
MediaRecorderConfiguration()
Definition: AgoraMediaBase.h:1711
agora::media::IFaceInfoObserver::~IFaceInfoObserver
virtual ~IFaceInfoObserver()
Definition: AgoraMediaBase.h:1726
agora::media::IAudioFrameObserverBase::FRAME_TYPE_PCM16
@ FRAME_TYPE_PCM16
Definition: AgoraMediaBase.h:1020
agora::media::MediaRecorderConfiguration::MediaRecorderConfiguration
MediaRecorderConfiguration(const char *path, MediaRecorderContainerFormat format, MediaRecorderStreamType type, int duration, int interval)
Definition: AgoraMediaBase.h:1712
agora::media::base::VideoFrame
Definition: AgoraMediaBase.h:827
agora::media::ContentInspectModule::type
CONTENT_INSPECT_TYPE type
Definition: AgoraMediaBase.h:370
agora::media::MediaRecorderConfiguration::containerFormat
MediaRecorderContainerFormat containerFormat
Definition: AgoraMediaBase.h:1694
agora::media::base::ExternalVideoFrame::EGL_CONTEXT_TYPE
EGL_CONTEXT_TYPE
Definition: AgoraMediaBase.h:688
agora::media::base::VideoFrame::vBuffer
uint8_t * vBuffer
Definition: AgoraMediaBase.h:886
agora::media::base::MEDIA_PLAYER_SOURCE_FULL_FEATURED
@ MEDIA_PLAYER_SOURCE_FULL_FEATURED
Definition: AgoraMediaBase.h:975
agora::media::base::VideoFrame::yStride
int yStride
Definition: AgoraMediaBase.h:866
agora::media::base::IVideoFrameObserver::onFrame
virtual void onFrame(const VideoFrame *frame)=0
agora::rtc::AudioParameters::AudioParameters
AudioParameters()
Definition: AgoraMediaBase.h:178
agora::media::IMediaRecorderObserver::onRecorderInfoUpdated
virtual void onRecorderInfoUpdated(const char *channelId, rtc::uid_t uid, const RecorderInfo &info)=0
agora::media::base::VIDEO_MODULE_POSITION
VIDEO_MODULE_POSITION
Definition: AgoraMediaBase.h:983
agora::rtc::VIDEO_SOURCE_TYPE
VIDEO_SOURCE_TYPE
Definition: AgoraMediaBase.h:48
agora::media::base::ExternalVideoFrame::cropTop
int cropTop
Definition: AgoraMediaBase.h:747
agora::media::IAudioPcmFrameSink
Definition: AgoraMediaBase.h:994
agora::rtc::VIDEO_SOURCE_TRANSCODED
@ VIDEO_SOURCE_TRANSCODED
Definition: AgoraMediaBase.h:83
agora::media::base::VIDEO_TEXTURE_ID3D11TEXTURE2D
@ VIDEO_TEXTURE_ID3D11TEXTURE2D
Definition: AgoraMediaBase.h:599
agora::media::RECORDER_ERROR_NONE
@ RECORDER_ERROR_NONE
Definition: AgoraMediaBase.h:1658
agora::media::IMediaRecorderObserver
Definition: AgoraMediaBase.h:1753
agora::media::VIDEO_FRAME
@ VIDEO_FRAME
Definition: AgoraMediaBase.h:1593
agora::media::IAudioFrameObserverBase
Definition: AgoraMediaBase.h:1011
agora::rtc::video_track_id_t
unsigned int video_track_id_t
Definition: AgoraMediaBase.h:32
agora::media::base::VIDEO_CVPIXEL_I420
@ VIDEO_CVPIXEL_I420
Definition: AgoraMediaBase.h:587
agora::rtc::RAW_AUDIO_FRAME_OP_MODE_READ_WRITE
@ RAW_AUDIO_FRAME_OP_MODE_READ_WRITE
Definition: AgoraMediaBase.h:196
agora::media::MediaRecorderConfiguration::recorderInfoUpdateInterval
int recorderInfoUpdateInterval
Definition: AgoraMediaBase.h:1709
agora::media::IFaceInfoObserver
Definition: AgoraMediaBase.h:1715
agora::media::base::AUDIO_DUAL_MONO_MODE
AUDIO_DUAL_MONO_MODE
Definition: AgoraMediaBase.h:533
agora::media::AudioSpectrumData::AudioSpectrumData
AudioSpectrumData(const float *data, int length)
Definition: AgoraMediaBase.h:1298
agora::rtc::uid_t
unsigned int uid_t
Definition: AgoraMediaBase.h:29
agora::media::IAudioFrameObserverBase::AUDIO_FRAME_POSITION_NONE
@ AUDIO_FRAME_POSITION_NONE
Definition: AgoraMediaBase.h:1099
agora::media::IAudioFrameObserverBase::onMixedAudioFrame
virtual bool onMixedAudioFrame(const char *channelId, AudioFrame &audioFrame)=0
agora::rtc::ROUTE_CONTINUITY
@ ROUTE_CONTINUITY
Definition: AgoraMediaBase.h:160
agora::media::ContentInspectConfig::serverConfig
const char * serverConfig
Definition: AgoraMediaBase.h:387
agora::media::IAudioSpectrumObserver
Definition: AgoraMediaBase.h:1320
agora::media::IAudioFrameObserverBase::MAX_HANDLE_TIME_CNT
@ MAX_HANDLE_TIME_CNT
Definition: AgoraMediaBase.h:1022
agora::media::CONTENT_INSPECT_PORN
@ CONTENT_INSPECT_PORN
Definition: AgoraMediaBase.h:343
agora::rtc::VIDEO_SOURCE_SPEECH_DRIVEN
@ VIDEO_SOURCE_SPEECH_DRIVEN
Definition: AgoraMediaBase.h:99
agora::rtc::AudioParameters
Definition: AgoraMediaBase.h:173
agora::media::base::RENDER_MODE_HIDDEN
@ RENDER_MODE_HIDDEN
Definition: AgoraMediaBase.h:614
agora::media::IAudioFrameObserverBase::AudioFrame::avsync_type
int avsync_type
Definition: AgoraMediaBase.h:1067
agora::media::IAudioFrameObserverBase::AUDIO_FRAME_POSITION_BEFORE_MIXING
@ AUDIO_FRAME_POSITION_BEFORE_MIXING
Definition: AgoraMediaBase.h:1111
agora::media::base::ExternalVideoFrame::format
VIDEO_PIXEL_FORMAT format
Definition: AgoraMediaBase.h:724
agora::rtc::AudioDeviceInfo::AudioDeviceInfo
AudioDeviceInfo()
Definition: AgoraMediaBase.h:245
agora::media::RECORDER_ERROR_WRITE_FAILED
@ RECORDER_ERROR_WRITE_FAILED
Definition: AgoraMediaBase.h:1662
agora::media::IMediaRecorderObserver::onRecorderStateChanged
virtual void onRecorderStateChanged(const char *channelId, rtc::uid_t uid, RecorderState state, RecorderErrorCode error)=0
agora::rtc::EncodedVideoFrameInfo
Definition: AgoraBase.h:1565
agora::media::base::IVideoFrameObserver
Definition: AgoraMediaBase.h:948
agora::media::CONTENT_INSPECT_SEXY
@ CONTENT_INSPECT_SEXY
Definition: AgoraMediaBase.h:342
agora::media::base::PacketOptions::timestamp
uint32_t timestamp
Definition: AgoraMediaBase.h:422
agora::media::base::IVideoFrameMetaInfo::~IVideoFrameMetaInfo
virtual ~IVideoFrameMetaInfo()
Definition: AgoraMediaBase.h:655
agora::media::base::VIDEO_PIXEL_I010
@ VIDEO_PIXEL_I010
Definition: AgoraMediaBase.h:603
agora::media::base::VideoFrame::width
int width
Definition: AgoraMediaBase.h:858
agora::media::IVideoFrameObserver
Definition: AgoraMediaBase.h:1382
agora::media::IAudioFrameObserverBase::AUDIO_FRAME_POSITION_RECORD
@ AUDIO_FRAME_POSITION_RECORD
Definition: AgoraMediaBase.h:1105
agora::media::AudioSpectrumData::dataLength
int dataLength
Definition: AgoraMediaBase.h:1295
agora::media::IAudioFrameObserverBase::AUDIO_FRAME_POSITION_MIXED
@ AUDIO_FRAME_POSITION_MIXED
Definition: AgoraMediaBase.h:1108
agora::media::IAudioFrameObserverBase::AudioFrame
Definition: AgoraMediaBase.h:1026
agora::rtc::AudioRoute
AudioRoute
Definition: AgoraMediaBase.h:108
agora::rtc::ROUTE_EARPIECE
@ ROUTE_EARPIECE
Definition: AgoraMediaBase.h:120
agora::rtc::TRACK_AUDIO_MIXED_LOCAL
@ TRACK_AUDIO_MIXED_LOCAL
Definition: AgoraMediaBase.h:206
agora::media::base::ExternalVideoFrame::height
int height
Definition: AgoraMediaBase.h:737
agora::rtc::INVALID_TRACK_ID
static const unsigned int INVALID_TRACK_ID
Definition: AgoraMediaBase.h:34
agora::media::IAudioFrameObserver
Definition: AgoraMediaBase.h:1272
agora::media::RecorderInfo::fileSize
unsigned int fileSize
Definition: AgoraMediaBase.h:1746
agora::media::base::AudioEncodedFrameInfo::codec
uint8_t codec
Definition: AgoraMediaBase.h:442
agora::media::base::ExternalVideoFrame::rotation
int rotation
Definition: AgoraMediaBase.h:762
agora::media::base::VIDEO_PIXEL_NV12
@ VIDEO_PIXEL_NV12
Definition: AgoraMediaBase.h:571
agora::media::base::ExternalVideoFrame::cropRight
int cropRight
Definition: AgoraMediaBase.h:752
agora::media::base::VIDEO_PIXEL_I422
@ VIDEO_PIXEL_I422
Definition: AgoraMediaBase.h:595
agora::rtc::VIDEO_SOURCE_SCREEN_PRIMARY
@ VIDEO_SOURCE_SCREEN_PRIMARY
Definition: AgoraMediaBase.h:58
agora::media::base::ExternalVideoFrame::eglType
EGL_CONTEXT_TYPE eglType
Definition: AgoraMediaBase.h:780
agora::media::MediaRecorderConfiguration::streamType
MediaRecorderStreamType streamType
Definition: AgoraMediaBase.h:1698
agora::media::base::ExternalVideoFrame::VIDEO_BUFFER_TEXTURE
@ VIDEO_BUFFER_TEXTURE
Definition: AgoraMediaBase.h:714
agora::media::IAudioPcmFrameSink::~IAudioPcmFrameSink
virtual ~IAudioPcmFrameSink()
Definition: AgoraMediaBase.h:1005
agora::media::PRIMARY_CAMERA_SOURCE
@ PRIMARY_CAMERA_SOURCE
Definition: AgoraMediaBase.h:287
agora::media::base::RENDER_MODE_FIT
@ RENDER_MODE_FIT
Definition: AgoraMediaBase.h:620
agora::rtc::TWO_BYTES_PER_SAMPLE
@ TWO_BYTES_PER_SAMPLE
Definition: AgoraMediaBase.h:170
agora::media::CONTENT_INSPECT_INVALID
@ CONTENT_INSPECT_INVALID
Definition: AgoraMediaBase.h:350
agora::media::IAudioFrameObserverBase::AudioFrame::buffer
void * buffer
Definition: AgoraMediaBase.h:1055
agora::media::IVideoFrameObserver::PROCESS_MODE_READ_ONLY
@ PROCESS_MODE_READ_ONLY
Definition: AgoraMediaBase.h:1394
agora::rtc::ROUTE_HEADSETNOMIC
@ ROUTE_HEADSETNOMIC
Definition: AgoraMediaBase.h:124
agora::media::base::ExternalVideoFrame::cropBottom
int cropBottom
Definition: AgoraMediaBase.h:757
agora::media::RecorderState
RecorderState
Definition: AgoraMediaBase.h:1635
agora::rtc::VIDEO_SOURCE_CAMERA
@ VIDEO_SOURCE_CAMERA
Definition: AgoraMediaBase.h:52
agora::media::base::ExternalVideoFrame::metadata_buffer
uint8_t * metadata_buffer
Definition: AgoraMediaBase.h:793
agora::media::base::ExternalVideoFrame::VIDEO_BUFFER_RAW_DATA
@ VIDEO_BUFFER_RAW_DATA
Definition: AgoraMediaBase.h:706
agora::media::IVideoFrameObserver::isExternal
virtual bool isExternal()
Definition: AgoraMediaBase.h:1583
agora::media::base::POSITION_PRE_ENCODER
@ POSITION_PRE_ENCODER
Definition: AgoraMediaBase.h:986
agora::media::AUDIO_RECORDING_SOURCE
@ AUDIO_RECORDING_SOURCE
Definition: AgoraMediaBase.h:283
agora::media::IAudioFrameObserverBase::AUDIO_FRAME_POSITION_PLAYBACK
@ AUDIO_FRAME_POSITION_PLAYBACK
Definition: AgoraMediaBase.h:1102
agora::media::base::VideoFrame::yBuffer
uint8_t * yBuffer
Definition: AgoraMediaBase.h:878
agora::media::base::VIDEO_PIXEL_NV21
@ VIDEO_PIXEL_NV21
Definition: AgoraMediaBase.h:563
agora::rtc::ROUTE_DISPLAYPORT
@ ROUTE_DISPLAYPORT
Definition: AgoraMediaBase.h:148
agora::media::IVideoEncodedFrameObserver::onEncodedVideoFrameReceived
virtual bool onEncodedVideoFrameReceived(rtc::uid_t uid, const uint8_t *imageBuffer, size_t length, const rtc::EncodedVideoFrameInfo &videoEncodedFrameInfo)=0
agora
Definition: AgoraAtomicOps.h:21
agora::media::MediaRecorderStreamType
MediaRecorderStreamType
Definition: AgoraMediaBase.h:1616
agora::media::ContentInspectModule::interval
unsigned int interval
Definition: AgoraMediaBase.h:374
agora::media::base::MEDIA_PLAYER_SOURCE_SIMPLE
@ MEDIA_PLAYER_SOURCE_SIMPLE
Definition: AgoraMediaBase.h:980
agora::rtc::kAdmMaxGuidSize
static const int kAdmMaxGuidSize
Definition: AgoraMediaBase.h:39
agora::media::base::IVideoFrameObserver::isExternal
virtual bool isExternal()
Definition: AgoraMediaBase.h:959
agora::media::IAudioFrameObserverBase::onPlaybackAudioFrameBeforeMixing
virtual bool onPlaybackAudioFrameBeforeMixing(const char *channelId, base::user_id_t userId, AudioFrame &audioFrame)
Definition: AgoraMediaBase.h:1195
agora::rtc::AudioParameters::channels
size_t channels
Definition: AgoraMediaBase.h:175
agora::rtc::VIDEO_SOURCE_CAMERA_PRIMARY
@ VIDEO_SOURCE_CAMERA_PRIMARY
Definition: AgoraMediaBase.h:51
agora::media::RECORDER_ERROR_NO_STREAM
@ RECORDER_ERROR_NO_STREAM
Definition: AgoraMediaBase.h:1666
agora::media::base::ExternalVideoFrame::VIDEO_BUFFER_TYPE
VIDEO_BUFFER_TYPE
Definition: AgoraMediaBase.h:702
agora::media::CONTENT_INSPECT_NEUTRAL
@ CONTENT_INSPECT_NEUTRAL
Definition: AgoraMediaBase.h:341
agora::media::base::RENDER_MODE_ADAPTIVE
@ RENDER_MODE_ADAPTIVE
Definition: AgoraMediaBase.h:625
agora::media::ContentInspectModule
Definition: AgoraMediaBase.h:366
agora::media::base::ExternalVideoFrame::EGL_CONTEXT10
@ EGL_CONTEXT10
Definition: AgoraMediaBase.h:692
agora::media::base::ExternalVideoFrame::metadata_size
int metadata_size
Definition: AgoraMediaBase.h:798
agora::media::base::ExternalVideoFrame::d3d11_texture_2d
void * d3d11_texture_2d
Definition: AgoraMediaBase.h:816
agora::media::ContentInspectConfig::moduleCount
int moduleCount
Definition: AgoraMediaBase.h:394
agora::media::base::VideoFrame::rotation
int rotation
Definition: AgoraMediaBase.h:890
agora::media::MediaRecorderContainerFormat
MediaRecorderContainerFormat
Definition: AgoraMediaBase.h:1605
agora::media::AUDIO_PLAYOUT_SOURCE
@ AUDIO_PLAYOUT_SOURCE
Definition: AgoraMediaBase.h:279
agora::media::base::VideoFrame::height
int height
Definition: AgoraMediaBase.h:862
agora::media::IAudioFrameObserverBase::AudioFrame::channels
int channels
Definition: AgoraMediaBase.h:1044
agora::rtc::ROUTE_HEADSETBLUETOOTH
@ ROUTE_HEADSETBLUETOOTH
Definition: AgoraMediaBase.h:136
agora::media::base::PacketOptions::audioLevelIndication
uint8_t audioLevelIndication
Definition: AgoraMediaBase.h:424
agora::media::IAudioFrameObserverBase::~IAudioFrameObserverBase
virtual ~IAudioFrameObserverBase()
Definition: AgoraMediaBase.h:1149
agora::media::IVideoFrameObserver::VideoFrame
media::base::VideoFrame VideoFrame
Definition: AgoraMediaBase.h:1384
agora::media::base::ExternalVideoFrame
Definition: AgoraMediaBase.h:662
agora::media::base::AudioPcmFrame::AudioPcmFrame
AudioPcmFrame(const AudioPcmFrame &src)
Definition: AgoraMediaBase.h:516
agora::media::RECORDER_ERROR_CONFIG_CHANGED
@ RECORDER_ERROR_CONFIG_CHANGED
Definition: AgoraMediaBase.h:1674
agora::media::base::AudioPcmFrame::capture_timestamp
int64_t capture_timestamp
Definition: AgoraMediaBase.h:470
agora::rtc::VIDEO_SOURCE_UNKNOWN
@ VIDEO_SOURCE_UNKNOWN
Definition: AgoraMediaBase.h:101
agora::media::base::ExternalVideoFrame::timestamp
long long timestamp
Definition: AgoraMediaBase.h:770
agora::media::base::VIDEO_PIXEL_BGRA
@ VIDEO_PIXEL_BGRA
Definition: AgoraMediaBase.h:559
agora::rtc::ROUTE_HDMI
@ ROUTE_HDMI
Definition: AgoraMediaBase.h:144
agora::media::IAudioFrameObserverBase::AudioFrame::AudioFrame
AudioFrame()
Definition: AgoraMediaBase.h:1085
agora::media::IVideoFrameObserver::onTranscodedVideoFrame
virtual bool onTranscodedVideoFrame(VideoFrame &videoFrame)=0
agora::media::base::VideoFrame::textureId
int textureId
Definition: AgoraMediaBase.h:919
agora::media::IAudioSpectrumObserver::onLocalAudioSpectrum
virtual bool onLocalAudioSpectrum(const AudioSpectrumData &data)=0
agora::rtc::VIDEO_SOURCE_CAMERA_FOURTH
@ VIDEO_SOURCE_CAMERA_FOURTH
Definition: AgoraMediaBase.h:90
agora::media::RecorderInfo::RecorderInfo
RecorderInfo(const char *name, unsigned int dur, unsigned int size)
Definition: AgoraMediaBase.h:1749
agora::media::IAudioFrameObserverBase::AudioFrame::audioTrackNumber
int audioTrackNumber
Definition: AgoraMediaBase.h:1079
agora::media::RECORDER_STATE_ERROR
@ RECORDER_STATE_ERROR
Definition: AgoraMediaBase.h:1639
agora::media::CONTENT_INSPECT_MODERATION
@ CONTENT_INSPECT_MODERATION
Definition: AgoraMediaBase.h:355
agora::media::base::VIDEO_CVPIXEL_BGRA
@ VIDEO_CVPIXEL_BGRA
Definition: AgoraMediaBase.h:591
agora::media::IAudioSpectrumObserver::onRemoteAudioSpectrum
virtual bool onRemoteAudioSpectrum(const UserAudioSpectrumInfo *spectrums, unsigned int spectrumNumber)=0
agora::media::base::AudioEncodedFrameInfo::AudioEncodedFrameInfo
AudioEncodedFrameInfo()
Definition: AgoraMediaBase.h:443
agora::media::IAudioFrameObserverBase::getObservedAudioFramePosition
virtual int getObservedAudioFramePosition()=0
agora::media::base::PacketOptions::PacketOptions
PacketOptions()
Definition: AgoraMediaBase.h:425
agora::media::base::CAMERA_VIDEO_SOURCE_TYPE
CAMERA_VIDEO_SOURCE_TYPE
Definition: AgoraMediaBase.h:631
agora::media::base::VideoFrame::metadata_buffer
uint8_t * metadata_buffer
Definition: AgoraMediaBase.h:906
agora::media::RecorderInfo::RecorderInfo
RecorderInfo()
Definition: AgoraMediaBase.h:1748
MAX_CONTENT_INSPECT_MODULE_COUNT
#define MAX_CONTENT_INSPECT_MODULE_COUNT
Definition: AgoraMediaBase.h:339
agora::media::base::VIDEO_TEXTURE_OES
@ VIDEO_TEXTURE_OES
Definition: AgoraMediaBase.h:579
agora::media::UNKNOWN_MEDIA_SOURCE
@ UNKNOWN_MEDIA_SOURCE
Definition: AgoraMediaBase.h:335
agora::media::SECONDARY_SCREEN_SOURCE
@ SECONDARY_SCREEN_SOURCE
Definition: AgoraMediaBase.h:299
agora::media::base::VideoFrame::pixelBuffer
void * pixelBuffer
Definition: AgoraMediaBase.h:938
agora::media::RecorderInfo
Definition: AgoraMediaBase.h:1734
agora::rtc::VIDEO_SOURCE_MEDIA_PLAYER
@ VIDEO_SOURCE_MEDIA_PLAYER
Definition: AgoraMediaBase.h:68
agora::media::base::AudioPcmFrame::samples_per_channel_
size_t samples_per_channel_
Definition: AgoraMediaBase.h:473
agora::media::CUSTOM_VIDEO_SOURCE
@ CUSTOM_VIDEO_SOURCE
Definition: AgoraMediaBase.h:303
agora::media::IVideoFrameObserver::onPreEncodeVideoFrame
virtual bool onPreEncodeVideoFrame(agora::rtc::VIDEO_SOURCE_TYPE sourceType, VideoFrame &videoFrame)=0
agora::media::IVideoFrameObserver::VIDEO_FRAME_PROCESS_MODE
VIDEO_FRAME_PROCESS_MODE
Definition: AgoraMediaBase.h:1388
agora::rtc::kAdmMaxDeviceNameSize
static const int kAdmMaxDeviceNameSize
Definition: AgoraMediaBase.h:38
agora::media::base::PacketOptions
Definition: AgoraMediaBase.h:418
agora::media::base::AudioPcmFrame::OPTIONAL_ENUM_SIZE_T
OPTIONAL_ENUM_SIZE_T
Definition: AgoraMediaBase.h:455
agora::media::base::ExternalVideoFrame::textureId
int textureId
Definition: AgoraMediaBase.h:784
agora::media::base::VIDEO_TEXTURE_2D
@ VIDEO_TEXTURE_2D
Definition: AgoraMediaBase.h:575
agora::media::base::IVideoFrameObserver::~IVideoFrameObserver
virtual ~IVideoFrameObserver()
Definition: AgoraMediaBase.h:958
agora::rtc::conn_id_t
unsigned int conn_id_t
Definition: AgoraMediaBase.h:31
agora::media::base::VideoFrame::matrix
float matrix[16]
Definition: AgoraMediaBase.h:927
agora::media::RTC_IMAGE_PNG_SOURCE
@ RTC_IMAGE_PNG_SOURCE
Definition: AgoraMediaBase.h:311
agora::media::base::VideoFrame::vStride
int vStride
Definition: AgoraMediaBase.h:874
agora::rtc::VIDEO_SOURCE_SCREEN_FOURTH
@ VIDEO_SOURCE_SCREEN_FOURTH
Definition: AgoraMediaBase.h:96
agora::media::ContentInspectModule::ContentInspectModule
ContentInspectModule()
Definition: AgoraMediaBase.h:375
agora::media::AudioSpectrumData::audioSpectrumData
const float * audioSpectrumData
Definition: AgoraMediaBase.h:1291
agora::media::base::ExternalVideoFrame::buffer
void * buffer
Definition: AgoraMediaBase.h:728
agora::media::ContentInspectConfig::operator=
ContentInspectConfig & operator=(const ContentInspectConfig &rth)
Definition: AgoraMediaBase.h:395
agora::media::CONTENT_INSPECT_IMAGE_MODERATION
@ CONTENT_INSPECT_IMAGE_MODERATION
Definition: AgoraMediaBase.h:363
agora::media::MediaRecorderConfiguration::maxDurationMs
int maxDurationMs
Definition: AgoraMediaBase.h:1702
agora::media::base::VideoFrame::VideoFrame
VideoFrame()
Definition: AgoraMediaBase.h:828
agora::rtc::ROUTE_VIRTUAL
@ ROUTE_VIRTUAL
Definition: AgoraMediaBase.h:156
agora::media::base::VideoFrame::renderTimeMs
int64_t renderTimeMs
Definition: AgoraMediaBase.h:897
agora::media::UserAudioSpectrumInfo
Definition: AgoraMediaBase.h:1302
agora::media::base::RENDER_MODE_TYPE
RENDER_MODE_TYPE
Definition: AgoraMediaBase.h:609
agora::media::base::AUDIO_DUAL_MONO_MIX
@ AUDIO_DUAL_MONO_MIX
Definition: AgoraMediaBase.h:541
agora::rtc::AudioParameters::sample_rate
int sample_rate
Definition: AgoraMediaBase.h:174
agora::media::IMediaRecorderObserver::~IMediaRecorderObserver
virtual ~IMediaRecorderObserver()
Definition: AgoraMediaBase.h:1784
agora::media::IAudioFrameObserverBase::AUDIO_FRAME_TYPE
AUDIO_FRAME_TYPE
Definition: AgoraMediaBase.h:1016
agora::rtc::AudioDeviceInfo::operator=
AudioDeviceInfo & operator=(const AudioDeviceInfo &other)
Definition: AgoraMediaBase.h:259
agora::media::base::user_id_t
const char * user_id_t
Definition: AgoraMediaBase.h:410
agora::media::base::ExternalVideoFrame::stride
int stride
Definition: AgoraMediaBase.h:733
agora::rtc::VIDEO_SOURCE_SCREEN_SECONDARY
@ VIDEO_SOURCE_SCREEN_SECONDARY
Definition: AgoraMediaBase.h:62
agora::media::IVideoFrameObserver::onCaptureVideoFrame
virtual bool onCaptureVideoFrame(agora::rtc::VIDEO_SOURCE_TYPE sourceType, VideoFrame &videoFrame)=0
agora::rtc::AudioDeviceInfo::deviceId
char deviceId[kAdmMaxGuidSize]
Definition: AgoraMediaBase.h:226
agora::media::IVideoFrameObserver::getVideoFrameProcessMode
virtual VIDEO_FRAME_PROCESS_MODE getVideoFrameProcessMode()
Definition: AgoraMediaBase.h:1503
agora::rtc::RAW_AUDIO_FRAME_OP_MODE_READ_ONLY
@ RAW_AUDIO_FRAME_OP_MODE_READ_ONLY
Definition: AgoraMediaBase.h:191
agora::media::IVideoFrameObserver::getMirrorApplied
virtual bool getMirrorApplied()
Definition: AgoraMediaBase.h:1553
agora::media::IAudioFrameObserverBase::AudioFrame::renderTimeMs
int64_t renderTimeMs
Definition: AgoraMediaBase.h:1063
agora::rtc::AudioDeviceInfo::deviceName
char deviceName[kAdmMaxDeviceNameSize]
Definition: AgoraMediaBase.h:222
agora::media::CONTENT_INSPECT_RESULT
CONTENT_INSPECT_RESULT
Definition: AgoraMediaBase.h:340
agora::rtc::VIDEO_SOURCE_SCREEN_THIRD
@ VIDEO_SOURCE_SCREEN_THIRD
Definition: AgoraMediaBase.h:93
agora::rtc::VIDEO_SOURCE_SCREEN
@ VIDEO_SOURCE_SCREEN
Definition: AgoraMediaBase.h:59
agora::media::base::ExternalVideoFrame::fillAlphaBuffer
bool fillAlphaBuffer
Definition: AgoraMediaBase.h:811
agora::media::base::MEDIA_PLAYER_SOURCE_DEFAULT
@ MEDIA_PLAYER_SOURCE_DEFAULT
Definition: AgoraMediaBase.h:969
agora::media::base::VideoFrame::alphaBuffer
uint8_t * alphaBuffer
Definition: AgoraMediaBase.h:934
agora::media::RecorderInfo::durationMs
unsigned int durationMs
Definition: AgoraMediaBase.h:1742
agora::media::IAudioPcmFrameSink::onFrame
virtual void onFrame(agora::media::base::AudioPcmFrame *frame)=0
agora::media::RecorderInfo::fileName
const char * fileName
Definition: AgoraMediaBase.h:1738
agora::media::IVideoFrameObserver::getObservedFramePosition
virtual uint32_t getObservedFramePosition()
Definition: AgoraMediaBase.h:1572
agora::rtc::VIDEO_SOURCE_RTC_IMAGE_PNG
@ VIDEO_SOURCE_RTC_IMAGE_PNG
Definition: AgoraMediaBase.h:71
agora::media::IAudioFrameObserverBase::AudioFrame::type
AUDIO_FRAME_TYPE type
Definition: AgoraMediaBase.h:1030
agora::rtc::BYTES_PER_SAMPLE
BYTES_PER_SAMPLE
Definition: AgoraMediaBase.h:166
agora::rtc::RAW_AUDIO_FRAME_OP_MODE_TYPE
RAW_AUDIO_FRAME_OP_MODE_TYPE
Definition: AgoraMediaBase.h:187
agora::media::UserAudioSpectrumInfo::spectrumData
struct AudioSpectrumData spectrumData
Definition: AgoraMediaBase.h:1310
agora::media::base::VIDEO_SOURCE_UNSPECIFIED
@ VIDEO_SOURCE_UNSPECIFIED
Definition: AgoraMediaBase.h:643
agora::rtc::AudioDeviceInfo::AudioDeviceInfo
AudioDeviceInfo(const AudioDeviceInfo &other)
Definition: AgoraMediaBase.h:252
agora::rtc::ROUTE_AIRPLAY
@ ROUTE_AIRPLAY
Definition: AgoraMediaBase.h:152
agora::media::base::VideoFrame::uStride
int uStride
Definition: AgoraMediaBase.h:870
agora::media::ContentInspectConfig::ContentInspectConfig
ContentInspectConfig()
Definition: AgoraMediaBase.h:403
agora::media::base::VideoFrame::d3d11Texture2d
void * d3d11Texture2d
Definition: AgoraMediaBase.h:923
agora::rtc::TRACK_AUDIO_MIXED_REMOTE
@ TRACK_AUDIO_MIXED_REMOTE
Definition: AgoraMediaBase.h:209
agora::media::STREAM_TYPE_VIDEO
@ STREAM_TYPE_VIDEO
Definition: AgoraMediaBase.h:1624
agora::media::IAudioFrameObserverBase::AudioFrame::presentationMs
int64_t presentationMs
Definition: AgoraMediaBase.h:1075
agora::media::IAudioFrameObserverBase::AudioFrame::samplesPerChannel
int samplesPerChannel
Definition: AgoraMediaBase.h:1034
agora::rtc::ROUTE_DEFAULT
@ ROUTE_DEFAULT
Definition: AgoraMediaBase.h:112
agora::media::RECORDER_STATE_START
@ RECORDER_STATE_START
Definition: AgoraMediaBase.h:1643
agora::rtc::AudioDeviceInfo::isCurrentSelected
bool isCurrentSelected
Definition: AgoraMediaBase.h:232
agora::media::MediaRecorderConfiguration
Definition: AgoraMediaBase.h:1681
agora::media::base::AUDIO_DUAL_MONO_L
@ AUDIO_DUAL_MONO_L
Definition: AgoraMediaBase.h:537
agora::media::IVideoFrameObserver::onRenderVideoFrame
virtual bool onRenderVideoFrame(const char *channelId, rtc::uid_t remoteUid, VideoFrame &videoFrame)=0
agora::media::IAudioFrameObserverBase::AUDIO_FRAME_POSITION
AUDIO_FRAME_POSITION
Definition: AgoraMediaBase.h:1098
agora::rtc::DEFAULT_CONNECTION_ID
static const unsigned int DEFAULT_CONNECTION_ID
Definition: AgoraMediaBase.h:35
agora::media::base::AudioPcmFrame::num_channels_
size_t num_channels_
Definition: AgoraMediaBase.h:479
agora::rtc::ROUTE_HEADSET
@ ROUTE_HEADSET
Definition: AgoraMediaBase.h:116
agora::media::EXTERNAL_VIDEO_SOURCE_TYPE
EXTERNAL_VIDEO_SOURCE_TYPE
Definition: AgoraMediaBase.h:1589
agora::rtc::VIDEO_SOURCE_REMOTE
@ VIDEO_SOURCE_REMOTE
Definition: AgoraMediaBase.h:80
agora::media::RECORDER_ERROR_OVER_MAX_DURATION
@ RECORDER_ERROR_OVER_MAX_DURATION
Definition: AgoraMediaBase.h:1670
agora::media::base::VideoFrame::sharedContext
void * sharedContext
Definition: AgoraMediaBase.h:915
agora::media::CONTENT_INSPECT_TYPE
CONTENT_INSPECT_TYPE
Definition: AgoraMediaBase.h:346
agora::media::base::CAMERA_SOURCE_BACK
@ CAMERA_SOURCE_BACK
Definition: AgoraMediaBase.h:639
agora::media::base::IVideoFrameMetaInfo::META_INFO_KEY
META_INFO_KEY
Definition: AgoraMediaBase.h:652
agora::rtc::AudioDeviceInfo::routing
AudioRoute routing
Definition: AgoraMediaBase.h:243
agora::media::base::CAMERA_SOURCE_FRONT
@ CAMERA_SOURCE_FRONT
Definition: AgoraMediaBase.h:635
agora::media::RECORDER_STATE_STOP
@ RECORDER_STATE_STOP
Definition: AgoraMediaBase.h:1647
agora::media::IAudioFrameObserverBase::onPlaybackAudioFrame
virtual bool onPlaybackAudioFrame(const char *channelId, AudioFrame &audioFrame)=0
agora::rtc::VIDEO_SOURCE_CUSTOM
@ VIDEO_SOURCE_CUSTOM
Definition: AgoraMediaBase.h:65
agora::media::AudioSpectrumData::AudioSpectrumData
AudioSpectrumData()
Definition: AgoraMediaBase.h:1297
agora::media::base::kMaxCodecNameLength
static const uint8_t kMaxCodecNameLength
Definition: AgoraMediaBase.h:412
agora::media::base::AUDIO_DUAL_MONO_STEREO
@ AUDIO_DUAL_MONO_STEREO
Definition: AgoraMediaBase.h:535
agora::media::IAudioFrameObserverBase::AudioFrame::rtpTimestamp
uint32_t rtpTimestamp
Definition: AgoraMediaBase.h:1083
agora::media::base::ExternalVideoFrame::ExternalVideoFrame
ExternalVideoFrame()
Definition: AgoraMediaBase.h:663
agora::media::IAudioSpectrumObserver::~IAudioSpectrumObserver
virtual ~IAudioSpectrumObserver()
Definition: AgoraMediaBase.h:1322
agora::rtc::ROUTE_SPEAKERPHONE
@ ROUTE_SPEAKERPHONE
Definition: AgoraMediaBase.h:128
agora::media::AudioSpectrumData
Definition: AgoraMediaBase.h:1287
agora::media::IAudioFrameObserverBase::onRecordAudioFrame
virtual bool onRecordAudioFrame(const char *channelId, AudioFrame &audioFrame)=0
agora::media::base::IVideoFrameObserver::getVideoFormatPreference
virtual VIDEO_PIXEL_FORMAT getVideoFormatPreference()
Definition: AgoraMediaBase.h:960
agora::media::STREAM_TYPE_AUDIO
@ STREAM_TYPE_AUDIO
Definition: AgoraMediaBase.h:1620
agora::media::MEDIA_SOURCE_TYPE
MEDIA_SOURCE_TYPE
Definition: AgoraMediaBase.h:275
agora::rtc::ROUTE_USB
@ ROUTE_USB
Definition: AgoraMediaBase.h:140
agora::media::RecorderErrorCode
RecorderErrorCode
Definition: AgoraMediaBase.h:1654
agora::media::IFaceInfoObserver::onFaceInfo
virtual bool onFaceInfo(const char *outFaceInfo)=0
agora::media::base::ExternalVideoFrame::cropLeft
int cropLeft
Definition: AgoraMediaBase.h:742
agora::rtc::DUMMY_CONNECTION_ID
static const unsigned int DUMMY_CONNECTION_ID
Definition: AgoraMediaBase.h:36
agora::media::base::POSITION_PRE_RENDERER
@ POSITION_PRE_RENDERER
Definition: AgoraMediaBase.h:985
agora::media::IVideoEncodedFrameObserver::~IVideoEncodedFrameObserver
virtual ~IVideoEncodedFrameObserver()
Definition: AgoraMediaBase.h:1376
agora::media::RTC_IMAGE_JPEG_SOURCE
@ RTC_IMAGE_JPEG_SOURCE
Definition: AgoraMediaBase.h:315
agora::media::IVideoFrameObserver::getVideoFormatPreference
virtual base::VIDEO_PIXEL_FORMAT getVideoFormatPreference()
Definition: AgoraMediaBase.h:1521
agora::media::base::MEDIA_PLAYER_SOURCE_TYPE
MEDIA_PLAYER_SOURCE_TYPE
Definition: AgoraMediaBase.h:963
agora::media::SECONDARY_CAMERA_SOURCE
@ SECONDARY_CAMERA_SOURCE
Definition: AgoraMediaBase.h:291
agora::media::UserAudioSpectrumInfo::UserAudioSpectrumInfo
UserAudioSpectrumInfo()
Definition: AgoraMediaBase.h:1312
agora::media::TRANSCODED_VIDEO_SOURCE
@ TRANSCODED_VIDEO_SOURCE
Definition: AgoraMediaBase.h:327
agora::media::ENCODED_VIDEO_FRAME
@ ENCODED_VIDEO_FRAME
Definition: AgoraMediaBase.h:1597
agora::media::CONTENT_INSPECT_SUPERVISION
@ CONTENT_INSPECT_SUPERVISION
Definition: AgoraMediaBase.h:359
agora::media::base::ExternalVideoFrame::EGL_CONTEXT14
@ EGL_CONTEXT14
Definition: AgoraMediaBase.h:696
agora::media::base::view_t
void * view_t
Definition: AgoraMediaBase.h:408
agora::media::PRIMARY_SCREEN_SOURCE
@ PRIMARY_SCREEN_SOURCE
Definition: AgoraMediaBase.h:295
agora::media::IVideoEncodedFrameObserver
Definition: AgoraMediaBase.h:1361
agora::media::base::POSITION_POST_CAPTURER
@ POSITION_POST_CAPTURER
Definition: AgoraMediaBase.h:984
agora::media::base::VIDEO_CVPIXEL_NV12
@ VIDEO_CVPIXEL_NV12
Definition: AgoraMediaBase.h:583
agora::media::base::AudioPcmFrame::sample_rate_hz_
int sample_rate_hz_
Definition: AgoraMediaBase.h:476
agora::media::base::VIDEO_PIXEL_DEFAULT
@ VIDEO_PIXEL_DEFAULT
Definition: AgoraMediaBase.h:551
agora::media::base::ExternalVideoFrame::texture_slice_index
int texture_slice_index
Definition: AgoraMediaBase.h:821
agora::rtc::ROUTE_LOUDSPEAKER
@ ROUTE_LOUDSPEAKER
Definition: AgoraMediaBase.h:132
agora::media::SPEECH_DRIVEN_VIDEO_SOURCE
@ SPEECH_DRIVEN_VIDEO_SOURCE
Definition: AgoraMediaBase.h:331
agora::media::base::AudioEncodedFrameInfo
Definition: AgoraMediaBase.h:434
agora::media::base::AudioEncodedFrameInfo::sendTs
uint64_t sendTs
Definition: AgoraMediaBase.h:438
agora::media::FORMAT_MP4
@ FORMAT_MP4
Definition: AgoraMediaBase.h:1609
agora::media::ContentInspectConfig::modules
ContentInspectModule modules[MAX_CONTENT_INSPECT_MODULE_COUNT]
Definition: AgoraMediaBase.h:391
agora::media::ContentInspectConfig::extraInfo
const char * extraInfo
Definition: AgoraMediaBase.h:383
agora::media::base::VideoFrame::uBuffer
uint8_t * uBuffer
Definition: AgoraMediaBase.h:882
agora::media::ContentInspectConfig
Definition: AgoraMediaBase.h:382
agora::media::IVideoFrameObserver::getRotationApplied
virtual bool getRotationApplied()
Definition: AgoraMediaBase.h:1537
agora::media::IAudioFrameObserverBase::onEarMonitoringAudioFrame
virtual bool onEarMonitoringAudioFrame(AudioFrame &audioFrame)=0
agora::media::base::ExternalVideoFrame::eglContext
void * eglContext
Definition: AgoraMediaBase.h:776
agora::media::base::AudioPcmFrame
Definition: AgoraMediaBase.h:451
agora::media::base::ExternalVideoFrame::alphaBuffer
uint8_t * alphaBuffer
Definition: AgoraMediaBase.h:805
agora::media::base::AudioPcmFrame::bytes_per_sample
rtc::BYTES_PER_SAMPLE bytes_per_sample
Definition: AgoraMediaBase.h:482
agora::media::base::ExternalVideoFrame::matrix
float matrix[16]
Definition: AgoraMediaBase.h:788
agora::media::base::AudioPcmFrame::data_
int16_t data_[kMaxDataSizeSamples]
Definition: AgoraMediaBase.h:484
agora::media::IAudioFrameObserverBase::AudioFrame::samplesPerSec
int samplesPerSec
Definition: AgoraMediaBase.h:1048
agora::rtc::VIDEO_SOURCE_CAMERA_THIRD
@ VIDEO_SOURCE_CAMERA_THIRD
Definition: AgoraMediaBase.h:87
agora::media::base::IVideoFrameMetaInfo::KEY_FACE_CAPTURE
@ KEY_FACE_CAPTURE
Definition: AgoraMediaBase.h:653
agora::media::base::AudioPcmFrame::operator=
AudioPcmFrame & operator=(const AudioPcmFrame &src)
Definition: AgoraMediaBase.h:486
agora::media::MediaRecorderConfiguration::storagePath
const char * storagePath
Definition: AgoraMediaBase.h:1690
agora::media::IVideoFrameObserver::~IVideoFrameObserver
virtual ~IVideoFrameObserver()
Definition: AgoraMediaBase.h:1404
agora::media::base::VideoFrame::avsync_type
int avsync_type
Definition: AgoraMediaBase.h:901
agora::media::base::VideoFrame::metaInfo
IVideoFrameMetaInfo * metaInfo
Definition: AgoraMediaBase.h:942
agora::rtc::AudioDeviceInfo
Definition: AgoraMediaBase.h:218
agora::rtc::VIDEO_SOURCE_RTC_IMAGE_GIF
@ VIDEO_SOURCE_RTC_IMAGE_GIF
Definition: AgoraMediaBase.h:77
agora::media::MEDIA_PLAYER_SOURCE
@ MEDIA_PLAYER_SOURCE
Definition: AgoraMediaBase.h:307
agora::media::IVideoFrameObserver::PROCESS_MODE_READ_WRITE
@ PROCESS_MODE_READ_WRITE
Definition: AgoraMediaBase.h:1400
agora::media::UserAudioSpectrumInfo::UserAudioSpectrumInfo
UserAudioSpectrumInfo(agora::rtc::uid_t _uid, const float *data, int length)
Definition: AgoraMediaBase.h:1313
agora::media::base::VideoFrame::metadata_size
int metadata_size
Definition: AgoraMediaBase.h:911
agora::media::base::ExternalVideoFrame::VIDEO_BUFFER_ARRAY
@ VIDEO_BUFFER_ARRAY
Definition: AgoraMediaBase.h:710
agora::media::base::ExternalVideoFrame::type
VIDEO_BUFFER_TYPE type
Definition: AgoraMediaBase.h:720
agora::media::base::VideoFrame::type
VIDEO_PIXEL_FORMAT type
Definition: AgoraMediaBase.h:854
agora::media::UserAudioSpectrumInfo::uid
agora::rtc::uid_t uid
Definition: AgoraMediaBase.h:1306
agora::rtc::TRACK_AUDIO_MIXED_POLICY_TYPE
TRACK_AUDIO_MIXED_POLICY_TYPE
Definition: AgoraMediaBase.h:203
agora::media::REMOTE_VIDEO_SOURCE
@ REMOTE_VIDEO_SOURCE
Definition: AgoraMediaBase.h:323
agora::media::base::VIDEO_PIXEL_RGBA
@ VIDEO_PIXEL_RGBA
Definition: AgoraMediaBase.h:567
agora::rtc::AudioParameters::frames_per_buffer
size_t frames_per_buffer
Definition: AgoraMediaBase.h:176
agora::media::base::IVideoFrameMetaInfo
Definition: AgoraMediaBase.h:650
agora::media::RTC_IMAGE_GIF_SOURCE
@ RTC_IMAGE_GIF_SOURCE
Definition: AgoraMediaBase.h:319
agora::media::base::VIDEO_PIXEL_FORMAT
VIDEO_PIXEL_FORMAT
Definition: AgoraMediaBase.h:547
agora::media::base::IVideoFrameMetaInfo::getMetaInfoStr
virtual const char * getMetaInfoStr(META_INFO_KEY key) const =0
agora::media::STREAM_TYPE_BOTH
@ STREAM_TYPE_BOTH
Definition: AgoraMediaBase.h:1628
agora::media::IAudioFrameObserverBase::AudioFrame::bytesPerSample
agora::rtc::BYTES_PER_SAMPLE bytesPerSample
Definition: AgoraMediaBase.h:1038
agora::media::base::AUDIO_DUAL_MONO_R
@ AUDIO_DUAL_MONO_R
Definition: AgoraMediaBase.h:539
agora::rtc::AudioDeviceInfo::isPlayoutDevice
bool isPlayoutDevice
Definition: AgoraMediaBase.h:238
agora::media::IVideoFrameObserver::onMediaPlayerVideoFrame
virtual bool onMediaPlayerVideoFrame(VideoFrame &videoFrame, int mediaPlayerId)=0
agora::media::base::AudioPcmFrame::AudioPcmFrame
AudioPcmFrame()
Definition: AgoraMediaBase.h:507
agora::rtc::VIDEO_SOURCE_CAMERA_SECONDARY
@ VIDEO_SOURCE_CAMERA_SECONDARY
Definition: AgoraMediaBase.h:55
agora::rtc::track_id_t
unsigned int track_id_t
Definition: AgoraMediaBase.h:30
agora::media::IAudioFrameObserver::onPlaybackAudioFrameBeforeMixing
virtual bool onPlaybackAudioFrameBeforeMixing(const char *channelId, rtc::uid_t uid, AudioFrame &audioFrame)=0
agora::media::IAudioFrameObserverBase::AUDIO_FRAME_POSITION_EAR_MONITORING
@ AUDIO_FRAME_POSITION_EAR_MONITORING
Definition: AgoraMediaBase.h:1114
__deprecated
#define __deprecated
Definition: AgoraMediaBase.h:23
agora::media::base::VIDEO_PIXEL_I420
@ VIDEO_PIXEL_I420
Definition: AgoraMediaBase.h:555