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 DEFAULT_CONNECTION_ID = 0;
35 static const unsigned int DUMMY_CONNECTION_ID = (std::numeric_limits<unsigned int>::max)();
36 
37 
39 
44 {
76  ROUTE_USB = 6,
89 };
90 
99 };
100 
103  size_t channels;
105 
107  : sample_rate(0),
108  channels(0),
109  frames_per_buffer(0) {}
110 };
111 
120 
125 };
126 
127 } // namespace rtc
128 
129 namespace media {
190 };
193 #define MAX_CONTENT_INSPECT_MODULE_COUNT 32
198 };
199 
213 };
214 
223  unsigned int interval;
226  interval = 0;
227  }
228 };
232  const char* extraInfo;
233 
237  ContentInspectModule modules[MAX_CONTENT_INSPECT_MODULE_COUNT];
242  {
243  extraInfo = rth.extraInfo;
244  moduleCount = rth.moduleCount;
245  memcpy(&modules, &rth.modules, MAX_CONTENT_INSPECT_MODULE_COUNT * sizeof(ContentInspectModule));
246  return *this;
247  }
249 };
250 
251 namespace base {
252 
253 typedef void* view_t;
254 
255 typedef const char* user_id_t;
256 
257 static const uint8_t kMaxCodecNameLength = 50;
258 
267  uint32_t timestamp;
268  // Audio level indication.
271  : timestamp(0),
272  audioLevelIndication(127) {}
273 };
274 
283  uint64_t sendTs;
287  uint8_t codec;
289  : sendTs(0),
290  codec(0) {}
291 };
292 
301  // Stereo, 32 kHz, 60 ms (2 * 32 * 60)
308  kMaxDataSizeSamples = 3840,
310  kMaxDataSizeBytes = kMaxDataSizeSamples * sizeof(int16_t),
311  };
312 
329  int16_t data_[kMaxDataSizeSamples];
330 
332  if(this == &src) {
333  return *this;
334  }
335 
336  this->capture_timestamp = src.capture_timestamp;
337  this->samples_per_channel_ = src.samples_per_channel_;
338  this->sample_rate_hz_ = src.sample_rate_hz_;
339  this->bytes_per_sample = src.bytes_per_sample;
340  this->num_channels_ = src.num_channels_;
341 
342  size_t length = src.samples_per_channel_ * src.num_channels_;
343  if (length > kMaxDataSizeSamples) {
344  length = kMaxDataSizeSamples;
345  }
346 
347  memcpy(this->data_, src.data_, length * sizeof(int16_t));
348 
349  return *this;
350  }
351 
353  : capture_timestamp(0),
355  sample_rate_hz_(0),
356  num_channels_(0),
357  bytes_per_sample(rtc::TWO_BYTES_PER_SAMPLE) {
358  memset(data_, 0, sizeof(data_));
359  }
360 
367  size_t length = src.samples_per_channel_ * src.num_channels_;
368  if (length > kMaxDataSizeSamples) {
369  length = kMaxDataSizeSamples;
370  }
371 
372  memcpy(this->data_, src.data_, length * sizeof(int16_t));
373  }
374 };
375 
382  AUDIO_DUAL_MONO_L = 1,
384  AUDIO_DUAL_MONO_R = 2,
387 };
392  public:
401  virtual void onFrame(AudioPcmFrame* frame) = 0;
402  virtual ~IAudioFrameObserver() {}
403 };
404 
441  /*
442  12: pixel format for iOS CVPixelBuffer NV12
443  */
445  /*
446  13: pixel format for iOS CVPixelBuffer I420
447  */
449  /*
450  14: pixel format for iOS CVPixelBuffer BGRA
451  */
457 };
458 
478  RENDER_MODE_ADAPTIVE __deprecated = 3,
479 };
480 
497 };
498 
506  buffer(NULL),
507  stride(0),
508  height(0),
509  cropLeft(0),
510  cropTop(0),
511  cropRight(0),
512  cropBottom(0),
513  rotation(0),
514  timestamp(0),
515  eglContext(NULL),
517  textureId(0),
518  metadata_buffer(NULL),
519  metadata_size(0){}
520 
533  };
534 
551  };
552 
564  void* buffer;
569  int stride;
573  int height;
578  int cropLeft;
583  int cropTop;
598  int rotation;
606  long long timestamp;
612  void *eglContext;
624  float matrix[16];
629  uint8_t* metadata_buffer;
635 };
636 
640 struct VideoFrame {
643  width(0),
644  height(0),
645  yStride(0),
646  uStride(0),
647  vStride(0),
648  yBuffer(NULL),
649  uBuffer(NULL),
650  vBuffer(NULL),
651  rotation(0),
652  renderTimeMs(0),
653  avsync_type(0),
654  metadata_buffer(NULL),
655  metadata_size(0),
656  sharedContext(0),
657  textureId(0),
658  alphaBuffer(NULL){}
659 
667  int width;
671  int height;
675  int yStride;
679  int uStride;
683  int vStride;
687  uint8_t* yBuffer;
691  uint8_t* uBuffer;
695  uint8_t* vBuffer;
699  int rotation;
706  int64_t renderTimeMs;
715  uint8_t* metadata_buffer;
732  float matrix[16];
738  uint8_t* alphaBuffer;
739 };
740 
745  public:
753  virtual void onFrame(const VideoFrame* frame) = 0;
754  virtual ~IVideoFrameObserver() {}
755  virtual bool isExternal() { return true; }
757 };
758 
777 };
778 
783 };
784 
785 } // namespace base
786 
791  public:
800  };
801  enum { MAX_HANDLE_TIME_CNT = 10 };
805  struct AudioFrame {
823  int channels;
834  void* buffer;
842  int64_t renderTimeMs;
847 
850  bytesPerSample(rtc::TWO_BYTES_PER_SAMPLE),
851  channels(0),
852  samplesPerSec(0),
853  buffer(NULL),
854  renderTimeMs(0),
855  avsync_type(0) {}
856  };
857 
875  };
876 
877  struct AudioParams {
887 
888  /* The number of audio channels, which can be set as either of the following values:
889 
890  - `1`: Mono (Default)
891  - `2`: Stereo
892  */
893  int channels;
894 
895  /* The use mode of the audio data. See AgoraAudioRawFrameOperationMode.
896  */
898 
903 
904  AudioParams() : sample_rate(0), channels(0), mode(rtc::RAW_AUDIO_FRAME_OP_MODE_READ_ONLY), samples_per_call(0) {}
905  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) {}
906  };
907 
908  public:
910 
919  virtual bool onRecordAudioFrame(const char* channelId, AudioFrame& audioFrame) = 0;
928  virtual bool onPlaybackAudioFrame(const char* channelId, AudioFrame& audioFrame) = 0;
937  virtual bool onMixedAudioFrame(const char* channelId, AudioFrame& audioFrame) = 0;
945  virtual bool onEarMonitoringAudioFrame(AudioFrame& audioFrame) = 0;
955  virtual bool onPlaybackAudioFrameBeforeMixing(const char* channelId, base::user_id_t userId, AudioFrame& audioFrame) {
956  (void) channelId;
957  (void) userId;
958  (void) audioFrame;
959  return true;
960  }
961 
977  virtual int getObservedAudioFramePosition() = 0;
978 
991 
1003 
1015 
1027 };
1028 
1033  public:
1044  virtual bool onPlaybackAudioFrameBeforeMixing(const char* channelId, rtc::uid_t uid, AudioFrame& audioFrame) = 0;
1045 };
1046 
1051  const float *audioSpectrumData;
1056 
1058  AudioSpectrumData(const float *data, int length) :
1059  audioSpectrumData(data), dataLength(length) {}
1060 };
1061 
1071 
1073  UserAudioSpectrumInfo(agora::rtc::uid_t _uid, const float *data, int length) :
1074  uid(_uid) { spectrumData.audioSpectrumData = data; spectrumData.dataLength = length; }
1075 };
1076 
1081 public:
1083 
1096  virtual bool onLocalAudioSpectrum(const AudioSpectrumData& data) = 0;
1097 
1115  virtual bool onRemoteAudioSpectrum(const UserAudioSpectrumInfo * spectrums, unsigned int spectrumNumber) = 0;
1116 };
1117 
1122  public:
1133  virtual bool onEncodedVideoFrameReceived(rtc::uid_t uid, const uint8_t* imageBuffer, size_t length,
1134  const rtc::EncodedVideoFrameInfo& videoEncodedFrameInfo) = 0;
1135 
1137 };
1138 
1143  public:
1154  PROCESS_MODE_READ_ONLY, // Observer works as a pure renderer and will not modify the original frame.
1160  PROCESS_MODE_READ_WRITE, // Observer works as a filter that will process the video frame and affect the following frame processing in SDK.
1161  };
1162 
1163  public:
1165 
1185  virtual bool onCaptureVideoFrame(VideoFrame& videoFrame) = 0;
1186 
1207  virtual bool onPreEncodeVideoFrame(VideoFrame& videoFrame) = 0;
1208 
1209  virtual bool onSecondaryCameraCaptureVideoFrame(VideoFrame& videoFrame) = 0;
1210 
1232  virtual bool onSecondaryPreEncodeCameraVideoFrame(VideoFrame& videoFrame) = 0;
1233 
1253  virtual bool onScreenCaptureVideoFrame(VideoFrame& videoFrame) = 0;
1274  virtual bool onPreEncodeScreenVideoFrame(VideoFrame& videoFrame) = 0;
1291  virtual bool onMediaPlayerVideoFrame(VideoFrame& videoFrame, int mediaPlayerId) = 0;
1292 
1293  virtual bool onSecondaryScreenCaptureVideoFrame(VideoFrame& videoFrame) = 0;
1315  virtual bool onSecondaryPreEncodeScreenVideoFrame(VideoFrame& videoFrame) = 0;
1316 
1336  virtual bool onRenderVideoFrame(const char* channelId, rtc::uid_t remoteUid, VideoFrame& videoFrame) = 0;
1337 
1338  virtual bool onTranscodedVideoFrame(VideoFrame& videoFrame) = 0;
1339 
1348  return PROCESS_MODE_READ_ONLY;
1349  }
1350 
1366 
1381  virtual bool getRotationApplied() { return false; }
1382 
1397  virtual bool getMirrorApplied() { return false; }
1398 
1416  virtual uint32_t getObservedFramePosition() {
1418  }
1419 
1427  virtual bool isExternal() { return true; }
1428 };
1429 
1442 };
1443 
1454 };
1473 };
1492 };
1519 };
1534  const char* storagePath;
1554 
1556  MediaRecorderConfiguration(const char* path, MediaRecorderContainerFormat format, MediaRecorderStreamType type, int duration, int interval) : storagePath(path), containerFormat(format), streamType(type), maxDurationMs(duration), recorderInfoUpdateInterval(interval) {}
1557 };
1567  const char* fileName;
1571  unsigned int durationMs;
1575  unsigned int fileSize;
1576 
1578  RecorderInfo(const char* name, unsigned int dur, unsigned int size) : fileName(name), durationMs(dur), fileSize(size) {}
1579 };
1580 
1581 
1583  public:
1608  virtual void onRecorderInfoUpdated(const RecorderInfo& info) = 0;
1610 };
1611 } // namespace media
1612 } // namespace agora
agora::rtc::AudioParameters::sample_rate
int sample_rate
Definition: AgoraMediaBase.h:102
agora::media::PRIMARY_SCREEN_SOURCE
@ PRIMARY_SCREEN_SOURCE
Definition: AgoraMediaBase.h:153
agora::media::base::VIDEO_PIXEL_NV21
@ VIDEO_PIXEL_NV21
Definition: AgoraMediaBase.h:424
agora::media::base::AudioPcmFrame::AudioPcmFrame
AudioPcmFrame()
Definition: AgoraMediaBase.h:352
agora::media::IVideoFrameObserver::PROCESS_MODE_READ_ONLY
@ PROCESS_MODE_READ_ONLY
Definition: AgoraMediaBase.h:1154
agora::media::base::VideoFrame
Definition: AgoraMediaBase.h:640
agora::media::base::ExternalVideoFrame::cropBottom
int cropBottom
Definition: AgoraMediaBase.h:593
agora::media::IAudioFrameObserverBase::AudioParams::channels
int channels
Definition: AgoraMediaBase.h:893
agora::media::MEDIA_PLAYER_SOURCE
@ MEDIA_PLAYER_SOURCE
Definition: AgoraMediaBase.h:165
agora::media::CONTENT_INSPECT_MODERATION
@ CONTENT_INSPECT_MODERATION
Definition: AgoraMediaBase.h:208
agora::media::base::VideoFrame::metadata_size
int metadata_size
Definition: AgoraMediaBase.h:720
agora::media::base::POSITION_PRE_RENDERER
@ POSITION_PRE_RENDERER
Definition: AgoraMediaBase.h:781
agora::media::base::IAudioFrameObserver::~IAudioFrameObserver
virtual ~IAudioFrameObserver()
Definition: AgoraMediaBase.h:402
agora::media::CONTENT_INSPECT_INVALID
@ CONTENT_INSPECT_INVALID
Definition: AgoraMediaBase.h:204
agora::media::AudioSpectrumData::audioSpectrumData
const float * audioSpectrumData
Definition: AgoraMediaBase.h:1051
agora::media::IAudioFrameObserverBase::onEarMonitoringAudioFrame
virtual bool onEarMonitoringAudioFrame(AudioFrame &audioFrame)=0
agora::media::base::ExternalVideoFrame::matrix
float matrix[16]
Definition: AgoraMediaBase.h:624
agora::media::ContentInspectConfig::ContentInspectConfig
ContentInspectConfig()
Definition: AgoraMediaBase.h:248
agora::media::base::VIDEO_PIXEL_FORMAT
VIDEO_PIXEL_FORMAT
Definition: AgoraMediaBase.h:408
agora::media::IMediaRecorderObserver
Definition: AgoraMediaBase.h:1582
agora::media::IAudioFrameObserverBase
Definition: AgoraMediaBase.h:790
agora::media::ContentInspectConfig::modules
ContentInspectModule modules[MAX_CONTENT_INSPECT_MODULE_COUNT]
Definition: AgoraMediaBase.h:237
agora::media::base::VideoFrame::uStride
int uStride
Definition: AgoraMediaBase.h:679
agora::rtc::AudioParameters::AudioParameters
AudioParameters()
Definition: AgoraMediaBase.h:106
agora::media::RECORDER_STATE_STOP
@ RECORDER_STATE_STOP
Definition: AgoraMediaBase.h:1491
agora::rtc::AudioParameters::channels
size_t channels
Definition: AgoraMediaBase.h:103
agora::media::IMediaRecorderObserver::~IMediaRecorderObserver
virtual ~IMediaRecorderObserver()
Definition: AgoraMediaBase.h:1609
agora::media::IAudioFrameObserverBase::FRAME_TYPE_PCM16
@ FRAME_TYPE_PCM16
Definition: AgoraMediaBase.h:799
agora::media::UNKNOWN_MEDIA_SOURCE
@ UNKNOWN_MEDIA_SOURCE
Definition: AgoraMediaBase.h:189
agora::media::VIDEO_FRAME
@ VIDEO_FRAME
Definition: AgoraMediaBase.h:1437
agora::media::base::VideoFrame::alphaBuffer
uint8_t * alphaBuffer
Definition: AgoraMediaBase.h:738
agora::media::base::IVideoFrameObserver::getVideoFormatPreference
virtual VIDEO_PIXEL_FORMAT getVideoFormatPreference()
Definition: AgoraMediaBase.h:756
agora::media::base::kMaxCodecNameLength
static const uint8_t kMaxCodecNameLength
Definition: AgoraMediaBase.h:257
agora::media::base::MEDIA_PLAYER_SOURCE_TYPE
MEDIA_PLAYER_SOURCE_TYPE
Definition: AgoraMediaBase.h:759
agora::media::base::MEDIA_PLAYER_SOURCE_DEFAULT
@ MEDIA_PLAYER_SOURCE_DEFAULT
Definition: AgoraMediaBase.h:765
agora::media::PRIMARY_CAMERA_SOURCE
@ PRIMARY_CAMERA_SOURCE
Definition: AgoraMediaBase.h:145
agora::media::base::VideoFrame::height
int height
Definition: AgoraMediaBase.h:671
agora::media::base::AudioPcmFrame::data_
int16_t data_[kMaxDataSizeSamples]
Definition: AgoraMediaBase.h:329
agora::media::IAudioFrameObserverBase::onRecordAudioFrame
virtual bool onRecordAudioFrame(const char *channelId, AudioFrame &audioFrame)=0
agora::media::MediaRecorderConfiguration::maxDurationMs
int maxDurationMs
Definition: AgoraMediaBase.h:1546
agora::media::MediaRecorderConfiguration::MediaRecorderConfiguration
MediaRecorderConfiguration(const char *path, MediaRecorderContainerFormat format, MediaRecorderStreamType type, int duration, int interval)
Definition: AgoraMediaBase.h:1556
agora::media::IAudioSpectrumObserver
Definition: AgoraMediaBase.h:1080
agora::media::AudioSpectrumData::AudioSpectrumData
AudioSpectrumData(const float *data, int length)
Definition: AgoraMediaBase.h:1058
agora::media::base::POSITION_POST_CAPTURER
@ POSITION_POST_CAPTURER
Definition: AgoraMediaBase.h:780
agora::rtc::AudioParameters
Definition: AgoraMediaBase.h:101
agora::media::IAudioFrameObserverBase::AudioFrame::renderTimeMs
int64_t renderTimeMs
Definition: AgoraMediaBase.h:842
agora::media::IAudioFrameObserverBase::AudioParams::mode
rtc::RAW_AUDIO_FRAME_OP_MODE_TYPE mode
Definition: AgoraMediaBase.h:897
agora::media::base::RENDER_MODE_FIT
@ RENDER_MODE_FIT
Definition: AgoraMediaBase.h:473
agora::media::TRANSCODED_VIDEO_SOURCE
@ TRANSCODED_VIDEO_SOURCE
Definition: AgoraMediaBase.h:185
agora::media::base::VideoFrame::VideoFrame
VideoFrame()
Definition: AgoraMediaBase.h:641
agora::media::base::ExternalVideoFrame::VIDEO_BUFFER_RAW_DATA
@ VIDEO_BUFFER_RAW_DATA
Definition: AgoraMediaBase.h:542
agora::media::IAudioFrameObserverBase::getPlaybackAudioParams
virtual AudioParams getPlaybackAudioParams()=0
agora::media::base::ExternalVideoFrame::buffer
void * buffer
Definition: AgoraMediaBase.h:564
agora::media::IAudioFrameObserverBase::AudioFrame::channels
int channels
Definition: AgoraMediaBase.h:823
agora::media::base::VIDEO_TEXTURE_OES
@ VIDEO_TEXTURE_OES
Definition: AgoraMediaBase.h:440
agora::media::IVideoFrameObserver::getVideoFormatPreference
virtual base::VIDEO_PIXEL_FORMAT getVideoFormatPreference()
Definition: AgoraMediaBase.h:1365
agora::rtc::ROUTE_HEADSETBLUETOOTH
@ ROUTE_HEADSETBLUETOOTH
Definition: AgoraMediaBase.h:72
agora::media::IAudioFrameObserverBase::AudioFrame::AudioFrame
AudioFrame()
Definition: AgoraMediaBase.h:848
agora::rtc::EncodedVideoFrameInfo
Definition: AgoraBase.h:1526
agora::media::base::ExternalVideoFrame::VIDEO_BUFFER_TYPE
VIDEO_BUFFER_TYPE
Definition: AgoraMediaBase.h:538
agora::media::base::IVideoFrameObserver
Definition: AgoraMediaBase.h:744
agora::media::base::user_id_t
const char * user_id_t
Definition: AgoraMediaBase.h:255
agora::media::STREAM_TYPE_AUDIO
@ STREAM_TYPE_AUDIO
Definition: AgoraMediaBase.h:1464
agora::rtc::ROUTE_HEADSET
@ ROUTE_HEADSET
Definition: AgoraMediaBase.h:52
agora::media::IVideoFrameObserver::getVideoFrameProcessMode
virtual VIDEO_FRAME_PROCESS_MODE getVideoFrameProcessMode()
Definition: AgoraMediaBase.h:1347
agora::media::IVideoFrameObserver
Definition: AgoraMediaBase.h:1142
agora::media::base::AudioPcmFrame::operator=
AudioPcmFrame & operator=(const AudioPcmFrame &src)
Definition: AgoraMediaBase.h:331
agora::media::IAudioFrameObserverBase::AudioFrame
Definition: AgoraMediaBase.h:805
agora::media::base::VIDEO_TEXTURE_2D
@ VIDEO_TEXTURE_2D
Definition: AgoraMediaBase.h:436
agora::media::base::view_t
void * view_t
Definition: AgoraMediaBase.h:253
agora::media::base::AudioEncodedFrameInfo::codec
uint8_t codec
Definition: AgoraMediaBase.h:287
agora::media::IVideoEncodedFrameObserver::onEncodedVideoFrameReceived
virtual bool onEncodedVideoFrameReceived(rtc::uid_t uid, const uint8_t *imageBuffer, size_t length, const rtc::EncodedVideoFrameInfo &videoEncodedFrameInfo)=0
agora::media::base::IVideoFrameObserver::~IVideoFrameObserver
virtual ~IVideoFrameObserver()
Definition: AgoraMediaBase.h:754
agora::media::base::CAMERA_SOURCE_FRONT
@ CAMERA_SOURCE_FRONT
Definition: AgoraMediaBase.h:488
agora::media::RECORDER_ERROR_OVER_MAX_DURATION
@ RECORDER_ERROR_OVER_MAX_DURATION
Definition: AgoraMediaBase.h:1514
agora::media::MediaRecorderConfiguration::recorderInfoUpdateInterval
int recorderInfoUpdateInterval
Definition: AgoraMediaBase.h:1553
agora::media::IAudioFrameObserver
Definition: AgoraMediaBase.h:1032
agora::media::IAudioFrameObserverBase::getEarMonitoringAudioParams
virtual AudioParams getEarMonitoringAudioParams()=0
agora::media::base::VideoFrame::rotation
int rotation
Definition: AgoraMediaBase.h:699
agora::rtc::BYTES_PER_SAMPLE
BYTES_PER_SAMPLE
Definition: AgoraMediaBase.h:94
agora::media::base::VIDEO_SOURCE_UNSPECIFIED
@ VIDEO_SOURCE_UNSPECIFIED
Definition: AgoraMediaBase.h:496
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:771
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:905
agora::media::base::IVideoFrameObserver::isExternal
virtual bool isExternal()
Definition: AgoraMediaBase.h:755
agora::media::base::AudioPcmFrame::OPTIONAL_ENUM_SIZE_T
OPTIONAL_ENUM_SIZE_T
Definition: AgoraMediaBase.h:300
agora::media::base::ExternalVideoFrame::eglContext
void * eglContext
Definition: AgoraMediaBase.h:612
agora::media::base::VIDEO_CVPIXEL_NV12
@ VIDEO_CVPIXEL_NV12
Definition: AgoraMediaBase.h:444
agora::media::base::ExternalVideoFrame::cropRight
int cropRight
Definition: AgoraMediaBase.h:588
agora::media::CUSTOM_VIDEO_SOURCE
@ CUSTOM_VIDEO_SOURCE
Definition: AgoraMediaBase.h:161
agora::media::IAudioFrameObserverBase::getRecordAudioParams
virtual AudioParams getRecordAudioParams()=0
agora::media::base::VideoFrame::textureId
int textureId
Definition: AgoraMediaBase.h:728
agora::media::base::ExternalVideoFrame::VIDEO_BUFFER_ARRAY
@ VIDEO_BUFFER_ARRAY
Definition: AgoraMediaBase.h:546
agora::media::base::ExternalVideoFrame::VIDEO_BUFFER_TEXTURE
@ VIDEO_BUFFER_TEXTURE
Definition: AgoraMediaBase.h:550
agora::media::RECORDER_ERROR_NO_STREAM
@ RECORDER_ERROR_NO_STREAM
Definition: AgoraMediaBase.h:1510
agora::media::base::VideoFrame::avsync_type
int avsync_type
Definition: AgoraMediaBase.h:710
agora
Definition: AgoraAtomicOps.h:21
agora::media::base::VideoFrame::matrix
float matrix[16]
Definition: AgoraMediaBase.h:732
agora::media::base::ExternalVideoFrame::cropLeft
int cropLeft
Definition: AgoraMediaBase.h:578
agora::media::RTC_IMAGE_GIF_SOURCE
@ RTC_IMAGE_GIF_SOURCE
Definition: AgoraMediaBase.h:177
agora::media::RECORDER_ERROR_WRITE_FAILED
@ RECORDER_ERROR_WRITE_FAILED
Definition: AgoraMediaBase.h:1506
agora::rtc::track_id_t
unsigned int track_id_t
Definition: AgoraMediaBase.h:30
agora::media::IAudioFrameObserverBase::AudioFrame::samplesPerSec
int samplesPerSec
Definition: AgoraMediaBase.h:827
agora::media::AUDIO_RECORDING_SOURCE
@ AUDIO_RECORDING_SOURCE
Definition: AgoraMediaBase.h:141
agora::media::RecorderErrorCode
RecorderErrorCode
Definition: AgoraMediaBase.h:1498
agora::rtc::ROUTE_AIRPLAY
@ ROUTE_AIRPLAY
Definition: AgoraMediaBase.h:88
agora::media::ContentInspectModule
Definition: AgoraMediaBase.h:215
agora::media::base::VIDEO_PIXEL_I422
@ VIDEO_PIXEL_I422
Definition: AgoraMediaBase.h:456
agora::media::IAudioFrameObserverBase::AudioFrame::buffer
void * buffer
Definition: AgoraMediaBase.h:834
agora::media::CONTENT_INSPECT_TYPE
CONTENT_INSPECT_TYPE
Definition: AgoraMediaBase.h:200
agora::media::IAudioFrameObserverBase::onPlaybackAudioFrameBeforeMixing
virtual bool onPlaybackAudioFrameBeforeMixing(const char *channelId, base::user_id_t userId, AudioFrame &audioFrame)
Definition: AgoraMediaBase.h:955
agora::rtc::RAW_AUDIO_FRAME_OP_MODE_TYPE
RAW_AUDIO_FRAME_OP_MODE_TYPE
Definition: AgoraMediaBase.h:115
agora::media::IAudioSpectrumObserver::onRemoteAudioSpectrum
virtual bool onRemoteAudioSpectrum(const UserAudioSpectrumInfo *spectrums, unsigned int spectrumNumber)=0
agora::media::MediaRecorderStreamType
MediaRecorderStreamType
Definition: AgoraMediaBase.h:1460
agora::media::SECONDARY_SCREEN_SOURCE
@ SECONDARY_SCREEN_SOURCE
Definition: AgoraMediaBase.h:157
agora::media::base::ExternalVideoFrame
Definition: AgoraMediaBase.h:502
agora::media::base::AudioEncodedFrameInfo::sendTs
uint64_t sendTs
Definition: AgoraMediaBase.h:283
agora::media::base::ExternalVideoFrame::ExternalVideoFrame
ExternalVideoFrame()
Definition: AgoraMediaBase.h:503
agora::media::ContentInspectConfig::moduleCount
int moduleCount
Definition: AgoraMediaBase.h:240
agora::media::base::VIDEO_CVPIXEL_I420
@ VIDEO_CVPIXEL_I420
Definition: AgoraMediaBase.h:448
agora::media::base::VideoFrame::type
VIDEO_PIXEL_FORMAT type
Definition: AgoraMediaBase.h:663
agora::media::IVideoFrameObserver::onSecondaryCameraCaptureVideoFrame
virtual bool onSecondaryCameraCaptureVideoFrame(VideoFrame &videoFrame)=0
agora::rtc::ROUTE_DEFAULT
@ ROUTE_DEFAULT
Definition: AgoraMediaBase.h:48
agora::media::RTC_IMAGE_JPEG_SOURCE
@ RTC_IMAGE_JPEG_SOURCE
Definition: AgoraMediaBase.h:173
agora::media::base::AudioPcmFrame::capture_timestamp
int64_t capture_timestamp
Definition: AgoraMediaBase.h:315
agora::media::base::ExternalVideoFrame::timestamp
long long timestamp
Definition: AgoraMediaBase.h:606
agora::media::IVideoFrameObserver::onScreenCaptureVideoFrame
virtual bool onScreenCaptureVideoFrame(VideoFrame &videoFrame)=0
agora::rtc::DEFAULT_CONNECTION_ID
static const unsigned int DEFAULT_CONNECTION_ID
Definition: AgoraMediaBase.h:34
agora::media::base::AudioPcmFrame::sample_rate_hz_
int sample_rate_hz_
Definition: AgoraMediaBase.h:321
agora::rtc::RAW_AUDIO_FRAME_OP_MODE_READ_WRITE
@ RAW_AUDIO_FRAME_OP_MODE_READ_WRITE
Definition: AgoraMediaBase.h:124
agora::media::IVideoFrameObserver::onTranscodedVideoFrame
virtual bool onTranscodedVideoFrame(VideoFrame &videoFrame)=0
agora::media::base::__deprecated
@ __deprecated
Definition: AgoraMediaBase.h:478
agora::media::RTC_IMAGE_PNG_SOURCE
@ RTC_IMAGE_PNG_SOURCE
Definition: AgoraMediaBase.h:169
agora::media::base::AUDIO_DUAL_MONO_MIX
@ AUDIO_DUAL_MONO_MIX
Definition: AgoraMediaBase.h:386
agora::rtc::ROUTE_EARPIECE
@ ROUTE_EARPIECE
Definition: AgoraMediaBase.h:56
agora::media::base::PacketOptions::PacketOptions
PacketOptions()
Definition: AgoraMediaBase.h:270
agora::media::IAudioFrameObserverBase::AUDIO_FRAME_POSITION
AUDIO_FRAME_POSITION
Definition: AgoraMediaBase.h:858
agora::media::base::ExternalVideoFrame::height
int height
Definition: AgoraMediaBase.h:573
agora::media::base::VideoFrame::sharedContext
void * sharedContext
Definition: AgoraMediaBase.h:724
agora::media::base::ExternalVideoFrame::rotation
int rotation
Definition: AgoraMediaBase.h:598
agora::rtc::ROUTE_USB
@ ROUTE_USB
Definition: AgoraMediaBase.h:76
agora::media::RECORDER_ERROR_NONE
@ RECORDER_ERROR_NONE
Definition: AgoraMediaBase.h:1502
agora::media::RecorderInfo
Definition: AgoraMediaBase.h:1563
agora::rtc::AudioParameters::frames_per_buffer
size_t frames_per_buffer
Definition: AgoraMediaBase.h:104
agora::media::base::VIDEO_CVPIXEL_BGRA
@ VIDEO_CVPIXEL_BGRA
Definition: AgoraMediaBase.h:452
agora::media::UserAudioSpectrumInfo::UserAudioSpectrumInfo
UserAudioSpectrumInfo()
Definition: AgoraMediaBase.h:1072
agora::media::UserAudioSpectrumInfo::spectrumData
struct AudioSpectrumData spectrumData
Definition: AgoraMediaBase.h:1070
agora::media::SECONDARY_CAMERA_SOURCE
@ SECONDARY_CAMERA_SOURCE
Definition: AgoraMediaBase.h:149
agora::media::IAudioFrameObserverBase::AudioParams::samples_per_call
int samples_per_call
Definition: AgoraMediaBase.h:902
agora::media::IAudioFrameObserverBase::AUDIO_FRAME_POSITION_PLAYBACK
@ AUDIO_FRAME_POSITION_PLAYBACK
Definition: AgoraMediaBase.h:862
agora::media::RecorderState
RecorderState
Definition: AgoraMediaBase.h:1479
agora::media::base::PacketOptions
Definition: AgoraMediaBase.h:263
agora::media::base::AudioPcmFrame::AudioPcmFrame
AudioPcmFrame(const AudioPcmFrame &src)
Definition: AgoraMediaBase.h:361
agora::media::base::PacketOptions::timestamp
uint32_t timestamp
Definition: AgoraMediaBase.h:267
agora::media::base::RENDER_MODE_HIDDEN
@ RENDER_MODE_HIDDEN
Definition: AgoraMediaBase.h:467
agora::media::base::IAudioFrameObserver::onFrame
virtual void onFrame(AudioPcmFrame *frame)=0
agora::media::IAudioFrameObserverBase::AUDIO_FRAME_TYPE
AUDIO_FRAME_TYPE
Definition: AgoraMediaBase.h:795
agora::media::base::VideoFrame::yBuffer
uint8_t * yBuffer
Definition: AgoraMediaBase.h:687
agora::media::base::AudioPcmFrame::bytes_per_sample
rtc::BYTES_PER_SAMPLE bytes_per_sample
Definition: AgoraMediaBase.h:327
agora::media::MediaRecorderContainerFormat
MediaRecorderContainerFormat
Definition: AgoraMediaBase.h:1449
agora::media::UserAudioSpectrumInfo
Definition: AgoraMediaBase.h:1062
agora::media::IMediaRecorderObserver::onRecorderStateChanged
virtual void onRecorderStateChanged(RecorderState state, RecorderErrorCode error)=0
agora::media::IVideoFrameObserver::onSecondaryScreenCaptureVideoFrame
virtual bool onSecondaryScreenCaptureVideoFrame(VideoFrame &videoFrame)=0
agora::media::IAudioFrameObserverBase::AUDIO_FRAME_POSITION_EAR_MONITORING
@ AUDIO_FRAME_POSITION_EAR_MONITORING
Definition: AgoraMediaBase.h:874
agora::media::RecorderInfo::fileName
const char * fileName
Definition: AgoraMediaBase.h:1567
agora::rtc::RAW_AUDIO_FRAME_OP_MODE_READ_ONLY
@ RAW_AUDIO_FRAME_OP_MODE_READ_ONLY
Definition: AgoraMediaBase.h:119
agora::media::RECORDER_STATE_ERROR
@ RECORDER_STATE_ERROR
Definition: AgoraMediaBase.h:1483
agora::media::IAudioFrameObserverBase::~IAudioFrameObserverBase
virtual ~IAudioFrameObserverBase()
Definition: AgoraMediaBase.h:909
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:1468
agora::media::IVideoFrameObserver::PROCESS_MODE_READ_WRITE
@ PROCESS_MODE_READ_WRITE
Definition: AgoraMediaBase.h:1160
agora::media::IVideoFrameObserver::isExternal
virtual bool isExternal()
Definition: AgoraMediaBase.h:1427
agora::media::IVideoFrameObserver::onPreEncodeVideoFrame
virtual bool onPreEncodeVideoFrame(VideoFrame &videoFrame)=0
agora::media::ContentInspectModule::interval
unsigned int interval
Definition: AgoraMediaBase.h:223
agora::media::IVideoFrameObserver::getObservedFramePosition
virtual uint32_t getObservedFramePosition()
Definition: AgoraMediaBase.h:1416
agora::media::base::VideoFrame::yStride
int yStride
Definition: AgoraMediaBase.h:675
agora::media::IAudioFrameObserverBase::AudioParams::AudioParams
AudioParams()
Definition: AgoraMediaBase.h:904
agora::media::base::ExternalVideoFrame::metadata_buffer
uint8_t * metadata_buffer
Definition: AgoraMediaBase.h:629
agora::media::base::PacketOptions::audioLevelIndication
uint8_t audioLevelIndication
Definition: AgoraMediaBase.h:269
agora::media::ContentInspectModule::type
CONTENT_INSPECT_TYPE type
Definition: AgoraMediaBase.h:219
agora::media::IAudioFrameObserverBase::AUDIO_FRAME_POSITION_NONE
@ AUDIO_FRAME_POSITION_NONE
Definition: AgoraMediaBase.h:859
agora::media::MediaRecorderConfiguration::containerFormat
MediaRecorderContainerFormat containerFormat
Definition: AgoraMediaBase.h:1538
agora::media::base::ExternalVideoFrame::EGL_CONTEXT14
@ EGL_CONTEXT14
Definition: AgoraMediaBase.h:532
agora::media::base::AudioEncodedFrameInfo::AudioEncodedFrameInfo
AudioEncodedFrameInfo()
Definition: AgoraMediaBase.h:288
agora::media::base::AUDIO_DUAL_MONO_L
@ AUDIO_DUAL_MONO_L
Definition: AgoraMediaBase.h:382
agora::media::RecorderInfo::RecorderInfo
RecorderInfo(const char *name, unsigned int dur, unsigned int size)
Definition: AgoraMediaBase.h:1578
agora::media::base::VIDEO_MODULE_POSITION
VIDEO_MODULE_POSITION
Definition: AgoraMediaBase.h:779
agora::media::RecorderInfo::fileSize
unsigned int fileSize
Definition: AgoraMediaBase.h:1575
agora::media::ContentInspectConfig::operator=
ContentInspectConfig & operator=(const ContentInspectConfig &rth)
Definition: AgoraMediaBase.h:241
agora::media::CONTENT_INSPECT_NEUTRAL
@ CONTENT_INSPECT_NEUTRAL
Definition: AgoraMediaBase.h:195
agora::media::base::ExternalVideoFrame::cropTop
int cropTop
Definition: AgoraMediaBase.h:583
agora::media::base::ExternalVideoFrame::type
VIDEO_BUFFER_TYPE type
Definition: AgoraMediaBase.h:556
agora::media::base::RENDER_MODE_TYPE
RENDER_MODE_TYPE
Definition: AgoraMediaBase.h:462
agora::media::IVideoFrameObserver::getRotationApplied
virtual bool getRotationApplied()
Definition: AgoraMediaBase.h:1381
agora::media::IVideoFrameObserver::VideoFrame
media::base::VideoFrame VideoFrame
Definition: AgoraMediaBase.h:1144
agora::media::CONTENT_INSPECT_SUPERVISION
@ CONTENT_INSPECT_SUPERVISION
Definition: AgoraMediaBase.h:212
agora::media::base::VideoFrame::vBuffer
uint8_t * vBuffer
Definition: AgoraMediaBase.h:695
agora::media::AudioSpectrumData::dataLength
int dataLength
Definition: AgoraMediaBase.h:1055
agora::media::base::ExternalVideoFrame::EGL_CONTEXT_TYPE
EGL_CONTEXT_TYPE
Definition: AgoraMediaBase.h:524
agora::media::AudioSpectrumData::AudioSpectrumData
AudioSpectrumData()
Definition: AgoraMediaBase.h:1057
agora::media::IAudioFrameObserverBase::onMixedAudioFrame
virtual bool onMixedAudioFrame(const char *channelId, AudioFrame &audioFrame)=0
agora::rtc::ROUTE_HEADSETNOMIC
@ ROUTE_HEADSETNOMIC
Definition: AgoraMediaBase.h:60
agora::media::RecorderInfo::RecorderInfo
RecorderInfo()
Definition: AgoraMediaBase.h:1577
agora::media::IAudioFrameObserverBase::AudioParams
Definition: AgoraMediaBase.h:877
agora::media::UserAudioSpectrumInfo::UserAudioSpectrumInfo
UserAudioSpectrumInfo(agora::rtc::uid_t _uid, const float *data, int length)
Definition: AgoraMediaBase.h:1073
agora::media::base::AudioPcmFrame::num_channels_
size_t num_channels_
Definition: AgoraMediaBase.h:324
agora::media::RECORDER_STATE_START
@ RECORDER_STATE_START
Definition: AgoraMediaBase.h:1487
agora::media::IAudioFrameObserverBase::AudioFrame::avsync_type
int avsync_type
Definition: AgoraMediaBase.h:846
agora::media::IAudioFrameObserverBase::getObservedAudioFramePosition
virtual int getObservedAudioFramePosition()=0
agora::media::base::VIDEO_SOURCE_TYPE
VIDEO_SOURCE_TYPE
Definition: AgoraMediaBase.h:484
agora::media::MediaRecorderConfiguration
Definition: AgoraMediaBase.h:1525
agora::media::base::VideoFrame::metadata_buffer
uint8_t * metadata_buffer
Definition: AgoraMediaBase.h:715
agora::media::MediaRecorderConfiguration::streamType
MediaRecorderStreamType streamType
Definition: AgoraMediaBase.h:1542
agora::media::IAudioFrameObserverBase::AUDIO_FRAME_POSITION_BEFORE_MIXING
@ AUDIO_FRAME_POSITION_BEFORE_MIXING
Definition: AgoraMediaBase.h:871
agora::media::base::VIDEO_PIXEL_DEFAULT
@ VIDEO_PIXEL_DEFAULT
Definition: AgoraMediaBase.h:412
agora::media::STREAM_TYPE_BOTH
@ STREAM_TYPE_BOTH
Definition: AgoraMediaBase.h:1472
agora::media::CONTENT_INSPECT_SEXY
@ CONTENT_INSPECT_SEXY
Definition: AgoraMediaBase.h:196
agora::media::FORMAT_MP4
@ FORMAT_MP4
Definition: AgoraMediaBase.h:1453
agora::media::base::IAudioFrameObserver
Definition: AgoraMediaBase.h:391
agora::media::MediaRecorderConfiguration::storagePath
const char * storagePath
Definition: AgoraMediaBase.h:1534
agora::media::base::CAMERA_SOURCE_BACK
@ CAMERA_SOURCE_BACK
Definition: AgoraMediaBase.h:492
agora::media::AudioSpectrumData
Definition: AgoraMediaBase.h:1047
agora::rtc::ROUTE_DISPLAYPORT
@ ROUTE_DISPLAYPORT
Definition: AgoraMediaBase.h:84
agora::media::base::VideoFrame::width
int width
Definition: AgoraMediaBase.h:667
agora::media::RecorderInfo::durationMs
unsigned int durationMs
Definition: AgoraMediaBase.h:1571
agora::media::base::VideoFrame::renderTimeMs
int64_t renderTimeMs
Definition: AgoraMediaBase.h:706
agora::media::base::ExternalVideoFrame::metadata_size
int metadata_size
Definition: AgoraMediaBase.h:634
agora::media::base::AudioPcmFrame::samples_per_channel_
size_t samples_per_channel_
Definition: AgoraMediaBase.h:318
agora::media::IAudioFrameObserver::onPlaybackAudioFrameBeforeMixing
virtual bool onPlaybackAudioFrameBeforeMixing(const char *channelId, rtc::uid_t uid, AudioFrame &audioFrame)=0
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:817
agora::media::IVideoFrameObserver::~IVideoFrameObserver
virtual ~IVideoFrameObserver()
Definition: AgoraMediaBase.h:1164
agora::media::base::ExternalVideoFrame::textureId
int textureId
Definition: AgoraMediaBase.h:620
agora::media::IAudioSpectrumObserver::~IAudioSpectrumObserver
virtual ~IAudioSpectrumObserver()
Definition: AgoraMediaBase.h:1082
agora::media::IAudioFrameObserverBase::AudioFrame::type
AUDIO_FRAME_TYPE type
Definition: AgoraMediaBase.h:809
agora::media::IAudioFrameObserverBase::MAX_HANDLE_TIME_CNT
@ MAX_HANDLE_TIME_CNT
Definition: AgoraMediaBase.h:801
agora::media::base::AUDIO_DUAL_MONO_R
@ AUDIO_DUAL_MONO_R
Definition: AgoraMediaBase.h:384
agora::media::IVideoEncodedFrameObserver
Definition: AgoraMediaBase.h:1121
agora::media::IAudioFrameObserverBase::AudioFrame::samplesPerChannel
int samplesPerChannel
Definition: AgoraMediaBase.h:813
agora::media::base::VIDEO_PIXEL_RGBA
@ VIDEO_PIXEL_RGBA
Definition: AgoraMediaBase.h:428
agora::media::CONTENT_INSPECT_PORN
@ CONTENT_INSPECT_PORN
Definition: AgoraMediaBase.h:197
agora::media::base::MEDIA_PLAYER_SOURCE_SIMPLE
@ MEDIA_PLAYER_SOURCE_SIMPLE
Definition: AgoraMediaBase.h:776
agora::media::base::AUDIO_DUAL_MONO_STEREO
@ AUDIO_DUAL_MONO_STEREO
Definition: AgoraMediaBase.h:380
agora::media::EXTERNAL_VIDEO_SOURCE_TYPE
EXTERNAL_VIDEO_SOURCE_TYPE
Definition: AgoraMediaBase.h:1433
agora::rtc::TWO_BYTES_PER_SAMPLE
@ TWO_BYTES_PER_SAMPLE
Definition: AgoraMediaBase.h:98
agora::media::IVideoFrameObserver::getMirrorApplied
virtual bool getMirrorApplied()
Definition: AgoraMediaBase.h:1397
agora::media::IVideoFrameObserver::onPreEncodeScreenVideoFrame
virtual bool onPreEncodeScreenVideoFrame(VideoFrame &videoFrame)=0
agora::media::IAudioSpectrumObserver::onLocalAudioSpectrum
virtual bool onLocalAudioSpectrum(const AudioSpectrumData &data)=0
agora::media::base::AudioEncodedFrameInfo
Definition: AgoraMediaBase.h:279
agora::media::IMediaRecorderObserver::onRecorderInfoUpdated
virtual void onRecorderInfoUpdated(const RecorderInfo &info)=0
agora::media::IAudioFrameObserverBase::AUDIO_FRAME_POSITION_RECORD
@ AUDIO_FRAME_POSITION_RECORD
Definition: AgoraMediaBase.h:865
agora::rtc::ROUTE_LOUDSPEAKER
@ ROUTE_LOUDSPEAKER
Definition: AgoraMediaBase.h:68
agora::media::base::VideoFrame::vStride
int vStride
Definition: AgoraMediaBase.h:683
agora::media::ENCODED_VIDEO_FRAME
@ ENCODED_VIDEO_FRAME
Definition: AgoraMediaBase.h:1441
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:1136
agora::media::RECORDER_ERROR_CONFIG_CHANGED
@ RECORDER_ERROR_CONFIG_CHANGED
Definition: AgoraMediaBase.h:1518
agora::media::base::VIDEO_PIXEL_I420
@ VIDEO_PIXEL_I420
Definition: AgoraMediaBase.h:416
agora::media::base::POSITION_PRE_ENCODER
@ POSITION_PRE_ENCODER
Definition: AgoraMediaBase.h:782
agora::media::ContentInspectConfig
Definition: AgoraMediaBase.h:231
agora::media::IAudioFrameObserverBase::AUDIO_FRAME_POSITION_MIXED
@ AUDIO_FRAME_POSITION_MIXED
Definition: AgoraMediaBase.h:868
agora::rtc::uid_t
unsigned int uid_t
Definition: AgoraMediaBase.h:29
agora::media::base::AudioPcmFrame
Definition: AgoraMediaBase.h:296
agora::media::IVideoFrameObserver::onCaptureVideoFrame
virtual bool onCaptureVideoFrame(VideoFrame &videoFrame)=0
agora::media::base::VIDEO_PIXEL_NV12
@ VIDEO_PIXEL_NV12
Definition: AgoraMediaBase.h:432
agora::media::MEDIA_SOURCE_TYPE
MEDIA_SOURCE_TYPE
Definition: AgoraMediaBase.h:133
agora::media::IAudioFrameObserverBase::AudioParams::sample_rate
int sample_rate
Definition: AgoraMediaBase.h:886
agora::media::base::AUDIO_DUAL_MONO_MODE
AUDIO_DUAL_MONO_MODE
Definition: AgoraMediaBase.h:378
agora::media::ContentInspectModule::ContentInspectModule
ContentInspectModule()
Definition: AgoraMediaBase.h:224
agora::media::CONTENT_INSPECT_RESULT
CONTENT_INSPECT_RESULT
Definition: AgoraMediaBase.h:194
agora::rtc::ROUTE_SPEAKERPHONE
@ ROUTE_SPEAKERPHONE
Definition: AgoraMediaBase.h:64
agora::media::base::VideoFrame::uBuffer
uint8_t * uBuffer
Definition: AgoraMediaBase.h:691
agora::media::IAudioFrameObserverBase::onPlaybackAudioFrame
virtual bool onPlaybackAudioFrame(const char *channelId, AudioFrame &audioFrame)=0
agora::media::base::ExternalVideoFrame::EGL_CONTEXT10
@ EGL_CONTEXT10
Definition: AgoraMediaBase.h:528
agora::rtc::DUMMY_CONNECTION_ID
static const unsigned int DUMMY_CONNECTION_ID
Definition: AgoraMediaBase.h:35
agora::media::UserAudioSpectrumInfo::uid
agora::rtc::uid_t uid
Definition: AgoraMediaBase.h:1066
agora::media::AUDIO_PLAYOUT_SOURCE
@ AUDIO_PLAYOUT_SOURCE
Definition: AgoraMediaBase.h:137
rtc
Definition: video_node_i.h:25
agora::media::IVideoFrameObserver::VIDEO_FRAME_PROCESS_MODE
VIDEO_FRAME_PROCESS_MODE
Definition: AgoraMediaBase.h:1148
agora::media::IVideoFrameObserver::onSecondaryPreEncodeScreenVideoFrame
virtual bool onSecondaryPreEncodeScreenVideoFrame(VideoFrame &videoFrame)=0
agora::media::base::ExternalVideoFrame::format
VIDEO_PIXEL_FORMAT format
Definition: AgoraMediaBase.h:560
agora::media::MediaRecorderConfiguration::MediaRecorderConfiguration
MediaRecorderConfiguration()
Definition: AgoraMediaBase.h:1555
agora::media::ContentInspectConfig::extraInfo
const char * extraInfo
Definition: AgoraMediaBase.h:232
agora::media::base::ExternalVideoFrame::stride
int stride
Definition: AgoraMediaBase.h:569
agora::media::base::VIDEO_PIXEL_BGRA
@ VIDEO_PIXEL_BGRA
Definition: AgoraMediaBase.h:420
agora::media::REMOTE_VIDEO_SOURCE
@ REMOTE_VIDEO_SOURCE
Definition: AgoraMediaBase.h:181
agora::rtc::ROUTE_HDMI
@ ROUTE_HDMI
Definition: AgoraMediaBase.h:80
agora::rtc::AudioRoute
AudioRoute
Definition: AgoraMediaBase.h:44
agora::media::IVideoFrameObserver::onSecondaryPreEncodeCameraVideoFrame
virtual bool onSecondaryPreEncodeCameraVideoFrame(VideoFrame &videoFrame)=0
agora::media::base::ExternalVideoFrame::eglType
EGL_CONTEXT_TYPE eglType
Definition: AgoraMediaBase.h:616