Agora C++ API Reference for All Platforms
rtc_engine_i.h
1 //
2 // Agora Media SDK
3 //
4 // Created by Sting Feng in 2015-05.
5 // Copyright (c) 2015 Agora IO. All rights reserved.
6 //
7 #pragma once
8 
9 #include <functional>
10 #include <string>
11 #include <vector>
12 #include <array>
13 
14 #include "AgoraBase.h"
15 #include "IAgoraRtcEngineEx.h"
16 #include "NGIAgoraAudioDeviceManager.h"
17 #include "NGIAgoraExtensionProvider.h"
18 #include "NGIAgoraRtcConnection.h"
19 #include "time_utils.h"
20 
21 #include <api/aosl_ref.h>
22 
23 #if defined(_WIN32)
24 extern HINSTANCE GetCurrentModuleInstance();
25 #elif defined(__ANDROID__) || defined(__linux__)
26 #include <dlfcn.h>
27 #endif // _WIN32
28 
29 namespace agora {
30 namespace commons {
31 namespace cjson {
32 class JsonWrapper;
33 } // namespace cjson
34 
35 } // namespace commons
36 
37 namespace base {
39  public:
40  virtual int setParametersInternal(const char* parameters, int priority) = 0;
41  virtual int getParameters(const char* key, commons::cjson::JsonWrapper& result) = 0;
42  virtual ~IParameterEngine() {}
43 };
44 } // namespace base
45 
46 namespace media {
48  public:
60  virtual void onRecorderStateChanged(RecorderState state, RecorderReasonCode reason) = 0;
73  virtual void onRecorderInfoUpdated(const RecorderInfo& info) = 0;
74 
76 };
77 }
78 
79 namespace rtc {
80 class IMediaPlayerEx;
81 
84 };
85 
87 
88 #ifdef INTERNAL_ENGINE_STATUS
90  int recfreq;
98 };
99 #endif // INTERNAL_ENGINE_STATUS
100 
101 enum class RecordingEventType : unsigned {
106 
108 };
109 
111  // Join event
126  RECORDING_JOIN_EVT_VIDEOONLY = 14, // NEW INSERT
132 
133  // add new recording join event here ...
134 
137 
138  // Leave event
142 
143  // add new recording leave event here ...
144 
147 };
148 
152 enum APP_TYPE {
169 };
170 
171 enum class RTC_EVENT {
172  NATIVE_LOG = 100,
173  ERROR_EVENT = 101,
174  WARNING_EVENT = 102,
178  VIDEO_STOPPED = 1007,
179  TRANSPORT_QUALITY = 1101,
180  AUDIO_QUALITY = 1102,
182  MEDIA_ENGINE_EVENT = 1104,
185  REQUEST_TOKEN = 1108,
186  CLIENT_ROLE_CHANGED = 1109,
187  PUBLISH_URL = 1110,
188  UNPUBLISH_URL = 1111,
189  LIVE_TRANSCODING = 1112,
190  JOIN_PUBLISHER_REQUEST = 1113,
193  STREAM_INJECTED_STATUS = 1116,
194  PRIVILEGE_WILL_EXPIRE = 1117,
196  RTMP_STREAMING_STATE = 1119,
197  PUBLISH_STREAM_STATE = 1120,
199  PUBLISH_STREAM_EVENT = 1122,
200 
201  OPEN_CHANNEL_SUCCESS = 13001,
202  LEAVE_CHANNEL = 13006,
203  NETWORK_QUALITY = 13007,
204  USER_OFFLINE = 13008,
205  RTC_STATS = 13010,
206  USER_JOINED = 13013,
207  USER_MUTE_AUDIO = 13014,
208  USER_MUTE_VIDEO = 13015,
209  USER_ENABLE_VIDEO = 13016,
210  LASTMILE_QUALITY = 13017,
211  AUDIO_EFFECT_FINISHED = 13018,
212  USER_ENABLE_LOCAL_VIDEO = 13019,
213  LASTMILE_PROBE_RESULT = 13020,
216  USER_STATE_CHANGED = 13023,
217 
218  RECAP_INDICATION = 14000,
219  AUDIO_VOLUME_INDICATION = 14001,
220  FIRST_REMOTE_VIDEO_FRAME = 14002,
221  LOCAL_VIDEO_STAT = 14003,
222  REMOTE_VIDEO_STAT = 14004,
223  FIRST_LOCAL_VIDEO_FRAME = 14005,
225  CONNECTION_LOST = 14008,
226  STREAM_MESSAGE = 14009,
227  CONNECTION_INTERRUPTED = 14010,
229  STREAM_MESSAGE_ERROR = 14012,
230  VIDEO_SIZE_CHANGED = 14013,
233  ACTIVE_SPEAKER = 14016,
235 #ifdef INTERNAL_ENGINE_STATUS
236  _INTERNAL_ENGINE_STATUS = 14018,
237 #endif
238  CONNECTION_BANNED = 14019,
240 
244  USER_TRANSPORT_STAT = 14024,
245  CONNECTION_STATE_CHANGED = 14028,
247  REMOTE_AUDIO_STAT = 14030,
248  NETWORK_TYPE_CHANGED = 14031,
249  AUDIO_ROUTING_CHANGED = 14032,
251  LOCAL_USER_REGISTERED = 14034,
252  USER_INFO_UPDATED = 14035,
254  CROSS_CHANNEL_STATE = 14037,
255  CROSS_CHANNEL_EVENT = 14038,
257  LOCAL_AUDIO_STAT = 14041,
260  INTRA_REQUEST_RECEIVED = 14044,
261  PEER_USER_INFO_UPDATED = 14045,
262  ENCRYPTION_ERROR_EVENT = 14046,
268  PERMISSION_ERROR_EVENT = 14052,
269  FACE_DETECT_VALUE = 14053,
271  UPLOAD_LOG_RESULT = 14055,
272  FIRST_REMOTE_AUDIO_FRAME = 14058,
273  PROXY_SUCCESS = 14059,
274  WLACC_MESSAGE = 14060,
275  WLACC_STATS = 14061,
276  SNAPSHOT_TAKEN = 14062,
277  CONTENT_INSPECT_RESULT = 14063,
279  LICENSE_VERIFY = 14065,
281  LOCAL_TRANSCODING = 14067,
282  SET_RTM_FLAG_RESULT = 14068,
283  VIDEO_LAYOUT_INFO = 14069,
284  AUDIO_METADATA_RECEIVED = 14070,
285 };
286 
289  unsigned int frame_num;
290  unsigned int sent_ts;
291  unsigned int ts;
292 };
293 
296  unsigned int ts;
297  unsigned int sent_ts;
298 };
299 
305 };
306 
308 public:
310 
313 };
314 
318 
319  // extension event observer
321 
322  // 0 for AGORA_CC,
323  // 1 for REMB
324  // 2 for TRANSPORT_CC
326 
327  bool isPureCpp;
328 
330  : isPassThruMode(false),
331  maxOutputBitrateKpbs(30 * 1000),
332  extensionObserverProxy(nullptr),
333 #if defined(P2P_SWITCH_DEFAULT_VALUE)
334  is_p2p_switch_enabled_(P2P_SWITCH_DEFAULT_VALUE),
335 #else
336  is_p2p_switch_enabled_(false),
337 #endif
338  isPureCpp(true)
339  {
340  }
342 };
343 
346  int delay;
350 };
351 
353  public:
354  virtual const char* eventHandlerType() const { return "event_handler_internal"; }
355 
356  virtual bool onEvent(RTC_EVENT evt, const std::string* payload) {
357  (void)evt;
358  (void)payload;
359 
360  /* return false to indicate this event is not handled */
361  return false;
362  }
363 };
364 
367  protected:
368  virtual ~IRtcEngineInternal() {}
369  public:
370  virtual aosl_ref_t ref() = 0;
371  virtual int initializeEx(const RtcEngineContextInternal& context) = 0;
372  virtual const char* getSid(const RtcConnection& connection = {}) = 0;
373  virtual int setProfile(const char* profile, bool merge) = 0;
374  virtual int getProfile(std::string& result) = 0;
375  virtual int initializeInternal(const RtcEngineContextInternal& context) = 0;
376 
377  virtual int setAudioOptionParams(const char* params) = 0;
378  virtual int getAudioOptionParams(char* params) = 0;
379  virtual bool isMicrophoneOn() = 0;
380 
381  virtual int reportWebAgentVideoStats(const WebAgentVideoStats& stats) = 0;
382 
383 #if (defined(__APPLE__) && TARGET_OS_MAC && !TARGET_OS_IOS)
384  virtual int monitorDeviceChange(bool enabled) = 0;
385 #endif // __APPLE__ && !TARGET_OS_IOS && TARGET_OS_MAC
386 
387  virtual int printLog(int level, const char* message) = 0;
388  virtual int runOnWorkerThread(std::function<void(void)>&& f) = 0;
389  virtual int reportArgusCounters(int* counterId, int* value, int count, uid_t uid) = 0;
390 
391  virtual int enableYuvDumper(bool enable) = 0;
392 
393  // this function is only for expert of video codec,
394  // please do NOT call it if not knowing what's it about
395  virtual int setVideoConfigParam(const char* params) = 0;
396 
397  virtual int getVideoConfigParam(char* params, size_t size) = 0;
398 
399  virtual int setExternalVideoConfigEx(const VideoEncoderConfiguration& config) = 0;
401  const RtcConnection& connection) = 0;
402 
403  virtual int getParametersEx(const RtcConnection& connection, const char* key, std::string& results) = 0;
404 
405  // this function is only for switching screen capture source api on windows platform
406 #if defined(_WIN32)
407  virtual int GetScreenCaptureType() = 0;
408 #endif
409 
410  virtual int setLogLevelEx(unsigned int filter) = 0;
411 
412  virtual int simulateOnSetParameters(const std::string& parameters) = 0;
413 
414  virtual int setCameraDevice(const char dev_id[MAX_DEVICE_ID_LENGTH]) = 0;
415 
416  virtual aosl_ref_t getMediaPlayer(int sourceId) = 0;
417  virtual int putMediaPlayer(int sourceId) = 0;
418  virtual agora_refptr<IRtcConnection> getConnection(const RtcConnection& connection = {}) const = 0;
419 
420 #if defined(FEATURE_ENABLE_UT_SUPPORT)
421  // 0 is left channel, 1 is right channel, -1 is invalid
422  virtual int soundPositionChannel(uid_t uid) = 0;
423  virtual int soundPositionChannel(uid_t uid, const RtcConnection& connection) = 0;
424 #endif
425 
426  virtual int32_t setAppType(APP_TYPE appType) = 0;
427  virtual int32_t enableVosUserInfoHidden(bool enabled) = 0;
428 
429  virtual int setMediaRecorderObserver(const char* channelId, uid_t uid, bool isLocal,
430  media::IMediaRecorderObserverEx* observer, int sys_version = 0) = 0;
431  virtual int startRecording(const char* channelId, uid_t uid, bool isLocal,
432  const media::MediaRecorderConfiguration& config) = 0;
433  virtual int stopRecording(const char* channelId, uid_t uid, bool isLocal) = 0;
434  virtual int releaseRecorder(const char* channelId, uid_t uid, bool isLocal) = 0;
435  virtual int setTimestamp(ENGINE_INIT_TS_POSITION ts_position, uint64_t ts) = 0;
436  virtual uint64_t getTimestamp(ENGINE_INIT_TS_POSITION ts_position) const = 0;
437  virtual void reportEngineInitializeEvent() const = 0;
438  virtual std::string getRecentSid(const RtcConnection* connnection) = 0;
439 
440  virtual int setupAudioAttributeContext(void* audioAttr) = 0;
441 #if defined(__ANDROID__)
442  virtual int switchCameraId(const char* cameraId) = 0;
443 #endif // __ANDROID__
444 
445  virtual bool initialized() = 0;
446 
448 
449  static bool isEventHandler(IRtcEngineEventHandler* handler) {
450  return handler && 0 == strcmp("event_handler", handler->eventHandlerType());
451  }
452 
453  static bool isEventHandlerEx(IRtcEngineEventHandler* handler) {
454  return handler && 0 == strcmp("event_handler_ex", handler->eventHandlerType());
455  }
456 };
457 
459  typedef const char*(AGORA_CALL* PFN_GetAgoraRtcEngineVersion)(int* build);
460  typedef IRtcEngine*(AGORA_CALL* PFN_CreateAgoraRtcEngine)();
461  typedef void(AGORA_CALL* PFN_ShutdownAgoraRtcEngineService)();
462 
463 #if defined(_WIN32)
464  typedef HINSTANCE lib_handle_t;
465  static HINSTANCE MyLoadLibrary(const char* dllname) {
466  char path[MAX_PATH];
467  GetModuleFileNameA(GetCurrentModuleInstance(), path, MAX_PATH);
468  auto p = strrchr(path, '\\');
469  strcpy(p + 1, dllname); // NOLINT
470  HINSTANCE hDll = LoadLibraryA(path);
471  if (hDll) return hDll;
472 
473  hDll = LoadLibraryA(dllname);
474  return hDll;
475  }
476 #else
477  typedef void* lib_handle_t;
478 #endif // _WIN32
479 
480  public:
481  RtcEngineLibHelper(const char* dllname)
482  : m_firstInit(true),
483  m_lib(NULL),
484  m_dllName(dllname),
485  m_pfnCreateAgoraRtcEngine(nullptr),
486  m_pfnGetAgoraRtcEngineVersion(nullptr) {}
487 
488  bool initialize() {
489  if (!m_firstInit) {
490  return isValid();
491  }
492 
493  if (m_dllName.empty()) {
494  return false;
495  }
496 
497  m_firstInit = false;
498 #if defined(_WIN32)
499  m_lib = MyLoadLibrary(m_dllName.c_str());
500  if (m_lib) {
501  m_pfnCreateAgoraRtcEngine =
502  (PFN_CreateAgoraRtcEngine)GetProcAddress(m_lib, "createAgoraRtcEngine");
503  m_pfnGetAgoraRtcEngineVersion =
504  (PFN_GetAgoraRtcEngineVersion)GetProcAddress(m_lib, "getAgoraRtcEngineVersion");
505  }
506 #elif defined(__ANDROID__) || defined(__linux__)
507  m_lib = dlopen(m_dllName.c_str(), RTLD_LAZY);
508  if (m_lib) {
509  m_pfnCreateAgoraRtcEngine = (PFN_CreateAgoraRtcEngine)dlsym(m_lib, "createAgoraRtcEngine");
510  m_pfnGetAgoraRtcEngineVersion =
511  (PFN_GetAgoraRtcEngineVersion)dlsym(m_lib, "getAgoraRtcEngineVersion");
512  }
513 #endif // _WIN32
514 
515  return isValid();
516  }
517 
518  void deinitialize() {
519  if (m_lib) {
520 #if defined(_WIN32)
521  FreeLibrary(m_lib);
522 #elif defined(__ANDROID__) || defined(__linux__)
523  dlclose(m_lib);
524 #endif // _WIN32
525 
526  m_lib = NULL;
527  }
528 
529  m_pfnCreateAgoraRtcEngine = nullptr;
530  m_pfnGetAgoraRtcEngineVersion = nullptr;
531  }
532 
534 
535  bool isValid() { return m_pfnCreateAgoraRtcEngine != NULL; }
536 
538  return m_pfnCreateAgoraRtcEngine ? m_pfnCreateAgoraRtcEngine() : NULL;
539  }
540 
541  const char* getVersion(int* build) {
542  return m_pfnGetAgoraRtcEngineVersion ? m_pfnGetAgoraRtcEngineVersion(build) : nullptr;
543  }
544 
545  private:
546  bool m_firstInit;
547  lib_handle_t m_lib;
548  std::string m_dllName;
549  PFN_CreateAgoraRtcEngine m_pfnCreateAgoraRtcEngine;
550  PFN_GetAgoraRtcEngineVersion m_pfnGetAgoraRtcEngineVersion;
551 };
552 
553 // A helper function for decoding out the SEI layout
554 
555 struct canvas_info {
556  int width;
557  int height;
558  int bgcolor;
559 };
560 
561 struct region_info {
562  unsigned id;
563 
564  double x;
565  double y;
566  double width;
567  double height;
568 
569  int alpha; // [0, 255]
570 
571  int render_mode; // 0, crop; 1, ZoomtoFit
572  int zorder; // [0, 100]
573 };
574 
575 #define NUM_OF_LAYOUT_REGIONS 17
576 
577 struct layout_info {
578  long long ms;
580  // At most 9 broadcasters: 1 host, 8 guests.
581  unsigned int region_count;
582  region_info regions[NUM_OF_LAYOUT_REGIONS];
583 };
584 
586 public:
589  {
590  for(size_t i = 0; i < encryptionKdfSalt.size(); i++) {
591  encryptionKdfSalt[i] = config.encryptionKdfSalt[i];
592  }
593  }
594  void ToEncryptionConfig(EncryptionConfig& config) const {
596  config.encryptionKey = encryptionKey.c_str();
598  for(size_t i = 0; i < encryptionKdfSalt.size(); i++) {
599  config.encryptionKdfSalt[i] = encryptionKdfSalt.at(i);
600  }
601  }
603  std::string encryptionKey;
604  std::array<uint8_t, 32> encryptionKdfSalt;
606 };
607 
608 AGORA_API bool AGORA_CALL decode_sei_layout(const void* data, unsigned size, layout_info* layout);
609 
611 
612 } // namespace rtc
613 } // namespace agora
agora::rtc::IRtcEngineInternal::getTimestamp
virtual uint64_t getTimestamp(ENGINE_INIT_TS_POSITION ts_position) const =0
agora::rtc::IRtcEngineInternal::soundPositionChannel
virtual int soundPositionChannel(uid_t uid, const RtcConnection &connection)=0
agora::rtc::IRtcEngineInternal::stopRecording
virtual int stopRecording(const char *channelId, uid_t uid, bool isLocal)=0
agora::rtc::InternalEngineStatus::recfreq
int recfreq
Definition: rtc_engine_i.h:90
agora::rtc::RecordingEventType::RECORDING_EVENT_JOIN
@ RECORDING_EVENT_JOIN
agora::rtc::IRtcEngineInternal::getVideoConfigParam
virtual int getVideoConfigParam(char *params, size_t size)=0
agora::rtc::RTC_EVENT::USER_ENABLE_VIDEO
@ USER_ENABLE_VIDEO
agora::rtc::RTC_EVENT::AUDIO_SUBSCRIBE_STATE_CHANGED
@ AUDIO_SUBSCRIBE_STATE_CHANGED
agora::rtc::RtcEngineLibHelper
Definition: rtc_engine_i.h:458
agora::rtc::RTC_EVENT::AUDIO_EFFECT_FINISHED
@ AUDIO_EFFECT_FINISHED
agora::rtc::audio_transport_packet_info::ts
unsigned int ts
Definition: rtc_engine_i.h:296
agora::rtc::APP_TYPE_RUST
@ APP_TYPE_RUST
Definition: rtc_engine_i.h:165
agora::rtc::APP_TYPE_UNITY
@ APP_TYPE_UNITY
Definition: rtc_engine_i.h:156
agora::rtc::APP_TYPE_APICLOUD
@ APP_TYPE_APICLOUD
Definition: rtc_engine_i.h:161
agora::media::IMediaRecorderObserverEx
Definition: rtc_engine_i.h:47
agora::rtc::IRtcEngineInternal::isEventHandlerEx
static bool isEventHandlerEx(IRtcEngineEventHandler *handler)
Definition: rtc_engine_i.h:453
agora::base::IAgoraService
Definition: IAgoraService.h:395
agora::rtc::RTC_EVENT::LICENSE_VERIFY
@ LICENSE_VERIFY
agora::rtc::RTC_EVENT::AUDIO_DEVICE_VOLUME_CHANGED
@ AUDIO_DEVICE_VOLUME_CHANGED
agora::rtc::RecordingEventType::RECORDING_EVENT_START
@ RECORDING_EVENT_START
agora::rtc::RTC_EVENT::ENCRYPTION_ERROR_EVENT
@ ENCRYPTION_ERROR_EVENT
agora::rtc::RTC_EVENT::MEDIA_ENGINE_LOAD_SUCCESS
@ MEDIA_ENGINE_LOAD_SUCCESS
agora::rtc::WebAgentVideoStats::userId
user_id_t userId
Definition: rtc_engine_i.h:345
agora::rtc::RTC_EVENT::CONNECTION_LOST
@ CONNECTION_LOST
agora::rtc::IRtcEngineEventHandlerInternal::eventHandlerType
virtual const char * eventHandlerType() const
Definition: rtc_engine_i.h:354
agora::rtc::RTC_EVENT::LOCAL_VIDEO_STAT
@ LOCAL_VIDEO_STAT
agora::rtc::RTC_EVENT::ACTIVE_SPEAKER
@ ACTIVE_SPEAKER
agora::rtc::RTC_EVENT::AUDIO_PUBLISH_STATE_CHANGED
@ AUDIO_PUBLISH_STATE_CHANGED
agora::rtc::RTC_EVENT::FIRST_REMOTE_VIDEO_FRAME
@ FIRST_REMOTE_VIDEO_FRAME
agora::rtc::RTC_EVENT::INTRA_REQUEST_RECEIVED
@ INTRA_REQUEST_RECEIVED
agora::rtc::WebAgentVideoStats
Definition: rtc_engine_i.h:344
agora::rtc::EncryptionConfigInternal::encryptionKdfSalt
std::array< uint8_t, 32 > encryptionKdfSalt
Definition: rtc_engine_i.h:604
agora::rtc::getInternalAgoraRtcEngine
AGORA_API agora::rtc::IRtcEngineInternal *AGORA_CALL getInternalAgoraRtcEngine()
agora::rtc::RecordingEventKeyIndex
RecordingEventKeyIndex
Definition: rtc_engine_i.h:110
agora::rtc::RTC_EVENT::AUDIO_QUALITY
@ AUDIO_QUALITY
agora::rtc::video_transport_packet_info
Definition: rtc_engine_i.h:287
agora::rtc::RTC_EVENT::LOCAL_AUDIO_STAT
@ LOCAL_AUDIO_STAT
agora::rtc::RTC_EVENT::PUBLISH_URL
@ PUBLISH_URL
agora::rtc::RTC_EVENT::LOCAL_TRANSCODING
@ LOCAL_TRANSCODING
agora::rtc::RTC_EVENT::CONTENT_INSPECT_RESULT
@ CONTENT_INSPECT_RESULT
agora::agora_refptr
Definition: AgoraRefPtr.h:44
agora::rtc::RTC_EVENT::REMOTE_VIDEO_STATE_CHANGED
@ REMOTE_VIDEO_STATE_CHANGED
agora::rtc::IRtcEngineInternal::setProfile
virtual int setProfile(const char *profile, bool merge)=0
agora::rtc::RECORDING_JOIN_EVT_MAX
@ RECORDING_JOIN_EVT_MAX
Definition: rtc_engine_i.h:136
agora::rtc::IRtcAvTransportPacketInfoObserver::onVideoTransportPacketInfo
virtual void onVideoTransportPacketInfo(const video_transport_packet_info &info)=0
agora::rtc::IRtcEngineInternal::runOnWorkerThread
virtual int runOnWorkerThread(std::function< void(void)> &&f)=0
agora::rtc::SCREEN_SHARING_NORMAL
@ SCREEN_SHARING_NORMAL
Definition: rtc_engine_i.h:86
agora::rtc::IRtcEngineInternal::releaseRecorder
virtual int releaseRecorder(const char *channelId, uid_t uid, bool isLocal)=0
agora::rtc::RTC_EVENT::USER_STATE_CHANGED
@ USER_STATE_CHANGED
agora::rtc::region_info::x
double x
Definition: rtc_engine_i.h:564
agora::rtc::video_transport_packet_info::frame_num
unsigned int frame_num
Definition: rtc_engine_i.h:289
agora::rtc::EncryptionConfigInternal::encryptionMode
ENCRYPTION_MODE encryptionMode
Definition: rtc_engine_i.h:602
agora::rtc::RTC_EVENT::USER_MUTE_VIDEO
@ USER_MUTE_VIDEO
agora::rtc::layout_info::regions
region_info regions[NUM_OF_LAYOUT_REGIONS]
Definition: rtc_engine_i.h:582
agora::rtc::RtcEngineContextInternal
Definition: rtc_engine_i.h:315
agora::rtc::RECORDING_JOIN_EVT_MAXUDPPORT
@ RECORDING_JOIN_EVT_MAXUDPPORT
Definition: rtc_engine_i.h:120
agora::rtc::RTC_EVENT::VIDEO_SIZE_CHANGED
@ VIDEO_SIZE_CHANGED
agora::rtc::IRtcEngineInternal::printLog
virtual int printLog(int level, const char *message)=0
agora::rtc::video_transport_packet_info::uid
uid_t uid
Definition: rtc_engine_i.h:288
agora::rtc::RTC_EVENT::ERROR_EVENT
@ ERROR_EVENT
agora::rtc::RECORDING_LEAVE_EVT_RESERVE5
@ RECORDING_LEAVE_EVT_RESERVE5
Definition: rtc_engine_i.h:145
agora::rtc::IRtcEngineEventHandler::eventHandlerType
virtual const char * eventHandlerType() const
Definition: IAgoraRtcEngine.h:1503
agora::rtc::RTC_EVENT::PRIVILEGE_WILL_EXPIRE
@ PRIVILEGE_WILL_EXPIRE
agora::rtc::RTC_EVENT::WLACC_STATS
@ WLACC_STATS
agora::rtc::RTC_EVENT::AUDIO_MIXING_POSITION_CHANGED
@ AUDIO_MIXING_POSITION_CHANGED
agora::rtc::RTC_EVENT::REMOTE_SUBSCRIBE_FALLBACK_TO_AUDIO_ONLY
@ REMOTE_SUBSCRIBE_FALLBACK_TO_AUDIO_ONLY
agora::rtc::InternalEngineStatus::audio_send_frame_rate
int audio_send_frame_rate
Definition: rtc_engine_i.h:92
agora::rtc::RTC_EVENT::LASTMILE_PROBE_RESULT
@ LASTMILE_PROBE_RESULT
agora::rtc::INTERFACE_ID_EX_TYPE
INTERFACE_ID_EX_TYPE
Definition: rtc_engine_i.h:82
agora::rtc::RTC_EVENT::VIDEO_DEVICE_STATE_CHANGED
@ VIDEO_DEVICE_STATE_CHANGED
agora::rtc::WebAgentVideoStats::delay
int delay
Definition: rtc_engine_i.h:346
agora::rtc::IRtcEngineEventHandlerEx
Definition: IAgoraRtcEngineEx.h:42
agora::rtc::RECORDING_JOIN_EVT_LANGUAGE
@ RECORDING_JOIN_EVT_LANGUAGE
Definition: rtc_engine_i.h:130
agora::rtc::RTC_EVENT::UPLOAD_LOG_RESULT
@ UPLOAD_LOG_RESULT
agora::rtc::RecordingEventType::RECORDING_EVENT_UNKNOWN
@ RECORDING_EVENT_UNKNOWN
agora::rtc::IRtcEngineInternal::soundPositionChannel
virtual int soundPositionChannel(uid_t uid)=0
agora::rtc::RtcEngineLibHelper::getVersion
const char * getVersion(int *build)
Definition: rtc_engine_i.h:541
agora::rtc::APP_TYPE_C_SHARP
@ APP_TYPE_C_SHARP
Definition: rtc_engine_i.h:166
agora::user_id_t
const char * user_id_t
Definition: AgoraBase.h:806
agora::rtc::RTC_EVENT::USER_TRANSPORT_STAT
@ USER_TRANSPORT_STAT
agora::rtc::video_transport_packet_info::sent_ts
unsigned int sent_ts
Definition: rtc_engine_i.h:290
agora::rtc::IRtcEngineInternal::setupAudioAttributeContext
virtual int setupAudioAttributeContext(void *audioAttr)=0
agora::rtc::VideoEncoderConfiguration
Definition: AgoraBase.h:1868
agora::rtc::RTC_EVENT::MEDIA_ENGINE_START_CALL_SUCCESS
@ MEDIA_ENGINE_START_CALL_SUCCESS
agora::rtc::APP_TYPE_CEF
@ APP_TYPE_CEF
Definition: rtc_engine_i.h:167
agora::rtc::IRtcEngineEventHandler
Definition: IAgoraRtcEngine.h:1499
agora::rtc::region_info::height
double height
Definition: rtc_engine_i.h:567
agora::rtc::canvas_info::bgcolor
int bgcolor
Definition: rtc_engine_i.h:558
agora::rtc::IRtcEngineInternal::setCameraDevice
virtual int setCameraDevice(const char dev_id[MAX_DEVICE_ID_LENGTH])=0
agora::rtc::IRtcEngineEventHandlerInternal
Definition: rtc_engine_i.h:352
agora::rtc::RECORDING_JOIN_EVT_RESERVE1
@ RECORDING_JOIN_EVT_RESERVE1
Definition: rtc_engine_i.h:131
agora::rtc::APP_TYPE_NATIVE
@ APP_TYPE_NATIVE
Definition: rtc_engine_i.h:154
agora::rtc::layout_info::canvas
canvas_info canvas
Definition: rtc_engine_i.h:579
agora::rtc::INIT_BEGIN
@ INIT_BEGIN
Definition: rtc_engine_i.h:303
agora::rtc::layout_info
Definition: rtc_engine_i.h:577
agora::rtc::RTC_EVENT::RTMP_STREAMING_STATE
@ RTMP_STREAMING_STATE
agora::rtc::IRtcEngineInternal::getProfile
virtual int getProfile(std::string &result)=0
agora::rtc::RTC_EVENT::STREAM_MESSAGE_ERROR
@ STREAM_MESSAGE_ERROR
agora::rtc::APP_TYPE_COCOS
@ APP_TYPE_COCOS
Definition: rtc_engine_i.h:155
agora::rtc::RTC_EVENT::USER_INFO_UPDATED
@ USER_INFO_UPDATED
agora::rtc::RECORDING_JOIN_EVT_MIXMODE
@ RECORDING_JOIN_EVT_MIXMODE
Definition: rtc_engine_i.h:113
agora::rtc::InternalEngineStatus::audio_recv_packet_rate
int audio_recv_packet_rate
Definition: rtc_engine_i.h:94
agora::rtc::IRtcEngineInternal::getParametersEx
virtual int getParametersEx(const RtcConnection &connection, const char *key, std::string &results)=0
agora::rtc::RTC_EVENT::CLIENT_ROLE_CHANGED
@ CLIENT_ROLE_CHANGED
agora::rtc::RTC_EVENT::CROSS_CHANNEL_EVENT
@ CROSS_CHANNEL_EVENT
agora::rtc::IRtcAvTransportPacketInfoObserver
Definition: rtc_engine_i.h:307
agora::rtc::canvas_info
Definition: rtc_engine_i.h:555
agora
Definition: AgoraAtomicOps.h:21
agora::base::IParameterEngine::getParameters
virtual int getParameters(const char *key, commons::cjson::JsonWrapper &result)=0
agora::rtc::RTC_EVENT::CONNECTION_INTERRUPTED
@ CONNECTION_INTERRUPTED
agora::rtc::RECORDING_JOIN_EVT_AUDIOONLY
@ RECORDING_JOIN_EVT_AUDIOONLY
Definition: rtc_engine_i.h:125
agora::rtc::APP_TYPE_UNI_APP
@ APP_TYPE_UNI_APP
Definition: rtc_engine_i.h:168
agora::rtc::RECORDING_JOIN_EVT_LIVEMODE
@ RECORDING_JOIN_EVT_LIVEMODE
Definition: rtc_engine_i.h:123
agora::rtc::RTC_EVENT::NETWORK_QUALITY
@ NETWORK_QUALITY
agora::rtc::RTC_EVENT::OPEN_CHANNEL_SUCCESS
@ OPEN_CHANNEL_SUCCESS
agora::rtc::region_info::render_mode
int render_mode
Definition: rtc_engine_i.h:571
agora::rtc::RTC_EVENT::UPLINK_NETWORK_INFO_UPDATE
@ UPLINK_NETWORK_INFO_UPDATE
agora::rtc::RTC_EVENT::RHYTHM_PLAYFR_STATE_CHANGED
@ RHYTHM_PLAYFR_STATE_CHANGED
agora::rtc::RTC_EVENT::MEDIA_ENGINE_START_CAMERA_SUCCESS
@ MEDIA_ENGINE_START_CAMERA_SUCCESS
agora::rtc::audio_transport_packet_info::sent_ts
unsigned int sent_ts
Definition: rtc_engine_i.h:297
agora::rtc::RTC_EVENT::REMOTE_VIDEO_STATE_CHANGED_EXT
@ REMOTE_VIDEO_STATE_CHANGED_EXT
agora::rtc::ENGINE_INIT_TS_POSITION
ENGINE_INIT_TS_POSITION
Definition: rtc_engine_i.h:300
agora::rtc::RTC_EVENT::USER_OFFLINE
@ USER_OFFLINE
agora::rtc::WebAgentVideoStats::sentFrameRate
int sentFrameRate
Definition: rtc_engine_i.h:347
agora::rtc::SCREEN_SHARING_MOVIE
@ SCREEN_SHARING_MOVIE
Definition: rtc_engine_i.h:86
agora::rtc::IRtcEngineInternal::setAppType
virtual int32_t setAppType(APP_TYPE appType)=0
agora::rtc::RTC_EVENT::PEER_USER_INFO_UPDATED
@ PEER_USER_INFO_UPDATED
agora::rtc::RTC_EVENT::FIRST_LOCAL_VIDEO_FRAME
@ FIRST_LOCAL_VIDEO_FRAME
agora::rtc::RECORDING_JOIN_EVT_TRIGGERMODE
@ RECORDING_JOIN_EVT_TRIGGERMODE
Definition: rtc_engine_i.h:129
agora::rtc::RTC_EVENT::USER_ENABLE_LOCAL_VIDEO
@ USER_ENABLE_LOCAL_VIDEO
agora::rtc::RTC_EVENT::LOCAL_USER_REGISTERED
@ LOCAL_USER_REGISTERED
agora::rtc::CREATE_BEGIN
@ CREATE_BEGIN
Definition: rtc_engine_i.h:301
agora::rtc::RTC_EVENT::WARNING_EVENT
@ WARNING_EVENT
agora::rtc::RTC_EVENT::VIDEO_RENDERING_TRACING_RESULT
@ VIDEO_RENDERING_TRACING_RESULT
agora::rtc::IRtcEngineInternal::enableYuvDumper
virtual int enableYuvDumper(bool enable)=0
agora::rtc::IRtcAvTransportPacketInfoObserver::onAudioTransportPacketInfo
virtual void onAudioTransportPacketInfo(const audio_transport_packet_info &info)=0
agora::rtc::EncryptionConfigInternal::ToEncryptionConfig
void ToEncryptionConfig(EncryptionConfig &config) const
Definition: rtc_engine_i.h:594
agora::rtc::RTC_EVENT::LIVE_TRANSCODING
@ LIVE_TRANSCODING
agora::rtc::RTC_EVENT::PROXY_SUCCESS
@ PROXY_SUCCESS
agora::rtc::RECORDING_JOIN_EVT_MIXEDVIDEOAUDIOMODE
@ RECORDING_JOIN_EVT_MIXEDVIDEOAUDIOMODE
Definition: rtc_engine_i.h:114
agora::rtc::SCREEN_SHARING_MODE
SCREEN_SHARING_MODE
Definition: rtc_engine_i.h:86
agora::rtc::INIT_END
@ INIT_END
Definition: rtc_engine_i.h:304
agora::rtc::IRtcEngineInternal::GetScreenCaptureType
virtual int GetScreenCaptureType()=0
agora::rtc::RECORDING_JOIN_EVT_IDLE
@ RECORDING_JOIN_EVT_IDLE
Definition: rtc_engine_i.h:124
agora::rtc::IRtcEngineInternal::reportArgusCounters
virtual int reportArgusCounters(int *counterId, int *value, int count, uid_t uid)=0
agora::rtc::IRtcEngineInternal::getSid
virtual const char * getSid(const RtcConnection &connection={})=0
agora::base::IParameterEngine::~IParameterEngine
virtual ~IParameterEngine()
Definition: rtc_engine_i.h:42
agora::rtc::RTC_EVENT::CLIENT_ROLE_CHANGE_FAILED
@ CLIENT_ROLE_CHANGE_FAILED
agora::rtc::RTC_EVENT::AUDIO_DEVICE_STATE_CHANGED
@ AUDIO_DEVICE_STATE_CHANGED
agora::rtc::InternalEngineStatus
Definition: rtc_engine_i.h:89
agora::rtc::IRtcEngineInternal::switchCameraId
virtual int switchCameraId(const char *cameraId)=0
agora::rtc::IRtcEngineInternal::reportWebAgentVideoStats
virtual int reportWebAgentVideoStats(const WebAgentVideoStats &stats)=0
agora::rtc::IRtcEngineInternal::setTimestamp
virtual int setTimestamp(ENGINE_INIT_TS_POSITION ts_position, uint64_t ts)=0
agora::rtc::RECORDING_JOIN_EVT_DECODEAUDIOTYPE
@ RECORDING_JOIN_EVT_DECODEAUDIOTYPE
Definition: rtc_engine_i.h:121
agora::rtc::RTC_EVENT::AUDIO_VOLUME_INDICATION
@ AUDIO_VOLUME_INDICATION
agora::rtc::IRtcEngineInternal::~IRtcEngineInternal
virtual ~IRtcEngineInternal()
Definition: rtc_engine_i.h:368
agora::rtc::RECORDING_JOIN_EVT_MIXHIGH
@ RECORDING_JOIN_EVT_MIXHIGH
Definition: rtc_engine_i.h:115
agora::media::RecorderInfo
Definition: AgoraMediaBase.h:1927
agora::rtc::EncryptionConfig::encryptionMode
ENCRYPTION_MODE encryptionMode
Definition: AgoraBase.h:5856
agora::rtc::InternalEngineStatus::audio_send_packet_rate
int audio_send_packet_rate
Definition: rtc_engine_i.h:93
agora::rtc::IRtcEngineInternal
Definition: rtc_engine_i.h:366
agora::rtc::RtcEngineContextInternal::maxOutputBitrateKpbs
int maxOutputBitrateKpbs
Definition: rtc_engine_i.h:317
agora::rtc::RtcEngineContextInternal::extensionObserverProxy
agora_refptr< IMediaExtensionObserver > extensionObserverProxy
Definition: rtc_engine_i.h:320
agora::rtc::RTC_EVENT::FIRST_REMOTE_AUDIO_DECODED
@ FIRST_REMOTE_AUDIO_DECODED
agora::rtc::APP_TYPE_COCOS_CREATOR
@ APP_TYPE_COCOS_CREATOR
Definition: rtc_engine_i.h:164
agora::rtc::RECORDING_JOIN_EVT_START
@ RECORDING_JOIN_EVT_START
Definition: rtc_engine_i.h:112
agora::rtc::IRtcEngineInternal::initializeInternal
virtual int initializeInternal(const RtcEngineContextInternal &context)=0
agora::media::IMediaRecorderObserverEx::~IMediaRecorderObserverEx
virtual ~IMediaRecorderObserverEx()
Definition: rtc_engine_i.h:75
agora::rtc::RTC_EVENT::FIRST_LOCAL_AUDIO_FRAME_PUBLISHED
@ FIRST_LOCAL_AUDIO_FRAME_PUBLISHED
agora::rtc::RTC_EVENT::VIDEO_PUBLISH_STATE_CHANGED
@ VIDEO_PUBLISH_STATE_CHANGED
agora::rtc::EncryptionConfigInternal::EncryptionConfigInternal
EncryptionConfigInternal(const EncryptionConfig &config)
Definition: rtc_engine_i.h:587
agora::rtc::RtcEngineContextInternal::RtcEngineContextInternal
RtcEngineContextInternal()
Definition: rtc_engine_i.h:329
agora::rtc::APP_TYPE_FLUTTER
@ APP_TYPE_FLUTTER
Definition: rtc_engine_i.h:158
agora::media::RecorderState
RecorderState
Definition: AgoraMediaBase.h:1828
agora::rtc::video_transport_packet_info::ts
unsigned int ts
Definition: rtc_engine_i.h:291
agora::rtc::CREATE_END
@ CREATE_END
Definition: rtc_engine_i.h:302
agora::rtc::IRtcEngineInternal::setLogLevelEx
virtual int setLogLevelEx(unsigned int filter)=0
agora::rtc::WebAgentVideoStats::skippedFrames
int skippedFrames
Definition: rtc_engine_i.h:349
agora::rtc::RtcEngineLibHelper::deinitialize
void deinitialize()
Definition: rtc_engine_i.h:518
agora::media::IMediaRecorderObserverEx::onRecorderStateChanged
virtual void onRecorderStateChanged(RecorderState state, RecorderReasonCode reason)=0
agora::rtc::RTC_EVENT::STREAM_MESSAGE
@ STREAM_MESSAGE
agora::rtc::RtcConnection
Definition: IAgoraRtcEngineEx.h:20
agora::rtc::RTC_EVENT::FACE_DETECT_VALUE
@ FACE_DETECT_VALUE
agora::rtc::EncryptionConfig::encryptionKdfSalt
uint8_t encryptionKdfSalt[32]
Definition: AgoraBase.h:5869
agora::rtc::RTC_EVENT::PUBLISH_STREAM_EVENT
@ PUBLISH_STREAM_EVENT
agora::rtc::RTC_EVENT::VIDEO_SUBSCRIBE_STATE_CHANGED
@ VIDEO_SUBSCRIBE_STATE_CHANGED
agora::rtc::RTC_EVENT::AUDIO_ROUTING_CHANGED
@ AUDIO_ROUTING_CHANGED
agora::rtc::RTC_EVENT::LASTMILE_QUALITY
@ LASTMILE_QUALITY
agora::rtc::ENCRYPTION_MODE
ENCRYPTION_MODE
Definition: AgoraBase.h:5819
agora::rtc::InternalEngineStatus::farin_signal_level
int farin_signal_level
Definition: rtc_engine_i.h:97
agora::rtc::RTC_EVENT::JOIN_PUBLISHER_REQUEST
@ JOIN_PUBLISHER_REQUEST
agora::rtc::IRtcEngineEx
Definition: IAgoraRtcEngineEx.h:1045
agora::rtc::region_info::alpha
int alpha
Definition: rtc_engine_i.h:569
agora::rtc::RECORDING_JOIN_EVT_MINUDPPORT
@ RECORDING_JOIN_EVT_MINUDPPORT
Definition: rtc_engine_i.h:119
agora::rtc::IRtcEngineEventHandlerInternal::onEvent
virtual bool onEvent(RTC_EVENT evt, const std::string *payload)
Definition: rtc_engine_i.h:356
agora::rtc::IRtcEngineInternal::simulateOnSetParameters
virtual int simulateOnSetParameters(const std::string &parameters)=0
agora::rtc::RtcEngineContextInternal::isPureCpp
bool isPureCpp
Definition: rtc_engine_i.h:327
agora::rtc::RTC_EVENT::AUDIO_METADATA_RECEIVED
@ AUDIO_METADATA_RECEIVED
agora::rtc::RTC_EVENT::NATIVE_LOG
@ NATIVE_LOG
agora::rtc::RTC_EVENT::REMOTE_AUDIO_STATE_CHANGED
@ REMOTE_AUDIO_STATE_CHANGED
agora::rtc::IRtcEngineInternal::setExternalVideoConfigEx
virtual int setExternalVideoConfigEx(const VideoEncoderConfiguration &config, const RtcConnection &connection)=0
agora::rtc::IRtcEngineInternal::setAudioOptionParams
virtual int setAudioOptionParams(const char *params)=0
agora::rtc::RtcEngineContextInternal::isPassThruMode
bool isPassThruMode
Definition: rtc_engine_i.h:316
agora::rtc::IRtcEngineInternal::setExternalVideoConfigEx
virtual int setExternalVideoConfigEx(const VideoEncoderConfiguration &config)=0
agora::rtc::RTC_EVENT::REQUEST_TOKEN
@ REQUEST_TOKEN
agora::rtc::RTC_EVENT::_INTERNAL_ENGINE_STATUS
@ _INTERNAL_ENGINE_STATUS
agora::rtc::RECORDING_JOIN_EVT_VIDEOONLY
@ RECORDING_JOIN_EVT_VIDEOONLY
Definition: rtc_engine_i.h:126
agora::rtc::RtcEngineLibHelper::createEngine
agora::rtc::IRtcEngine * createEngine()
Definition: rtc_engine_i.h:537
agora::media::IMediaRecorderObserverEx::onRecorderInfoUpdated
virtual void onRecorderInfoUpdated(const RecorderInfo &info)=0
agora::rtc::layout_info::ms
long long ms
Definition: rtc_engine_i.h:578
agora::rtc::IRtcEngineInternal::initializeEx
virtual int initializeEx(const RtcEngineContextInternal &context)=0
agora::rtc::RTC_EVENT::USER_JOINED
@ USER_JOINED
agora::rtc::WebAgentVideoStats::renderedFrameRate
int renderedFrameRate
Definition: rtc_engine_i.h:348
agora::rtc::region_info::id
unsigned id
Definition: rtc_engine_i.h:562
agora::rtc::RTC_EVENT::NETWORK_TYPE_CHANGED
@ NETWORK_TYPE_CHANGED
agora::rtc::decode_sei_layout
AGORA_API bool AGORA_CALL decode_sei_layout(const void *data, unsigned size, layout_info *layout)
agora::rtc::IRtcEngineInternal::ref
virtual aosl_ref_t ref()=0
agora::rtc::IRtcEngineInternal::setMediaRecorderObserver
virtual int setMediaRecorderObserver(const char *channelId, uid_t uid, bool isLocal, media::IMediaRecorderObserverEx *observer, int sys_version=0)=0
agora::rtc::EncryptionConfig
Definition: AgoraBase.h:5851
agora::rtc::RTC_EVENT::VIDEO_LAYOUT_INFO
@ VIDEO_LAYOUT_INFO
agora::rtc::RTC_EVENT::STREAM_INJECTED_STATUS
@ STREAM_INJECTED_STATUS
agora::rtc::RECORDING_JOIN_EVT_MIXKBPS
@ RECORDING_JOIN_EVT_MIXKBPS
Definition: rtc_engine_i.h:118
agora::rtc::RTC_EVENT::RECAP_INDICATION
@ RECAP_INDICATION
agora::rtc::RTC_EVENT::UNPUBLISH_URL
@ UNPUBLISH_URL
agora::rtc::RECORDING_JOIN_EVT_SYSLOGFACILITY
@ RECORDING_JOIN_EVT_SYSLOGFACILITY
Definition: rtc_engine_i.h:127
agora::rtc::RTC_EVENT::JOIN_PUBILSHER_RESPONSE
@ JOIN_PUBILSHER_RESPONSE
agora::rtc::AGORA_IID_RTC_ENGINE_EX
@ AGORA_IID_RTC_ENGINE_EX
Definition: rtc_engine_i.h:83
agora::rtc::RECORDING_LEAVE_EVT_START
@ RECORDING_LEAVE_EVT_START
Definition: rtc_engine_i.h:139
agora::rtc::RTC_EVENT::AUDIO_MIXING_STATE_CHANGED
@ AUDIO_MIXING_STATE_CHANGED
agora::rtc::region_info::width
double width
Definition: rtc_engine_i.h:566
agora::rtc::EncryptionConfig::datastreamEncryptionEnabled
bool datastreamEncryptionEnabled
Definition: AgoraBase.h:5871
agora::rtc::region_info
Definition: rtc_engine_i.h:561
agora::rtc::RtcEngineLibHelper::initialize
bool initialize()
Definition: rtc_engine_i.h:488
agora::media::MediaRecorderConfiguration
Definition: AgoraMediaBase.h:1874
agora::rtc::canvas_info::height
int height
Definition: rtc_engine_i.h:557
agora::base::IParameterEngine
Definition: rtc_engine_i.h:38
agora::rtc::RTC_EVENT::CAMERA_FOCUS_AREA_CHANGED
@ CAMERA_FOCUS_AREA_CHANGED
agora::rtc::RecordingEventType
RecordingEventType
Definition: rtc_engine_i.h:101
agora::rtc::RTC_EVENT::TRANSPORT_SERVER_INSTANCE
@ TRANSPORT_SERVER_INSTANCE
agora::rtc::RECORDING_LEAVE_EVT_LEAVEPATHCODE
@ RECORDING_LEAVE_EVT_LEAVEPATHCODE
Definition: rtc_engine_i.h:140
agora::rtc::RecordingEventType::RECORDING_EVENT_LEAVE
@ RECORDING_EVENT_LEAVE
agora::rtc::RTC_EVENT::REMOTE_VIDEO_STREAM_INFO_UPDATED
@ REMOTE_VIDEO_STREAM_INFO_UPDATED
agora::rtc::RTC_EVENT::LOCAL_PUBLISH_FALLBACK_TO_AUDIO_ONLY
@ LOCAL_PUBLISH_FALLBACK_TO_AUDIO_ONLY
agora::rtc::RTC_EVENT
RTC_EVENT
Definition: rtc_engine_i.h:171
agora::rtc::APP_TYPE_REACT_NATIVE
@ APP_TYPE_REACT_NATIVE
Definition: rtc_engine_i.h:162
agora::rtc::RtcEngineLibHelper::~RtcEngineLibHelper
~RtcEngineLibHelper()
Definition: rtc_engine_i.h:533
agora::rtc::region_info::zorder
int zorder
Definition: rtc_engine_i.h:572
agora::rtc::RTC_EVENT::CROSS_CHANNEL_STATE
@ CROSS_CHANNEL_STATE
agora::rtc::RTC_EVENT::PUBLISH_STREAM_STATE
@ PUBLISH_STREAM_STATE
agora::rtc::InternalEngineStatus::playoutfreq
int playoutfreq
Definition: rtc_engine_i.h:91
agora::rtc::RTC_EVENT::LOCAL_VIDEO_STATE_CHANGED
@ LOCAL_VIDEO_STATE_CHANGED
agora::rtc::RtcEngineContext
Definition: IAgoraRtcEngine.h:3114
agora::rtc::RtcEngineLibHelper::isValid
bool isValid()
Definition: rtc_engine_i.h:535
agora::rtc::RTC_EVENT::SNAPSHOT_TAKEN
@ SNAPSHOT_TAKEN
agora::rtc::IRtcEngine
Definition: IAgoraRtcEngine.h:3531
agora::rtc::audio_transport_packet_info::uid
uid_t uid
Definition: rtc_engine_i.h:295
agora::rtc::EncryptionConfigInternal::datastreamEncryptionEnabled
bool datastreamEncryptionEnabled
Definition: rtc_engine_i.h:605
agora::rtc::RTC_EVENT::REMOVE_PUBLISHER_REQUEST
@ REMOVE_PUBLISHER_REQUEST
agora::rtc::APP_TYPE_ELECTRON
@ APP_TYPE_ELECTRON
Definition: rtc_engine_i.h:157
agora::rtc::RECORDING_JOIN_EVT_MIXFPS
@ RECORDING_JOIN_EVT_MIXFPS
Definition: rtc_engine_i.h:117
agora::rtc::RTC_EVENT::RTC_STATS
@ RTC_STATS
agora::rtc::RTC_EVENT::LOCAL_AUDIO_STATE_CHANGED
@ LOCAL_AUDIO_STATE_CHANGED
agora::rtc::IRtcAvTransportPacketInfoObserver::~IRtcAvTransportPacketInfoObserver
virtual ~IRtcAvTransportPacketInfoObserver()=default
agora::rtc::RTC_EVENT::FIRST_LOCAL_VIDEO_FRAME_PUBLISHED
@ FIRST_LOCAL_VIDEO_FRAME_PUBLISHED
agora::rtc::RtcEngineContextInternal::is_p2p_switch_enabled_
bool is_p2p_switch_enabled_
Definition: rtc_engine_i.h:325
agora::rtc::RECORDING_JOIN_EVT_DECODEVIDEOTYPE
@ RECORDING_JOIN_EVT_DECODEVIDEOTYPE
Definition: rtc_engine_i.h:122
agora::rtc::EncryptionConfig::encryptionKey
const char * encryptionKey
Definition: AgoraBase.h:5862
agora::rtc::APP_TYPE_INVALID_VALUE
@ APP_TYPE_INVALID_VALUE
Definition: rtc_engine_i.h:153
agora::rtc::canvas_info::width
int width
Definition: rtc_engine_i.h:556
agora::rtc::IRtcEngineInternal::monitorDeviceChange
virtual int monitorDeviceChange(bool enabled)=0
agora::rtc::RTC_EVENT::USER_MUTE_AUDIO
@ USER_MUTE_AUDIO
agora::rtc::IRtcEngineInternal::startRecording
virtual int startRecording(const char *channelId, uid_t uid, bool isLocal, const media::MediaRecorderConfiguration &config)=0
agora::rtc::audio_transport_packet_info
Definition: rtc_engine_i.h:294
agora::rtc::APP_TYPE
APP_TYPE
Definition: rtc_engine_i.h:152
agora::rtc::RTC_EVENT::WLACC_MESSAGE
@ WLACC_MESSAGE
agora::rtc::uid_t
unsigned int uid_t
Definition: AgoraMediaBase.h:28
agora::rtc::RECORDING_LEAVE_EVT_RESERVE1
@ RECORDING_LEAVE_EVT_RESERVE1
Definition: rtc_engine_i.h:141
agora::rtc::RTC_EVENT::CONNECTION_BANNED
@ CONNECTION_BANNED
agora::rtc::IRtcEngineInternal::reportEngineInitializeEvent
virtual void reportEngineInitializeEvent() const =0
agora::rtc::IRtcEngineInternal::getConnection
virtual agora_refptr< IRtcConnection > getConnection(const RtcConnection &connection={}) const =0
agora::rtc::RecordingEventType::RECORDING_EVENT_END
@ RECORDING_EVENT_END
agora::rtc::EncryptionConfigInternal::encryptionKey
std::string encryptionKey
Definition: rtc_engine_i.h:603
agora::rtc::region_info::y
double y
Definition: rtc_engine_i.h:565
agora::rtc::RTC_EVENT::DOWNLINK_NETWORK_INFO_UPDATE
@ DOWNLINK_NETWORK_INFO_UPDATE
agora::rtc::IRtcEngineInternal::getMediaPlayer
virtual aosl_ref_t getMediaPlayer(int sourceId)=0
agora::rtc::IRtcEngineInternal::getAudioOptionParams
virtual int getAudioOptionParams(char *params)=0
agora::rtc::APP_TYPE_PYTHON
@ APP_TYPE_PYTHON
Definition: rtc_engine_i.h:163
agora::rtc::IRtcEngineInternal::isMicrophoneOn
virtual bool isMicrophoneOn()=0
agora::rtc::IRtcEngineInternal::isEventHandler
static bool isEventHandler(IRtcEngineEventHandler *handler)
Definition: rtc_engine_i.h:449
agora::rtc::IRtcEngineInternal::initialized
virtual bool initialized()=0
agora::media::RecorderReasonCode
RecorderReasonCode
Definition: AgoraMediaBase.h:1847
agora::rtc::InternalEngineStatus::nearout_signal_level
int nearout_signal_level
Definition: rtc_engine_i.h:96
agora::rtc::RECORDING_JOIN_EVT_STREAMTYPE
@ RECORDING_JOIN_EVT_STREAMTYPE
Definition: rtc_engine_i.h:128
agora::rtc::IRtcEngineInternal::setVideoConfigParam
virtual int setVideoConfigParam(const char *params)=0
agora::rtc::RTC_EVENT::REMOTE_AUDIO_STAT
@ REMOTE_AUDIO_STAT
agora::rtc::RTC_EVENT::CAMERA_EXPOSURE_AREA_CHANGED
@ CAMERA_EXPOSURE_AREA_CHANGED
agora::rtc::layout_info::region_count
unsigned int region_count
Definition: rtc_engine_i.h:581
agora::rtc::RTC_EVENT::FIRST_REMOTE_AUDIO_FRAME
@ FIRST_REMOTE_AUDIO_FRAME
agora::rtc::RTC_EVENT::FIRST_REMOTE_VIDEO_DECODED
@ FIRST_REMOTE_VIDEO_DECODED
agora::rtc::IRtcEngineInternal::getAgoraService
virtual base::IAgoraService * getAgoraService()=0
agora::rtc::RTC_EVENT::CONNECTION_STATE_CHANGED
@ CONNECTION_STATE_CHANGED
agora::rtc::IRtcEngineInternal::getRecentSid
virtual std::string getRecentSid(const RtcConnection *connnection)=0
agora::rtc::RtcEngineContextInternal::RtcEngineContextInternal
RtcEngineContextInternal(const RtcEngineContext &ctx)
agora::rtc::RTC_EVENT::SET_RTM_FLAG_RESULT
@ SET_RTM_FLAG_RESULT
agora::rtc::RtcEngineLibHelper::RtcEngineLibHelper
RtcEngineLibHelper(const char *dllname)
Definition: rtc_engine_i.h:481
agora::rtc::IRtcEngineInternal::putMediaPlayer
virtual int putMediaPlayer(int sourceId)=0
agora::rtc::RTC_EVENT::MEDIA_ENGINE_EVENT
@ MEDIA_ENGINE_EVENT
agora::rtc::RTC_EVENT::QUERY_RECORDING_SERVICE_STATUS
@ QUERY_RECORDING_SERVICE_STATUS
agora::rtc::MAX_RECORDING_JOIN_EVT_RESERVE15
@ MAX_RECORDING_JOIN_EVT_RESERVE15
Definition: rtc_engine_i.h:135
rtc
Definition: video_node_i.h:28
agora::rtc::RTC_EVENT::LEAVE_CHANNEL
@ LEAVE_CHANNEL
agora::rtc::APP_TYPE_XAMARIN
@ APP_TYPE_XAMARIN
Definition: rtc_engine_i.h:160
agora::rtc::RTC_EVENT::TRANSPORT_QUALITY
@ TRANSPORT_QUALITY
agora::rtc::RTC_EVENT::VIDEO_STOPPED
@ VIDEO_STOPPED
agora::rtc::RTC_EVENT::PERMISSION_ERROR_EVENT
@ PERMISSION_ERROR_EVENT
agora::rtc::RECORDING_LEAVE_EVT_MAX
@ RECORDING_LEAVE_EVT_MAX
Definition: rtc_engine_i.h:146
agora::rtc::APP_TYPE_UNREAL
@ APP_TYPE_UNREAL
Definition: rtc_engine_i.h:159
agora::rtc::RTC_EVENT::REMOTE_VIDEO_STAT
@ REMOTE_VIDEO_STAT
agora::rtc::EncryptionConfigInternal
Definition: rtc_engine_i.h:585
agora::rtc::RECORDING_JOIN_EVT_MIXLOW
@ RECORDING_JOIN_EVT_MIXLOW
Definition: rtc_engine_i.h:116
agora::rtc::InternalEngineStatus::nearin_signal_level
int nearin_signal_level
Definition: rtc_engine_i.h:95
agora::base::IParameterEngine::setParametersInternal
virtual int setParametersInternal(const char *parameters, int priority)=0
agora::rtc::IRtcEngineInternal::enableVosUserInfoHidden
virtual int32_t enableVosUserInfoHidden(bool enabled)=0