enable estimated device delay : "{\"rtc.audio.enable_estimated_device_delay": true}"
#pragma once // NOLINT(build/header_guard)
#define KEY_RTC_UDP_PORT_RANGE "rtc.udp_port_range"
#define KEY_RTC_UDP_PORT_LIST "rtc.udp_port_list"
#define KEY_RTC_UDP_SEND_FD "rtc.udp_send_fd"
#define KEY_RTC_VIDEO_ENABLED_HW_ENCODER "engine.video.enable_hw_encoder"
#define KEY_RTC_VIDEO_HW_ENCODER_PROVIDER "engine.video.hw_encoder_provider"
#define KEY_RTC_VIDEO_ENABLED_HW_DECODER "engine.video.enable_hw_decoder"
#define KEY_RTC_VIDEO_HW_DECODER_PROVIDER "engine.video.hw_decoder_provider"
#define KEY_RTC_VIDEO_OVERRIDE_SMALLVIDEO_NOT_USE_HWENC_POLICY "engine.video.override_smallvideo_not_use_hwenc_policy"
#define KEY_RTC_VIDEO_RESEND "rtc.video_resend"
#define KEY_RTC_AUDIO_RESEND "rtc.audio_resend"
#define KEY_RTC_AUDIO_ENABLE_AGORA_AEC "rtc.audio.aec.enable"
#define KEY_RTC_AUDIO_AEC_AGGRESSIVENESS "rtc.audio.aec.aggressiveness"
#define KEY_RTC_AUDIO_MAX_TARGET_DELAY "rtc.audio.max_target_delay"
#define KEY_RTC_AUDIO_ENABLE_AGORA_AGC "rtc.audio.agc.enable"
#define KEY_RTC_AUDIO_ENABLE_AGORA_ANS "rtc.audio.ans.enable"
#define KEY_RTC_AUDIO_ENABLE_AGORA_MD "rtc.audio.md.enable"
#define KEY_RTC_AUDIO_OPENSL_MODE "rtc.audio.opensl.mode"
#define KEY_RTC_AUDIO_ENABLE_ESTIMATED_DEVICE_DELAY "rtc.audio.enable_estimated_device_delay"
#define KEY_RTC_AUDIO_ENABLE_PREFERRED_AEC_DELAY "rtc.audio.enable_preferred_aec_delay"
#define KEY_RTC_AUDIO_OBOE_ENABLE "rtc.audio.oboe.enable"
#define KEY_RTC_AUDIO_ENABLE_HARDWARE_EAR_MONITOR "rtc.audio.enable_hardware_ear_monitor"
#define KEY_RTC_AUDIO_INPUT_SAMPLE_RATE "rtc.audio.input_sample_rate"
#define KEY_RTC_AUDIO_FORCE_USE_MEDIA_VOLUME "rtc.audio.force_use_media_volume"
#define KEY_RTC_AUDIO_FORCE_BLUETOOTH_A2DP "rtc.audio.force_bluetooth_a2dp"
#define KEY_RTC_AUDIO_KEEP_AUDIOSESSION "rtc.audio.keep.audiosession"
#define KEY_RTC_AUDIO_USE_MEDIA_VOLUME_IN_BLUETOOTH "rtc.audio.use_media_volume_in_bluetooth"
#define KEY_RTC_VIDEO_BITRATE_ADJUST_RATIO "rtc.video.bitrate_adjust_ratio"
#define KEY_RTC_VIDEO_MINBITRATE_RATIO "rtc.video.minbitrate_ratio"
#define KEY_RTC_VIDEO_DEGRADATION_PREFERENCE "rtc.video.degradation_preference"
#define KEY_RTC_VIDEO_DEGRADATION_FPS_DOWN_STEP "rtc.video.degradation_fps_down_step"
#define KEY_RTC_VIDEO_DEGRADATION_FPS_UP_STEP "rtc.video.degradation_fps_up_step"
#define KEY_RTC_CONNECTION_LOST_PERIOD "rtc.connection_lost_period"
#define KEY_RTC_LOCAL_IP "rtc.local.ip"
#define KEY_RTC_NETWORK_INTERFACE "rtc.network.interface"
#define KEY_RTC_VIDEO_CODEC_TYPE "engine.video.codec_type"
#define KEY_RTC_VIDEO_QUALITY_SCALE_ONLY_ON_AVERAGE_QP "engine.video.quality_scale_only_on_average_qp"
#define KEY_RTC_VIDEO_H264_QP_THRESHOLD_LOW "engine.video.h264_qp_thresholds_low"
#define KEY_RTC_VIDEO_H264_QP_THRESHOLD_HIGH "engine.video.h264_qp_thresholds_high"
namespace agora {
namespace util {
template <class T>
class CopyableAutoPtr;
class IString;
typedef CopyableAutoPtr<IString> AString;
}
namespace base {
class IAgoraParameter {
public:
virtual int setBool(
const char* key,
bool value) = 0;
virtual int setInt(
const char* key,
int value) = 0;
virtual int setUInt(
const char* key,
unsigned int value) = 0;
virtual int setNumber(
const char* key,
double value) = 0;
virtual int setString(
const char* key,
const char* value) = 0;
virtual int setObject(
const char* key,
const char* value) = 0;
virtual int setArray(
const char* key,
const char* value) = 0;
virtual int getBool(
const char* key,
bool& value) = 0;
virtual int getInt(
const char* key,
int& value) = 0;
virtual int getUInt(
const char* key,
unsigned int& value) = 0;
virtual int getNumber(
const char* key,
double& value) = 0;
virtual ~IAgoraParameter() {}
};
}
}