force use media volume : "{\"rtc.audio.force_use_media_volume": true}"
force use communication volume : "{"rtc.audio.force_use_media_volume": false}"
#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_ENABLED_HW_DECODER "engine.video.enable_hw_decoder"
#define KEY_RTC_VIDEO_HW_ENCODER_PROVIDER "engine.video.hw_encoder_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_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_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_KEEP_AUDIOSESSION "rtc.audio.keep.audiosession"
#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"
#define KEY_RTC_ENABLE_BUILT_IN_MEDIA_ENCRYPTION "rtc.enable_built_in_media_encryption"
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() {}
};
}
}