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 
97 
99 };
100 
105 {
158 };
159 
168 };
169 
172  size_t channels;
174 
176  : sample_rate(0),
177  channels(0),
178  frames_per_buffer(0) {}
179 };
180 
189 
194 };
195 
223 
228 
230  isPlayoutDevice(true),
232  memset(deviceName, 0, sizeof(deviceName));
233  memset(deviceId, 0, sizeof(deviceId));
234  }
235 
238  routing(other.routing){
239  memcpy(deviceName, other.deviceName, sizeof(deviceName));
240  memcpy(deviceId, other.deviceId, sizeof(deviceId));
241  }
242 
246  routing = other.routing;
247  memcpy(deviceName, other.deviceName, sizeof(deviceName));
248  memcpy(deviceId, other.deviceId, sizeof(deviceId));
249  return *this;
250  }
251 };
252 
253 } // namespace rtc
254 
255 namespace media {
316 };
319 #define MAX_CONTENT_INSPECT_MODULE_COUNT 32
324 };
325 
344 };
345 
354  unsigned int interval;
357  interval = 0;
358  }
359 };
363  const char* extraInfo;
367  const char* serverConfig;
376  {
377  extraInfo = rth.extraInfo;
379  moduleCount = rth.moduleCount;
381  return *this;
382  }
384 };
385 
386 namespace base {
387 
388 typedef void* view_t;
389 
390 typedef const char* user_id_t;
391 
392 static const uint8_t kMaxCodecNameLength = 50;
393 
402  uint32_t timestamp;
403  // Audio level indication.
406  : timestamp(0),
407  audioLevelIndication(127) {}
408 };
409 
418  uint64_t sendTs;
422  uint8_t codec;
424  : sendTs(0),
425  codec(0) {}
426 };
427 
436  // Stereo, 32 kHz, 60 ms (2 * 32 * 60)
443  kMaxDataSizeSamples = 3840,
445  kMaxDataSizeBytes = kMaxDataSizeSamples * sizeof(int16_t),
446  };
447 
464  int16_t data_[kMaxDataSizeSamples];
465 
467  if(this == &src) {
468  return *this;
469  }
470 
471  this->capture_timestamp = src.capture_timestamp;
472  this->samples_per_channel_ = src.samples_per_channel_;
473  this->sample_rate_hz_ = src.sample_rate_hz_;
474  this->bytes_per_sample = src.bytes_per_sample;
475  this->num_channels_ = src.num_channels_;
476 
477  size_t length = src.samples_per_channel_ * src.num_channels_;
478  if (length > kMaxDataSizeSamples) {
479  length = kMaxDataSizeSamples;
480  }
481 
482  memcpy(this->data_, src.data_, length * sizeof(int16_t));
483 
484  return *this;
485  }
486 
488  : capture_timestamp(0),
490  sample_rate_hz_(0),
491  num_channels_(0),
493  memset(data_, 0, sizeof(data_));
494  }
495 
502  size_t length = src.samples_per_channel_ * src.num_channels_;
503  if (length > kMaxDataSizeSamples) {
504  length = kMaxDataSizeSamples;
505  }
506 
507  memcpy(this->data_, src.data_, length * sizeof(int16_t));
508  }
509 };
510 
517  AUDIO_DUAL_MONO_L = 1,
519  AUDIO_DUAL_MONO_R = 2,
522 };
523 
560  /*
561  12: pixel format for iOS CVPixelBuffer NV12
562  */
564  /*
565  13: pixel format for iOS CVPixelBuffer I420
566  */
568  /*
569  14: pixel format for iOS CVPixelBuffer BGRA
570  */
580 };
581 
602 };
603 
620 };
621 
627  public:
630  };
631  virtual ~IVideoFrameMetaInfo() {};
632  virtual const char* getMetaInfoStr(META_INFO_KEY key) const = 0;
633 };
634 
642  buffer(NULL),
643  stride(0),
644  height(0),
645  cropLeft(0),
646  cropTop(0),
647  cropRight(0),
648  cropBottom(0),
649  rotation(0),
650  timestamp(0),
651  eglContext(NULL),
653  textureId(0),
654  metadata_buffer(NULL),
655  metadata_size(0),
656  alphaBuffer(NULL),
657  d3d11_texture_2d(NULL),
659 
672  };
673 
690  };
691 
703  void* buffer;
708  int stride;
712  int height;
717  int cropLeft;
722  int cropTop;
737  int rotation;
745  long long timestamp;
751  void *eglContext;
763  float matrix[16];
768  uint8_t* metadata_buffer;
779  uint8_t* alphaBuffer;
780 
785 
790 };
791 
795 struct VideoFrame {
798  width(0),
799  height(0),
800  yStride(0),
801  uStride(0),
802  vStride(0),
803  yBuffer(NULL),
804  uBuffer(NULL),
805  vBuffer(NULL),
806  rotation(0),
807  renderTimeMs(0),
808  avsync_type(0),
809  metadata_buffer(NULL),
810  metadata_size(0),
811  sharedContext(0),
812  textureId(0),
813  d3d11Texture2d(NULL),
814  alphaBuffer(NULL),
815  pixelBuffer(NULL),
816  metaInfo(NULL){
817  memset(matrix, 0, sizeof(matrix));
818  }
826  int width;
830  int height;
834  int yStride;
838  int uStride;
842  int vStride;
846  uint8_t* yBuffer;
850  uint8_t* uBuffer;
854  uint8_t* vBuffer;
858  int rotation;
865  int64_t renderTimeMs;
874  uint8_t* metadata_buffer;
895  float matrix[16];
901  uint8_t* alphaBuffer;
905  void* pixelBuffer;
910 };
911 
916  public:
924  virtual void onFrame(const VideoFrame* frame) = 0;
925  virtual ~IVideoFrameObserver() {}
926  virtual bool isExternal() { return true; }
928 };
929 
948 };
949 
954 };
955 
956 } // namespace base
957 
962  public:
971  virtual void onFrame(agora::media::base::AudioPcmFrame* frame) = 0;
972  virtual ~IAudioPcmFrameSink() {}
973 };
974 
979  public:
988  };
989  enum { MAX_HANDLE_TIME_CNT = 10 };
993  struct AudioFrame {
1022  void* buffer;
1030  int64_t renderTimeMs;
1050  uint32_t rtpTimestamp;
1051 
1053  samplesPerChannel(0),
1055  channels(0),
1056  samplesPerSec(0),
1057  buffer(NULL),
1058  renderTimeMs(0),
1059  avsync_type(0),
1060  presentationMs(0),
1061  audioTrackNumber(0),
1062  rtpTimestamp(0) {}
1063  };
1064 
1082  };
1083 
1084  struct AudioParams {
1093  int sample_rate;
1094 
1095  /* The number of audio channels, which can be set as either of the following values:
1096 
1097  - `1`: Mono (Default)
1098  - `2`: Stereo
1099  */
1100  int channels;
1101 
1102  /* The use mode of the audio data. See AgoraAudioRawFrameOperationMode.
1103  */
1105 
1109  int samples_per_call;
1110 
1111  AudioParams() : sample_rate(0), channels(0), mode(rtc::RAW_AUDIO_FRAME_OP_MODE_READ_ONLY), samples_per_call(0) {}
1112  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) {}
1113  };
1114 
1115  public:
1117 
1126  virtual bool onRecordAudioFrame(const char* channelId, AudioFrame& audioFrame) = 0;
1135  virtual bool onPlaybackAudioFrame(const char* channelId, AudioFrame& audioFrame) = 0;
1144  virtual bool onMixedAudioFrame(const char* channelId, AudioFrame& audioFrame) = 0;
1152  virtual bool onEarMonitoringAudioFrame(AudioFrame& audioFrame) = 0;
1162  virtual bool onPlaybackAudioFrameBeforeMixing(const char* channelId, base::user_id_t userId, AudioFrame& audioFrame) {
1163  (void) channelId;
1164  (void) userId;
1165  (void) audioFrame;
1166  return true;
1167  }
1168 
1185 
1197  virtual AudioParams getPlaybackAudioParams() = 0;
1198 
1209  virtual AudioParams getRecordAudioParams() = 0;
1210 
1221  virtual AudioParams getMixedAudioParams() = 0;
1222 
1233  virtual AudioParams getEarMonitoringAudioParams() = 0;
1234 };
1235 
1240  public:
1251  virtual bool onPlaybackAudioFrameBeforeMixing(const char* channelId, rtc::uid_t uid, AudioFrame& audioFrame) = 0;
1252 };
1253 
1258  const float *audioSpectrumData;
1263 
1265  AudioSpectrumData(const float *data, int length) :
1266  audioSpectrumData(data), dataLength(length) {}
1267 };
1268 
1278 
1280  UserAudioSpectrumInfo(agora::rtc::uid_t _uid, const float *data, int length) :
1281  uid(_uid) { spectrumData.audioSpectrumData = data; spectrumData.dataLength = length; }
1282 };
1283 
1288 public:
1290 
1303  virtual bool onLocalAudioSpectrum(const AudioSpectrumData& data) = 0;
1304 
1322  virtual bool onRemoteAudioSpectrum(const UserAudioSpectrumInfo * spectrums, unsigned int spectrumNumber) = 0;
1323 };
1324 
1329  public:
1340  virtual bool onEncodedVideoFrameReceived(rtc::uid_t uid, const uint8_t* imageBuffer, size_t length,
1341  const rtc::EncodedVideoFrameInfo& videoEncodedFrameInfo) = 0;
1342 
1344 };
1345 
1350  public:
1361  PROCESS_MODE_READ_ONLY, // Observer works as a pure renderer and will not modify the original frame.
1367  PROCESS_MODE_READ_WRITE, // Observer works as a filter that will process the video frame and affect the following frame processing in SDK.
1368  };
1369 
1370  public:
1372 
1393  virtual bool onCaptureVideoFrame(agora::rtc::VIDEO_SOURCE_TYPE sourceType, VideoFrame& videoFrame) = 0;
1394 
1416  virtual bool onPreEncodeVideoFrame(agora::rtc::VIDEO_SOURCE_TYPE sourceType, VideoFrame& videoFrame) = 0;
1417 
1438  virtual bool onMediaPlayerVideoFrame(VideoFrame& videoFrame, int mediaPlayerId) = 0;
1439 
1459  virtual bool onRenderVideoFrame(const char* channelId, rtc::uid_t remoteUid, VideoFrame& videoFrame) = 0;
1460 
1461  virtual bool onTranscodedVideoFrame(VideoFrame& videoFrame) = 0;
1462 
1471  return PROCESS_MODE_READ_ONLY;
1472  }
1473 
1489 
1504  virtual bool getRotationApplied() { return false; }
1505 
1520  virtual bool getMirrorApplied() { return false; }
1521 
1539  virtual uint32_t getObservedFramePosition() {
1541  }
1542 
1550  virtual bool isExternal() { return true; }
1551 };
1552 
1565 };
1566 
1577 };
1596 };
1615 };
1642 };
1657  const char* storagePath;
1677 
1679  MediaRecorderConfiguration(const char* path, MediaRecorderContainerFormat format, MediaRecorderStreamType type, int duration, int interval) : storagePath(path), containerFormat(format), streamType(type), maxDurationMs(duration), recorderInfoUpdateInterval(interval) {}
1680 };
1690  const char* fileName;
1694  unsigned int durationMs;
1698  unsigned int fileSize;
1699 
1701  RecorderInfo(const char* name, unsigned int dur, unsigned int size) : fileName(name), durationMs(dur), fileSize(size) {}
1702 };
1703 
1704 
1706  public:
1720  virtual void onRecorderStateChanged(const char* channelId, rtc::uid_t uid, RecorderState state, RecorderErrorCode error) = 0;
1735  virtual void onRecorderInfoUpdated(const char* channelId, rtc::uid_t uid, const RecorderInfo& info) = 0;
1737 };
1738 } // namespace media
1739 } // 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:1678
agora::media::IAudioFrameObserverBase::FRAME_TYPE_PCM16
@ FRAME_TYPE_PCM16
Definition: AgoraMediaBase.h:987
agora::media::MediaRecorderConfiguration::MediaRecorderConfiguration
MediaRecorderConfiguration(const char *path, MediaRecorderContainerFormat format, MediaRecorderStreamType type, int duration, int interval)
Definition: AgoraMediaBase.h:1679
agora::media::base::VideoFrame
Definition: AgoraMediaBase.h:795
agora::media::ContentInspectModule::type
CONTENT_INSPECT_TYPE type
Definition: AgoraMediaBase.h:350
agora::media::MediaRecorderConfiguration::containerFormat
MediaRecorderContainerFormat containerFormat
Definition: AgoraMediaBase.h:1661
agora::media::base::ExternalVideoFrame::EGL_CONTEXT_TYPE
EGL_CONTEXT_TYPE
Definition: AgoraMediaBase.h:663
agora::media::base::VideoFrame::vBuffer
uint8_t * vBuffer
Definition: AgoraMediaBase.h:854
agora::media::base::MEDIA_PLAYER_SOURCE_FULL_FEATURED
@ MEDIA_PLAYER_SOURCE_FULL_FEATURED
Definition: AgoraMediaBase.h:942
agora::media::base::VideoFrame::yStride
int yStride
Definition: AgoraMediaBase.h:834
agora::media::base::IVideoFrameObserver::onFrame
virtual void onFrame(const VideoFrame *frame)=0
agora::rtc::AudioParameters::AudioParameters
AudioParameters()
Definition: AgoraMediaBase.h:175
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:950
agora::rtc::VIDEO_SOURCE_TYPE
VIDEO_SOURCE_TYPE
Definition: AgoraMediaBase.h:48
agora::media::base::ExternalVideoFrame::cropTop
int cropTop
Definition: AgoraMediaBase.h:722
agora::media::IAudioPcmFrameSink
Definition: AgoraMediaBase.h:961
agora::rtc::VIDEO_SOURCE_TRANSCODED
@ VIDEO_SOURCE_TRANSCODED
Definition: AgoraMediaBase.h:83
agora::media::base::VIDEO_TEXTURE_ID3D11TEXTURE2D
@ VIDEO_TEXTURE_ID3D11TEXTURE2D
Definition: AgoraMediaBase.h:579
agora::media::RECORDER_ERROR_NONE
@ RECORDER_ERROR_NONE
Definition: AgoraMediaBase.h:1625
agora::media::IMediaRecorderObserver
Definition: AgoraMediaBase.h:1705
agora::media::VIDEO_FRAME
@ VIDEO_FRAME
Definition: AgoraMediaBase.h:1560
agora::media::IAudioFrameObserverBase
Definition: AgoraMediaBase.h:978
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:567
agora::rtc::RAW_AUDIO_FRAME_OP_MODE_READ_WRITE
@ RAW_AUDIO_FRAME_OP_MODE_READ_WRITE
Definition: AgoraMediaBase.h:193
agora::media::MediaRecorderConfiguration::recorderInfoUpdateInterval
int recorderInfoUpdateInterval
Definition: AgoraMediaBase.h:1676
agora::media::base::AUDIO_DUAL_MONO_MODE
AUDIO_DUAL_MONO_MODE
Definition: AgoraMediaBase.h:513
agora::media::AudioSpectrumData::AudioSpectrumData
AudioSpectrumData(const float *data, int length)
Definition: AgoraMediaBase.h:1265
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:1066
agora::media::IAudioFrameObserverBase::onMixedAudioFrame
virtual bool onMixedAudioFrame(const char *channelId, AudioFrame &audioFrame)=0
agora::rtc::ROUTE_CONTINUITY
@ ROUTE_CONTINUITY
Definition: AgoraMediaBase.h:157
agora::media::ContentInspectConfig::serverConfig
const char * serverConfig
Definition: AgoraMediaBase.h:367
agora::media::IAudioSpectrumObserver
Definition: AgoraMediaBase.h:1287
agora::media::IAudioFrameObserverBase::MAX_HANDLE_TIME_CNT
@ MAX_HANDLE_TIME_CNT
Definition: AgoraMediaBase.h:989
agora::media::CONTENT_INSPECT_PORN
@ CONTENT_INSPECT_PORN
Definition: AgoraMediaBase.h:323
agora::rtc::AudioParameters
Definition: AgoraMediaBase.h:170
agora::media::base::RENDER_MODE_HIDDEN
@ RENDER_MODE_HIDDEN
Definition: AgoraMediaBase.h:590
agora::media::IAudioFrameObserverBase::AudioFrame::avsync_type
int avsync_type
Definition: AgoraMediaBase.h:1034
agora::media::IAudioFrameObserverBase::AUDIO_FRAME_POSITION_BEFORE_MIXING
@ AUDIO_FRAME_POSITION_BEFORE_MIXING
Definition: AgoraMediaBase.h:1078
agora::media::base::ExternalVideoFrame::format
VIDEO_PIXEL_FORMAT format
Definition: AgoraMediaBase.h:699
agora::rtc::AudioDeviceInfo::AudioDeviceInfo
AudioDeviceInfo()
Definition: AgoraMediaBase.h:229
agora::media::RECORDER_ERROR_WRITE_FAILED
@ RECORDER_ERROR_WRITE_FAILED
Definition: AgoraMediaBase.h:1629
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:1553
agora::media::base::IVideoFrameObserver
Definition: AgoraMediaBase.h:915
agora::media::CONTENT_INSPECT_SEXY
@ CONTENT_INSPECT_SEXY
Definition: AgoraMediaBase.h:322
agora::media::base::PacketOptions::timestamp
uint32_t timestamp
Definition: AgoraMediaBase.h:402
agora::media::base::IVideoFrameMetaInfo::~IVideoFrameMetaInfo
virtual ~IVideoFrameMetaInfo()
Definition: AgoraMediaBase.h:631
agora::media::base::VideoFrame::width
int width
Definition: AgoraMediaBase.h:826
agora::media::IVideoFrameObserver
Definition: AgoraMediaBase.h:1349
agora::media::IAudioFrameObserverBase::AUDIO_FRAME_POSITION_RECORD
@ AUDIO_FRAME_POSITION_RECORD
Definition: AgoraMediaBase.h:1072
agora::media::AudioSpectrumData::dataLength
int dataLength
Definition: AgoraMediaBase.h:1262
agora::media::IAudioFrameObserverBase::AUDIO_FRAME_POSITION_MIXED
@ AUDIO_FRAME_POSITION_MIXED
Definition: AgoraMediaBase.h:1075
agora::media::IAudioFrameObserverBase::AudioFrame
Definition: AgoraMediaBase.h:993
agora::rtc::AudioRoute
AudioRoute
Definition: AgoraMediaBase.h:105
agora::rtc::ROUTE_EARPIECE
@ ROUTE_EARPIECE
Definition: AgoraMediaBase.h:117
agora::media::base::ExternalVideoFrame::height
int height
Definition: AgoraMediaBase.h:712
agora::rtc::INVALID_TRACK_ID
static const unsigned int INVALID_TRACK_ID
Definition: AgoraMediaBase.h:34
agora::media::IAudioFrameObserver
Definition: AgoraMediaBase.h:1239
agora::media::RecorderInfo::fileSize
unsigned int fileSize
Definition: AgoraMediaBase.h:1698
agora::media::base::AudioEncodedFrameInfo::codec
uint8_t codec
Definition: AgoraMediaBase.h:422
agora::media::base::ExternalVideoFrame::rotation
int rotation
Definition: AgoraMediaBase.h:737
agora::media::base::VIDEO_PIXEL_NV12
@ VIDEO_PIXEL_NV12
Definition: AgoraMediaBase.h:551
agora::media::base::ExternalVideoFrame::cropRight
int cropRight
Definition: AgoraMediaBase.h:727
agora::media::base::VIDEO_PIXEL_I422
@ VIDEO_PIXEL_I422
Definition: AgoraMediaBase.h:575
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:755
agora::media::MediaRecorderConfiguration::streamType
MediaRecorderStreamType streamType
Definition: AgoraMediaBase.h:1665
agora::media::base::ExternalVideoFrame::VIDEO_BUFFER_TEXTURE
@ VIDEO_BUFFER_TEXTURE
Definition: AgoraMediaBase.h:689
agora::media::IAudioPcmFrameSink::~IAudioPcmFrameSink
virtual ~IAudioPcmFrameSink()
Definition: AgoraMediaBase.h:972
agora::media::PRIMARY_CAMERA_SOURCE
@ PRIMARY_CAMERA_SOURCE
Definition: AgoraMediaBase.h:271
agora::media::base::RENDER_MODE_FIT
@ RENDER_MODE_FIT
Definition: AgoraMediaBase.h:596
agora::rtc::TWO_BYTES_PER_SAMPLE
@ TWO_BYTES_PER_SAMPLE
Definition: AgoraMediaBase.h:167
agora::media::CONTENT_INSPECT_INVALID
@ CONTENT_INSPECT_INVALID
Definition: AgoraMediaBase.h:330
agora::media::IAudioFrameObserverBase::AudioFrame::buffer
void * buffer
Definition: AgoraMediaBase.h:1022
agora::media::IVideoFrameObserver::PROCESS_MODE_READ_ONLY
@ PROCESS_MODE_READ_ONLY
Definition: AgoraMediaBase.h:1361
agora::rtc::ROUTE_HEADSETNOMIC
@ ROUTE_HEADSETNOMIC
Definition: AgoraMediaBase.h:121
agora::media::base::ExternalVideoFrame::cropBottom
int cropBottom
Definition: AgoraMediaBase.h:732
agora::media::RecorderState
RecorderState
Definition: AgoraMediaBase.h:1602
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:768
agora::media::base::ExternalVideoFrame::VIDEO_BUFFER_RAW_DATA
@ VIDEO_BUFFER_RAW_DATA
Definition: AgoraMediaBase.h:681
agora::media::IVideoFrameObserver::isExternal
virtual bool isExternal()
Definition: AgoraMediaBase.h:1550
agora::media::base::POSITION_PRE_ENCODER
@ POSITION_PRE_ENCODER
Definition: AgoraMediaBase.h:953
agora::media::AUDIO_RECORDING_SOURCE
@ AUDIO_RECORDING_SOURCE
Definition: AgoraMediaBase.h:267
agora::media::IAudioFrameObserverBase::AUDIO_FRAME_POSITION_PLAYBACK
@ AUDIO_FRAME_POSITION_PLAYBACK
Definition: AgoraMediaBase.h:1069
agora::media::base::VideoFrame::yBuffer
uint8_t * yBuffer
Definition: AgoraMediaBase.h:846
agora::media::base::VIDEO_PIXEL_NV21
@ VIDEO_PIXEL_NV21
Definition: AgoraMediaBase.h:543
agora::rtc::ROUTE_DISPLAYPORT
@ ROUTE_DISPLAYPORT
Definition: AgoraMediaBase.h:145
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:1583
agora::media::ContentInspectModule::interval
unsigned int interval
Definition: AgoraMediaBase.h:354
agora::media::base::MEDIA_PLAYER_SOURCE_SIMPLE
@ MEDIA_PLAYER_SOURCE_SIMPLE
Definition: AgoraMediaBase.h:947
agora::rtc::kAdmMaxGuidSize
static const int kAdmMaxGuidSize
Definition: AgoraMediaBase.h:39
agora::media::base::IVideoFrameObserver::isExternal
virtual bool isExternal()
Definition: AgoraMediaBase.h:926
agora::media::IAudioFrameObserverBase::onPlaybackAudioFrameBeforeMixing
virtual bool onPlaybackAudioFrameBeforeMixing(const char *channelId, base::user_id_t userId, AudioFrame &audioFrame)
Definition: AgoraMediaBase.h:1162
agora::rtc::AudioParameters::channels
size_t channels
Definition: AgoraMediaBase.h:172
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:1633
agora::media::base::ExternalVideoFrame::VIDEO_BUFFER_TYPE
VIDEO_BUFFER_TYPE
Definition: AgoraMediaBase.h:677
agora::media::CONTENT_INSPECT_NEUTRAL
@ CONTENT_INSPECT_NEUTRAL
Definition: AgoraMediaBase.h:321
agora::media::base::RENDER_MODE_ADAPTIVE
@ RENDER_MODE_ADAPTIVE
Definition: AgoraMediaBase.h:601
agora::media::ContentInspectModule
Definition: AgoraMediaBase.h:346
agora::media::base::ExternalVideoFrame::EGL_CONTEXT10
@ EGL_CONTEXT10
Definition: AgoraMediaBase.h:667
agora::media::base::ExternalVideoFrame::metadata_size
int metadata_size
Definition: AgoraMediaBase.h:773
agora::media::base::ExternalVideoFrame::d3d11_texture_2d
void * d3d11_texture_2d
Definition: AgoraMediaBase.h:784
agora::media::ContentInspectConfig::moduleCount
int moduleCount
Definition: AgoraMediaBase.h:374
agora::media::base::VideoFrame::rotation
int rotation
Definition: AgoraMediaBase.h:858
agora::media::MediaRecorderContainerFormat
MediaRecorderContainerFormat
Definition: AgoraMediaBase.h:1572
agora::media::AUDIO_PLAYOUT_SOURCE
@ AUDIO_PLAYOUT_SOURCE
Definition: AgoraMediaBase.h:263
agora::media::base::VideoFrame::height
int height
Definition: AgoraMediaBase.h:830
agora::media::IAudioFrameObserverBase::AudioFrame::channels
int channels
Definition: AgoraMediaBase.h:1011
agora::rtc::ROUTE_HEADSETBLUETOOTH
@ ROUTE_HEADSETBLUETOOTH
Definition: AgoraMediaBase.h:133
agora::media::base::PacketOptions::audioLevelIndication
uint8_t audioLevelIndication
Definition: AgoraMediaBase.h:404
agora::media::IAudioFrameObserverBase::~IAudioFrameObserverBase
virtual ~IAudioFrameObserverBase()
Definition: AgoraMediaBase.h:1116
agora::media::IVideoFrameObserver::VideoFrame
media::base::VideoFrame VideoFrame
Definition: AgoraMediaBase.h:1351
agora::media::base::ExternalVideoFrame
Definition: AgoraMediaBase.h:638
agora::media::base::AudioPcmFrame::AudioPcmFrame
AudioPcmFrame(const AudioPcmFrame &src)
Definition: AgoraMediaBase.h:496
agora::media::RECORDER_ERROR_CONFIG_CHANGED
@ RECORDER_ERROR_CONFIG_CHANGED
Definition: AgoraMediaBase.h:1641
agora::media::base::AudioPcmFrame::capture_timestamp
int64_t capture_timestamp
Definition: AgoraMediaBase.h:450
agora::rtc::VIDEO_SOURCE_UNKNOWN
@ VIDEO_SOURCE_UNKNOWN
Definition: AgoraMediaBase.h:98
agora::media::base::ExternalVideoFrame::timestamp
long long timestamp
Definition: AgoraMediaBase.h:745
agora::media::base::VIDEO_PIXEL_BGRA
@ VIDEO_PIXEL_BGRA
Definition: AgoraMediaBase.h:539
agora::rtc::ROUTE_HDMI
@ ROUTE_HDMI
Definition: AgoraMediaBase.h:141
agora::media::IAudioFrameObserverBase::AudioFrame::AudioFrame
AudioFrame()
Definition: AgoraMediaBase.h:1052
agora::media::IVideoFrameObserver::onTranscodedVideoFrame
virtual bool onTranscodedVideoFrame(VideoFrame &videoFrame)=0
agora::media::base::VideoFrame::textureId
int textureId
Definition: AgoraMediaBase.h:887
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:1701
agora::media::IAudioFrameObserverBase::AudioFrame::audioTrackNumber
int audioTrackNumber
Definition: AgoraMediaBase.h:1046
agora::media::RECORDER_STATE_ERROR
@ RECORDER_STATE_ERROR
Definition: AgoraMediaBase.h:1606
agora::media::CONTENT_INSPECT_MODERATION
@ CONTENT_INSPECT_MODERATION
Definition: AgoraMediaBase.h:335
agora::media::base::VIDEO_CVPIXEL_BGRA
@ VIDEO_CVPIXEL_BGRA
Definition: AgoraMediaBase.h:571
agora::media::IAudioSpectrumObserver::onRemoteAudioSpectrum
virtual bool onRemoteAudioSpectrum(const UserAudioSpectrumInfo *spectrums, unsigned int spectrumNumber)=0
agora::media::base::AudioEncodedFrameInfo::AudioEncodedFrameInfo
AudioEncodedFrameInfo()
Definition: AgoraMediaBase.h:423
agora::media::IAudioFrameObserverBase::getObservedAudioFramePosition
virtual int getObservedAudioFramePosition()=0
agora::media::base::PacketOptions::PacketOptions
PacketOptions()
Definition: AgoraMediaBase.h:405
agora::media::base::CAMERA_VIDEO_SOURCE_TYPE
CAMERA_VIDEO_SOURCE_TYPE
Definition: AgoraMediaBase.h:607
agora::media::base::VideoFrame::metadata_buffer
uint8_t * metadata_buffer
Definition: AgoraMediaBase.h:874
agora::media::RecorderInfo::RecorderInfo
RecorderInfo()
Definition: AgoraMediaBase.h:1700
MAX_CONTENT_INSPECT_MODULE_COUNT
#define MAX_CONTENT_INSPECT_MODULE_COUNT
Definition: AgoraMediaBase.h:319
agora::media::base::VIDEO_TEXTURE_OES
@ VIDEO_TEXTURE_OES
Definition: AgoraMediaBase.h:559
agora::media::UNKNOWN_MEDIA_SOURCE
@ UNKNOWN_MEDIA_SOURCE
Definition: AgoraMediaBase.h:315
agora::media::SECONDARY_SCREEN_SOURCE
@ SECONDARY_SCREEN_SOURCE
Definition: AgoraMediaBase.h:283
agora::media::base::VideoFrame::pixelBuffer
void * pixelBuffer
Definition: AgoraMediaBase.h:905
agora::media::RecorderInfo
Definition: AgoraMediaBase.h:1686
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:453
agora::media::CUSTOM_VIDEO_SOURCE
@ CUSTOM_VIDEO_SOURCE
Definition: AgoraMediaBase.h:287
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:1355
agora::rtc::kAdmMaxDeviceNameSize
static const int kAdmMaxDeviceNameSize
Definition: AgoraMediaBase.h:38
agora::media::base::PacketOptions
Definition: AgoraMediaBase.h:398
agora::media::base::AudioPcmFrame::OPTIONAL_ENUM_SIZE_T
OPTIONAL_ENUM_SIZE_T
Definition: AgoraMediaBase.h:435
agora::media::base::ExternalVideoFrame::textureId
int textureId
Definition: AgoraMediaBase.h:759
agora::media::base::VIDEO_TEXTURE_2D
@ VIDEO_TEXTURE_2D
Definition: AgoraMediaBase.h:555
agora::media::base::IVideoFrameObserver::~IVideoFrameObserver
virtual ~IVideoFrameObserver()
Definition: AgoraMediaBase.h:925
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:895
agora::media::RTC_IMAGE_PNG_SOURCE
@ RTC_IMAGE_PNG_SOURCE
Definition: AgoraMediaBase.h:295
agora::media::base::VideoFrame::vStride
int vStride
Definition: AgoraMediaBase.h:842
agora::rtc::VIDEO_SOURCE_SCREEN_FOURTH
@ VIDEO_SOURCE_SCREEN_FOURTH
Definition: AgoraMediaBase.h:96
agora::media::ContentInspectModule::ContentInspectModule
ContentInspectModule()
Definition: AgoraMediaBase.h:355
agora::media::AudioSpectrumData::audioSpectrumData
const float * audioSpectrumData
Definition: AgoraMediaBase.h:1258
agora::media::base::ExternalVideoFrame::buffer
void * buffer
Definition: AgoraMediaBase.h:703
agora::media::ContentInspectConfig::operator=
ContentInspectConfig & operator=(const ContentInspectConfig &rth)
Definition: AgoraMediaBase.h:375
agora::media::CONTENT_INSPECT_IMAGE_MODERATION
@ CONTENT_INSPECT_IMAGE_MODERATION
Definition: AgoraMediaBase.h:343
agora::media::MediaRecorderConfiguration::maxDurationMs
int maxDurationMs
Definition: AgoraMediaBase.h:1669
agora::media::base::VideoFrame::VideoFrame
VideoFrame()
Definition: AgoraMediaBase.h:796
agora::rtc::ROUTE_VIRTUAL
@ ROUTE_VIRTUAL
Definition: AgoraMediaBase.h:153
agora::media::base::VideoFrame::renderTimeMs
int64_t renderTimeMs
Definition: AgoraMediaBase.h:865
agora::media::UserAudioSpectrumInfo
Definition: AgoraMediaBase.h:1269
agora::media::base::RENDER_MODE_TYPE
RENDER_MODE_TYPE
Definition: AgoraMediaBase.h:585
agora::media::base::AUDIO_DUAL_MONO_MIX
@ AUDIO_DUAL_MONO_MIX
Definition: AgoraMediaBase.h:521
agora::rtc::AudioParameters::sample_rate
int sample_rate
Definition: AgoraMediaBase.h:171
agora::media::IMediaRecorderObserver::~IMediaRecorderObserver
virtual ~IMediaRecorderObserver()
Definition: AgoraMediaBase.h:1736
agora::media::IAudioFrameObserverBase::AUDIO_FRAME_TYPE
AUDIO_FRAME_TYPE
Definition: AgoraMediaBase.h:983
agora::rtc::AudioDeviceInfo::operator=
AudioDeviceInfo & operator=(const AudioDeviceInfo &other)
Definition: AgoraMediaBase.h:243
agora::media::base::user_id_t
const char * user_id_t
Definition: AgoraMediaBase.h:390
agora::media::base::ExternalVideoFrame::stride
int stride
Definition: AgoraMediaBase.h:708
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:210
agora::media::IVideoFrameObserver::getVideoFrameProcessMode
virtual VIDEO_FRAME_PROCESS_MODE getVideoFrameProcessMode()
Definition: AgoraMediaBase.h:1470
agora::rtc::RAW_AUDIO_FRAME_OP_MODE_READ_ONLY
@ RAW_AUDIO_FRAME_OP_MODE_READ_ONLY
Definition: AgoraMediaBase.h:188
agora::media::IVideoFrameObserver::getMirrorApplied
virtual bool getMirrorApplied()
Definition: AgoraMediaBase.h:1520
agora::media::IAudioFrameObserverBase::AudioFrame::renderTimeMs
int64_t renderTimeMs
Definition: AgoraMediaBase.h:1030
agora::rtc::AudioDeviceInfo::deviceName
char deviceName[kAdmMaxDeviceNameSize]
Definition: AgoraMediaBase.h:206
agora::media::CONTENT_INSPECT_RESULT
CONTENT_INSPECT_RESULT
Definition: AgoraMediaBase.h:320
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::MEDIA_PLAYER_SOURCE_DEFAULT
@ MEDIA_PLAYER_SOURCE_DEFAULT
Definition: AgoraMediaBase.h:936
agora::media::base::VideoFrame::alphaBuffer
uint8_t * alphaBuffer
Definition: AgoraMediaBase.h:901
agora::media::RecorderInfo::durationMs
unsigned int durationMs
Definition: AgoraMediaBase.h:1694
agora::media::IAudioPcmFrameSink::onFrame
virtual void onFrame(agora::media::base::AudioPcmFrame *frame)=0
agora::media::RecorderInfo::fileName
const char * fileName
Definition: AgoraMediaBase.h:1690
agora::media::IVideoFrameObserver::getObservedFramePosition
virtual uint32_t getObservedFramePosition()
Definition: AgoraMediaBase.h:1539
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:997
agora::rtc::BYTES_PER_SAMPLE
BYTES_PER_SAMPLE
Definition: AgoraMediaBase.h:163
agora::rtc::RAW_AUDIO_FRAME_OP_MODE_TYPE
RAW_AUDIO_FRAME_OP_MODE_TYPE
Definition: AgoraMediaBase.h:184
agora::media::UserAudioSpectrumInfo::spectrumData
struct AudioSpectrumData spectrumData
Definition: AgoraMediaBase.h:1277
agora::media::base::VIDEO_SOURCE_UNSPECIFIED
@ VIDEO_SOURCE_UNSPECIFIED
Definition: AgoraMediaBase.h:619
agora::rtc::AudioDeviceInfo::AudioDeviceInfo
AudioDeviceInfo(const AudioDeviceInfo &other)
Definition: AgoraMediaBase.h:236
agora::rtc::ROUTE_AIRPLAY
@ ROUTE_AIRPLAY
Definition: AgoraMediaBase.h:149
agora::media::base::VideoFrame::uStride
int uStride
Definition: AgoraMediaBase.h:838
agora::media::ContentInspectConfig::ContentInspectConfig
ContentInspectConfig()
Definition: AgoraMediaBase.h:383
agora::media::base::VideoFrame::d3d11Texture2d
void * d3d11Texture2d
Definition: AgoraMediaBase.h:891
agora::media::STREAM_TYPE_VIDEO
@ STREAM_TYPE_VIDEO
Definition: AgoraMediaBase.h:1591
agora::media::IAudioFrameObserverBase::AudioFrame::presentationMs
int64_t presentationMs
Definition: AgoraMediaBase.h:1042
agora::media::IAudioFrameObserverBase::AudioFrame::samplesPerChannel
int samplesPerChannel
Definition: AgoraMediaBase.h:1001
agora::rtc::ROUTE_DEFAULT
@ ROUTE_DEFAULT
Definition: AgoraMediaBase.h:109
agora::media::RECORDER_STATE_START
@ RECORDER_STATE_START
Definition: AgoraMediaBase.h:1610
agora::rtc::AudioDeviceInfo::isCurrentSelected
bool isCurrentSelected
Definition: AgoraMediaBase.h:216
agora::media::MediaRecorderConfiguration
Definition: AgoraMediaBase.h:1648
agora::media::base::AUDIO_DUAL_MONO_L
@ AUDIO_DUAL_MONO_L
Definition: AgoraMediaBase.h:517
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:1065
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:459
agora::rtc::ROUTE_HEADSET
@ ROUTE_HEADSET
Definition: AgoraMediaBase.h:113
agora::media::EXTERNAL_VIDEO_SOURCE_TYPE
EXTERNAL_VIDEO_SOURCE_TYPE
Definition: AgoraMediaBase.h:1556
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:1637
agora::media::base::VideoFrame::sharedContext
void * sharedContext
Definition: AgoraMediaBase.h:883
agora::media::CONTENT_INSPECT_TYPE
CONTENT_INSPECT_TYPE
Definition: AgoraMediaBase.h:326
agora::media::base::CAMERA_SOURCE_BACK
@ CAMERA_SOURCE_BACK
Definition: AgoraMediaBase.h:615
agora::media::base::IVideoFrameMetaInfo::META_INFO_KEY
META_INFO_KEY
Definition: AgoraMediaBase.h:628
agora::rtc::AudioDeviceInfo::routing
AudioRoute routing
Definition: AgoraMediaBase.h:227
agora::media::base::CAMERA_SOURCE_FRONT
@ CAMERA_SOURCE_FRONT
Definition: AgoraMediaBase.h:611
agora::media::RECORDER_STATE_STOP
@ RECORDER_STATE_STOP
Definition: AgoraMediaBase.h:1614
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:1264
agora::media::base::kMaxCodecNameLength
static const uint8_t kMaxCodecNameLength
Definition: AgoraMediaBase.h:392
agora::media::base::AUDIO_DUAL_MONO_STEREO
@ AUDIO_DUAL_MONO_STEREO
Definition: AgoraMediaBase.h:515
agora::media::IAudioFrameObserverBase::AudioFrame::rtpTimestamp
uint32_t rtpTimestamp
Definition: AgoraMediaBase.h:1050
agora::media::base::ExternalVideoFrame::ExternalVideoFrame
ExternalVideoFrame()
Definition: AgoraMediaBase.h:639
agora::media::IAudioSpectrumObserver::~IAudioSpectrumObserver
virtual ~IAudioSpectrumObserver()
Definition: AgoraMediaBase.h:1289
agora::rtc::ROUTE_SPEAKERPHONE
@ ROUTE_SPEAKERPHONE
Definition: AgoraMediaBase.h:125
agora::media::AudioSpectrumData
Definition: AgoraMediaBase.h:1254
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:927
agora::media::STREAM_TYPE_AUDIO
@ STREAM_TYPE_AUDIO
Definition: AgoraMediaBase.h:1587
agora::media::MEDIA_SOURCE_TYPE
MEDIA_SOURCE_TYPE
Definition: AgoraMediaBase.h:259
agora::rtc::ROUTE_USB
@ ROUTE_USB
Definition: AgoraMediaBase.h:137
agora::media::RecorderErrorCode
RecorderErrorCode
Definition: AgoraMediaBase.h:1621
agora::media::base::ExternalVideoFrame::cropLeft
int cropLeft
Definition: AgoraMediaBase.h:717
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:952
agora::media::IVideoEncodedFrameObserver::~IVideoEncodedFrameObserver
virtual ~IVideoEncodedFrameObserver()
Definition: AgoraMediaBase.h:1343
agora::media::RTC_IMAGE_JPEG_SOURCE
@ RTC_IMAGE_JPEG_SOURCE
Definition: AgoraMediaBase.h:299
agora::media::IVideoFrameObserver::getVideoFormatPreference
virtual base::VIDEO_PIXEL_FORMAT getVideoFormatPreference()
Definition: AgoraMediaBase.h:1488
agora::media::base::MEDIA_PLAYER_SOURCE_TYPE
MEDIA_PLAYER_SOURCE_TYPE
Definition: AgoraMediaBase.h:930
agora::media::SECONDARY_CAMERA_SOURCE
@ SECONDARY_CAMERA_SOURCE
Definition: AgoraMediaBase.h:275
agora::media::UserAudioSpectrumInfo::UserAudioSpectrumInfo
UserAudioSpectrumInfo()
Definition: AgoraMediaBase.h:1279
agora::media::TRANSCODED_VIDEO_SOURCE
@ TRANSCODED_VIDEO_SOURCE
Definition: AgoraMediaBase.h:311
agora::media::ENCODED_VIDEO_FRAME
@ ENCODED_VIDEO_FRAME
Definition: AgoraMediaBase.h:1564
agora::media::CONTENT_INSPECT_SUPERVISION
@ CONTENT_INSPECT_SUPERVISION
Definition: AgoraMediaBase.h:339
agora::media::base::ExternalVideoFrame::EGL_CONTEXT14
@ EGL_CONTEXT14
Definition: AgoraMediaBase.h:671
agora::media::base::view_t
void * view_t
Definition: AgoraMediaBase.h:388
agora::media::PRIMARY_SCREEN_SOURCE
@ PRIMARY_SCREEN_SOURCE
Definition: AgoraMediaBase.h:279
agora::media::IVideoEncodedFrameObserver
Definition: AgoraMediaBase.h:1328
agora::media::base::POSITION_POST_CAPTURER
@ POSITION_POST_CAPTURER
Definition: AgoraMediaBase.h:951
agora::media::base::VIDEO_CVPIXEL_NV12
@ VIDEO_CVPIXEL_NV12
Definition: AgoraMediaBase.h:563
agora::media::base::AudioPcmFrame::sample_rate_hz_
int sample_rate_hz_
Definition: AgoraMediaBase.h:456
agora::media::base::VIDEO_PIXEL_DEFAULT
@ VIDEO_PIXEL_DEFAULT
Definition: AgoraMediaBase.h:531
agora::media::base::ExternalVideoFrame::texture_slice_index
int texture_slice_index
Definition: AgoraMediaBase.h:789
agora::rtc::ROUTE_LOUDSPEAKER
@ ROUTE_LOUDSPEAKER
Definition: AgoraMediaBase.h:129
agora::media::base::AudioEncodedFrameInfo
Definition: AgoraMediaBase.h:414
agora::media::base::AudioEncodedFrameInfo::sendTs
uint64_t sendTs
Definition: AgoraMediaBase.h:418
agora::media::FORMAT_MP4
@ FORMAT_MP4
Definition: AgoraMediaBase.h:1576
agora::media::ContentInspectConfig::modules
ContentInspectModule modules[MAX_CONTENT_INSPECT_MODULE_COUNT]
Definition: AgoraMediaBase.h:371
agora::media::ContentInspectConfig::extraInfo
const char * extraInfo
Definition: AgoraMediaBase.h:363
agora::media::base::VideoFrame::uBuffer
uint8_t * uBuffer
Definition: AgoraMediaBase.h:850
agora::media::ContentInspectConfig
Definition: AgoraMediaBase.h:362
agora::media::IVideoFrameObserver::getRotationApplied
virtual bool getRotationApplied()
Definition: AgoraMediaBase.h:1504
agora::media::IAudioFrameObserverBase::onEarMonitoringAudioFrame
virtual bool onEarMonitoringAudioFrame(AudioFrame &audioFrame)=0
agora::media::base::ExternalVideoFrame::eglContext
void * eglContext
Definition: AgoraMediaBase.h:751
agora::media::base::AudioPcmFrame
Definition: AgoraMediaBase.h:431
agora::media::base::ExternalVideoFrame::alphaBuffer
uint8_t * alphaBuffer
Definition: AgoraMediaBase.h:779
agora::media::base::AudioPcmFrame::bytes_per_sample
rtc::BYTES_PER_SAMPLE bytes_per_sample
Definition: AgoraMediaBase.h:462
agora::media::base::ExternalVideoFrame::matrix
float matrix[16]
Definition: AgoraMediaBase.h:763
agora::media::base::AudioPcmFrame::data_
int16_t data_[kMaxDataSizeSamples]
Definition: AgoraMediaBase.h:464
agora::media::IAudioFrameObserverBase::AudioFrame::samplesPerSec
int samplesPerSec
Definition: AgoraMediaBase.h:1015
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:629
agora::media::base::AudioPcmFrame::operator=
AudioPcmFrame & operator=(const AudioPcmFrame &src)
Definition: AgoraMediaBase.h:466
agora::media::MediaRecorderConfiguration::storagePath
const char * storagePath
Definition: AgoraMediaBase.h:1657
agora::media::IVideoFrameObserver::~IVideoFrameObserver
virtual ~IVideoFrameObserver()
Definition: AgoraMediaBase.h:1371
agora::media::base::VideoFrame::avsync_type
int avsync_type
Definition: AgoraMediaBase.h:869
agora::media::base::VideoFrame::metaInfo
IVideoFrameMetaInfo * metaInfo
Definition: AgoraMediaBase.h:909
agora::rtc::AudioDeviceInfo
Definition: AgoraMediaBase.h:202
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:291
agora::media::IVideoFrameObserver::PROCESS_MODE_READ_WRITE
@ PROCESS_MODE_READ_WRITE
Definition: AgoraMediaBase.h:1367
agora::media::UserAudioSpectrumInfo::UserAudioSpectrumInfo
UserAudioSpectrumInfo(agora::rtc::uid_t _uid, const float *data, int length)
Definition: AgoraMediaBase.h:1280
agora::media::base::VideoFrame::metadata_size
int metadata_size
Definition: AgoraMediaBase.h:879
agora::media::base::ExternalVideoFrame::VIDEO_BUFFER_ARRAY
@ VIDEO_BUFFER_ARRAY
Definition: AgoraMediaBase.h:685
agora::media::base::ExternalVideoFrame::type
VIDEO_BUFFER_TYPE type
Definition: AgoraMediaBase.h:695
agora::media::base::VideoFrame::type
VIDEO_PIXEL_FORMAT type
Definition: AgoraMediaBase.h:822
agora::media::UserAudioSpectrumInfo::uid
agora::rtc::uid_t uid
Definition: AgoraMediaBase.h:1273
agora::media::REMOTE_VIDEO_SOURCE
@ REMOTE_VIDEO_SOURCE
Definition: AgoraMediaBase.h:307
agora::media::base::VIDEO_PIXEL_RGBA
@ VIDEO_PIXEL_RGBA
Definition: AgoraMediaBase.h:547
agora::rtc::AudioParameters::frames_per_buffer
size_t frames_per_buffer
Definition: AgoraMediaBase.h:173
agora::media::base::IVideoFrameMetaInfo
Definition: AgoraMediaBase.h:626
agora::media::RTC_IMAGE_GIF_SOURCE
@ RTC_IMAGE_GIF_SOURCE
Definition: AgoraMediaBase.h:303
agora::media::base::VIDEO_PIXEL_FORMAT
VIDEO_PIXEL_FORMAT
Definition: AgoraMediaBase.h:527
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:1595
agora::media::IAudioFrameObserverBase::AudioFrame::bytesPerSample
agora::rtc::BYTES_PER_SAMPLE bytesPerSample
Definition: AgoraMediaBase.h:1005
agora::media::base::AUDIO_DUAL_MONO_R
@ AUDIO_DUAL_MONO_R
Definition: AgoraMediaBase.h:519
agora::rtc::AudioDeviceInfo::isPlayoutDevice
bool isPlayoutDevice
Definition: AgoraMediaBase.h:222
agora::media::IVideoFrameObserver::onMediaPlayerVideoFrame
virtual bool onMediaPlayerVideoFrame(VideoFrame &videoFrame, int mediaPlayerId)=0
agora::media::base::AudioPcmFrame::AudioPcmFrame
AudioPcmFrame()
Definition: AgoraMediaBase.h:487
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:1081
__deprecated
#define __deprecated
Definition: AgoraMediaBase.h:23
agora::media::base::VIDEO_PIXEL_I420
@ VIDEO_PIXEL_I420
Definition: AgoraMediaBase.h:535