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 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 
118 
124 };
125 
126 } // namespace rtc
127 
128 namespace media {
189 };
192 #define MAX_CONTENT_INSPECT_MODULE_COUNT 32
197 };
198 
212 };
213 
222  unsigned int interval;
225  interval = 0;
226  }
227 };
231  const char* extraInfo;
232 
241  {
242  extraInfo = rth.extraInfo;
243  moduleCount = rth.moduleCount;
245  return *this;
246  }
248 };
249 
250 namespace base {
251 
252 typedef void* view_t;
253 
254 typedef const char* user_id_t;
255 
256 static const uint8_t kMaxCodecNameLength = 50;
257 
263 };
264 
273  uint32_t timestamp;
274  // Audio level indication.
277  : timestamp(0),
278  audioLevelIndication(127) {}
279 };
280 
289  uint64_t sendTs;
293  uint8_t codec;
295  : sendTs(0),
296  codec(0) {}
297 };
298 
307  // Stereo, 32 kHz, 60 ms (2 * 32 * 60)
314  kMaxDataSizeSamples = 3840,
316  kMaxDataSizeBytes = kMaxDataSizeSamples * sizeof(int16_t),
317  };
318 
335  int16_t data_[kMaxDataSizeSamples];
336 
338  if(this == &src) {
339  return *this;
340  }
341 
342  this->capture_timestamp = src.capture_timestamp;
343  this->samples_per_channel_ = src.samples_per_channel_;
344  this->sample_rate_hz_ = src.sample_rate_hz_;
345  this->bytes_per_sample = src.bytes_per_sample;
346  this->num_channels_ = src.num_channels_;
347 
348  size_t length = src.samples_per_channel_ * src.num_channels_;
349  if (length > kMaxDataSizeSamples) {
350  length = kMaxDataSizeSamples;
351  }
352 
353  memcpy(this->data_, src.data_, length * sizeof(int16_t));
354 
355  return *this;
356  }
357 
359  : capture_timestamp(0),
361  sample_rate_hz_(0),
362  num_channels_(0),
364  memset(data_, 0, sizeof(data_));
365  }
366 
373  size_t length = src.samples_per_channel_ * src.num_channels_;
374  if (length > kMaxDataSizeSamples) {
375  length = kMaxDataSizeSamples;
376  }
377 
378  memcpy(this->data_, src.data_, length * sizeof(int16_t));
379  }
380 };
381 
388  AUDIO_DUAL_MONO_L = 1,
390  AUDIO_DUAL_MONO_R = 2,
393 };
394 
396  public:
405  virtual void onFrame(AudioPcmFrame* frame) = 0;
406  virtual ~IAudioFrameObserver() {}
407 };
408 
445  /*
446  12: pixel format for iOS CVPixelBuffer NV12
447  */
449  /*
450  13: pixel format for iOS CVPixelBuffer I420
451  */
453  /*
454  14: pixel format for iOS CVPixelBuffer BGRA
455  */
461 };
462 
483 };
484 
501 };
502 
510  buffer(NULL),
511  stride(0),
512  height(0),
513  cropLeft(0),
514  cropTop(0),
515  cropRight(0),
516  cropBottom(0),
517  rotation(0),
518  timestamp(0),
519  eglContext(NULL),
521  textureId(0),
522  metadata_buffer(NULL),
523  metadata_size(0){}
524 
537  };
538 
555  };
556 
568  void* buffer;
573  int stride;
577  int height;
582  int cropLeft;
587  int cropTop;
602  int rotation;
607  long long timestamp;
613  void *eglContext;
625  float matrix[16];
630  uint8_t* metadata_buffer;
636 };
637 
641 struct VideoFrame {
644  width(0),
645  height(0),
646  yStride(0),
647  uStride(0),
648  vStride(0),
649  yBuffer(NULL),
650  uBuffer(NULL),
651  vBuffer(NULL),
652  rotation(0),
653  renderTimeMs(0),
654  avsync_type(0),
655  metadata_buffer(NULL),
656  metadata_size(0),
657  sharedContext(0),
658  textureId(0),
659  alphaBuffer(NULL){}
660 
668  int width;
672  int height;
676  int yStride;
680  int uStride;
684  int vStride;
688  uint8_t* yBuffer;
692  uint8_t* uBuffer;
696  uint8_t* vBuffer;
700  int rotation;
707  int64_t renderTimeMs;
716  uint8_t* metadata_buffer;
733  float matrix[16];
739  uint8_t* alphaBuffer;
740 };
741 
743  public:
751  virtual void onFrame(const VideoFrame* frame) = 0;
752  virtual ~IVideoFrameObserver() {}
753  virtual bool isExternal() { return true; }
755 };
756 
775 };
776 
782 };
783 
784 } // namespace base
785 
790  public:
799  };
800  enum { MAX_HANDLE_TIME_CNT = 10 };
804  struct AudioFrame {
820  int channels;
828  void* buffer;
836  int64_t renderTimeMs;
838 
842  channels(0),
843  samplesPerSec(0),
844  buffer(NULL),
845  renderTimeMs(0),
846  avsync_type(0) {}
847  };
848 
863  };
864 
865  struct AudioParams {
874  int sample_rate;
875 
876  /* The number of audio channels, which can be set as either of the following values:
877 
878  - `1`: Mono (Default)
879  - `2`: Stereo
880  */
881  int channels;
882 
883  /* The use mode of the audio data. See AgoraAudioRawFrameOperationMode.
884  */
886 
890  int samples_per_call;
891 
892  AudioParams() : sample_rate(0), channels(0), mode(rtc::RAW_AUDIO_FRAME_OP_MODE_READ_ONLY), samples_per_call(0) {}
893  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) {}
894  };
895 
896  public:
898 
907  virtual bool onRecordAudioFrame(const char* channelId, AudioFrame& audioFrame) = 0;
916  virtual bool onPlaybackAudioFrame(const char* channelId, AudioFrame& audioFrame) = 0;
925  virtual bool onMixedAudioFrame(const char* channelId, AudioFrame& audioFrame) = 0;
935  virtual bool onPlaybackAudioFrameBeforeMixing(const char* channelId, base::user_id_t userId, AudioFrame& audioFrame) {
936  (void) channelId;
937  (void) userId;
938  (void) audioFrame;
939  return true;
940  }
941 
957  virtual int getObservedAudioFramePosition() = 0;
958 
970  virtual AudioParams getPlaybackAudioParams() = 0;
971 
982  virtual AudioParams getRecordAudioParams() = 0;
983 
994  virtual AudioParams getMixedAudioParams() = 0;
995 };
996 
1001  public:
1012  virtual bool onPlaybackAudioFrameBeforeMixing(const char* channelId, rtc::uid_t uid, AudioFrame& audioFrame) = 0;
1013 };
1014 
1019  const float *audioSpectrumData;
1024 
1026  AudioSpectrumData(const float *data, int length) :
1027  audioSpectrumData(data), dataLength(length) {}
1028 };
1029 
1039 
1041  UserAudioSpectrumInfo(agora::rtc::uid_t _uid, const float *data, int length) :
1042  uid(_uid) { spectrumData.audioSpectrumData = data; spectrumData.dataLength = length; }
1043 };
1044 
1049 public:
1051 
1064  virtual bool onLocalAudioSpectrum(const AudioSpectrumData& data) = 0;
1065 
1083  virtual bool onRemoteAudioSpectrum(const UserAudioSpectrumInfo * spectrums, unsigned int spectrumNumber) = 0;
1084 };
1085 
1090  public:
1101  virtual bool OnEncodedVideoFrameReceived(rtc::uid_t uid, const uint8_t* imageBuffer, size_t length,
1102  const rtc::EncodedVideoFrameInfo& videoEncodedFrameInfo) = 0;
1103 
1105 };
1106 
1111  public:
1113 
1115  PROCESS_MODE_READ_ONLY, // Observer works as a pure renderer and will not modify the original frame.
1116  PROCESS_MODE_READ_WRITE, // Observer works as a filter that will process the video frame and affect the following frame processing in SDK.
1117  };
1118 
1119  public:
1121 
1140  virtual bool onCaptureVideoFrame(VideoFrame& videoFrame) = 0;
1141 
1159  virtual bool onPreEncodeVideoFrame(VideoFrame& videoFrame) = 0;
1160 
1161  virtual bool onSecondaryCameraCaptureVideoFrame(VideoFrame& videoFrame) = 0;
1162 
1180  virtual bool onSecondaryPreEncodeCameraVideoFrame(VideoFrame& videoFrame) = 0;
1181 
1197  virtual bool onScreenCaptureVideoFrame(VideoFrame& videoFrame) = 0;
1198 
1199  virtual bool onPreEncodeScreenVideoFrame(VideoFrame& videoFrame) = 0;
1216  virtual bool onMediaPlayerVideoFrame(VideoFrame& videoFrame, int mediaPlayerId) = 0;
1217 
1218  virtual bool onSecondaryScreenCaptureVideoFrame(VideoFrame& videoFrame) = 0;
1219 
1220  virtual bool onSecondaryPreEncodeScreenVideoFrame(VideoFrame& videoFrame) = 0;
1221 
1239  virtual bool onRenderVideoFrame(const char* channelId, rtc::uid_t remoteUid, VideoFrame& videoFrame) = 0;
1240 
1241  virtual bool onTranscodedVideoFrame(VideoFrame& videoFrame) = 0;
1242 
1248  return PROCESS_MODE_READ_ONLY;
1249  }
1250 
1251  /*
1252  * Occurs each time needs to get preference video frame type.
1253  *
1254  * @return preference video pixel format.
1255  */
1257 
1265  virtual bool getRotationApplied() { return false; }
1266 
1274  virtual bool getMirrorApplied() { return false; }
1275 
1293  virtual uint32_t getObservedFramePosition() {
1295  }
1296 
1304  virtual bool isExternal() { return true; }
1305 };
1306 
1319 };
1320 
1331 };
1350 };
1369 };
1396 };
1411  const char* storagePath;
1431 
1433  MediaRecorderConfiguration(const char* path, MediaRecorderContainerFormat format, MediaRecorderStreamType type, int duration, int interval) : storagePath(path), containerFormat(format), streamType(type), maxDurationMs(duration), recorderInfoUpdateInterval(interval) {}
1434 };
1444  const char* fileName;
1448  unsigned int durationMs;
1452  unsigned int fileSize;
1453 
1455  RecorderInfo(const char* name, unsigned int dur, unsigned int size) : fileName(name), durationMs(dur), fileSize(size) {}
1456 };
1457 
1458 
1460  public:
1485  virtual void onRecorderInfoUpdated(const RecorderInfo& info) = 0;
1487 };
1488 } // namespace media
1489 } // namespace agora
agora::media::MediaRecorderConfiguration::MediaRecorderConfiguration
MediaRecorderConfiguration()
Definition: AgoraMediaBase.h:1432
agora::media::IAudioFrameObserverBase::FRAME_TYPE_PCM16
@ FRAME_TYPE_PCM16
Definition: AgoraMediaBase.h:798
agora::media::MediaRecorderConfiguration::MediaRecorderConfiguration
MediaRecorderConfiguration(const char *path, MediaRecorderContainerFormat format, MediaRecorderStreamType type, int duration, int interval)
Definition: AgoraMediaBase.h:1433
agora::media::base::VideoFrame
Definition: AgoraMediaBase.h:641
agora::media::ContentInspectModule::type
CONTENT_INSPECT_TYPE type
Definition: AgoraMediaBase.h:218
agora::media::MediaRecorderConfiguration::containerFormat
MediaRecorderContainerFormat containerFormat
Definition: AgoraMediaBase.h:1415
agora::media::base::ExternalVideoFrame::EGL_CONTEXT_TYPE
EGL_CONTEXT_TYPE
Definition: AgoraMediaBase.h:528
agora::media::base::VideoFrame::vBuffer
uint8_t * vBuffer
Definition: AgoraMediaBase.h:696
agora::media::base::MEDIA_PLAYER_SOURCE_FULL_FEATURED
@ MEDIA_PLAYER_SOURCE_FULL_FEATURED
Definition: AgoraMediaBase.h:769
agora::media::base::VideoFrame::yStride
int yStride
Definition: AgoraMediaBase.h:676
agora::media::base::IVideoFrameObserver::onFrame
virtual void onFrame(const VideoFrame *frame)=0
agora::rtc::AudioParameters::AudioParameters
AudioParameters()
Definition: AgoraMediaBase.h:106
agora::media::base::VIDEO_MODULE_POSITION
VIDEO_MODULE_POSITION
Definition: AgoraMediaBase.h:777
agora::media::base::ExternalVideoFrame::cropTop
int cropTop
Definition: AgoraMediaBase.h:587
agora::media::RECORDER_ERROR_NONE
@ RECORDER_ERROR_NONE
Definition: AgoraMediaBase.h:1379
agora::media::IMediaRecorderObserver
Definition: AgoraMediaBase.h:1459
agora::media::VIDEO_FRAME
@ VIDEO_FRAME
Definition: AgoraMediaBase.h:1314
agora::media::IAudioFrameObserverBase
Definition: AgoraMediaBase.h:789
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:452
agora::rtc::RAW_AUDIO_FRAME_OP_MODE_READ_WRITE
@ RAW_AUDIO_FRAME_OP_MODE_READ_WRITE
Definition: AgoraMediaBase.h:123
agora::media::MediaRecorderConfiguration::recorderInfoUpdateInterval
int recorderInfoUpdateInterval
Definition: AgoraMediaBase.h:1430
agora::media::IVideoFrameObserver::onSecondaryPreEncodeScreenVideoFrame
virtual bool onSecondaryPreEncodeScreenVideoFrame(VideoFrame &videoFrame)=0
agora::media::base::AudioPcmFrame::capture_timestamp
uint32_t capture_timestamp
Definition: AgoraMediaBase.h:321
agora::media::base::AUDIO_DUAL_MONO_MODE
AUDIO_DUAL_MONO_MODE
Definition: AgoraMediaBase.h:384
agora::media::AudioSpectrumData::AudioSpectrumData
AudioSpectrumData(const float *data, int length)
Definition: AgoraMediaBase.h:1026
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:850
agora::media::IAudioFrameObserverBase::onMixedAudioFrame
virtual bool onMixedAudioFrame(const char *channelId, AudioFrame &audioFrame)=0
agora::media::IAudioSpectrumObserver
Definition: AgoraMediaBase.h:1048
agora::media::IAudioFrameObserverBase::MAX_HANDLE_TIME_CNT
@ MAX_HANDLE_TIME_CNT
Definition: AgoraMediaBase.h:800
agora::media::CONTENT_INSPECT_PORN
@ CONTENT_INSPECT_PORN
Definition: AgoraMediaBase.h:196
agora::rtc::AudioParameters
Definition: AgoraMediaBase.h:101
agora::media::base::RENDER_MODE_HIDDEN
@ RENDER_MODE_HIDDEN
Definition: AgoraMediaBase.h:471
agora::media::IAudioFrameObserverBase::AudioFrame::avsync_type
int avsync_type
Definition: AgoraMediaBase.h:837
agora::media::IAudioFrameObserverBase::AUDIO_FRAME_POSITION_BEFORE_MIXING
@ AUDIO_FRAME_POSITION_BEFORE_MIXING
Definition: AgoraMediaBase.h:862
agora::media::base::ExternalVideoFrame::format
VIDEO_PIXEL_FORMAT format
Definition: AgoraMediaBase.h:564
agora::media::RECORDER_ERROR_WRITE_FAILED
@ RECORDER_ERROR_WRITE_FAILED
Definition: AgoraMediaBase.h:1383
agora::media::IVideoFrameObserver::onSecondaryScreenCaptureVideoFrame
virtual bool onSecondaryScreenCaptureVideoFrame(VideoFrame &videoFrame)=0
agora::media::IVideoFrameObserver::onScreenCaptureVideoFrame
virtual bool onScreenCaptureVideoFrame(VideoFrame &videoFrame)=0
agora::rtc::EncodedVideoFrameInfo
Definition: AgoraBase.h:1491
agora::media::base::IVideoFrameObserver
Definition: AgoraMediaBase.h:742
agora::media::CONTENT_INSPECT_SEXY
@ CONTENT_INSPECT_SEXY
Definition: AgoraMediaBase.h:195
agora::media::base::PacketOptions::timestamp
uint32_t timestamp
Definition: AgoraMediaBase.h:273
agora::media::base::VideoFrame::width
int width
Definition: AgoraMediaBase.h:668
agora::media::IVideoFrameObserver
Definition: AgoraMediaBase.h:1110
agora::media::IAudioFrameObserverBase::AUDIO_FRAME_POSITION_RECORD
@ AUDIO_FRAME_POSITION_RECORD
Definition: AgoraMediaBase.h:856
agora::media::AudioSpectrumData::dataLength
int dataLength
Definition: AgoraMediaBase.h:1023
agora::media::IAudioFrameObserverBase::AUDIO_FRAME_POSITION_MIXED
@ AUDIO_FRAME_POSITION_MIXED
Definition: AgoraMediaBase.h:859
agora::media::IAudioFrameObserverBase::AudioFrame
Definition: AgoraMediaBase.h:804
agora::rtc::AudioRoute
AudioRoute
Definition: AgoraMediaBase.h:44
agora::rtc::ROUTE_EARPIECE
@ ROUTE_EARPIECE
Definition: AgoraMediaBase.h:56
agora::media::base::ExternalVideoFrame::height
int height
Definition: AgoraMediaBase.h:577
agora::media::IAudioFrameObserver
Definition: AgoraMediaBase.h:1000
agora::media::RecorderInfo::fileSize
unsigned int fileSize
Definition: AgoraMediaBase.h:1452
agora::media::base::VIDEO_SOURCE_TYPE
VIDEO_SOURCE_TYPE
Definition: AgoraMediaBase.h:488
agora::media::base::AudioEncodedFrameInfo::codec
uint8_t codec
Definition: AgoraMediaBase.h:293
agora::media::base::ExternalVideoFrame::rotation
int rotation
Definition: AgoraMediaBase.h:602
agora::media::base::VIDEO_PIXEL_NV12
@ VIDEO_PIXEL_NV12
Definition: AgoraMediaBase.h:436
agora::media::base::ExternalVideoFrame::cropRight
int cropRight
Definition: AgoraMediaBase.h:592
agora::media::base::VIDEO_PIXEL_I422
@ VIDEO_PIXEL_I422
Definition: AgoraMediaBase.h:460
agora::media::base::ExternalVideoFrame::eglType
EGL_CONTEXT_TYPE eglType
Definition: AgoraMediaBase.h:617
agora::media::MediaRecorderConfiguration::streamType
MediaRecorderStreamType streamType
Definition: AgoraMediaBase.h:1419
agora::media::base::ExternalVideoFrame::VIDEO_BUFFER_TEXTURE
@ VIDEO_BUFFER_TEXTURE
Definition: AgoraMediaBase.h:554
agora::media::PRIMARY_CAMERA_SOURCE
@ PRIMARY_CAMERA_SOURCE
Definition: AgoraMediaBase.h:144
agora::media::base::RENDER_MODE_FIT
@ RENDER_MODE_FIT
Definition: AgoraMediaBase.h:477
agora::rtc::TWO_BYTES_PER_SAMPLE
@ TWO_BYTES_PER_SAMPLE
Definition: AgoraMediaBase.h:98
agora::media::CONTENT_INSPECT_INVALID
@ CONTENT_INSPECT_INVALID
Definition: AgoraMediaBase.h:203
agora::media::IVideoFrameObserver::onSecondaryCameraCaptureVideoFrame
virtual bool onSecondaryCameraCaptureVideoFrame(VideoFrame &videoFrame)=0
agora::media::IAudioFrameObserverBase::AudioFrame::buffer
void * buffer
Definition: AgoraMediaBase.h:828
agora::media::IVideoFrameObserver::PROCESS_MODE_READ_ONLY
@ PROCESS_MODE_READ_ONLY
Definition: AgoraMediaBase.h:1115
agora::rtc::ROUTE_HEADSETNOMIC
@ ROUTE_HEADSETNOMIC
Definition: AgoraMediaBase.h:60
agora::media::base::ExternalVideoFrame::cropBottom
int cropBottom
Definition: AgoraMediaBase.h:597
agora::media::RecorderState
RecorderState
Definition: AgoraMediaBase.h:1356
agora::media::base::ExternalVideoFrame::metadata_buffer
uint8_t * metadata_buffer
Definition: AgoraMediaBase.h:630
agora::media::base::ExternalVideoFrame::VIDEO_BUFFER_RAW_DATA
@ VIDEO_BUFFER_RAW_DATA
Definition: AgoraMediaBase.h:546
agora::media::IVideoFrameObserver::isExternal
virtual bool isExternal()
Definition: AgoraMediaBase.h:1304
agora::media::base::POSITION_PRE_ENCODER
@ POSITION_PRE_ENCODER
Definition: AgoraMediaBase.h:780
agora::media::AUDIO_RECORDING_SOURCE
@ AUDIO_RECORDING_SOURCE
Definition: AgoraMediaBase.h:140
agora::media::IAudioFrameObserverBase::AUDIO_FRAME_POSITION_PLAYBACK
@ AUDIO_FRAME_POSITION_PLAYBACK
Definition: AgoraMediaBase.h:853
agora::media::base::VideoFrame::yBuffer
uint8_t * yBuffer
Definition: AgoraMediaBase.h:688
agora::media::base::VIDEO_PIXEL_NV21
@ VIDEO_PIXEL_NV21
Definition: AgoraMediaBase.h:428
agora::rtc::ROUTE_DISPLAYPORT
@ ROUTE_DISPLAYPORT
Definition: AgoraMediaBase.h:84
agora
Definition: AgoraAtomicOps.h:21
agora::media::MediaRecorderStreamType
MediaRecorderStreamType
Definition: AgoraMediaBase.h:1337
agora::media::ContentInspectModule::interval
unsigned int interval
Definition: AgoraMediaBase.h:222
agora::media::base::MEDIA_PLAYER_SOURCE_SIMPLE
@ MEDIA_PLAYER_SOURCE_SIMPLE
Definition: AgoraMediaBase.h:774
agora::media::base::IVideoFrameObserver::isExternal
virtual bool isExternal()
Definition: AgoraMediaBase.h:753
agora::media::IAudioFrameObserverBase::onPlaybackAudioFrameBeforeMixing
virtual bool onPlaybackAudioFrameBeforeMixing(const char *channelId, base::user_id_t userId, AudioFrame &audioFrame)
Definition: AgoraMediaBase.h:935
agora::rtc::AudioParameters::channels
size_t channels
Definition: AgoraMediaBase.h:103
agora::media::RECORDER_ERROR_NO_STREAM
@ RECORDER_ERROR_NO_STREAM
Definition: AgoraMediaBase.h:1387
agora::media::base::ExternalVideoFrame::VIDEO_BUFFER_TYPE
VIDEO_BUFFER_TYPE
Definition: AgoraMediaBase.h:542
agora::media::CONTENT_INSPECT_NEUTRAL
@ CONTENT_INSPECT_NEUTRAL
Definition: AgoraMediaBase.h:194
agora::media::base::RENDER_MODE_ADAPTIVE
@ RENDER_MODE_ADAPTIVE
Definition: AgoraMediaBase.h:482
agora::media::ContentInspectModule
Definition: AgoraMediaBase.h:214
agora::media::base::ExternalVideoFrame::EGL_CONTEXT10
@ EGL_CONTEXT10
Definition: AgoraMediaBase.h:532
agora::media::base::ExternalVideoFrame::metadata_size
int metadata_size
Definition: AgoraMediaBase.h:635
agora::media::ContentInspectConfig::moduleCount
int moduleCount
Definition: AgoraMediaBase.h:239
agora::media::base::VideoFrame::rotation
int rotation
Definition: AgoraMediaBase.h:700
agora::media::MediaRecorderContainerFormat
MediaRecorderContainerFormat
Definition: AgoraMediaBase.h:1326
agora::media::AUDIO_PLAYOUT_SOURCE
@ AUDIO_PLAYOUT_SOURCE
Definition: AgoraMediaBase.h:136
agora::media::base::CAMERA_SOURCE_FRONT
@ CAMERA_SOURCE_FRONT
Definition: AgoraMediaBase.h:492
agora::media::base::VideoFrame::height
int height
Definition: AgoraMediaBase.h:672
agora::media::IAudioFrameObserverBase::AudioFrame::channels
int channels
Definition: AgoraMediaBase.h:820
agora::rtc::ROUTE_HEADSETBLUETOOTH
@ ROUTE_HEADSETBLUETOOTH
Definition: AgoraMediaBase.h:72
agora::media::base::PacketOptions::audioLevelIndication
uint8_t audioLevelIndication
Definition: AgoraMediaBase.h:275
agora::media::IAudioFrameObserverBase::~IAudioFrameObserverBase
virtual ~IAudioFrameObserverBase()
Definition: AgoraMediaBase.h:897
agora::media::IVideoFrameObserver::VideoFrame
media::base::VideoFrame VideoFrame
Definition: AgoraMediaBase.h:1112
agora::media::base::ExternalVideoFrame
Definition: AgoraMediaBase.h:506
agora::media::base::AudioPcmFrame::AudioPcmFrame
AudioPcmFrame(const AudioPcmFrame &src)
Definition: AgoraMediaBase.h:367
agora::media::RECORDER_ERROR_CONFIG_CHANGED
@ RECORDER_ERROR_CONFIG_CHANGED
Definition: AgoraMediaBase.h:1395
agora::media::base::ExternalVideoFrame::timestamp
long long timestamp
Definition: AgoraMediaBase.h:607
agora::media::base::VIDEO_PIXEL_BGRA
@ VIDEO_PIXEL_BGRA
Definition: AgoraMediaBase.h:424
agora::rtc::ROUTE_HDMI
@ ROUTE_HDMI
Definition: AgoraMediaBase.h:80
agora::media::base::CAMERA_SOURCE_BACK
@ CAMERA_SOURCE_BACK
Definition: AgoraMediaBase.h:496
agora::media::IMediaRecorderObserver::onRecorderInfoUpdated
virtual void onRecorderInfoUpdated(const RecorderInfo &info)=0
agora::media::IAudioFrameObserverBase::AudioFrame::AudioFrame
AudioFrame()
Definition: AgoraMediaBase.h:839
agora::media::IVideoFrameObserver::onTranscodedVideoFrame
virtual bool onTranscodedVideoFrame(VideoFrame &videoFrame)=0
agora::media::base::VideoFrame::textureId
int textureId
Definition: AgoraMediaBase.h:729
agora::media::IVideoFrameObserver::onPreEncodeVideoFrame
virtual bool onPreEncodeVideoFrame(VideoFrame &videoFrame)=0
agora::media::IAudioSpectrumObserver::onLocalAudioSpectrum
virtual bool onLocalAudioSpectrum(const AudioSpectrumData &data)=0
agora::media::RecorderInfo::RecorderInfo
RecorderInfo(const char *name, unsigned int dur, unsigned int size)
Definition: AgoraMediaBase.h:1455
agora::media::RECORDER_STATE_ERROR
@ RECORDER_STATE_ERROR
Definition: AgoraMediaBase.h:1360
agora::media::CONTENT_INSPECT_MODERATION
@ CONTENT_INSPECT_MODERATION
Definition: AgoraMediaBase.h:207
agora::media::base::VIDEO_CVPIXEL_BGRA
@ VIDEO_CVPIXEL_BGRA
Definition: AgoraMediaBase.h:456
agora::media::IMediaRecorderObserver::onRecorderStateChanged
virtual void onRecorderStateChanged(RecorderState state, RecorderErrorCode error)=0
agora::media::IAudioSpectrumObserver::onRemoteAudioSpectrum
virtual bool onRemoteAudioSpectrum(const UserAudioSpectrumInfo *spectrums, unsigned int spectrumNumber)=0
agora::media::base::AudioEncodedFrameInfo::AudioEncodedFrameInfo
AudioEncodedFrameInfo()
Definition: AgoraMediaBase.h:294
agora::media::IAudioFrameObserverBase::getObservedAudioFramePosition
virtual int getObservedAudioFramePosition()=0
agora::media::base::PacketOptions::PacketOptions
PacketOptions()
Definition: AgoraMediaBase.h:276
agora::media::base::VideoFrame::metadata_buffer
uint8_t * metadata_buffer
Definition: AgoraMediaBase.h:716
agora::media::RecorderInfo::RecorderInfo
RecorderInfo()
Definition: AgoraMediaBase.h:1454
MAX_CONTENT_INSPECT_MODULE_COUNT
#define MAX_CONTENT_INSPECT_MODULE_COUNT
Definition: AgoraMediaBase.h:192
agora::media::base::VIDEO_TEXTURE_OES
@ VIDEO_TEXTURE_OES
Definition: AgoraMediaBase.h:444
agora::media::UNKNOWN_MEDIA_SOURCE
@ UNKNOWN_MEDIA_SOURCE
Definition: AgoraMediaBase.h:188
agora::media::SECONDARY_SCREEN_SOURCE
@ SECONDARY_SCREEN_SOURCE
Definition: AgoraMediaBase.h:156
agora::media::RecorderInfo
Definition: AgoraMediaBase.h:1440
agora::media::base::AudioPcmFrame::samples_per_channel_
size_t samples_per_channel_
Definition: AgoraMediaBase.h:324
agora::media::CUSTOM_VIDEO_SOURCE
@ CUSTOM_VIDEO_SOURCE
Definition: AgoraMediaBase.h:160
agora::media::IVideoFrameObserver::onCaptureVideoFrame
virtual bool onCaptureVideoFrame(VideoFrame &videoFrame)=0
agora::media::IVideoFrameObserver::VIDEO_FRAME_PROCESS_MODE
VIDEO_FRAME_PROCESS_MODE
Definition: AgoraMediaBase.h:1114
agora::media::base::PacketOptions
Definition: AgoraMediaBase.h:269
agora::media::base::AudioPcmFrame::OPTIONAL_ENUM_SIZE_T
OPTIONAL_ENUM_SIZE_T
Definition: AgoraMediaBase.h:306
agora::media::base::ExternalVideoFrame::textureId
int textureId
Definition: AgoraMediaBase.h:621
agora::media::base::VIDEO_TEXTURE_2D
@ VIDEO_TEXTURE_2D
Definition: AgoraMediaBase.h:440
agora::media::base::IVideoFrameObserver::~IVideoFrameObserver
virtual ~IVideoFrameObserver()
Definition: AgoraMediaBase.h:752
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:733
agora::media::RTC_IMAGE_PNG_SOURCE
@ RTC_IMAGE_PNG_SOURCE
Definition: AgoraMediaBase.h:168
agora::media::IVideoFrameObserver::onPreEncodeScreenVideoFrame
virtual bool onPreEncodeScreenVideoFrame(VideoFrame &videoFrame)=0
agora::media::base::VideoFrame::vStride
int vStride
Definition: AgoraMediaBase.h:684
agora::media::base::VIDEO_SOURCE_UNSPECIFIED
@ VIDEO_SOURCE_UNSPECIFIED
Definition: AgoraMediaBase.h:500
agora::media::ContentInspectModule::ContentInspectModule
ContentInspectModule()
Definition: AgoraMediaBase.h:223
agora::media::AudioSpectrumData::audioSpectrumData
const float * audioSpectrumData
Definition: AgoraMediaBase.h:1019
agora::media::base::ExternalVideoFrame::buffer
void * buffer
Definition: AgoraMediaBase.h:568
agora::media::ContentInspectConfig::operator=
ContentInspectConfig & operator=(const ContentInspectConfig &rth)
Definition: AgoraMediaBase.h:240
agora::media::MediaRecorderConfiguration::maxDurationMs
int maxDurationMs
Definition: AgoraMediaBase.h:1423
agora::media::base::VideoFrame::VideoFrame
VideoFrame()
Definition: AgoraMediaBase.h:642
agora::media::base::VideoFrame::renderTimeMs
int64_t renderTimeMs
Definition: AgoraMediaBase.h:707
agora::media::UserAudioSpectrumInfo
Definition: AgoraMediaBase.h:1030
agora::media::base::RENDER_MODE_TYPE
RENDER_MODE_TYPE
Definition: AgoraMediaBase.h:466
agora::media::base::AUDIO_DUAL_MONO_MIX
@ AUDIO_DUAL_MONO_MIX
Definition: AgoraMediaBase.h:392
agora::rtc::AudioParameters::sample_rate
int sample_rate
Definition: AgoraMediaBase.h:102
agora::media::IMediaRecorderObserver::~IMediaRecorderObserver
virtual ~IMediaRecorderObserver()
Definition: AgoraMediaBase.h:1486
agora::media::IAudioFrameObserverBase::AUDIO_FRAME_TYPE
AUDIO_FRAME_TYPE
Definition: AgoraMediaBase.h:794
agora::media::base::user_id_t
const char * user_id_t
Definition: AgoraMediaBase.h:254
agora::media::base::ExternalVideoFrame::stride
int stride
Definition: AgoraMediaBase.h:573
agora::media::IVideoFrameObserver::getVideoFrameProcessMode
virtual VIDEO_FRAME_PROCESS_MODE getVideoFrameProcessMode()
Definition: AgoraMediaBase.h:1247
agora::rtc::RAW_AUDIO_FRAME_OP_MODE_READ_ONLY
@ RAW_AUDIO_FRAME_OP_MODE_READ_ONLY
Definition: AgoraMediaBase.h:117
agora::media::IVideoFrameObserver::getMirrorApplied
virtual bool getMirrorApplied()
Definition: AgoraMediaBase.h:1274
agora::media::IAudioFrameObserverBase::AudioFrame::renderTimeMs
int64_t renderTimeMs
Definition: AgoraMediaBase.h:836
agora::media::CONTENT_INSPECT_RESULT
CONTENT_INSPECT_RESULT
Definition: AgoraMediaBase.h:193
agora::media::base::MEDIA_PLAYER_SOURCE_DEFAULT
@ MEDIA_PLAYER_SOURCE_DEFAULT
Definition: AgoraMediaBase.h:763
agora::media::base::VideoFrame::alphaBuffer
uint8_t * alphaBuffer
Definition: AgoraMediaBase.h:739
agora::media::RecorderInfo::durationMs
unsigned int durationMs
Definition: AgoraMediaBase.h:1448
agora::media::RecorderInfo::fileName
const char * fileName
Definition: AgoraMediaBase.h:1444
agora::media::IVideoFrameObserver::getObservedFramePosition
virtual uint32_t getObservedFramePosition()
Definition: AgoraMediaBase.h:1293
agora::media::IAudioFrameObserverBase::AudioFrame::type
AUDIO_FRAME_TYPE type
Definition: AgoraMediaBase.h:808
agora::rtc::BYTES_PER_SAMPLE
BYTES_PER_SAMPLE
Definition: AgoraMediaBase.h:94
agora::rtc::RAW_AUDIO_FRAME_OP_MODE_TYPE
RAW_AUDIO_FRAME_OP_MODE_TYPE
Definition: AgoraMediaBase.h:112
agora::media::UserAudioSpectrumInfo::spectrumData
struct AudioSpectrumData spectrumData
Definition: AgoraMediaBase.h:1038
agora::rtc::ROUTE_AIRPLAY
@ ROUTE_AIRPLAY
Definition: AgoraMediaBase.h:88
agora::media::base::VideoFrame::uStride
int uStride
Definition: AgoraMediaBase.h:680
agora::media::ContentInspectConfig::ContentInspectConfig
ContentInspectConfig()
Definition: AgoraMediaBase.h:247
agora::media::base::MAX_METADATA_SIZE_IN_BYTE
@ MAX_METADATA_SIZE_IN_BYTE
Definition: AgoraMediaBase.h:262
agora::media::base::POSITION_POST_FILTERS
@ POSITION_POST_FILTERS
Definition: AgoraMediaBase.h:781
agora::media::STREAM_TYPE_VIDEO
@ STREAM_TYPE_VIDEO
Definition: AgoraMediaBase.h:1345
agora::media::IAudioFrameObserverBase::AudioFrame::samplesPerChannel
int samplesPerChannel
Definition: AgoraMediaBase.h:812
agora::rtc::ROUTE_DEFAULT
@ ROUTE_DEFAULT
Definition: AgoraMediaBase.h:48
agora::media::RECORDER_STATE_START
@ RECORDER_STATE_START
Definition: AgoraMediaBase.h:1364
agora::media::IVideoFrameObserver::onSecondaryPreEncodeCameraVideoFrame
virtual bool onSecondaryPreEncodeCameraVideoFrame(VideoFrame &videoFrame)=0
agora::media::MediaRecorderConfiguration
Definition: AgoraMediaBase.h:1402
agora::media::base::AUDIO_DUAL_MONO_L
@ AUDIO_DUAL_MONO_L
Definition: AgoraMediaBase.h:388
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:849
agora::rtc::DEFAULT_CONNECTION_ID
static const unsigned int DEFAULT_CONNECTION_ID
Definition: AgoraMediaBase.h:34
agora::media::base::AudioPcmFrame::num_channels_
size_t num_channels_
Definition: AgoraMediaBase.h:330
agora::rtc::ROUTE_HEADSET
@ ROUTE_HEADSET
Definition: AgoraMediaBase.h:52
agora::media::EXTERNAL_VIDEO_SOURCE_TYPE
EXTERNAL_VIDEO_SOURCE_TYPE
Definition: AgoraMediaBase.h:1310
agora::media::RECORDER_ERROR_OVER_MAX_DURATION
@ RECORDER_ERROR_OVER_MAX_DURATION
Definition: AgoraMediaBase.h:1391
agora::media::base::VideoFrame::sharedContext
void * sharedContext
Definition: AgoraMediaBase.h:725
agora::media::CONTENT_INSPECT_TYPE
CONTENT_INSPECT_TYPE
Definition: AgoraMediaBase.h:199
agora::media::RECORDER_STATE_STOP
@ RECORDER_STATE_STOP
Definition: AgoraMediaBase.h:1368
agora::media::IAudioFrameObserverBase::onPlaybackAudioFrame
virtual bool onPlaybackAudioFrame(const char *channelId, AudioFrame &audioFrame)=0
agora::media::AudioSpectrumData::AudioSpectrumData
AudioSpectrumData()
Definition: AgoraMediaBase.h:1025
agora::media::base::kMaxCodecNameLength
static const uint8_t kMaxCodecNameLength
Definition: AgoraMediaBase.h:256
agora::media::base::AUDIO_DUAL_MONO_STEREO
@ AUDIO_DUAL_MONO_STEREO
Definition: AgoraMediaBase.h:386
agora::media::base::IAudioFrameObserver
Definition: AgoraMediaBase.h:395
agora::media::base::ExternalVideoFrame::ExternalVideoFrame
ExternalVideoFrame()
Definition: AgoraMediaBase.h:507
agora::media::IAudioSpectrumObserver::~IAudioSpectrumObserver
virtual ~IAudioSpectrumObserver()
Definition: AgoraMediaBase.h:1050
agora::rtc::ROUTE_SPEAKERPHONE
@ ROUTE_SPEAKERPHONE
Definition: AgoraMediaBase.h:64
agora::media::AudioSpectrumData
Definition: AgoraMediaBase.h:1015
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:754
agora::media::STREAM_TYPE_AUDIO
@ STREAM_TYPE_AUDIO
Definition: AgoraMediaBase.h:1341
agora::media::MEDIA_SOURCE_TYPE
MEDIA_SOURCE_TYPE
Definition: AgoraMediaBase.h:132
agora::rtc::ROUTE_USB
@ ROUTE_USB
Definition: AgoraMediaBase.h:76
agora::media::RecorderErrorCode
RecorderErrorCode
Definition: AgoraMediaBase.h:1375
agora::media::base::ExternalVideoFrame::cropLeft
int cropLeft
Definition: AgoraMediaBase.h:582
agora::rtc::DUMMY_CONNECTION_ID
static const unsigned int DUMMY_CONNECTION_ID
Definition: AgoraMediaBase.h:35
agora::media::base::IAudioFrameObserver::~IAudioFrameObserver
virtual ~IAudioFrameObserver()
Definition: AgoraMediaBase.h:406
agora::media::base::POSITION_PRE_RENDERER
@ POSITION_PRE_RENDERER
Definition: AgoraMediaBase.h:779
agora::media::IVideoEncodedFrameObserver::~IVideoEncodedFrameObserver
virtual ~IVideoEncodedFrameObserver()
Definition: AgoraMediaBase.h:1104
agora::media::RTC_IMAGE_JPEG_SOURCE
@ RTC_IMAGE_JPEG_SOURCE
Definition: AgoraMediaBase.h:172
agora::media::IVideoFrameObserver::getVideoFormatPreference
virtual base::VIDEO_PIXEL_FORMAT getVideoFormatPreference()
Definition: AgoraMediaBase.h:1256
agora::media::base::MEDIA_PLAYER_SOURCE_TYPE
MEDIA_PLAYER_SOURCE_TYPE
Definition: AgoraMediaBase.h:757
agora::media::SECONDARY_CAMERA_SOURCE
@ SECONDARY_CAMERA_SOURCE
Definition: AgoraMediaBase.h:148
agora::media::UserAudioSpectrumInfo::UserAudioSpectrumInfo
UserAudioSpectrumInfo()
Definition: AgoraMediaBase.h:1040
agora::media::TRANSCODED_VIDEO_SOURCE
@ TRANSCODED_VIDEO_SOURCE
Definition: AgoraMediaBase.h:184
agora::media::ENCODED_VIDEO_FRAME
@ ENCODED_VIDEO_FRAME
Definition: AgoraMediaBase.h:1318
agora::media::CONTENT_INSPECT_SUPERVISION
@ CONTENT_INSPECT_SUPERVISION
Definition: AgoraMediaBase.h:211
agora::media::base::ExternalVideoFrame::EGL_CONTEXT14
@ EGL_CONTEXT14
Definition: AgoraMediaBase.h:536
agora::media::base::view_t
void * view_t
Definition: AgoraMediaBase.h:252
agora::media::PRIMARY_SCREEN_SOURCE
@ PRIMARY_SCREEN_SOURCE
Definition: AgoraMediaBase.h:152
agora::media::IVideoEncodedFrameObserver
Definition: AgoraMediaBase.h:1089
agora::media::base::POSITION_POST_CAPTURER
@ POSITION_POST_CAPTURER
Definition: AgoraMediaBase.h:778
agora::media::base::VIDEO_CVPIXEL_NV12
@ VIDEO_CVPIXEL_NV12
Definition: AgoraMediaBase.h:448
agora::media::base::AudioPcmFrame::sample_rate_hz_
int sample_rate_hz_
Definition: AgoraMediaBase.h:327
agora::media::base::VIDEO_PIXEL_DEFAULT
@ VIDEO_PIXEL_DEFAULT
Definition: AgoraMediaBase.h:416
agora::rtc::ROUTE_LOUDSPEAKER
@ ROUTE_LOUDSPEAKER
Definition: AgoraMediaBase.h:68
agora::media::base::AudioEncodedFrameInfo
Definition: AgoraMediaBase.h:285
agora::media::base::AudioEncodedFrameInfo::sendTs
uint64_t sendTs
Definition: AgoraMediaBase.h:289
agora::media::FORMAT_MP4
@ FORMAT_MP4
Definition: AgoraMediaBase.h:1330
agora::media::ContentInspectConfig::modules
ContentInspectModule modules[MAX_CONTENT_INSPECT_MODULE_COUNT]
Definition: AgoraMediaBase.h:236
agora::media::ContentInspectConfig::extraInfo
const char * extraInfo
Definition: AgoraMediaBase.h:231
agora::media::base::VideoFrame::uBuffer
uint8_t * uBuffer
Definition: AgoraMediaBase.h:692
agora::media::ContentInspectConfig
Definition: AgoraMediaBase.h:230
agora::media::IVideoFrameObserver::getRotationApplied
virtual bool getRotationApplied()
Definition: AgoraMediaBase.h:1265
agora::media::base::IAudioFrameObserver::onFrame
virtual void onFrame(AudioPcmFrame *frame)=0
agora::media::base::ExternalVideoFrame::eglContext
void * eglContext
Definition: AgoraMediaBase.h:613
agora::media::base::AudioPcmFrame
Definition: AgoraMediaBase.h:302
agora::media::base::AudioPcmFrame::bytes_per_sample
rtc::BYTES_PER_SAMPLE bytes_per_sample
Definition: AgoraMediaBase.h:333
agora::media::base::ExternalVideoFrame::matrix
float matrix[16]
Definition: AgoraMediaBase.h:625
agora::media::base::MAX_METADATA_SIZE_TYPE
MAX_METADATA_SIZE_TYPE
Definition: AgoraMediaBase.h:261
agora::media::base::AudioPcmFrame::data_
int16_t data_[kMaxDataSizeSamples]
Definition: AgoraMediaBase.h:335
agora::media::IAudioFrameObserverBase::AudioFrame::samplesPerSec
int samplesPerSec
Definition: AgoraMediaBase.h:824
agora::media::base::AudioPcmFrame::operator=
AudioPcmFrame & operator=(const AudioPcmFrame &src)
Definition: AgoraMediaBase.h:337
agora::media::MediaRecorderConfiguration::storagePath
const char * storagePath
Definition: AgoraMediaBase.h:1411
agora::media::IVideoFrameObserver::~IVideoFrameObserver
virtual ~IVideoFrameObserver()
Definition: AgoraMediaBase.h:1120
agora::media::base::VideoFrame::avsync_type
int avsync_type
Definition: AgoraMediaBase.h:711
agora::media::MEDIA_PLAYER_SOURCE
@ MEDIA_PLAYER_SOURCE
Definition: AgoraMediaBase.h:164
agora::media::IVideoFrameObserver::PROCESS_MODE_READ_WRITE
@ PROCESS_MODE_READ_WRITE
Definition: AgoraMediaBase.h:1116
agora::media::UserAudioSpectrumInfo::UserAudioSpectrumInfo
UserAudioSpectrumInfo(agora::rtc::uid_t _uid, const float *data, int length)
Definition: AgoraMediaBase.h:1041
agora::media::base::VideoFrame::metadata_size
int metadata_size
Definition: AgoraMediaBase.h:721
agora::media::base::ExternalVideoFrame::VIDEO_BUFFER_ARRAY
@ VIDEO_BUFFER_ARRAY
Definition: AgoraMediaBase.h:550
agora::media::base::ExternalVideoFrame::type
VIDEO_BUFFER_TYPE type
Definition: AgoraMediaBase.h:560
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::VideoFrame::type
VIDEO_PIXEL_FORMAT type
Definition: AgoraMediaBase.h:664
agora::media::UserAudioSpectrumInfo::uid
agora::rtc::uid_t uid
Definition: AgoraMediaBase.h:1034
agora::media::REMOTE_VIDEO_SOURCE
@ REMOTE_VIDEO_SOURCE
Definition: AgoraMediaBase.h:180
agora::media::base::VIDEO_PIXEL_RGBA
@ VIDEO_PIXEL_RGBA
Definition: AgoraMediaBase.h:432
agora::rtc::AudioParameters::frames_per_buffer
size_t frames_per_buffer
Definition: AgoraMediaBase.h:104
agora::media::RTC_IMAGE_GIF_SOURCE
@ RTC_IMAGE_GIF_SOURCE
Definition: AgoraMediaBase.h:176
agora::media::base::VIDEO_PIXEL_FORMAT
VIDEO_PIXEL_FORMAT
Definition: AgoraMediaBase.h:412
agora::media::STREAM_TYPE_BOTH
@ STREAM_TYPE_BOTH
Definition: AgoraMediaBase.h:1349
agora::media::IAudioFrameObserverBase::AudioFrame::bytesPerSample
agora::rtc::BYTES_PER_SAMPLE bytesPerSample
Definition: AgoraMediaBase.h:816
agora::media::base::AUDIO_DUAL_MONO_R
@ AUDIO_DUAL_MONO_R
Definition: AgoraMediaBase.h:390
agora::media::IVideoFrameObserver::onMediaPlayerVideoFrame
virtual bool onMediaPlayerVideoFrame(VideoFrame &videoFrame, int mediaPlayerId)=0
agora::media::base::AudioPcmFrame::AudioPcmFrame
AudioPcmFrame()
Definition: AgoraMediaBase.h:358
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
__deprecated
#define __deprecated
Definition: AgoraMediaBase.h:23
agora::media::base::VIDEO_PIXEL_I420
@ VIDEO_PIXEL_I420
Definition: AgoraMediaBase.h:420