Agora C++ API Reference for All Platforms

Loading...
Searching...
No Matches
config_engine_i.h
1//
2// Agora Media SDK
3//
4// Copyright (c) 2020 Agora IO. All rights reserved.
5//
6#pragma once
7
8#include "utils/obfuscator/MetaString.h"
9
10// audio adm/apm/acm/pipeline related parameters begin
11#define CONFIGURABLE_KEY_RTC_AUDIO_UPLINK_APM_ASYNC_PROCESS "che.audio.uplink_apm_async_process"
12#define CONFIGURABLE_KEY_RTC_AUDIO_UPLINK_ACM_ASYNC_PROCESS "che.audio.uplink_acm_async_process"
13#define CONFIGURABLE_KEY_RTC_AUDIO_AEC "che.audio.aec"
14#define CONFIGURABLE_KEY_RTC_AUDIO_AGC "che.audio.agc"
15#define CONFIGURABLE_KEY_RTC_AUDIO_ANS "che.audio.ans"
16#define CONFIGURABLE_KEY_RTC_AUDIO_BYPASS_APM "che.audio.bypassAPM"
17#define CONFIGURABLE_KEY_RTC_AUDIO_BYPASS_HW_APM "che.audio.bypass.hwAPM"
18#define CONFIGURABLE_KEY_RTC_AUDIO_AUDIOLAB_LOG "che.audio.audiolab.log"
19#define CONFIGURABLE_KEY_RTC_AUDIO_SPLITBAND_ALGROUTE "che.audio.splitband.algroute"
20#define CONFIGURABLE_KEY_RTC_AUDIO_ENABLE_REMOTE_TS "che.audio.enable.remote_capture_ts"
21#define CONFIGURABLE_KEY_RTC_AUDIO_BYPASS_PSTN_CALL_EVENT "che.audio.bypass_pstn_call_event"
22#define CONFIGURABLE_KEY_RTC_AUDIO_BYPASS_ADM_SYS_CTL "che.audio.bypass_adm_sys_ctl"
23#define CONFIGURABLE_KEY_RTC_AUDIO_HW_AEC_RELIABLE "che.audio.hw_aec_reliable"
24#define CONFIGURABLE_KEY_RTC_AUDIO_HW_ANS_RELIABLE "che.audio.hw_ans_reliable"
25#define CONFIGURABLE_KEY_RTC_AUDIO_HW_AGC_RELIABLE "che.audio.hw_agc_reliable"
26#define CONFIGURABLE_KEY_RTC_AUDIO_LOW_CPU_COST_MODE "che.audio.low_cpu_cost_mode"
27#define CONFIGURABLE_KEY_RTC_AUDIO_ENABLE_PTS_PASS_THROUGH "che.audio.enable_pts_pass_through"
28
29// AEC related
30#define CONFIGURABLE_KEY_RTC_AUDIO_ENABLE_AEC "che.audio.aec.enable"
31#define CONFIGURABLE_KEY_RTC_AUDIO_AEC_AGGRESSIVENESS "che.audio.aec.aggressiveness"
32#define CONFIGURABLE_KEY_RTC_AUDIO_AEC_SPECIFY_SUPPRESSION_STEP "che.audio.aec.specify_suppression_step"
33#define CONFIGURABLE_KEY_RTC_AUDIO_AEC_COMPLEXITY "che.audio.aec.complexity"
34#define CONFIGURABLE_KEY_RTC_AUDIO_AEC_FILTER_LENGTH "che.audio.aec.filter.length.ms"
35#define CONFIGURABLE_KEY_RTC_AUDIO_AEC_LINEAR_FILTER_TYPE "che.audio.aec.linear_filter_type"
36#define CONFIGURABLE_KEY_RTC_AUDIO_AEC_NLP_SIZE "che.audio.aec.nlp_size"
37#define CONFIGURABLE_KEY_RTC_AUDIO_AEC_NLP_HOP_SIZE "che.audio.aec.nlp_hop_size"
38#define CONFIGURABLE_KEY_RTC_AUDIO_AEC_DELAY_SEARCH_RANGE "che.audio.aec.delay_search_range.ms"
39#define CONFIGURABLE_KEY_RTC_AUDIO_AEC_DELAY_SEARCH_METHOD "che.audio.aec.delay_search_method"
40#define CONFIGURABLE_KEY_RTC_AUDIO_AEC_FIXED_DELAY "che.audio.aec.fixed_delay"
41#define CONFIGURABLE_KEY_RTC_AUDIO_AEC_DELAY_OFFSET "che.audio.aec.delay_offset"
42#define CONFIGURABLE_KEY_RTC_AUDIO_ADM_EXT_RECORDING_DELAY "che.audio.aec.external_recording_source_delay"
43#define CONFIGURABLE_KEY_RTC_AUDIO_AEC_SPLIT_SRATE_FOR_32K "che.audio.aec.split_srate_for_32k"
44#define CONFIGURABLE_KEY_RTC_AUDIO_AEC_SPLIT_SRATE_FOR_48K "che.audio.aec.split_srate_for_48k"
45#define CONFIGURABLE_KEY_RTC_AUDIO_AEC_NLPENABLE "che.audio.aec.nlpEnable"
46#define CONFIGURABLE_KEY_RTC_AUDIO_AEC_ALIGNREFDELAY "che.audio.aec.alignRefDelay"
47#define CONFIGURABLE_KEY_RTC_AUDIO_AEC_STARTUP_SUPPRESS_TIME "che.audio.aec.startup_suppress_time"
48
49// AIAEC related
50#define CONFIGURABLE_KEY_RTC_AUDIO_AIAEC_MAIN_SWITCH "che.audio.aiaec.main_switch"
51#define CONFIGURABLE_KEY_RTC_AUDIO_AIAEC_MODE "che.audio.aiaec.working_mode"
52#define CONFIGURABLE_KEY_RTC_AUDIO_AIAEC_PERF_PROFILE_METHOD "che.audio.aiaec.perf_profile_method"
53#define CONFIGURABLE_KEY_RTC_AUDIO_AIAEC_RESET_PERIOD "che.audio.aiaec.reset_period"
54#define CONFIGURABLE_KEY_RTC_AUDIO_AIAEC_RESET_RATIO "che.audio.aiaec.reset_ratio"
55#define CONFIGURABLE_KEY_RTC_AUDIO_AIAEC_FALLBACK_PERIOD "che.audio.aiaec.fallback_period"
56#define CONFIGURABLE_KEY_RTC_AUDIO_AIAEC_POSTPROCESSING_STRATEGY "che.audio.aiaec.postprocessing_strategy"
57
58// AED related
59#define CONFIGURABLE_KEY_RTC_AUDIO_AED_USECVERSIONLIB "che.audio.aed.useCVerLib"
60#define CONFIGURABLE_KEY_RTC_AUDIO_AED_HOTRESETFRQ "che.audio.aed.HotResetFrq"
61#define CONFIGURABLE_KEY_RTC_AUDIO_AED_MUSIC_THRESHOLD "che.audio.aed.musicThr"
62#define CONFIGURABLE_KEY_RTC_AUDIO_AED_VOICE_THRESHOLD "che.audio.aed.voiceThr"
63#define CONFIGURABLE_KEY_RTC_AUDIO_AED_STATQUANTILE "che.audio.aed.statQuantile"
64
65// AGC related
66#define CONFIGURABLE_KEY_RTC_AUDIO_ENABLE_AGC "che.audio.agc.enable"
67#define CONFIGURABLE_KEY_RTC_AUDIO_AGC_TARGET_LEVEL "che.audio.agc.targetlevelBov"
68#define CONFIGURABLE_KEY_RTC_AUDIO_AGC_COMPRESSION_GAIN "che.audio.agc.compressionGain"
69#define CONFIGURABLE_KEY_RTC_AUDIO_AGC_CURVE_SLOPE "che.audio.agc.curveSlope"
70#define CONFIGURABLE_KEY_RTC_AUDIO_AGC_MODE "che.audio.agc.mode"
71#define CONFIGURABLE_KEY_RTC_AUDIO_RECORD_BOOST "che.audio.agc.recordboost"
72#define INTERNAL_KEY_RTC_AUDIO_AGC_BGOPTMODE "che.audio.agc.bg_mode"
73
74//SF related
75#define CONFIGURABLE_KEY_RTC_AUDIO_SF_ENABLED "che.audio.sf.enabled"
76#define CONFIGURABLE_KEY_RTC_AUDIO_SF_PROCIONSAMPLE "che.audio.sf.procIONSample"
77#define CONFIGURABLE_KEY_RTC_AUDIO_SF_DELAYMODE "che.audio.sf.delayMode"
78#define CONFIGURABLE_KEY_RTC_AUDIO_SF_STFTTYPE "che.audio.sf.stftType"
79#define CONFIGURABLE_KEY_RTC_AUDIO_SF_PROCCHAINMODE "che.audio.sf.procChainMode"
80#define CONFIGURABLE_KEY_RTC_AUDIO_AED_ENABLE "che.audio.aed.enable"
81#define CONFIGURABLE_KEY_RTC_AUDIO_SF_NLPENABLE "che.audio.sf.nlpEnable"
82#define CONFIGURABLE_KEY_RTC_AUDIO_SF_NSENABLE "che.audio.sf.nsEnable"
83#define CONFIGURABLE_KEY_RTC_AUDIO_SF_BIQUADENABLE "che.audio.sf.biquadEnable"
84#define CONFIGURABLE_KEY_RTC_AUDIO_SF_AINLPTOLOADFLAG "che.audio.sf.ainlpToLoadFlag"
85#define CONFIGURABLE_KEY_RTC_AUDIO_SF_AINLPMONITORLEN "che.audio.sf.ainlpMonitorLen"
86#define CONFIGURABLE_KEY_RTC_AUDIO_SF_AINSTOLOADFLAG "che.audio.sf.ainsToLoadFlag"
87#define CONFIGURABLE_KEY_RTC_AUDIO_SF_AINSMONITORLEN "che.audio.sf.ainsMonitorLen"
88#define CONFIGURABLE_KEY_RTC_AUDIO_SF_AINSLOWLATENCYFLAG "che.audio.sf.ainsLowLatencyFlag"
89#define CONFIGURABLE_KEY_RTC_AUDIO_SF_NLPALGROUTE "che.audio.sf.nlpAlgRoute"
90#define CONFIGURABLE_KEY_RTC_AUDIO_SF_NSNGALGROUTE "che.audio.sf.nsngAlgRoute"
91#define CONFIGURABLE_KEY_RTC_AUDIO_SF_NLPFRMREMOVEENGRATIOTHR "che.audio.sf.ainlpFrmRmvThr"
92#define CONFIGURABLE_KEY_RTC_AUDIO_SF_TRDNLPFRMRMVENGRATIOTHR "che.audio.sf.trdnlpFrmRmvThr"
93#define CONFIGURABLE_KEY_RTC_AUDIO_SF_NLPHBANDAGG "che.audio.sf.nlpHbandAgg"
94#define CONFIGURABLE_KEY_RTC_AUDIO_SF_AINSKILLHEBANDFLAG "che.audio.sf.ainsKillHEBandFlag"
95#define CONFIGURABLE_KEY_RTC_AUDIO_SF_AINLPLOWLATENCYFLAG "che.audio.sf.ainlpLowLatencyFlag"
96#define CONFIGURABLE_KEY_RTC_AUDIO_SF_FALLBACKTHRRATIO "che.audio.sf.fallBackThrRatio"
97#define CONFIGURABLE_KEY_RTC_AUDIO_SF_FALLBACKREFMODE "che.audio.sf.fallBackRefMode"
98#define CONFIGURABLE_KEY_RTC_AUDIO_SF_FALLBACKPREF "che.audio.sf.fallBackPref"
99#define CONFIGURABLE_KEY_RTC_AUDIO_SF_NLPNOISEADDTHR "che.audio.sf.nlpNoiseAddThr"
100#define CONFIGURABLE_KEY_RTC_AUDIO_SF_NLPNOISEADDGAIN "che.audio.sf.nlpNoiseAddGain"
101#define CONFIGURABLE_KEY_RTC_AUDIO_SF_NLPAGGRESSIVENESS "che.audio.sf.nlpAggressiveness"
102#define CONFIGURABLE_KEY_RTC_AUDIO_SF_NLPHEADSETAGG "che.audio.sf.nlpHeadsetAgg"
103#define CONFIGURABLE_KEY_RTC_AUDIO_SF_NLPSPKRAGG "che.audio.sf.nlpSpkrAgg"
104#define CONFIGURABLE_KEY_RTC_AUDIO_SF_NLPDYNAMICMODE "che.audio.sf.nlpDynamicMode"
105#define CONFIGURABLE_KEY_RTC_AUDIO_SF_AINLPHOTRESETFRQ "che.audio.sf.ainlpHotResetFrq"
106#define CONFIGURABLE_KEY_RTC_AUDIO_SF_AINLPHOTRESETFACTOR "che.audio.sf.ainlpHotResetFactor"
107#define CONFIGURABLE_KEY_RTC_AUDIO_SF_AINLPMONITORQUANTILE "che.audio.sf.ainlpMonitorQuantile"
108#define CONFIGURABLE_KEY_RTC_AUDIO_SF_NSNGPREDEFAGG "che.audio.sf.nsngPredefAgg"
109#define CONFIGURABLE_KEY_RTC_AUDIO_SF_NSNGMUSICPROBTHR "che.audio.sf.nsngMusicProbThr"
110#define CONFIGURABLE_KEY_RTC_AUDIO_SF_AINSMUSICMODEBACKOFFDB "che.audio.sf.ainsMusicModeBackoffDB"
111#define CONFIGURABLE_KEY_RTC_AUDIO_SF_STATNSMUSICMODEBACKOFFDB "che.audio.sf.statNsMusicModeBackoffDB"
112#define CONFIGURABLE_KEY_RTC_AUDIO_SF_AINSSPEECHPROTECTTHR "che.audio.sf.ainsSpeechProtectThreshold"
113#define CONFIGURABLE_KEY_RTC_AUDIO_SF_STATNSFASTNSSPEECHTRIGTHR "che.audio.sf.statNsFastNsSpeechTrigThreshold"
114#define CONFIGURABLE_KEY_RTC_AUDIO_SF_STATNSENHFACTOR "che.audio.sf.statNsEnhFactor"
115#define CONFIGURABLE_KEY_RTC_AUDIO_SF_STATNSNOISEOVEREST "che.audio.sf.statNsNoiseOverEst"
116#define CONFIGURABLE_KEY_RTC_AUDIO_SF_STATNSOVERDRIVE "che.audio.sf.statNsOverDrive"
117#define CONFIGURABLE_KEY_RTC_AUDIO_SF_STATNSLOWERBOUND "che.audio.sf.statNsLowerBound"
118#define CONFIGURABLE_KEY_RTC_AUDIO_SF_STATNSSPCHUPDATERADIX "che.audio.sf.statNsSpchUpdateRadix"
119#define CONFIGURABLE_KEY_RTC_AUDIO_SF_STATNSNOISEUPDATERADIX "che.audio.sf.statNsNoiseUpdateRadix"
120#define CONFIGURABLE_KEY_RTC_AUDIO_SF_STATNSENDSTARTUPSHORT "che.audio.sf.statNsEndStartupShort"
121#define CONFIGURABLE_KEY_RTC_AUDIO_SF_STATNSENDSTARTUPLONG "che.audio.sf.statNsEndStartupLong"
122#define CONFIGURABLE_KEY_RTC_AUDIO_SF_STATNSNOISEUPDATEQUANTILE "che.audio.sf.statNsNoiseUpdateQuantile"
123#define CONFIGURABLE_KEY_RTC_AUDIO_SF_NSNGMAPINMASKMIN "che.audio.sf.nsngMapInMaskMin"
124#define CONFIGURABLE_KEY_RTC_AUDIO_SF_NSNGMAPOUTMASKMIN "che.audio.sf.nsngMapOutMaskMin"
125#define CONFIGURABLE_KEY_RTC_AUDIO_SF_NSNGFINALMASKLOWERBOUND "che.audio.sf.nsngFinalMaskLowerBound"
126#define CONFIGURABLE_KEY_RTC_AUDIO_SF_NSNGPFMARGIN "che.audio.sf.nsngPfMargin"
127#define CONFIGURABLE_KEY_RTC_AUDIO_SF_AINSHOTRESETFRQ "che.audio.sf.ainsHotResetFrq"
128#define CONFIGURABLE_KEY_RTC_AUDIO_SF_AINSMONITORQUANTILE "che.audio.sf.ainsMonitorQuantile"
129#define CONFIGURABLE_KEY_RTC_AUDIO_SF_NSNGAUXTOOLSMODE "che.audio.sf.nsngAuxToolsMode"
130#define CONFIGURABLE_KEY_RTC_AUDIO_SF_NLPPROCBAND "che.audio.sf.nlpProcBand"
131#define CONFIGURABLE_KEY_RTC_AUDIO_SF_NSPROCBAND "che.audio.sf.nsProcBand"
132#define CONFIGURABLE_KEY_RTC_AUDIO_SF_AINSMODELPREF "che.audio.sf.ainsModelPref"
133#define CONFIGURABLE_KEY_RTC_AUDIO_SF_AINLPMODELPREF "che.audio.sf.ainlpModelPref"
134//vsc
135#define CONFIGURABLE_KEY_RTC_AUDIO_VSC_ENABLED "che.audio.vsc.enabled"
136#define CONFIGURABLE_KEY_RTC_AUDIO_VSC_SELFCONFIG "che.audio.vsc.self_config"
137
138// ANS related
139#define CONFIGURABLE_KEY_RTC_AUDIO_ENABLE_ANS "che.audio.ans.enable"
140#define CONFIGURABLE_KEY_RTC_AUDIO_ANS_COMPLEXITY "che.audio.ans.complexity"
141#define CONFIGURABLE_KEY_RTC_AUDIO_NS_LEVEL "che.audio.ans.aggressiveness"
142#define CONFIGURABLE_KEY_RTC_AUDIO_NS_FOLLOW_AGC "che.audio.ans.usenew"
143#define CONFIGURABLE_KEY_RTC_AUDIO_NS_NOISEGATE "che.audio.ans.noise_gate"
144#define CONFIGURABLE_KEY_RTC_AUDIO_ANS_AGGRESSIVE "che.audio.ans.aggressive"
145#define CONFIGURABLE_KEY_RTC_AUDIO_ANS_MUSICMODEBACKOFFDB "che.audio.ans.musicModeBackoffDB"
146#define CONFIGURABLE_KEY_RTC_AUDIO_ANS_MUSICMODESMC "che.audio.ans.musicModeSmC"
147
148// AINS private parameter
149#define INTERNAL_KEY_RTC_AUDIO_AINS_MODE "che.audio.ains_mode"
150
151// APM modules related
152#define CONFIGURABLE_KEY_RTC_AUDIO_ENABLE_MD "che.audio.md.enable"
153#define INTERNAL_KEY_RTC_AUDIO_AIMD_VALUE "che.audio.aimd_value"
154#define CONFIGURABLE_KEY_RTC_AUDIO_ENABLE_TONE_REMOVER "che.audio.tone_remover.enable"
155#define CONFIGURABLE_KEY_RTC_AUDIO_ENABLE_PITCH_SMOOTHER "che.audio.ps.enable"
156#define CONFIGURABLE_KEY_RTC_AUDIO_ENABLE_HOWLING_CONTROL "che.audio.livehc.enable"
157
158//
159#define CONFIGURABLE_KEY_RTC_AUDIO_ADM_ANDROID_MODE "che.audio.adm_android_mode"
160#define INTERNAL_KEY_RTC_AUDIO_KEEP_AUDIOSESSION "che.audio.keep.audiosession"
161#define INTERNAL_KEY_RTC_AUDIO_MUTE_ME "che.audio.mute_me"
162#define INTERNAL_KEY_RTC_AUDIO_DETACH_ADM_CALLBACK "che.audio.attach_adm"
163#define INTERNAL_KEY_RTC_AUDIO_HAS_PUBLISHED_STREAM "che.audio.has_published_stream"
164#define INTERNAL_KEY_RTC_AUDIO_ENABLED "che.audio.enabled"
165#define INTERNAL_KEY_RTC_AUDIO_PAUSED "che.audio.paused"
166#define INTERNAL_KEY_RTC_AUDIO_RECORD "che.audio.record"
167#define INTERNAL_KEY_RTC_AUDIO_CODEC "che.audio.codec"
168#define INTERNAL_KEY_RTC_AUDIO_DTX_MODE "che.audio.dtx_mode"
169#define INTERNAL_KEY_RTC_AUDIO_OPTIONS "che.audio.options"
170#define INTERNAL_KEY_RTC_AUDIO_FRAMES_PER_PACKET "che.audio.frames_per_packet"
171#define INTERNAL_KEY_RTC_AUDIO_INTERLEAVES_PER_PACKET "che.audio.interleaves_per_packet"
172#define INTERNAL_KEY_RTC_AUDIO_INSTANT_JOIN_OPTIMIZED "che.audio.instant_join_optimized"
173#define INTERNAL_KEY_RTC_AUDIO_START_CALL "che.audio.start_call"
174#define INTERNAL_KEY_RTC_AUDIO_ACM_PTIME "che.audio.acm_ptime"
175#define CONFIGURABLE_KEY_RTC_AUDIO_ACM_BANDWIDTH "che.audio.acm_bandwidth"
176#define CONFIGURABLE_KEY_RTC_AUDIO_PAD_FEC_OFFSET "che.audio.pad_fec.offset"
177#define CONFIGURABLE_KEY_RTC_AUDIO_PAD_FEC_BITRATE "che.audio.pad_fec.bitrate"
178#define CONFIGURABLE_KEY_RTC_AUDIO_PAD_FEC_NUM "che.audio.pad_fec.num"
179#define CONFIGURABLE_KEY_RTC_AUDIO_PAD_FEC_ADAPTIVE "che.audio.pad_fec.adaptive"
180#define CONFIGURABLE_KEY_RTC_AUDIO_OPUS_DRED "che.audio.opus_dred"
181#define CONFIGURABLE_KEY_RTC_AUDIO_BUILTIN3A_ENABLE "che.audio.builtin3a.enable"
182#define CONFIGURABLE_KEY_RTC_AUDIO_CODEC_UNFALLBACK "che.audio.codec_unfallback"
183#define CONFIGURABLE_KEY_RTC_AUDIO_EXTRA_PLAYOUT_LATENCY "che.audio.extra_playout_latency"
184#define CONFIGURABLE_KEY_RTC_AUDIO_EXTRA_RECORD_LATENCY "che.audio.extra_record_latency"
185#define CONFIGURABLE_KEY_RTC_AUDIO_ONLY_REPORT_MICROPHONE_VOLUME "che.audio.only_report_micvolume"
186#define CONFIGURABLE_KEY_RTC_AUDIO_ENABLE_MULTI_DRIVE_APPARATUS "che.audio.enable_multi_drive_apparatus"
187#define CONFIGURABLE_KEY_RTC_AUDIO_ENABLE_RECEIVER_SIDE_APM "che.audio.enable_receiver_apm"
188#define CONFIGURABLE_KEY_RTC_AUDIO_ENABLE_DOWNLINK_PEQ "che.audio.downlink_peq.enable"
189#define CONFIGURABLE_KEY_RTC_AUDIO_DOWNLINK_PEQ_PARAMS "che.audio.downlink_peq.params"
190#define CONFIGURABLE_KEY_RTC_AUDIO_ENABLE_UPLINK_PEQ "che.audio.solo_enhance.enable"
191#define CONFIGURABLE_KEY_RTC_AUDIO_UPLINK_PEQ_PARAMS "che.audio.solo_enhance.params"
192#define CONFIGURABLE_KEY_RTC_AUDIO_ENABLE_UPLINK_VOICEOVER "che.audio.uplink_voice_over.enable"
193#define CONFIGURABLE_KEY_RTC_AUDIO_ENABLE_DOWNLINK_VOICEOVER "che.audio.downlink_voice_over.enable"
194#define CONFIGURABLE_KEY_RTC_AUDIO_PLAYOUT_DELAY "che.audio.playout_delay"
195//
196#define INTERNAL_KEY_RTC_AUDIO_MAX_MIX_PARTICIPANTS "che.audio.max_mixed_participants"
197#define INTERNAL_KEY_RTC_AUDIO_PLAYOUT_UID_ANONYMOUS "che.audio.playout_uid_anonymous"
198#define INTERNAL_KEY_RTC_AUDIO_CONFIG_APPLY_SOURCE "che.audio.config_apply_source"
199#define INTERNAL_KEY_RTC_AUDIO_FROZEN_TYPE_IN_API "che.audio.frozen_type_in_api"
200#define INTERNAL_KEY_RTC_AUDIO_PROFILE "che.audio.profile"
201#define INTERNAL_KEY_RTC_AUDIO_DUMP_PATH "che.audio.dump_path"
202#define INTERNAL_KEY_EXPORT_RUNTIME_STATS "rtc.export_runtime_stats"
203#define CONFIGURABLE_KEY_RTC_AUDIO_ACTIVE_SPEAKER_SWITCH_RATE "che.audio.active_speaker_switch_rate"
204#define CONFIGURABLE_KEY_RTC_AUDIO_APM_DUMP "che.audio.apm_dump"
205#define CONFIGURABLE_KEY_RTC_AUDIO_ENABLE_PREDUMP "che.audio.enable.predump"
206#define CONFIGURABLE_KEY_RTC_AUDIO_START_PREDUMP "che.audio.start.predump"
207#define CONFIGURABLE_KEY_RTC_AUDIO_FRAME_DUMP "che.audio.frame_dump"
208#define CONFIGURABLE_KEY_RTC_AUDIO_NETEQ_PRE_DUMP "che.audio.neteq.predump"
209#define CONFIGURABLE_KEY_RTC_AUDIO_NETEQ_START_PRE_DUMP "che.audio.neteq.start_predump"
210#define CONFIGURABLE_KEY_RTC_AUDIO_CUSTOM_BITRATE "che.audio.custom_bitrate"
211#define CONFIGURABLE_KEY_RTC_AUDIO_CUSTOM_PAYLOAD_TYPE "che.audio.custom_payload_type"
212#define CONFIGURABLE_KEY_RTC_AUDIO_CUSTOM_CHANNEL_NUM "che.audio.custom_channel_num"
213#define CONFIGURABLE_KEY_RTC_AUDIO_CUSTOM_SAMPLE_RATE "che.audio.custom_sample_rate"
214#define CONFIGURABLE_KEY_RTC_AUDIO_MIN_BITRATE "che.audio.min_bitrate"
215#define CONFIGURABLE_KEY_RTC_AUDIO_USE_MEDIA_VOLUME_IN_BLUETOOTH "che.audio.use_media_volume_in_bluetooth"
216#define CONFIGURABLE_KEY_RTC_AUDIO_USE_MEDIA_VOLUME_IN_HEADSET "che.audio.use_media_volume_in_headset"
217#define CONFIGURABLE_KEY_RTC_AUDIO_USE_MEDIA_VOLUME_IN_AUDIENCE "che.audio.use_media_volume_in_audience"
218#define CONFIGURABLE_KEY_RTC_AUDIO_USE_MEDIA_VOLUME_IN_SOLO "che.audio.use_media_volume_in_solo"
219#define CONFIGURABLE_KEY_RTC_AUDIO_IO_BUFFER_PERIOD_WITH_OPENSL "che.audio.opensl_io_buffer_period"
220#define CONFIGURABLE_KEY_RTC_AUDIO_OBOE_ENABLE_EXCLUSIVE_MODE "che.audio.oboe_enable_exclusive_mode"
221#define CONFIGURABLE_KEY_RTC_AUDIO_ENABLE_ESTIMATED_DEVICE_DELAY "che.audio.enable_estimated_device_delay"
222#define CONFIGURABLE_KEY_RTC_AUDIO_ESTIMATE_DEVICE_LOOPBACK_DELAY_WITH_AEC "che.audio.estimate_device_loopback_delay_with_aec"
223#define CONFIGURABLE_KEY_RTC_AUDIO_ENABLE_LOWLATENCY_CAPTURE "che.audio.enable_lowlatency_capture"
224#define CONFIGURABLE_KEY_RTC_AUDIO_ENABLE_LOWLATENCY_PLAYOUT "che.audio.enable_lowlatency_playout"
225#define CONFIGURABLE_KEY_RTC_AUDIO_FORCE_ADM_LAYER "che.audio.force.adm_layer"
226#define CONFIGURABLE_KEY_RTC_AUDIO_ADM_LAYER "che.audio.adm_layer"
227#define CONFIGURABLE_KEY_RTC_AUDIO_ADM_SOURCE "che.audio.adm_source"
228#define CONFIGURABLE_KEY_RTC_AUDIO_ADM_FALLBACK_ENABLE "che.audio.adm_fallback.enable"
229#define CONFIGURABLE_KEY_RTC_AUDIO_DUCK_OTHERS "che.audio.duck.others"
230#define CONFIGURABLE_KEY_RTC_AUDIO_MIX_WITH_OTHERS "che.audio.mix_with_others"
231#define CONFIGURABLE_KEY_RTC_AUDIO_RECORD_AUDIO_SESSION_CALL_STACK "che.audio.record_audio_session_call_stack"
232#define CONFIGURABLE_KEY_RTC_AUDIO_ALLOW_HAPTICS_DURING_RECORD "che.audio.allow_haptics_during_record"
233#define CONFIGURABLE_KEY_RTC_AUDIO_RESTART_WHEN_INTERRUPTED "che.audio.restartWhenInterrupted"
234#define CONFIGURABLE_KEY_RTC_AUDIO_IPAD_SRATE_MONITOR "che.audio.ipad.srate.monitor"
235#define CONFIGURABLE_KEY_RTC_AUDIO_SPECIFY_CATEGORY "che.audio.specify.category"
236#define CONFIGURABLE_KEY_RTC_AUDIO_AUTO_RESTORE_CATEGORY "che.audio.auto_restore_category"
237#define CONFIGURABLE_KEY_RTC_AUDIO_INPUT_CHANNELS "che.audio.input_channels"
238#define CONFIGURABLE_KEY_RTC_AUDIO_INPUT_SAMPLE_RATE "che.audio.input_sample_rate"
239#define CONFIGURABLE_KEY_RTC_AUDIO_OUTPUT_CHANNELS "che.audio.output_channels"
240#define CONFIGURABLE_KEY_RTC_AUDIO_ENABLE_HARDWARE_EAR_MONITOR "che.audio.enable_hardware_ear_monitor"
241#define CONFIGURABLE_KEY_RTC_AUDIO_EARS_MONITOR_CHANNELS "che.audio.adm.ears_monitor_channels"
242#define CONFIGURABLE_KEY_RTC_AUDIO_FORCE_USE_MEDIA_VOLUME "che.audio.force_use_media_volume"
243#define CONFIGURABLE_KEY_RTC_AUDIO_FORCE_BLUETOOTH_A2DP "che.audio.force_bluetooth_a2dp"
244#define CONFIGURABLE_KEY_RTC_AUDIO_FORCE_DEACTIVATE_AUDIOSESSION_ON_VOICECHAT_TO_DEFAULT "che.audio.force_deactive_audiosession_on_voicechat_to_default"
245#define CONFIGURABLE_KEY_RTC_AUDIO_KEEP_AUDIOSESSION INTERNAL_KEY_RTC_AUDIO_KEEP_AUDIOSESSION
246#define CONFIGURABLE_KEY_RTC_AUDIO_PLAYBUFSIZE_FACTOR "che.audio.playbufsize_factor"
247#define CONFIGURABLE_KEY_RTC_AUDIO_RECORD_DEVBUF_DURATION "che.audio.record_devbuf_duration_ms"
248#define CONFIGURABLE_KEY_RTC_AUDIO_WINDOWS_ADM_WITH_WAVEAPI "che.audio.windows.audio.platform"
249#define CONFIGURABLE_KEY_RTC_AUDIO_WINDOWS_ADM_BYPASS_SYSTEM_RENDER_APO "che.audio.windows.bypass_render_apo"
250#define CONFIGURABLE_KEY_RTC_AUDIO_PROCESS_BLACK_LIST "che.audio.process_black_list"
251#define CONFIGURABLE_KEY_RTC_AUDIO_OPUS_HW_ENCODE "che.audio.opus_hw_encode"
252#define CONFIGURABLE_KEY_RTC_AUDIO_OPUS_HW_DECODE "che.audio.opus_hw_decode"
253#define CONFIGURABLE_KEY_RTC_AUDIO_CODEC_OPUS_CELT "che.audio.opus_celt_only"
254#define CONFIGURABLE_KEY_RTC_AUDIO_CODEC_OPUS_VBR "che.audio.opus_vbr"
255#define CONFIGURABLE_KEY_RTC_AUDIO_CODEC_OPUS_MAX_ENCODED_BYTES "che.audio.opus_max_encoded_bytes"
256#define CONFIGURABLE_KEY_RTC_AUDIO_CODEC_OPUS_INBANDFEC "che.audio.opus_inbandfec"
257#define CONFIGURABLE_KEY_RTC_AUDIO_CODEC_OPUS_VOICE_THRESHOLD "che.audio.opus_voice_threshold"
258#define CONFIGURABLE_KEY_RTC_AUDIO_CODEC_OPUS_ENABLE_VOLUME_BASED_BITRATE_REDUCTION "che.audio.opus_enable_volume_based_bitrate_reduction"
259#define CONFIGURABLE_KEY_RTC_AUDIO_CODEC_OPUS_UP_COEF "che.audio.opus_voice_up_coef"
260#define CONFIGURABLE_KEY_RTC_AUDIO_CODEC_OPUS_DOWN_COEF "che.audio.opus_voice_down_coef"
261#define CONFIGURABLE_KEY_RTC_AUDIO_CODEC_OPUS_VOICE_HOLD_WINDOW_MS "che.audio.opus_voice_hold_window_ms"
262#define CONFIGURABLE_KEY_RTC_AUDIO_CODEC_OPUS_SILENCE_BITRATE "che.audio.opus_silence_bitrate"
263#define CONFIGURABLE_KEY_RTC_AUDIO_MAC_USE_AUDIO_UNIT_HAL "che.audio.mac_adm.use_audio_unit_hal"
264#define CONFIGURABLE_KEY_RTC_AUDIO_WIN_ENABLE_MICBOOST "che.audio.win_enable_microphone_boost"
265#define CONFIGURABLE_KEY_RTC_AUDIO_SCENARIO "che.audio.scenario"
266#define CONFIGURABLE_KEY_RTC_AUDIO_UPLINK_GAIN "che.audio.uplink_gain"
267#define CONFIGURABLE_KEY_RTC_AUDIO_DWLINK_GAIN "che.audio.downlink_gain"
268#define CONFIGURABLE_KEY_RTC_AUDIO_DWLINK_NOISE_GATE "che.audio.downlink_noise_gate"
269#define CONFIGURABLE_KEY_RTC_AUDIO_PER_UID_LOUDNESS_IN_LKFS "che.audio.per_uid_loudness_in_lkfs"
270#define CONFIGURABLE_KEY_RTC_AUDIO_DOWNLINK_LOUDNESS_IN_LKFS "che.audio.downlink_loudness_in_lkfs"
271#define CONFIGURABLE_KEY_RTC_AUDIO_UPLINK_LOUDNESS_IN_LKFS "che.audio.uplink_loudness_in_lkfs"
272#define CONFIGURABLE_KEY_RTC_AUDIO_REPORT_RAW_DWLINK_LEVEL "che.audio.report_raw_downlink_level" // Report volume when adjustPlaybackSignalVolume = 0
273#define CONFIGURABLE_KEY_RTC_AUDIO_REPORT_LEVEL_IN_DECIBEL "che.audio.report_audio_level_in_decibel" // Report loudness in dB
274#define CONFIGURABLE_KEY_RTC_AUDIO_MAC_LOOPBACK_ALLOW_DEVICE_CHANGE "che.audio.mac.loopback.allow_device_change"
275#define CONFIGURABLE_KEY_RTC_AUDIO_MAC_LOOPBACK_OUTPUT_DEVICE "che.audio.mac.loopback.default_output_device"
276#define CONFIGURABLE_KEY_RTC_AUDIO_MAC_LOOPBACK_AUTO_INSTALL "che.audio.mac.loopback.auto_install"
277#define CONFIGURABLE_KEY_RTC_AUDIO_MAC_LOOPBACK_CUSTOM_INSTALL_PATH "che.audio.mac.loopback.custom_install_path"
278#define CONFIGURABLE_KEY_RTC_AUDIO_ENABLE_MIC_SELECTION "che.audio.enable_mic_selection"
279#define CONFIGURABLE_KEY_RTC_AUDIO_MICROPHONE_PREFERENCE "che.audio.preset_microphone_preference"
280#define CONFIGURABLE_KEY_RTC_AUDIO_SPEAKER_BALANCE "che.audio.preset_speaker_balance"
281#define CONFIGURABLE_KEY_RTC_AUDIO_FAREND_GAIN_THRESHOLD "che.audio.farend_gain_threshold"
282#define CONFIGURABLE_KEY_RTC_AUDIO_EFFECT_FORMANT_STRESS "che.audio.effect_formant_stress"
283#define CONFIGURABLE_KEY_RTC_AUDIO_MUTE_MICROPHONE_WHEN_VOIP "che.audio.muteMicrophoneWhenVoip"
284#define CONFIGURABLE_KEY_RTC_AUDIO_RELEASE_MICROPHONE_WHEN_MUTE "che.audio.releaseMicrophoneWhenMute"
285#define CONFIGURABLE_KEY_RTC_AUDIO_ALLOW_VIRTUAL_RECORDING_DEVICE "che.audio.allowVirtualRecordingDevice"
286#define CONFIGURABLE_KEY_RTC_AUDIO_ALLOW_VIRTUAL_PLAYOUT_DEVICE "che.audio.allowVirtualPlayoutDevice"
287#define CONFIGURABLE_KEY_RTC_AUDIO_AGGREGATE_PLAYOUT_DEVICE_VOLUME_CONTROL "che.audio.aggregate.playout.device.volume.control"
288#define CONFIGURABLE_KEY_RTC_AUDIO_MICROPHONE_VOLUME_INIT_STATE "che.audio.microphone_volume_init"
289#define CONFIGURABLE_KEY_RTC_AUDIO_OPENSLOUTPUT_BUFFERS "che.audio.opensl.outputBufs"
290#define CONFIGURABLE_KEY_RTC_AUDIO_OPENSLINPUT_BUFFERS "che.audio.opensl.inputBufs"
291#define CONFIGURABLE_KEY_RTC_AUDIO_ASYNC_DOWNLINK_PROCESS "che.audio.adm.async_downlink_process"
292#define CONFIGURABLE_KEY_RTC_AUDIO_IOS_SEPARATE_AUDIO_UNIT "che.audio.ios_adm.separate_audio_unit"
293#define CONFIGURABLE_KEY_RTC_AUDIO_DUCKING_OPTIONS "che.audio.ios_adm.other_audio_ducking_options"
294#define CONFIGURABLE_KEY_RTC_AUDIO_APPLICATION_LOOPBACK "che.audio.application_loopback"
295#define CONFIGURABLE_KEY_RTC_AUDIO_DELIVER_INTACT_LOOPBACK "che.audio.deliver_intact_loopback"
296#define CONFIGURABLE_KEY_RTC_AUDIO_EXTRA_COMPENSATION_DELAY "che.audio.extra_compensation_delay"
297#define CONFIGURABLE_KEY_RTC_AUDIO_ENABLE_STEREO_PLAYOUT "che.audio.enable_stereo_playout"
298#define CONFIGURABLE_KEY_RTC_AUDIO_ENABLE_STEREO_CAPTURE "che.audio.enable_stereo_capture"
299#define CONFIGURABLE_KEY_RTC_AUDIO_ENABLE_RECORDING_STEREO_DETECTION "che.audio.enable_recording_stereo_dectection"
300#define CONFIGURABLE_KEY_RTC_AUDIO_ENABLE_CONCURRENT_NETEQ "che.audio.enable_concurrent_downlink_processing"
301#define CONFIGURABLE_KEY_RTC_AUDIO_MUTE_PLAYOUT_SIGNAL "che.audio.mute_playout_signal"
302#define CONFIGURABLE_KEY_RTC_AUDIO_ONMIX_CALLBACK_WITH_EXTERNAL_SOURCE "che.audio.onmix_callback_with_external_source"
303#define CONFIGURABLE_KEY_RTC_AUDIO_SET_EXTERNAL_AUDIOSINK_MIX "che.audio.set_external_audiosink_mix"
304#define CONFIGURABLE_KEY_RTC_AUDIO_VIRTUAL_SOUNDCARD "che.audio.virtual_soundcard"
305#define CONFIGURABLE_KEY_RTC_AUDIO_THREAD_JITTER_THRESH "che.audio.thread_jitter_thresh"
306#define CONFIGURABLE_KEY_RTC_AUDIO_ENABLE_MUSIC_MODE_FOR_AUDIO_MIXING "che.audio.enable_music_mode_for_audio_mixing"
307// audio adm/apm/acm/pipeline related parameters end
308
309// audio network related parameters begin
310#define INTERNAL_KEY_RTC_AUDIO_MAX_TARGET_DELAY "che.audio.max_target_delay"
311#define INTERNAL_KEY_RTC_AUDIO_UPLINK_MAX_RETRY_TIMES "che.audio.uplink_max_retry_times"
312#define INTERNAL_KEY_RTC_AUDIO_DOWNLINK_MAX_RETRY_TIMES "che.audio.downlink_max_retry_times"
313#define INTERNAL_KEY_RTC_AUDIO_HIGH_QUALITY_MODE "che.audio.high_quality_mode"
314#define INTERNAL_KEY_RTC_AUDIO_NETWORK_OPTIMIZED "che.audio.network_optimized"
315#define INTERNAL_KEY_RTC_AUDIO_UPLINK_MAX_FEC_FRAME "che.audio.uplink_max_fec_frame"
316#define INTERNAL_KEY_RTC_AUDIO_QUALITY_INDICATION "che.audio.quality_indication"
317#define INTERNAL_KEY_RTC_AUDIO_DWLINK_MAX_ARQ "che.audio.dwlink.max_arq"
318#define INTERNAL_KEY_RTC_AUDIO_DWLINK_ARQ_TO_RSFEC "che.audio.dwlink.arq_to_rsfec"
319#define INTERNAL_KEY_RTC_AUDIO_NETEQ_DUMP_LEVEL "che.audio.neteq.dump_level"
320#define INTERNAL_KEY_RTC_AUDIO_NETEQ_DUMP_PATH "che.audio.neteq.dump_path"
321#define INTERNAL_KEY_RTC_AUDIO_NETEQ_LIMIT_PROB "che.audio.neteq.limit_probability"
322#define INTERNAL_KEY_RTC_AUDIO_NETEQ_LOWER_LIMIT_PROBABILITY "che.audio.neteq.lower_limit_probability"
323#define INTERNAL_KEY_RTC_AUDIO_AQM_THRESHOLD "che.audio.aqm_threshold"
324#define CONFIGURABLE_KEY_RTC_AUDIO_NETEQ_FILTER_TARGET_LOSS "che.audio.neteq.filter_target_loss"
325#define CONFIGURABLEL_KEY_RTC_AUDIO_NETEQ_FILTER_MAX_WINDOW "che.audio.neteq.filter_max_window"
326#define CONFIGURABLEL_KEY_RTC_AUDIO_NETEQ_MUTE_TIMESTAMP "che.audio.neteq.mute_timestamp"
327#define CONFIGURABLEL_KEY_RTC_AUDIO_NETEQ_MUTE_FROM_TIMESTAMP "che.audio.neteq.mute_from_timestamp"
328#define CONFIGURABLEL_KEY_RTC_AUDIO_NETEQ_UNMUTE_FROM_TIMESTAMP "che.audio.neteq.unmute_from_timestamp"
329#define CONFIGURABLEL_KEY_RTC_AUDIO_NETEQ_ACCELERATION_PERCENT_INTERNAL "che.audio.neteq.acceleration_percent_internal"
330#define CONFIGURABLEL_KEY_RTC_AUDIO_NETEQ_ACCELERATION_PERCENT "che.audio.neteq.acceleration_percent"
331#define CONFIGURABLEL_KEY_RTC_AUDIO_NETEQ_DECELERATION_PERCENT_INTERNAL "che.audio.neteq.deceleration_percent_internal"
332#define CONFIGURABLEL_KEY_RTC_AUDIO_NETEQ_DECELERATION_PERCENT "che.audio.neteq.deceleration_percent"
333#define CONFIGURABLEL_KEY_RTC_AUDIO_NETEQ_EANBLE_EXPIRED_PEAK_DETECTOR "che.audio.neteq.enable_expired_peak_detector"
334#define CONFIGURABLEL_KEY_RTC_AUDIO_NETEQ_SCRETCH_THRESHOLD_PERCENT "che.audio.neteq.scretch_threshold_percent"
335#define CONFIGURABLEL_KEY_RTC_AUDIO_NETEQ_UNVOICE_ACCERATE_PERCENT "che.audio.neteq.unvoice_accelerate_percent"
336#define CONFIGURABLEL_KEY_RTC_AUDIO_NETEQ_MAX_WAIT_MS "che.audio.neteq.max_wait_ms"
337#define CONFIGURABLEL_KEY_RTC_AUDIO_NETEQ_MAX_WAIT_FIRST_DECODE_MS "che.audio.neteq.max_wait_first_decode_ms"
338#define CONFIGURABLEL_KEY_RTC_AUDIO_NETEQ_ENABLE_TIME_STRETCHING "che.audio.neteq.enable_time_stretching"
339#define CONFIGURABLEL_KEY_RTC_AUDIO_NETEQ_EANBLE_PEAK_DETECTOR "che.audio.neteq.enable_peak_detector"
340#define CONFIGURABLEL_KEY_RTC_AUDIO_NETEQ_ENABLE_MUTE_STATE "che.audio.neteq.enable_muted_state"
341#define CONFIGURABLEL_KEY_RTC_AUDIO_NETEQ_DECODED_VOLMUE "che.audio.neteq.adjust_decoded_volume"
342#define CONFIGURABLEL_KEY_RTC_AUDIO_NETEQ_MAX_EXCEED_TIME_MS "che.audio.neteq.max_exceed_time_ms"
343#define CONFIGURABLE_KEY_RTC_AUDIO_NETEQ_FILTER_MAX_DUP_NUM "che.audio.neteq.filter_max_duplicte_num"
344#define CONFIGURABLEL_KEY_RTC_AUDIO_NETEQ_ENABLE_VOICE_VOLUME_LEVEL "che.audio.neteq.enable_voice_volume_level"
345#define CONFIGURABLEL_KEY_RTC_AUDIO_NETEQ_EANBLE_INDIVIDUALITY_DELAY "che.audio.neteq.enable_individuality_delay"
346#define CONFIGURABLEL_KEY_RTC_AUDIO_NETEQ_MAX_MUTE_DURATION_MS "che.audio.neteq.max_mute_duration_ms"
347#define CONFIGURABLEL_KEY_RTC_AUDIO_NETEQ_ENABLE_INPROVE_BURST "che.audio.neteq.enable_improve_burst"
348#define CONFIGURABLEL_KEY_RTC_AUDIO_NETEQ_LOW_LATENCY_BURST_CONTROL_WINDOW_MS "che.audio.neteq.low_latency_burst_control_window_ms"
349#define CONFIGURABLEL_KEY_RTC_AUDIO_NETEQ_LOW_LATENCY_BURST_CONTROL_PLATFORM_MS "che.audio.neteq.low_latency_burst_control_platform_ms"
350#define CONFIGURABLEL_KEY_RTC_AUDIO_NETEQ_LOW_LATENCY_BURST_PEAK_NUM_THRESHOLD "che.audio.neteq.low_latency_burst_peak_num_threshold"
351#define CONFIGURABLEL_KEY_RTC_AUDIO_NETEQ_LOW_LATENCY_BURST_TREND_THRESHOLD "che.audio.neteq.low_latency_burst_trend_threshold"
352#define CONFIGURABLEL_KEY_RTC_AUDIO_NETEQ_LOW_LATENCY_BURST_PEAK_TREND_INCREASED_THRESHOLD "che.audio.neteq.low_latency_burst_peak_trend_increased_threshold"
353#define CONFIGURABLEL_KEY_RTC_AUDIO_NETEQ_LOW_LATENCY_BURST_OVERUSE_LIMITED_QUANTILE "che.audio.neteq.low_latency_burst_overuse_limited_quantile"
354#define CONFIGURABLEL_KEY_RTC_AUDIO_NETEQ_LOW_LATENCY_BURST_COMB_WINDOW_SECOND "che.audio.neteq.low_latency_burst_comb_window_second"
355#define CONFIGURABLEL_KEY_RTC_AUDIO_NETEQ_LOW_LATENCY_BURST_MAX_JITTER_LIMIT_MS "che.audio.neteq.low_latency_burst_max_jitter_limit_ms"
356#define CONFIGURABLEL_KEY_RTC_AUDIO_NETEQ_HIGH_LATENCY_BURST_CONTROL_WINDOW_MS "che.audio.neteq.high_latency_burst_control_window_ms"
357#define CONFIGURABLEL_KEY_RTC_AUDIO_NETEQ_HIGH_LATENCY_BURST_CONTROL_PLATFORM_MS "che.audio.neteq.high_latency_burst_control_platform_ms"
358#define CONFIGURABLEL_KEY_RTC_AUDIO_NETEQ_HIGH_LATENCY_BURST_PEAK_NUM_THRESHOLD "che.audio.neteq.high_latency_burst_peak_num_threshold"
359#define CONFIGURABLEL_KEY_RTC_AUDIO_NETEQ_HIGH_LATENCY_BURST_TREND_THRESHOLD "che.audio.neteq.high_latency_burst_trend_threshold"
360#define CONFIGURABLEL_KEY_RTC_AUDIO_NETEQ_HIGH_LATENCY_BURST_PEAK_TREND_INCREASED_THRESHOLD "che.audio.neteq.high_latency_burst_peak_trend_increased_threshold"
361#define CONFIGURABLEL_KEY_RTC_AUDIO_NETEQ_HIGH_LATENCY_BURST_OVERUSE_LIMITED_QUANTILE "che.audio.neteq.high_latency_burst_overuse_limited_quantile"
362#define CONFIGURABLEL_KEY_RTC_AUDIO_NETEQ_HIGH_LATENCY_BURST_COMB_WINDOW_SECOND "che.audio.neteq.high_latency_burst_comb_window_second"
363#define CONFIGURABLEL_KEY_RTC_AUDIO_NETEQ_HIGH_LATENCY_BURST_MAX_JITTER_LIMIT_MS "che.audio.neteq.high_latency_burst_max_jitter_limit_ms"
364#define CONFIGURABLE_KEY_RTC_AUDIO_BITRATE_LEVEL "che.audio.bitrate_level"
365#define INTERNAL_KEY_RTC_AUDIO_FEC "che.audio.fec"
366#define INTERNAL_KEY_RTC_AUDIO_RSFEC "che.audio.rsfec"
367#define CONFIGURABLE_KEY_RTC_AUDIO_BITRATE_RATIO_BASED_VIDEO "che.audio.bitrate_ratio_based_video"
368#define CONFIGURABLE_KEY_RTC_AUDIO_EXTRA_DELAY "che.audio.extra_delay"
369#define CONFIGURABLE_KEY_RTC_AUDIO_DYNAMIC_MAX_BITRATE "che.audio.dynamic_max_bitrate"
370#define CONFIGURABLE_KEY_RTC_AUDIO_CC "che.audio.cc"
371#define CONFIGURABLE_KEY_RTC_AUDIO_ENABLE_REXFER_CONTROL "che.audio.enable_rexfer_control"
372#define CONFIGURABLE_KEY_RTC_AUDIO_FILTER_STREAMS "che.audio.filter_streams"
373// config for audio topn as json, properties as below
374// smooth_factor_level: int
375// new_speaker_delay_ms: int
376// switch_hold_ms: int
377// audio_gain: int
378#define CONFIGURABLE_KEY_RTC_AUDIO_TOPN_CONFIG "che.audio.topn_config"
379#define CONFIGURABLE_KEY_RTC_AUDIO_UPLINK_FILTERABLE "che.audio.uplink_filterable"
380#define CONFIGURABLE_KEY_RTC_AUDIO_ENABLE_RSFEC_IN_VIDEO "che.audio.enable_rsfec_in_video"
381#define CONFIGURABLE_KEY_RTC_AUDIO_ENABLE_RSFEC "che.audio.enable_rsfec"
382#define CONFIGURABLE_KEY_RTC_AUDIO_NEW_STRATEGY_RSFEC "che.audio.new_strategy_rsfec"
383#define CONFIGURABLE_KEY_RTC_AUDIO_BITRATE_MODE "che.audio.bitrate_mode"
384#define CONFIGURABLE_KEY_RTC_AUDIO_SMOOTH_MODE "che.audio.smooth_mode"
385#define INTERNAL_KEY_RTC_AUDIO_ENALBE_ADAPTABLE_FIX_RSFEC "che.audio.enable_adaptable_fix_rsfec"
386#define CONFIGURABLE_KEY_RTC_AUDIO_NETEQ_OUTLIER_DETECTOR "che.audio.neteq.outlier_detector"
387#define CONFIGURABLE_KEY_RTC_AUDIO_DWLINK_MAX_ARQ INTERNAL_KEY_RTC_AUDIO_DWLINK_MAX_ARQ
388#define CONFIGURABLE_KEY_RTC_AUDIO_DWLINK_ARQ_TO_RSFEC INTERNAL_KEY_RTC_AUDIO_DWLINK_ARQ_TO_RSFEC
389#define CONFIGURABLE_KEY_RTC_AUDIO_NETEQ_DUMP_LEVEL INTERNAL_KEY_RTC_AUDIO_NETEQ_DUMP_LEVEL
390#define CONFIGURABLE_KEY_RTC_AUDIO_NETEQ_DUMP_PATH INTERNAL_KEY_RTC_AUDIO_NETEQ_DUMP_PATH
391#define CONFIGURABLE_KEY_RTC_AUDIO_NETEQ_LIMIT_PROB INTERNAL_KEY_RTC_AUDIO_NETEQ_LIMIT_PROB
392#define CONFIGURABLE_KEY_RTC_AUDIO_NETEQ_LOWER_LIMIT_PROBABILITY INTERNAL_KEY_RTC_AUDIO_NETEQ_LOWER_LIMIT_PROBABILITY
393#define CONFIGURABLE_KEY_AUDIO_NETEQ_VERSION "che.audio.neteq_version"
394#define CONFIGURABLE_KEY_RTC_AUDIO_ENABLE_USER_SLIENCE_PACKET "rtc.audio.enable_user_silence_packet"
395#define CONFIGURABLE_KEY_RTC_AUDIO_NETEQ_PREBUFFER "che.audio.neteq.prebuffer"
396#define CONFIGURABLE_KEY_RTC_AUDIO_NETEQ_PREBUFFER_MAX_DELAY "che.audio.neteq.prebuffer_max_delay"
397#define CONFIGURABLE_KEY_RTC_AUDIO_NETEQ_MULTICHANNEL_PLC "che.audio.neteq.multichannel_plc"
398#define CONFIGURABLE_KEY_RTC_AUDIO_NETEQ_FREEZE_M "che.audio.neteq.freeze_m"
399#define CONFIGURABLE_KEY_RTC_AUDIO_NETEQ_FREEZE_N "che.audio.neteq.freeze_n"
400#define CONFIGURABLE_KEY_RTC_AUDIO_NETEQ_FREEZE_THRESHOLD "che.audio.neteq.freeze_threshold"
401#define CONFIGURABLE_KEY_RTC_FORCE_NETEQ_PREBUFFER_WHEN_ENABLE_E2EDELAY "che.audio.enable_neteq_prebuffer_when_enable_e2edelay"
402#define CONFIGURABLE_KEY_RTC_AUDIO_NETEQ_PLC_MODE "che.audio.neteq.plc_mode"
403#define CONFIGURABLE_KEY_RTC_AUDIO_NETEQ_TARGETLEVEL_OFFSET "che.audio.neteq.targetlevel_offset"
404#define CONFIGURABLE_KEY_RTC_AUDIO_NETEQ_MAX_PACKETS "che.audio.neteq.max_packets"
405#define CONFIGURABLE_KEY_RTC_AUDIO_NETEQ_STALBE_PLAYOUT "che.audio.neteq.enable_stable_playout"
406#define CONFIGURABLE_KEY_RTC_AUDIO_NETEQ_DROP_WINDOW_THRESHOLD "che.audio.neteq.drop_window_threshold"
407#define CONFIGURABLE_KEY_RTC_AUDIO_NETEQ_DROP_DISTANCE_THRESHOLD "che.audio.neteq.drop_distance_threshold"
408#define CONFIGURABLE_KEY_RTC_AUDIO_NETEQ_PREBUFFER_WINDOW_THRESHOLD "che.audio.neteq.prebuffer_window_threshold"
409#define CONFIGURABLE_KEY_RTC_AUDIO_NETEQ_PREBUFFER_DISTANCE_THRESHOLD "che.audio.neteq.prebuffer_distance_threshold"
410#define CONFIGURABLE_KEY_RTC_AUDIO_NETEQ_MAX_PACKETS_STABLE_PLAYOUT "che.audio.neteq.max_packets_stable_playout"
411#define CONFIGURABLE_KEY_RTC_AUDIO_NETEQ_NORMAL_RECV_RATE_RATIO_THRESHOLD "che.audio.neteq.normal_recv_rate_ratio_threshold"
412#define CONFIGURABLE_KEY_RTC_AUDIO_MAX_TRANSPORT_BITRATE "che.audio.max_transport_bitrate"
413#define CONFIGURABLE_KEY_RTC_AUDIO_PERIPHERAL_POLICY "che.audio.peripheral_policy"
414#define CONFIGURABLE_KEY_RTC_AUDIO_ROUTING_VERSION "che.audio.audiorouting_version"
415#define CONFIGURABLE_KEY_RTC_AUDIO_EARMONITOR_NO_LIMIT_ROUTE "che.audio.monitor_for_all_route"
416#define CONFIGURABLE_KEY_RTC_AUDIO_SEPERATE_VOICE_OUTPUT_ADM "che.audio.seperate_voice_output_adm"
417#define CONFIGURABLE_KEY_RTC_AUDIO_SEPERATE_VOICE_INPUT_ADM "che.audio.seperate_voice_input_adm"
418#define CONFIGURABLE_KEY_RTC_AUDIO_EXTRA_CAPTURE_TIME_MS "che.audio.extra_capture_time_ms"
419// audio network related parameters end
420
421// audio misc parameters begin
422#define INTERNAL_KEY_RTC_AUDIO_DIAGNOSTIC_THRESHOLD "che.audio.diag.thresh"
423// audio misc parameters end
424
425#define CONFIGURABLE_KEY_RTC_ENABLE_PEER_INFO_CORRECT_SYNC "rtc.enable_peer_info_correct_sync"
426#define INTERNAL_KEY_RTC_SDK_IN_BACKGROUND "rtc.sdk_in_background"
427#define INTERNAL_KEY_RTC_VIDEO_MUTE_ME "rtc.video.mute_me"
428#define INTERNAL_KEY_RTC_VIDEO_SET_REMOTE_DEFAULT_VIDEO_STREAM_TYPE "rtc.video.set_remote_default_video_stream_type"
429#define INTERNAL_KEY_RTC_VIDEO_CAPTURE "rtc.video.capture"
430#define INTERNAL_KEY_RTC_VIDEO_ENABLED "rtc.video.enabled"
431#define INTERNAL_KEY_RTC_VIDEO_HAS_PUBLISHED_STREAM "rtc.video.has_published_stream"
432#define INTERNAL_KEY_RTC_VIDEO_PREVIEW "rtc.video.preview"
433#define INTERNAL_KEY_RTC_VIDEO_AUDIENCE_PREVIEW "rtc.video.audience_preview"
434#define INTERNAL_KEY_RTC_VIDEO_LOCAL_MIRRORED "rtc.video.local_mirrored"
435#define INTERNAL_KEY_RTC_VIDEO_BITRATE_LIMIT "rtc.video.bitrate_limit"
436#define INTERNAL_KEY_RTC_VIDEO_PROFILE "rtc.video.profile"
437#define INTERNAL_KEY_RTC_VIDEO_CODEC "rtc.video.codec"
438#define INTERNAL_KEY_RTC_VIDEO_PREFER_FRAME_RATE "rtc.video.prefer_frame_rate"
439#define INTERNAL_KEY_RTC_VIDEO_WEB_H264_INTEROP_ENABLE "rtc.video.web_h264_interop_enable"
440#define CONFIGURABLE_KEY_RTC_VIDEO_CUSTOM_PROFILE "rtc.video.custom_profile"
441#define CONFIGURABLE_KEY_RTC_VIDEO_SCREEN_CUSTOM_PROFILE "rtc.video.screen_custom_profile"
442#define CONFIGURABLE_KEY_RTC_VIDEO_MEETING_SCENARIO_PROFILE "rtc.video.meeting_scenario_profile"
443#define CONFIGURABLE_KEY_RTC_MINOR_VIDEO_MEETING_SCENARIO_PROFILE "rtc.video.minor_meeting_scenario_profile"
444#define CONFIGURABLE_KEY_RTC_AUTO_PUBLISH_BY_SUBSCRIBER "rtc.video.auto_publish_by_subscriber"
445#define INTERNAL_KEY_RTC_VIDEO_FROZEN_TYPE_IN_API "rtc.video.frozen_type_in_api"
446#define INTERNAL_KEY_RTC_VIDEO_UPLINK_MAX_RETRY_TIMES "rtc.video.uplink_max_retry_times"
447#define INTERNAL_KEY_RTC_VIDEO_DOWNLINK_MAX_RETRY_TIMES "rtc.video.downlink_max_retry_times"
448#define INTERNAL_KEY_RTC_VIDEO_DOWNLINK_MAX_RETRY_TIMES_AUDIENCE "rtc.video.downlink_max_retry_times_auidence"
449#define INTERNAL_KEY_RTC_VIDEO_WIFI_ACC_ENABLE "rtc.video.wifi_acc_enable"
450#define CONFIGURABLE_KEY_RTC_VIDEO_STREAM_RATIO_ENABLED "rtc.video.high_low_video_ratio_enabled"
451#define CONFIGURABLE_KEY_RTC_VIDEO_STREAM_ALLOCATION_RATIO "rtc.video.high_low_video_bitrate_allocation_ratio"
452#define CONFIGURABLE_KEY_RTC_VIDEO_CAPACITY_RELATIVE_ALLOCATION_ENABLED "rtc.video.capacity_relative_allocation_enabled"
453#define CONFIGURABLE_KEY_RTC_VIDEO_INSUFFICIENT_BWE_RATIO_FOR_FALLBACK "rtc.video.insufficient_bwe_ratio_for_fallback"
454#define CONFIGURABLE_KEY_RTC_VIDEO_INSUFFICIENT_BWE_PERIOD_FOR_FALLBACK "rtc.video.insufficient_bwe_period_for_fallback"
455#define CONFIGURABLE_KEY_RTC_VIDEO_SUFFICIENT_BWE_RATIO_FOR_RECOVERY "rtc.video.sufficient_bwe_ratio_for_recovery"
456#define CONFIGURABLE_KEY_RTC_VIDEO_SUFFICIENT_BWE_PERIOD_FOR_RECOVERY "rtc.video.sufficient_bwe_period_for_recovery"
457#define INTERNAL_KEY_RTC_NEW_VIDEO_BILLING "rtc.new_video_billing" // 128
458#define INTERNAL_KEY_RTC_NEW_VIDEO_BILLING_WITH_SIMULCAST "rtc.new_video_billing_with_simulcast" // 128 + simulcast
459#define INTERNAL_KEY_RTC_VIDEO_BILLING_TIMEOUT "rtc.video_billing_timeout"
460#define INTERNAL_KEY_RTC_BILLING_CONFIG_FOR_TEST_PURPOSE "rtc.billing_config_for_test_purpose"
461#define INTERNAL_KEY_RTC_PEER_OFFLINE_PERIOD "rtc.peer.offline_period"
462#define INTERNAL_KEY_RTC_CONNECTION_TIMEOUT_PERIOD "rtc.connection_timeout_period"
463#define INTERNAL_KEY_RTC_CHANNEL_MODE "rtc.channel_mode"
464#define INTERNAL_KEY_RTC_AP_PORT "rtc.ap_port"
465#define INTERNAL_KEY_RTC_VOCS_PORT "rtc.vocs_port"
466#define INTERNAL_KEY_RTC_STUN_PORT "rtc.stun_port"
467#define INTERNAL_KEY_RTC_LASTMILE_PROBE_TEST "rtc.lastmile_probe_test"
468#define CONFIGURABLE_KEY_RTC_LASTMILE_PROBE_LIMIT "rtc.lastmile_probe_limit"
469#define INTERNAL_KEY_RTC_AP_LIST "rtc.ap_list"
470#define INTERNAL_KEY_RTC_CROSSCHANNEL_WM_AP_LIST "rtc.media_relay_ap_list"
471#define INTERNAL_KEY_RTC_CROSSCHANNEL_WM_AP_PORT "rtc.media_relay_ap_port"
472#define INTERNAL_KEY_RTC_CROSSCHANNEL_WM_IP_FOR_TEST_PURPOSE "rtc.media_relay_wm_ip_for_test_purpose"
473#define CONFIGURABLE_KEY_RTC_CROSSCHANNEL_REQUEST_AP_TIMEOUT "rtc.media_relay_request_ap_timeout"
474#define CONFIGURABLE_KEY_RTC_CROSSCHANNEL_REQUEST_WM_TIMEOUT "rtc.media_relay_request_wm_timeout"
475#define CONFIGURABLE_KEY_RTC_CROSSCHANNEL_WM_CONNECTION_TIMEOUT "rtc.media_relay_wm_conn_timeout"
476#define CONFIGURABLE_KEY_RTC_CROSSCHANNEL_MIN_REQUEST_TIMEOUT "rtc.media_relay_min_timeout"
477#define CONFIGURABLE_KEY_RTC_CROSSCHANNEL_MAX_REQUEST_TIMEOUT "rtc.media_relay_max_timeout"
478#define INTERNAL_KEY_RTC_DISABLE_DOMAIN_VERIFICATION_FOR_TEST_PURPOSE "rtc.disable_domain_verification_for_test_purpose"
479#define INTERNAL_KEY_RTC_WORKER_CHANNEL_ALL_CIPHER "rtc.worker_channel_all_cipher"
480#define INTERNAL_KEY_RTC_MAX_CROSSCHANNEL_COUNT "rtc.max_cross_channel_count"
481#define CONFIGURABLE_KEY_RTC_IMAGE_UPLOAD_WORKER_MANAGER_CONNECTION_TIMEOUT "rtc.image_upload_worker_manager_connection_timeout"
482#define CONFIGURABLE_KEY_RTC_VOCS_LINK_TYPE "rtc.vocs_link_type"
483#define CONFIGURABLE_KEY_RTC_VOCS_REQUEST_STRATEGY "rtc.vocs_request_strategy"
484#define INTERNAL_KEY_RTC_VOCS_LIST "rtc.vocs_list"
485#define CONFIGURABLE_KEY_RTC_VOS_IP_PORT_LIST "rtc.vos_list"
486#define CONFIGURABLE_KEY_RTC_ENABLE_VOS_LIST_RANDOM "rtc.enable_vos_list_random"
487#define CONFIGURABLE_KEY_RTC_VOS_IP_USE_LBS_TICKET "rtc.vos_list_with_ticket"
488#define INTERNAL_KEY_RTC_PRIORITY_VOS_IP_PORT_LIST "rtc.priority_vos_list"
489#define INTERNAL_KEY_RTC_VOS_IP_PORT_CELLULAR_LIST "rtc.vos_cellular_list"
490#define INTERNAL_KEY_RTC_STUN_PORT "rtc.stun_port"
491#define INTERNAL_KEY_RTC_USER_ACCOUNT_PORT "rtc.user_account_server_port"
492#define INTERNAL_KEY_RTC_ICE_LIST "rtc.ice_list"
493#define INTERNAL_KEY_RTC_STUN_LIST "rtc.stun_list"
494#define INTERNAL_KEY_RTC_ICE_LIST2 "rtc.ice_list2"
495#define INTERNAL_KEY_RTC_PROXY_SERVER "rtc.proxy_server"
496#define INTERNAL_KEY_RTC_ACCESS_WHICH_PROXY_ENV "rtc.access_which_proxy_env"
497#define INTERNAL_KEY_RTC_ENABLE_PROXY_SERVER "rtc.enable_proxy"
498#define INTERNAL_KEY_RTC_NORMAL_PROXY "rtc.normal_proxy"
499#define INTERNAL_KEY_RTC_NORMAL_PROXY_AUTH "rtc.normal_proxy_auth"
500#define INTERNAL_KEY_RTC_FORCE_PROXY_IF_ENABLED "rtc.force_proxy_if_enabled"
501#define INTERNAL_KEY_RTC_AUTOFALLBACK "rtc.fallback_option"
502#define INTERNAL_KEY_RTC_ENABLE_JOIN_CHANNEL_FALLBACK "rtc.enable_join_channel_fallback"
503#define INTERNAL_KEY_RTC_JOIN_CHANNEL_FALLBACK_TIMEOUT "rtc.join_channel_fallback_timeout"
504#define INTERNAL_KEY_RTC_VOS_INVALID_PACKET_RECONNECT "rtc.vos_invalid_packet_reconnect"
505#define CONFIGURABLE_KEY_RTC_IPSTACK_IPV4_DETECTING_TIMEOUT "rtc.ipstack_ipv4_detecting_timeout"
506#define CONFIGURABLE_KEY_RTC_IPSTACK_PREFER_DETECTING_TIMEOUT "rtc.ipstack_prefer_detecting_timeout"
507#define CONFIGURABLE_KEY_RTC_IPSTACK_PREFERENCE "rtc.ipstack_preference"
508#define CONFIGURABLE_KEY_RTC_VOS_FORGED_PROTOCOL_TYPE "rtc.vos_forged_protocol_type"
509#define CONFIGURABLE_KEY_RTC_ENABLE_VOS_MIGRATION "rtc.enable_vos_migration"
510#define CONFIGURABLE_KEY_RTC_ENABLE_VOS_ZERO_RTT "rtc.enable_vos_zero_rtt"
511#define CONFIGURABLE_KEY_RTC_ENABLE_VOS_CRYPTO_ZERO_RTT "rtc.enable_vos_crypto_zero_rtt"
512#define CONFIGURABLE_KEY_RTC_USE_RECEIVER_REPORT "rtc.use_receiver_report"
513#define CONFIGURABLE_KEY_RTC_PSTATUS_USE_NOTI "rtc.pstatus_use_noti"
514#define CONFIGURABLE_KEY_RTC_PSTATUS_BROADCAST_TIMEOUT "rtc.pstatus_broadcast_timeout"
515#define INTERNAL_KEY_RTC_CROSS_CHANNEL_PARAM "rtc.cross_channel_param"
516#define INTERNAL_KEY_RTC_CROSS_CHANNEL_ENABLED "rtc.cross_channel_enabled"
517#define INTERNAL_KEY_RTC_USE_NEW_MEDIA_RELAY_PROTOCOL "rtc.use_new_media_relay_protocol"
518#define INTERNAL_KEY_RTC_ACTIVE_VOS_LIST "rtc.active_vos_list"
519#define INTERNAL_KEY_RTC_JOINED_VOS "rtc.joined.vos"
520#define INTERNAL_KEY_RTC_REMOTE_SUBSCRIBE_FALLBACK_OPTION "rtc.remote_subscribe_fallback_option"
521#define INTERNAL_KEY_RTC_REMOTE_FALLBACK_STATUS_REPORT_MOTHOD "rtc.remote_fallback_status_report_method"
522#define INTERNAL_KEY_RTC_PUBLIC_DOMAIN_LIST "rtc.public_domain_list"
523#define INTERNAL_KEY_RTC_VOET_LIST "rtc.voet_list"
524#define INTERNAL_KEY_RTC_VOET_PORT_LIST "rtc.voet_port_list"
525#define INTERNAL_KEY_RTC_SIGNAL_DEBUG "rtc.signal_debug"
526#define INTERNAL_KEY_RTC_TRANSPORT_QUALITY_INDICATION "rtc.transport_quality_indication"
527#define CONFIGURABLE_KEY_RTC_NETWORK_QUALITY_STRATEGY "rtc.network_quality_strategy"
528#define INTERNAL_KEY_RTC_CLIENT_TYPE "rtc.client_type"
529#define INTERNAL_KEY_RTC_EXTENSION_PROVIDER "rtc.extension_provider"
530#define INTERNAL_KEY_RTC_CHANNEL_PROFILE "rtc.channel_profile"
531#define INTERNAL_KEY_RTC_CLIENT_ROLE "rtc.client_role"
532#define CONFIGURABLE_KEY_RTC_CLIENT_ROLE_CHANGE_REALLOCATE "rtc.enable_role_change_reallocate" // bool
533#define CONFIGURABLE_KEY_RTC_AUDIENCE_LATENCY_LEVEL "rtc.audience_latency_level"
534#define INTERNAL_KEY_RTC_DUAL_STREAM_MODE "rtc.dual_stream_mode"
535#define INTERNAL_KEY_RTC_ENABLE_USERINFO_HIDDEN "rtc.enable_userinfo_hidden"
536#define INTERNAL_KEY_RTC_ENCRYPTION_MASTER_KEY "rtc.encryption.master_key"
537#define INTERNAL_KEY_RTC_ENCRYPTION_MODE "rtc.channel.encryption.mode"
538#define CONFIGURABLE_KEY_USE_PURE_ENCRYPTION_MASTERKEY "rtc.use_pure_encryption_masterkey"
539#define INTERNAL_KEY_DATASTREAM_ENCRYPTION_ENABLED "rtc.use_datastream_encryption_enabled"
540#define INTERNAL_KEY_RTC_FORCE_UNIFIED_COMMUNICATION_MODE "rtc.force_unified_communication_mode"
541#define INTERNAL_KEY_RTC_DUAL_SIGNALING_MODE "rtc.dual_signaling_mode"
542#define INTERNAL_KEY_RTC_GEN_NOTIFICATION_WITH_ID "rtc.gen_notification_with_id"
543#define INTERNAL_KEY_RTC_UPLOAD_LOG "rtc.upload_log"
544#define INTERNAL_KEY_RTC_UPLOAD_LOG_DOMAIN "rtc.upload_log_domain"
545#define INTERNAL_KEY_RTC_LOG_FILE "rtc.log_file"
546#define INTERNAL_KEY_RTC_LOG_SIZE "rtc.log_size"
547#define CONFIGURABLE_KEY_RTC_LOG_FILTER "rtc.log_filter"
548#define INTERNAL_KEY_RTC_LOG_ENCRYPTION "rtc.log_encryption"
549#define INTERNAL_KEY_RTC_LOG_ENCRYPTION_SALT "rtc.log_encryption_salt"
550#define INTERNAL_KEY_RTC_LOG_ENCRYPTION_MODE "rtc.log_encryption_mode"
551#define INTERNAL_KEY_RTC_LOG_EXTERNAL_INPUT "rtc.log_external_input"
552#define INTERNAL_KEY_RTC_CAPABILITIES "rtc.capabilities"
553#define INTERNAL_KEY_RTC_USER_ACCOUNT_SERVER_LIST "rtc.user_account_server_list"
554#define INTERNAL_KEY_RTC_WORK_MANAGER_ACCOUNT_LIST "rtc.work_manager_account_list"
555#define INTERNAL_KEY_RTC_WORK_MANAGER_ADDR_LIST "rtc.work_manager_addr_list"
556#define INTERNAL_KEY_RTC_MIX_WORK_MANAGER_ACCOUNT "rtc.mix_work_manager_account"
557#define INTERNAL_KEY_RTC_MIX_WORK_MANAGER_ADDRESS "rtc.mix_work_manager_address"
558#define INTERNAL_KEY_RTC_RAW_WORK_MANAGER_ACCOUNT "rtc.raw_work_manager_account"
559#define INTERNAL_KEY_RTC_RAW_WORK_MANAGER_ADDRESS "rtc.raw_work_manager_address"
560#define INTERNAL_KEY_RTC_UAP_TLS_DOMAIN "rtc.uap_tls_domain"
561#define INTERNAL_KEY_RTC_REPORT_TYPE "rtc.report_type"
562#define INTERNAL_KEY_RTC_USING_UI_KIT "rtc.using_ui_kit"
563#define INTERNAL_KEY_RTC_USING_APP_BUILDER "rtc.using_app_builder"
564#define INTERNAL_KEY_RTC_VIDEO_MAX_METADATA_SIZE "rtc.video.max_metadata_size"
565#define INTERNAL_KEY_RTC_VIDEO_METADATA_FPS_RESTRICT_ENABLE "rtc.video.metadata_fps_restrict_enable"
566#define INTERNAL_KEY_RTC_VIDEO_METADATA_PRE_ENCODE_POS "rtc.video.metadata_pre_encode_pos"
567#define INTERNAL_KEY_RTC_STAT_INTERVAL_MS "rtc.stat_interval_ms"
568#define INTERNAL_KEY_RTC_XDUMP_CRASH_CASE_ID "rtc.xdump_crash_test"
569
570#define CONFIGURABLE_KEY_RTC_COMMON_RESOURCE_FILTER "rtc.common_resource.filter"
571#define CONFIGURABLE_KEY_RTC_COMMON_RESOURCE_DISABLE "rtc.common_resource.disable"
572#define CONFIGURABLE_KEY_RTC_COMMON_RESOURCE_CHECK_EXTENSION "rtc.common_resource.check_extension"
573
574#define CONFIGURABLE_KEY_RTC_UAP_USER_IP "rtc.uap_user_ip"
575#define CONFIGURABLE_KEY_RTC_UAP_REGION "rtc.uap_region"
576#define CONFIGURABLE_KEY_RTC_UAP_ENABLE_TOKEN007 "rtc.uap_enable_token007"
577#define CONFIGURABLE_KEY_UAP_ENABLE_QUERY_STREAMS "rtc.uap_enable_query_streams"
578#define CONFIGURABLE_KEY_RTC_VIDEO_PLAYOUT_DELAY_MAX "rtc.video.playout_delay_max"
579#define CONFIGURABLE_KEY_RTC_VIDEO_PLAYOUT_DELAY_MIN "rtc.video.playout_delay_min"
580#define CONFIGURABLE_KEY_RTC_VIDEO_INTERACTIVE_AUDIENCE_PLAYOUT_DELAY_MAX "rtc.video.interactive_audience_playout_delay_max"
581#define CONFIGURABLE_KEY_RTC_VIDEO_INTERACTIVE_AUDIENCE_PLAYOUT_DELAY_MIN "rtc.video.interactive_audience_playout_delay_min"
582#define CONFIGURABLE_KEY_RTC_VIDEO_BROADCASTER_PLAYOUT_DELAY_MAX "rtc.video.broadcaster_playout_delay_max"
583#define CONFIGURABLE_KEY_RTC_VIDEO_BROADCASTER_PLAYOUT_DELAY_MIN "rtc.video.broadcaster_playout_delay_min"
584#define CONFIGURABLE_KEY_RTC_AUDIENCE_LOW_LATENCY_MAX "rtc.audience_low_latency_playout_delay_max"
585#define CONFIGURABLE_KEY_RTC_AUDIENCE_LOW_LATENCY_MIN "rtc.audience_low_latency"
586#define CONFIGURABLE_KEY_RTC_API_TREAT_STRING_UID_AS_INT_UID "rtc.api_treat_string_uid_as_int_uid"
587
588// adapt main version
589#define CONFIGURABLE_KEY_RTC_MIN_PLAYOUT_DELAY_SPEAKER "rtc.min_playout_delay_speaker"
590#define CONFIGURABLE_KEY_RTC_MIN_PLAYOUT_DELAY "rtc.min_playout_delay"
591
592#define CONFIGURABLE_KEY_RTC_E2E_DELAY_MAX "rtc.net.maxS2LDelay"
593#define CONFIGURABLE_KEY_RTC_E2E_DELAY_MAX_BROADCAST "rtc.net.maxS2LDelayBroadcast"
594#define CONFIGURABLE_KEY_RTC_DECODE_RENDER_DELAY "rtc.video.decodeAndRenderDelay"
595#define CONFIGURABLE_KEY_RTC_BUFFER_MODIFY_PACER "rtc.video.jitterModifyPacer"
596#define CONFIGURABLE_KEY_RTC_BUFFER_DELAY_MIN "rtc.video.minPlayoutdDelayRtls"
597#define CONFIGURABLE_KEY_RTC_ENABLE_SYNC_RENDER "rtc.enable_audience_sync_render_rtt"
598#define CONFIGURABLE_KEY_RTC_ENABLE_SYNC_RENDER_NTP "rtc.video.enable_sync_render_ntp"
599#define CONFIGURABLE_KEY_RTC_ENABLE_SYNC_RENDER_NTP_BROADCAST "rtc.video.enable_sync_render_ntp_broadcast"
600#define CONFIGURABLE_KEY_RTC_NTP_TIME_OFFSET "rtc.video.ntp_time_offset"
601#define CONFIGURABLE_KEY_RTC_MIN_DELAY_MOVING_STEP "rtc.video.min_delay_moving_step_per_second"
602#define CONFIGURABLE_KEY_RTC_ENABLE_SYNC_RENDER_E2E_DELAY_OFFSET "rtc.sync_render_ntp_e2e_delay_offset"
603#define CONFIGURABLE_KEY_RTC_ENABLE_VOQA_JITTER "rtc.enable_voqa_jitter"
604#define CONFIGURABLE_KEY_RTC_VIDEO_RENDER_DELAY_MS "rtc.video.render_delay_ms"
605#define CONFIGURABLE_KEY_RTC_VIDEO_MIN_DELAY_STEP_ENABLE "rtc.video.min_delay_step_enable"
606#define CONFIGURABLE_KEY_RTC_VIDEO_PREFER_VOQA_JITTER_DELAY "rtc.video.prefer_voqa_jitter_delay"
607
608#define INTERNAL_KEY_RTC_DISABLE_INTRA_REQUEST "rtc.disable_intra_request"
609#define CONFIGURABLE_KEY_FRAME_INTERVAL_INTRA_REQUEST "rtc.max_intra_request_key_interval"
610#define CONFIGURABLE_KEY_FRAME_INTERVAL_PERIOD "che.video.keyFrameInterval"
611#define CONFIGURABLE_KEY_INTRA_REQUEST_KEYFRAME_TIMEOUT_MS "rtc.video.intra_request_keyframe_timeout_ms"
612#define CONFIGURABLE_KEY_RTC_UPLOAD_LOG_REQUEST "rtc.upload_log_request"
613#define CONFIGURABLE_KEY_RTC_UPLOAD_LOG_REQUEST_WITH_PARAM "rtc.upload_log_request_with_param"
614#define CONFIGURABLE_KEY_RTC_USER_UPLOAD_LOG_REQUEST "rtc.user_upload_log_request"
615#define CONFIGURABLE_KEY_RTC_AUTO_UPLOAD_LOG "rtc.enable_auto_log_upload"
616#define CONFIGURABLE_KEY_RTC_AUTO_UPLOAD_LOG_RATE "rtc.auto_log_upload_rate_s"
617#define CONFIGURABLE_KEY_RTC_WIN_ALLOW_MAGNIFICATION "rtc.win_allow_magnification"
618#define CONFIGURABLE_KEY_RTC_WIN_ALLOW_MAGNIFICATION_NOT_PRIMARY_SCREEN "rtc.win_allow_magnification_not_primary_screen"
619#define CONFIGURABLE_KEY_RTC_WIN_ALLOW_DIRECTX "rtc.win_allow_directx"
620#define CONFIGURABLE_KEY_RTC_WIN_ALLOW_SET_DISPLAY_AFFINITY "rtc.win_allow_set_display_affinity"
621#define CONFIGURABLE_KEY_RTC_WIN_REQUEST_LOCATION "rtc.win_request_location"
622#define CONFIGURABLE_KEY_SDK_DEBUG_ENABLE "rtc.debug.enable"
623#define INTERNAL_KEY_SDK_DEBUG_COMMAND "rtc.debug.command"
624#define CONFIGURABLE_KEY_ENABLE_UPLOAD_LOG_WITH_RANGE "rtc.enable_upload_log_with_range"
625#define CONFIGURABLE_KEY_UPLOAD_LOG_WITH_RANGE_MAX_DAY "rtc.upload_log_with_range_max_day"
626#define CONFIGURABLE_KEY_UPLOAD_LOG_WITH_RANGE_MAX_FILE "rtc.upload_log_with_range_max_file"
627#define INTERNAL_KEY_RTC_TEST_CONFIG_SERVICE "rtc.test_config_service"
628#define INTERNAL_KEY_RTC_RESET_PROXY "rtc.reset_proxy"
629#define CONFIGURABLE_KEY_RTC_REPORT_CONFIG "rtc.report_config"
630#define CONFIGURABLE_KEY_RTC_IP_AREACODE OBFUSCATED("rtc.ip_area_code")
631#define CONFIGURABLE_KEY_RTC_IP_GLOBAL OBFUSCATED("rtc.ip_global_area")
632#define CONFIGURABLE_KEY_RTC_IP_TDS_GLOBAL OBFUSCATED("rtc.ip_tds_global_area")
633#define CONFIGURABLE_KEY_RTC_IP_AREACODE_CN OBFUSCATED("rtc.ip_cn_area")
634#define CONFIGURABLE_KEY_RTC_IP_AREACODE_NA OBFUSCATED("rtc.ip_na_area")
635#define CONFIGURABLE_KEY_RTC_IP_AREACODE_EUR OBFUSCATED("rtc.ip_eur_area")
636#define CONFIGURABLE_KEY_RTC_IP_AREACODE_AS OBFUSCATED("rtc.ip_as_area")
637#define CONFIGURABLE_KEY_RTC_IP_AREACODE_JP OBFUSCATED("rtc.ip_jp_area")
638#define CONFIGURABLE_KEY_RTC_IP_AREACODE_IN OBFUSCATED("rtc.ip_indian_area")
639#define CONFIGURABLE_KEY_RTC_IP_AREACODE_OCEANIA OBFUSCATED("rtc.ip_oceania_area")
640#define CONFIGURABLE_KEY_RTC_IP_AREACODE_SA OBFUSCATED("rtc.ip_south_america_area")
641#define CONFIGURABLE_KEY_RTC_IP_AREACODE_AFRICA OBFUSCATED("rtc.ip_africa_area")
642#define CONFIGURABLE_KEY_RTC_IP_AREACODE_KR OBFUSCATED("rtc.ip_south_korea_area")
643#define CONFIGURABLE_KEY_RTC_IP_AREACODE_HKMC OBFUSCATED("rtc.ip_hongkong_area")
644#define CONFIGURABLE_KEY_RTC_IP_AREACODE_US OBFUSCATED("rtc.ip_us_area")
645#define CONFIGURABLE_KEY_RTC_IP_AREACODE_RU OBFUSCATED("rtc.ip_russia_area")
646#define CONFIGURABLE_KEY_RTC_IP_AREACODE_OVS OBFUSCATED("rtc.ip_oversea_area")
647#define CONFIGURABLE_KEY_RTC_IP_TLS_GLOBAL OBFUSCATED("rtc.ip_tls_global_area")
648#define CONFIGURABLE_KEY_RTC_IP_TDS_TLS_GLOBAL OBFUSCATED("rtc.ip_tds_tls_global_area")
649#define CONFIGURABLE_KEY_RTC_IP_TLS_AREACODE_CN OBFUSCATED("rtc.ip_tls_cn_area")
650#define CONFIGURABLE_KEY_RTC_IP_TLS_AREACODE_NA OBFUSCATED("rtc.ip_tls_na_area")
651#define CONFIGURABLE_KEY_RTC_IP_TLS_AREACODE_EUR OBFUSCATED("rtc.ip_tls_eur_area")
652#define CONFIGURABLE_KEY_RTC_IP_TLS_AREACODE_AS OBFUSCATED("rtc.ip_tls_as_area")
653#define CONFIGURABLE_KEY_RTC_IP_TLS_AREACODE_JP OBFUSCATED("rtc.ip_tls_jp_area")
654#define CONFIGURABLE_KEY_RTC_IP_TLS_AREACODE_IN OBFUSCATED("rtc.ip_tls_indian_area")
655#define CONFIGURABLE_KEY_RTC_IP_TLS_AREACODE_OC OBFUSCATED("rtc.ip_tls_oceania_area")
656#define CONFIGURABLE_KEY_RTC_IP_TLS_AREACODE_SA OBFUSCATED("rtc.ip_tls_south_america_area")
657#define CONFIGURABLE_KEY_RTC_IP_TLS_AREACODE_AF OBFUSCATED("rtc.ip_tls_africa_area")
658#define CONFIGURABLE_KEY_RTC_IP_TLS_AREACODE_KR OBFUSCATED("rtc.ip_tls_korea_area")
659#define CONFIGURABLE_KEY_RTC_IP_TLS_AREACODE_HKMC OBFUSCATED("rtc.ip_tls_hk_area")
660#define CONFIGURABLE_KEY_RTC_IP_TLS_AREACODE_US OBFUSCATED("rtc.ip_tls_us_area")
661#define CONFIGURABLE_KEY_RTC_IP_TLS_AREACODE_RU OBFUSCATED("rtc.ip_tls_russia_area")
662#define CONFIGURABLE_KEY_RTC_IP_TLS_AREACODE_OVS OBFUSCATED("rtc.ip_tls_oversea_area")
663#define CONFIGURABLE_KEY_RTC_PROXY_IP_AREACODE_CN OBFUSCATED("rtc.proxy.ip_cn_area")
664#define CONFIGURABLE_KEY_RTC_PROXY_IP_AREACODE_NA OBFUSCATED("rtc.proxy.ip_na_area")
665#define CONFIGURABLE_KEY_RTC_PROXY_IP_AREACODE_EUR OBFUSCATED("rtc.proxy.ip_eur_area")
666#define CONFIGURABLE_KEY_RTC_PROXY_IP_AREACODE_AS OBFUSCATED("rtc.proxy.ip_as_area")
667#define CONFIGURABLE_KEY_RTC_PROXY_IP_AREACODE_HKMC OBFUSCATED("rtc.proxy.ip_hk_area")
668#define CONFIGURABLE_KEY_RTC_PROXY_IP_AREACODE_US OBFUSCATED("rtc.proxy.ip_us_area")
669#define CONFIGURABLE_KEY_RTC_PROXY_IP_TLS_AREACODE_CN OBFUSCATED("rtc.proxy.ip_tls_cn_area")
670#define CONFIGURABLE_KEY_RTC_PROXY_IP_TLS_AREACODE_NA OBFUSCATED("rtc.proxy.ip_tls_na_area")
671#define CONFIGURABLE_KEY_RTC_PROXY_IP_TLS_AREACODE_EUR OBFUSCATED("rtc.proxy.ip_tls_eur_area")
672#define CONFIGURABLE_KEY_RTC_PROXY_IP_TLS_AREACODE_AS OBFUSCATED("rtc.proxy.ip_tls_as_area")
673#define CONFIGURABLE_KEY_RTC_PROXY_IP_TLS_AREACODE_HKMC OBFUSCATED("rtc.proxy.ip_tls_hk_area")
674#define CONFIGURABLE_KEY_RTC_PROXY_IP_TLS_AREACODE_US OBFUSCATED("rtc.proxy.ip_tls_us_area")
675#define CONFIGURABLE_KEY_RTC_PREDEFINE_DOMAINS OBFUSCATED("rtc.predefine_domains")
676#define CONFIGURABLE_KEY_RTC_SNI_AP_TLS "rtc.sni_ap_tls"
677#define CONFIGURABLE_KEY_RTC_SNI_TDS_TLS "rtc.sni_tds_tls"
678#define CONFIGURABLE_KEY_RTC_SNI_VOCS_TLS "rtc.sni_vocs_tls"
679#define CONFIGURABLE_KEY_RTC_SNI_VOS_TLS "rtc.sni_vos_tls"
680#define CONFIGURABLE_KEY_RTC_SNI_AP_PROXY_TLS "rtc.sni_ap_proxy_tls"
681#define CONFIGURABLE_KEY_RTC_SNI_PROXY_TLS "rtc.sni_proxy_tls"
682#define CONFIGURABLE_KEY_RTC_SNI_REPORT_TLS "rtc.sni_report_tls"
683#define CONFIGURABLE_KEY_RTC_DOMAINS_AP "rtc.domains.ap"
684#define CONFIGURABLE_KEY_RTC_DOMAINS_AP6 "rtc.domains.ap6"
685#define CONFIGURABLE_KEY_RTC_DOMAINS_AP_TLS "rtc.domains.ap_tls"
686#define CONFIGURABLE_KEY_RTC_DOMAINS_AP6_TLS "rtc.domains.ap6_tls"
687#define CONFIGURABLE_KEY_RTC_DOMAINS_AP_PROXY "rtc.domains.ap_proxy"
688#define CONFIGURABLE_KEY_RTC_DOMAINS_AP_PROXY_TLS "rtc.domains.ap_proxy_tls"
689#define CONFIGURABLE_KEY_RTC_DOMAINS_LOG_UPLOAD "rtc.domains.log_upload"
690#define CONFIGURABLE_KEY_RTC_DOMAINS_REPORT_EDGE "rtc.domains.report_edge"
691#define CONFIGURABLE_KEY_RTC_DOMAINS_TDS "rtc.domains.tds"
692#define CONFIGURABLE_KEY_RTC_DOMAINS_TDS6 "rtc.domains.tds6"
693#define CONFIGURABLE_KEY_RTC_DOMAINS_TDS_TLS "rtc.domains.tds_tls"
694#define CONFIGURABLE_KEY_RTC_DOMAINS_TDS6_TLS "rtc.domains.tds6_tls"
695#define CONFIGURABLE_KEY_RTC_DOMAINS_AGORA_API "rtc.domains.agora_api"
696#define CONFIGURABLE_KEY_RTC_DOMAINS_LOG_AUTO_UPLOAD "rtc.domains.log_auto_upload"
697#define CONFIGURABLE_KEY_RTC_VOS_AUT_SNI "rtc.vos_aut_sni"
698#define CONFIGURABLE_KEY_RTC_ENABLE_DNS "rtc.enable_dns"
699#define CONFIGURABLE_KEY_RTC_TDS_LINK_TYPE "rtc.tds_link_type"
700#define CONFIGURABLE_KEY_RTC_ENABLE_TDS_OBF "rtc.enable_tds_obf"
701#define CONFIGURABLE_KEY_RTC_TDS_AUT_PORTS "rtc.tds_aut_ports"
702#define CONFIGURABLE_KEY_RTC_TDS_TLS_PORTS "rtc.tds_tls_ports"
703#define CONFIGURABLE_KEY_RTC_TDS_DEFAULT_PORTS "rtc.tds_default_ports"
704#define CONFIGURABLE_KEY_RTC_TDS_UDPOBF_PORTS "rtc.tds_udpobf_ports"
705#define CONFIGURABLE_KEY_RTC_TDS_AUTOBF_PORTS "rtc.tds_autobf_ports"
706#define CONFIGURABLE_KEY_RTC_TDS_REQ_STRATEGY "rtc.tds_req_strategy"
707#define CONFIGURABLE_KEY_RTC_TDS_RETRY_BACKOFFS "rtc.tds_retry_backoffs"
708#define CONFIGURABLE_KEY_RTC_TDS_ENABLE_DEFAULT_AP "rtc.tds_enable_default_ap"
709#define CONFIGURABLE_KEY_RTC_DNS_REPORT "rtc.dns_report"
710#define CONFIGURABLE_KEY_RTC_AUT_CRYPTO_FOR_VOS_LINK "rtc.aut_crypto_for_vos_link"
711#define CONFIGURABLE_KEY_RTC_ALLOCATE_TAG "rtc.allocate_tag"
712#define CONFIGURABLE_KEY_RTC_ENABLE_CONSTANT_BACKOFF_STRATEGY "rtc.enable_constant_backoff_strategy"
713#define CONFIGURABLE_KEY_RTC_ENABLE_CRYPTO_ACCESS "rtc.enable_crypto_access"
714#define CONFIGURABLE_KEY_RTC_AP_LINK_TYPE "rtc.ap_link_type"
715#define CONFIGURABLE_KEY_RTC_ENABLE_AP_OBF "rtc.enable_ap_obf"
716#define CONFIGURABLE_KEY_RTC_AP_TLS_USE_8443 "rtc.ap_tls_use_8443"
717#define CONFIGURABLE_KEY_RTC_AP_DEFAULT_PORTS "rtc.ap_default_ports"
718#define CONFIGURABLE_KEY_RTC_AP_AUT_PORTS "rtc.ap_aut_ports"
719#define CONFIGURABLE_KEY_RTC_AP_TLS_PORTS "rtc.ap_tls_ports"
720#define CONFIGURABLE_KEY_RTC_AP_UDPOBF_PORTS "rtc.ap_udpobf_ports"
721#define CONFIGURABLE_KEY_RTC_AP_AUTOBF_PORTS "rtc.ap_autobf_ports"
722#define CONFIGURABLE_KEY_RTC_AP_ENABLE_SNI "rtc.ap_enable_sni"
723#define CONFIGURABLE_KEY_RTC_AP_SNI "rtc.ap.sni"
724#define CONFIGURABLE_KEY_RTC_DISABLE_RETRY_WHEN_CERT_FAIL "rtc.disable_retry_when_cert_fail"
725#define CONFIGURABLE_KEY_RTC_IGNORE_CERTIFICATE "rtc.ignore_certificate"
726#define CONFIGURABLE_KEY_RTC_IGNORE_SNI "rtc.ignore_sni"
727#define CONFIGURABLE_KEY_RTC_ENABLE_TDS_REQUEST "rtc.enable_tds_request"
728#define CONFIGURABLE_KEY_RTC_ENABLE_TDS_REQUEST_ON_JOIN "rtc.enable_tds_request_on_join"
729#define CONFIGURABLE_KEY_RTC_TDS_REQUEST_CACHE "rtc.tds_requested_cache"
730#define CONFIGURABLE_KEY_RTC_ENABLE_EARLY_DATA_FOR_VOS "rtc.enable_early_data_for_vos"
731#define CONFIGURABLE_KEY_RTC_CROSS_REGION_ACCESS_TAG "rtc.ulb.cross_region_access_tag"
732#define CONFIGURABLE_KEY_RTC_ENABLE_SSL_KEY_LOG OBFUSCATED("rtc.enable_ssl_key_log")
733// vos udp obfuscation config, it should be json with optional properties:
734// type(int): 0: kXorNormal, 1: kXorUdh.
735// head(string): user defined header with 8 charaters.
736// tail(int): tailing length with random values in header.
737// padding_len(uint8_t): max allowed padding length in each packet.
738// padding_limit(int): original packet size over the limit will not add padding.
739// padding_len_min(U8): min padding len, see padding_len, default 0.
740// padding_ulimit(boolean): padding limit is unlimited, which may longger than payload, default false
741#define CONFIGURABLE_KEY_RTC_VOS_OBFUSE_CONFIG "rtc.vos_obfuse_config"
742// vos a thousand people a thousand faces config, it should be json with properties:
743// size(int): size of faces
744// seed(int): seed for random
745#define CONFIGURABLE_KEY_RTC_VOS_ATPATF_CONFIG "rtc.vos_atpatf_config"
746#define CONFIGURABLE_KEY_RTC_VOS_REQ_USE_LOCAL_TICKET "rtc.vos_req_use_local_ticket"
747#define CONFIGURABLE_KEY_RTC_VOS_REQ_PADDING_LEN "rtc.vos_req_padding_len"
748#define CONFIGURABLE_KEY_RTC_VOS_REQ_NO_TOKEN "rtc.vos_req_no_token"
749#define CONFIGURABLE_KEY_RTC_VOS_REQ_NO_DID "rtc.vos_req_no_did"
750#define CONFIGURABLE_KEY_RTC_VOS_REQ_NO_SERVICEID "rtc.vos_req_no_serviceid"
751#define CONFIGURABLE_KEY_RTC_VOS_REQ_NO_CAP "rtc.vos_req_no_cap"
752#define CONFIGURABLE_KEY_RTC_VOS_REQ_NO_IP "rtc.vos_req_no_ip"
753#define CONFIGURABLE_KEY_RTC_VOS_REQ_NO_INFO "rtc.vos_req_no_info"
754#define CONFIGURABLE_KEY_RTC_VOS_AUT_HANDSHAKE_PACKETS "rtc.vos_aut_handshake_packets"
755#define CONFIGURABLE_KEY_RTC_REMOTE_VOS_AUT_HANDSHAKE_PACKETS "rtc.remote_vos_aut_handshake_packets"
756#define CONFIGURABLE_KEY_RTC_ENABLE_VOS_OBF "rtc.enable_vos_obf"
757#define CONFIGURABLE_KEY_RTC_ENABLE_VOS_TCP "rtc.enable_vos_tcp"
758#define CONFIGURABLE_KEY_RTC_ENABLE_VOS_TCPS "rtc.enable_vos_tcps"
759#define INTERNAL_KEY_RTC_CUSTOMIZED_TAG "rtc.customized_tag"
760#define CONFIGURABLE_KEY_RTC_MAX_SUBSCRIBE_PEERS "rtc.max_sub_peers"
761#define CONFIGURABLE_KEY_RTC_VOS_AUT_USE_OLD_SYNC_DATASET "rtc.vos_aut_use_old_sync"
762#define CONFIGURABLE_KEY_RTC_DATASTREAM_ORDERED_TIME_WINDOW "rtc.datastream_ordered_time"
763#define CONFIGURABLE_KEY_RTC_DATASTREAM_RETRY_TIMES "rtc.datastream_retry_times"
764#define CONFIGURABLE_KEY_RTC_ENABLE_LONG_CONECTION_AP "rtc.enable_long_connection_ap"
765#define CONFIGURABLE_KEY_RTC_SUID_EXPIRE_PERIOD "rtc.suid_expire_period"
766#define CONFIGURABLE_KEY_RTC_SUID_MAX_CACHED_ITEMS "rtc.suid_max_cached_items"
767#define CONFIGURABLE_KEY_RTC_ENABLE_SUID_CACHE "rtc.enable_suid_cache"
768#define CONFIGURABLE_KEY_RTC_USE_SUA_TAGS "rtc.use_sua_tags"
769#define CONFIGURABLE_KEY_RTC_MAX_SUA_TAGS "rtc.max_sua_tags"
770#define CONFIGURABLE_KEY_RTC_SUA_LINK_TYPE "rtc.sua_link_type"
771#define CONFIGURABLE_KEY_RTC_SUA_LINK_LIST "rtc.sua_link_list"
772#define INTERNAL_KEY_RTC_PROXY_AP_PORTS "rtc.proxy.ap_ports"
773#define INTERNAL_KEY_RTC_PROXY_AP_AUT_PORTS "rtc.proxy.ap_aut_ports"
774#define INTERNAL_KEY_RTC_PROXY_AP_TLS_PORTS "rtc.proxy.ap_tls_ports"
775#define INTERNAL_KEY_RTC_PROXY_AP_TLS_443_PORTS "rtc.proxy.tls_443_ports"
776#define INTERNAL_KEY_RTC_JOIN_CHANNEL_TIMEOUT "rtc.join_channel_timeout"
777#define INTERNAL_KEY_RTC_AUTO_LOG_UPLOAD_SERVER_PATH "rtc.auto_upload_server_path"
778#define INTERNAL_KEY_RTC_AUTO_LOG_UPLOAD_SERVER_CONFIG "rtc.auto_upload_server_config"
779#define INTERNAL_KEY_RTC_XLA_STATE_CHANGE_TIMEOUT "rtc.xla_state_change_timeout"
780#define CONFIGURABLE_KEY_RTC_FIRST_FRAME_DECODED_TIMEOUT "rtc.first_frame_decoded_timeout"
781#define CONFIGURABLE_KEY_RTC_JOIN_TO_FIRST_DECODED_TIMEOUT "rtc.join_to_first_decoded_timeout"
782#define CONFIGURABLE_KEY_RTC_VIDEO_ENABLED_AMF_ENCODER "engine.video.enable_amf_encoder"
783#define CONFIGURABLE_KEY_RTC_VIDEO_AMF_MINIMUM_VERSION "engine.video.amf_minimum_version"
784#define CONFIGURABLE_KEY_RTC_VIDEO_ENABLED_HW_ENCODER KEY_RTC_VIDEO_ENABLED_HW_ENCODER
785#define CONFIGURABLE_KEY_RTC_VIDEO_HARDWARE_ENCODEING KEY_RTC_VIDEO_HARDWARE_ENCODEING
786#define CONFIGURABLE_KEY_RTC_VIDEO_ENABLE_HW_DECODER KEY_RTC_VIDEO_ENABLED_HW_DECODER
787#define CONFIGURABLE_KEY_RTC_VIDEO_HARDWARE_DECODING KEY_RTC_VIDEO_HARDWARE_DECODING
788#define CONFIGURABLE_KEY_RTC_VIDEO_HW_DECODER_FALLBACK_CONFIG "engine.video.hw_decoder_fallback_config"
789#define CONFIGURABLE_KEY_RTC_VIDEO_APPLE_ENABLE_AV1_HW_DECODE "rtc.video.apple.enable_av1_hw_decode"
790#define CONFIGURABLE_VIDEO_BACKGROUND_HW_DECODE "rtc.video.bg_hw_decode"
791#define CONFIGURABLE_VIDEO_THRESHOLD_SWITCH_SOFTDECODER "rtc.video_threshold_switch_softdecoder"
792#define CONFIGURABLE_KEY_RTC_VIDEO_LOW_STREAM_ENABLED_HW_ENCODER "rtc.video.low_stream_enable_hw_encoder"
793#define INTERNAL_KEY_RTC_ENABLE_DEBUG_LOG "rtc.enable_debug_log"
794#define INTERNAL_KEY_RTC_START_TRACE "rtc.start_trace"
795#define INTERNAL_KEY_RTC_STOP_TRACE "rtc.stop_trace"
796#define INTERNAL_KEY_RTC_ENABLE_TASK_MONITOR "rtc.enable_task_monitor"
797#define CONFIGURABLE_VIDEO_QUICK_INTRA_HIGH_FEC "rtc.video.quickIntraHighFec"
798#define CONFIGURABLE_KEY_VIDEO_LARGEST_REF_DISTANCE "rtc.video.largest_ref_distance"
799#define CONFIGURABLE_ENABLE_NEW_RTO "rtc.enable_new_rto"
800#define CONFIGURABLE_FEEDBACK_STATS_PERIOD "rtc.feedback_statsperiod"
801#define CONFIGURABLE_QUICK_REXFER_KEYFRAME "rtc.enable_quick_rexfer_keyframe"
802#define CONFIGURABLE_KEY_RTC_P2P_SWITCH "rtc.enable_p2p"
803#define CONFIGURABLE_KEY_RTC_LAN_ACCELERATE_ENABLE "rtc.lan_accelerate_enable"
804#define CONFIGURABLE_KEY_RTC_LAN_ACCELERATE_LOSS_THRESHOLD "rtc.lan_accelerate_loss_threshold"
805#define INTERNAL_KEY_RTC_TRY_P2P_ONLY_LAN "rtc.try_p2p_only_lan"
806#define INTERNAL_KEY_RTC_TRY_P2P_ONLY_ONCE "rtc.try_p2p_only_once"
807#define INTERNAL_KEY_RTC_ENABLE_TWO_BYTE_RTP_EXTENSION "rtc.enable_two_byte_rtp_extension"
808#define CONFIGURABLE_KEY_RTC_ENABLE_DUMP OBFUSCATED("rtc.enable_xdump")
809#define CONFIGURABLE_KEY_RTC_ENABLE_DUMP_FILE OBFUSCATED("rtc.enable_xdump_file")
810#define CONFIGURABLE_KEY_RTC_ENABLE_DUMP_UPLOAD OBFUSCATED("rtc.enable_xdump_upload")
811#define CONFIGURABLE_KEY_RTC_INIT_CONFIG_CHECK_TIMER "rtc.init_config_check_timer"
812#define INTERNAL_KEY_RTC_CRASH_FOR_TEST_PURPOSE "rtc.crash_for_test_purpose"
813#define INTERNAL_KEY_RTC_THREAD_HANG_FOR_TEST_PURPOSE "rtc.thread_hang_for_test_purpose"
814#define CONFIGURABLE_KEY_RAW_AUDIO_MODE "che.video.raw_audio_mode"
815#define CONFIGURABLE_KEY_BITRATE_ADJUST_RATIO KEY_RTC_VIDEO_BITRATE_ADJUST_RATIO
816#define CONFIGURABLE_KEY_MINBITRATE_RATIO KEY_RTC_VIDEO_MINBITRATE_RATIO
817#define CONFIGURABLE_KEY_RTC_ENABLE_CAMERA_CAPTURE_YUV "rtc.enable_camera_capture_yuv"
818#define CONFIGURABLE_KEY_RTC_ENABLE_MULTI_IP "rtc.enable_multi_ip"
819#define CONFIGURABLE_KEY_RTC_CONFIG_AP_ADAPT_INTERVAL "rtc.config_ap_adapt_interval"
820
821#define CONFIGURABLE_KEY_CAMERA_OUTPUT_TYPE "che.video.android_camera_output_type"
822#define CONFIGURABLE_KEY_RTC_CAMERA_CAPTURE_MIRROR_MODE "rtc.camera_capture_mirror_mode"
823#define CONFIGURABLE_KEY_RTC_LOCAL_CAMERA_INDEX "rtc.video.local.camera_index"
824#define CONFIGURABLE_KEY_RTC_LOCAL_FALLBACK_CAMERA_INDEX "rtc.video.local.fallback_camera_index"
825
826#define CONFIGURABLE_KEY_RTC_CAMERA_RESTART_COMPARE_FRAME "rtc.video.camera_restart_compare_frame"
827
828// The preferred camera output formats, int value, 0 nv12 full, 1 BGRA, is currently only used for darwin.
829// if the camera does not support the selected format, it will fall back to the default selection logic.
830// set before camera created.
831#define CONFIGURABLE_KEY_RTC_CAMERA_CAPTURE_FORMAT_TYPE "rtc.camera_capture_format_type"
832#define CONFIGURABLE_KEY_RTC_CAMERA_ENABLE_MULTITASKING "rtc.camera_enable_multitasking"
833#define CONFIGURABLE_KEY_RTC_CAPTURE_DISABLE_METAL_COMP "rtc.capture_disable_metal_comp"
834#define CONFIGURABLE_KEY_RTC_CAMERA_ROTATION "rtc.camera_rotation"
835#define CONFIGURABLE_KEY_RTC_SECONDARY_CAMERA_ROTATION "rtc.secondary_camera_rotation"
836#define CONFIGURABLE_KEY_RTC_IOS_CAMERA_SWITCHING_BEHAVIOR_LOCKED "rtc.video.ios_camera_switching_behavior_locked"
837#define INTERNAL_KEY_RTC_GATEWAY_RTT "rtc.gateway_rtt"
838#define INTERNAL_KEY_RTC_TRACE_ROUTE "rtc.trace_route"
839#define INTERNAL_KEY_RTC_TRACE_ROUTE_STEP_MAX "rtc.trace_route_step_max"
840#define INTERNAL_KEY_RTC_TRACE_ROUTE_PKT_PER_RTT "rtc.trace_route_pkt_per_rtt"
841#define CONFIGURABLE_KEY_VIDEO_DEGRADATION_PREFERENCE KEY_RTC_VIDEO_DEGRADATION_PREFERENCE
842#define CONFIGURABLE_KEY_VIDEO_DEGRADATION_FPS_DOWN_STEP KEY_RTC_VIDEO_DEGRADATION_FPS_DOWN_STEP
843#define CONFIGURABLE_KEY_VIDEO_DEGRADATION_FPS_UP_STEP KEY_RTC_VIDEO_DEGRADATION_FPS_UP_STEP
844#define CONFIGURABLE_KEY_RTC_VIDEO_H265_SCREEN_ENABLE "che.video.h265_screen_enable"
845#define CONFIGURABLE_KEY_RTC_VIDEO_CODEC_INDEX KEY_RTC_VIDEO_CODEC_INDEX
846#define CONFIGURABLE_KEY_VIDEO_VQC_SETTINGS_BY_RESOLUTION "rtc.video.vqc_settings_by_resolution"
847#define CONFIGURABLE_KEY_VIDEO_ENABLE_MINOR_STREAM_VQC "rtc.video.enable_minor_stream_vqc"
848#define CONFIGURABLE_KEY_VIDEO_ENABLE_MINOR_STREAM_FEC "rtc.video.enable_minor_stream_fec"
849#define CONFIGURABLE_KEY_VIDEO_VQC_VERSION "rtc.video.vqc_version"
850#define CONFIGURABLE_KEY_VIDEO_VQC_FORCE_USE_VERSION "rtc.video.vqc_force_use_version"
851#define CONFIGURABLE_KEY_VIDEO_VQC_IS_SLOW_START "rtc.video.vqc_is_slow_start"
852#define CONFIGURABLE_KEY_VIDEO_ENABLE_MINOR_STREAM_FEC_OUTSIDE_RATIO "rtc.video.enable_minor_stream_fec_outside_ratio"
853#define CONFIGURABLE_KEY_VIDEO_ENABLE_MINOR_STREAM_INTRA_REQUEST "rtc.video.enable_minor_stream_intra_request"
854#define CONFIGURABLE_KEY_VIDEO_PACED_SENDER_ENABLED "rtc.paced_sender_enabled"
855#define CONFIGURABLE_KEY_VIDEO_ENABLE_SEQ_JUMP_CHECK "rtc.video.enable_seq_jump_check"
856#define CONFIGURABLE_KEY_VIDEO_SEQ_JUMP_TIMEOUT_THRESHOLD "rtc.video.seq_jump_timeout_threshold"
857#define CONFIGURABLE_KEY_VIDEO_SCALABLE_LABEL_MODE "che.video.scalable_label_mode"
858#define CONFIGURABLE_KEY_VIDEO_PACING_FACTOR "rtc.video.pacing_factor"
859#define CONFIGURABLE_KEY_VIDEO_OVERUSE_DETECTOR_VERSION "rtc.video.overuse_detector_version"
860// TODO(kefan) these vqc parameters should placed in MediaEngineParameterCollection
861#define CONFIGURABLE_KEY_VIDEO_VQC_QUICK_ADAPT_NETWORK "che.video.quick_adapt_network"
862#define CONFIGURABLE_KEY_VIDEO_VQC_SCREENSHARE_FLUENCY "che.video.screenShareFluencyVqc"
863#define CONFIGURABLE_KEY_VIDEO_VQC_SCREENSHARE_DETAIL "che.video.screenShareDetailVqc"
864#define CONFIGURABLE_KEY_VIDEO_VQC_SCREENSHARE_DETAIL_MAX_QP "che.video.screenShareDetailMaxQP"
865#define CONFIGURABLE_KEY_VIDEO_VQC_SCREENSHARE_DETAIL_MIN_QP "che.video.screenShareDetailMinQP"
866#define CONFIGURABLE_KEY_VIDEO_VQC_AUTO_RESIZE_TYPE "che.video.vqc_auto_resize_type"
867#define CONFIGURABLE_KEY_VIDEO_VQC_MIN_HOLDTIME_AUTO_RESIZE_ZOOMIN "che.video.min_holdtime_auto_resize_zoomin"
868#define CONFIGURABLE_KEY_VIDEO_VQC_MIN_HOLDTIME_AUTO_RESIZE_ZOOMOUT "che.video.min_holdtime_auto_resize_zoomout"
869#define CONFIGURABLE_KEY_VIDEO_VQC_ML_FRAME_PROCESSING_INTERVAL "che.video.vqc_ml_frame_processing_interval"
870#define CONFIGURABLE_KEY_VIDEO_VQC_ML_MODEL_PROCESSING_INTERVAL "che.video.vqc_ml_model_processing_interval"
871#define CONFIGURABLE_KEY_VIDEO_VQC_ML_GET_MODEL_OUTPUT_INTERVAL "che.video.vqc_ml_get_model_output_interval"
872#define CONFIGURABLE_KEY_VIDEO_VQC_ML_CONTENT_UPDATE_INTERVAL "che.video.vqc_ml_video_content_update_interval"
873#define CONFIGURABLE_KEY_VIDEO_VQC_ML_BITRATE_UPDATE_INTERVAL "che.video.vqc_ml_video_bitrate_update_interval"
874#define CONFIGURABLE_KEY_VIDEO_VQC_ML_INIT_NOT_WORKING_DURATION "che.video.vqc_ml_init_not_working_duration"
875#define CONFIGURABLE_KEY_VIDEO_VQC_ML_RES_CHANGE_REQUEST_THRESHOLD "che.video.vqc_ml_res_change_request_threshold"
876#define CONFIGURABLE_KEY_VIDEO_VQC_ML_VIDEO_SWITCH_UP_RATIO "che.video.vqc_ml_video_switch_up_ratio"
877#define CONFIGURABLE_KEY_VIDEO_VQC_ML_VIDEO_SWITCH_DOWN_RATIO "che.video.vqc_ml_video_switch_down_ratio"
878#define CONFIGURABLE_KEY_VIDEO_VQC_ML_VIDEO_NO_SWITCH_RATIO "che.video.vqc_ml_video_no_switch_ratio"
879#define CONFIGURABLE_KEY_VIDEO_VQC_ML_BITRATE_WEIGHT "che.video.vqc_ml_bitrate_weight"
880#define CONFIGURABLE_KEY_VIDEO_VQC_ML_MODEL_SKIP_BITRATE_RATIO "che.video.vqc_ml_model_skip_bitrate_ratio"
881#define CONFIGURABLE_KEY_VIDEO_VQC_MIN_FRAMERATE "che.video.video_min_framerate"
882#define CONFIGURABLE_KEY_VIDEO_VQC_QP_ADJUST "che.video.qpAdjust"
883#define CONFIGURABLE_KEY_VIDEO_VQC_IOS_H265_QPADJUST "che.video.ios_h265_qpAdjust"
884#define CONFIGURABLE_KEY_VIDEO_VQC_SW_H264_QPADJUST "che.video.sw_h264_qpAdjust"
885#define CONFIGURABLE_KEY_VIDEO_VQC_VPX_QPADJUST "che.video.vpx_qpAdjust"
886#define CONFIGURABLE_KEY_VIDEO_VQC_AV1_QPADJUST "che.video.av1_qpAdjust"
887#define CONFIGURABLE_KEY_VIDEO_DECIMATOR_STRATEGY_OPT_ENABLE "che.video.decimator_strategy_opt_enable"
888#define CONFIGURABLE_KEY_VIDEO_VQC_FRAMERATE_ADJUST "che.video.vqc_adjust_framerate"
889#define CONFIGURABLE_KEY_VIDEO_MIN_QP "che.video.minQP"
890#define CONFIGURABLE_KEY_VIDEO_MAX_QP "che.video.maxQP"
891#define CONFIGURABLE_KEY_VIDEO_FRAME_MAX_SIZE "che.video.frameMaxSize"
892#define CONFIGURABLE_KEY_VIDEO_LOW_BITRATE_COEFF_FOR_AUTO_RESIZE "che.video.low_br_coeff_for_auto_resize"
893#define CONFIGURABLE_KEY_VIDEO_HIGH_BITRATE_COEFF_FOR_AUTO_RESIZE "che.video.high_br_coeff_for_auto_resize"
894#define CONFIGURABLE_KEY_VIDEO_REFER_QP_WHEN_ONLY_RESO_CHANGE "che.video.refer_qp_when_only_resolution_change"
895#define CONFIGURABLE_KEY_VIDEO_VQC_ADJUST_STEP "che.video.vqcadjust_step"
896#define CONFIGURABLE_KEY_VIDEO_VQC_RES_MIN_WIDTH "che.video.vqc_min_width"
897#define CONFIGURABLE_KEY_VIDEO_VQC_RES_MIN_HEIGHT "che.video.vqc_min_height"
898#define CONFIGURABLE_KEY_VIDEO_LOW_FRAMERATE_MODE "che.video.low_framerate_mode"
899#define CONFIGURABLE_KEY_VIDEO_START_FRAMERATE "che.video.startFramerate"
900#define CONFIGURABLE_KEY_VIDEO_VQC_RES_ADJUST_NUM_LIST "che.video.vqc_res_adjust_num"
901#define CONFIGURABLE_KEY_VIDEO_VQC_LOW_BITRATE_THRESHOLD "che.video.vqc_low_bitrate_threshold"
902#define CONFIGURABLE_KEY_VIDEO_OVERUSE_LOW_LOAD_EST_THRES "che.video.overuse_low_estimate_threshold"
903#define CONFIGURABLE_KEY_VIDEO_OVERUSE_HIGH_LOAD_EST_THRES "che.video.overuse_high_estimate_threshold"
904#define CONFIGURABLE_KEY_VIDEO_OVERUSE_HIGH_FPS_THRES "che.video.overuse_high_fps_threshold"
905#define CONFIGURABLE_KEY_VIDEO_OVERUSE_LOW_FPS_THRES "che.video.overuse_low_fps_threshold"
906#define CONFIGURABLE_KEY_VIDEO_ENABLE_PVC "rtc.video.enable_pvc"
907#define CONFIGURABLE_KEY_VIDEO_PVC_MODEL "rtc.video.pvc_model"
908#define CONFIGURABLE_KEY_VIDEO_PVC_MAX_SUPPORT_RESOLUTION "rtc.video.pvc_max_support_resolution"
909#define CONFIGURABLE_KEY_VIDEO_ENABLE_ZERO_COPY_PVC "rtc.video.enable_zero_copy_pvc"
910#define CONFIGURABLE_KEY_VIDEO_ENABLE_PVC_VERIFY "rtc.video.enable_pvc_verify"
911#define CONFIGURABLE_KEY_VIDEO_ENABLE_SR_VERIFY "rtc.video.enable_sr_verify"
912#define CONFIGURABLE_KEY_VIDEO_SR_VERIFY_TYPE "rtc.video.sr_verify_type"
913#define CONFIGURABLE_KEY_VIDEO_ENABLE_SUPER_RESOLUTION "rtc.video.enable_sr"
914#define CONFIGURABLE_KEY_VIDEO_SUPER_RESOLUTION_SRTYPE "rtc.video.sr_type"
915#define CONFIGURABLE_KEY_VIDEO_SUPER_RESOLUTION_DEFAULT_TYPE "rtc.video.sr_default_type"
916#define CONFIGURABLE_KEY_VIDEO_OPEN_SR_BY_RESOLUTION "rtc.video.open_sr_by_resolution"
917#define CONFIGURABLE_KEY_VIDEO_SHARPEN_LEVEL "rtc.video.sharpen_level"
918#define CONFIGURABLE_KEY_VIDEO_SR_MAX_WH "rtc.video.sr_max_wh"
919#define CONFIGURABLE_KEY_VIDEO_VE_MAX_WH "rtc.video.ve_max_wh"
920#define CONFIGURABLE_KEY_VIDEO_SR_TRACK_LIMIT "rtc.video.sr_track_limit"
921#define CONFIGURABLE_KEY_VIDEO_MAX_COSTTIME_4AI_EXTENSION "rtc.video.maxCosttime4AIExt"
922#define CONFIGURABLE_KEY_VIDEO_SRTYPE_BITMAP "rtc.video.sr_type_bitmap"
923#define CONFIGURABLE_KEY_VIDEO_SRTIMES_SELECT_WEIGHT "rtc.video.sr_times_select_weight"
924#define CONFIGURABLE_KEY_VIDEO_SR_PADDING "rtc.video.sr_padding"
925#define CONFIGURABLE_KEY_VIDEO_ENABLE_LOCAL_SR "rtc.video.enable_local_sr"
926#define CONFIGURABLE_KEY_VIDEO_LOCAL_SRTYPE "rtc.video.local_sr_type"
927#define CONFIGURABLE_KEY_VIDEO_LOCAL_SR_CAP_POSITION "rtc.video.local_sr_cap_position"
928#define CONFIGURABLE_KEY_VIDEO_ENABLE_VE "rtc.video.enable_ve"
929#define CONFIGURABLE_KEY_VIDEO_ENABLE_VE_ZERO_COPY "rtc.video.enable_ve_zero_copy"
930#define CONFIGURABLE_KEY_VIDEO_SR_QP_THRES "rtc.video.sr_qp_thres"
931#define CONFIGURABLE_KEY_VIDEO_VE_LOCAL_ALPHA_BLENDING "rtc.video.ve_local_alpha_blending"
932#define CONFIGURABLE_KEY_VIDEO_VE_REMOTE_ALPHA_BLENDING "rtc.video.ve_remote_alpha_blending"
933#define CONFIGURABLE_KEY_VIDEO_ENABLE_DOC_SCREEN_SHARE_SR "rtc.video.enable_doc_screen_share_sr"
934#define CONFIGURABLE_KEY_VIDEO_SCREEN_SHARE_SR_MIN_RESOLUTION "rtc.video.screen_share_sr_min_resolution"
935#define CONFIGURABLE_KEY_VIDEO_DISABLE_SCREEN_SHARE_VE "rtc.video.disable_nonDoc_screen_share_ve"
936#define CONFIGURABLE_KEY_VIDEO_SR_ONLY_HANDLE_4_ALIGN "rtc.video.sr_only_handle_4_align"
937#define CONFIGURABLE_KEY_VIDEO_SUPPORT_VE2 "rtc.video.support_ve2"
938#define CONFIGURABLE_KEY_VIDEO_SR_BYPASS_FIRST_FRAME "rtc.video.sr_bypass_first_frame"
939#define CONFIGURABLE_KEY_VIDEO_FACE_CAPTURE_THRESHOLD "rtc.video.face_capture_threshold"
940#define CONFIGURABLE_KEY_VIDEO_METAKIT_FORCE_PARAM "rtc.video.metakit_force_param"
941#define CONFIGURABLE_KEY_RTC_VIDEO_MINOR_STREAM_CONFIG "che.video.lowBitRateStreamParameter"
942#define CONFIGURABLE_KEY_RTC_VIDEO_SIMULCAST_STREAM_BITRATE_BPS "che.video.simulcast_stream_bitrate_bps"
943#define CONFIGURABLE_KEY_RTC_VIDEO_RTLS_SPECIAL_CONFIG "che.video.rtls.special_config"
944#define CONFIGURABLE_KEY_RTC_VIDEO_AUDIENCE_SPECIAL_CONFIG "che.video.audience.special_config"
945#define CONFIGURABLE_KEY_RTC_VIDEO_BROADCAST_SPECIAL_CONFIG "che.video.broadcast.special_config"
946#define CONFIGURABLE_KEY_RTC_VIDEO_ENABLE_LOW_BITRATE_STREAM "che.video.enableLowBitRateStream"
947#define INTERNAL_KEY_RTC_VOCS_CONFIGURABLE_SCENARIO "rtc.vocs_configurable_scenario"
948#define INTERNAL_KEY_RTC_VOS_CONFIGURABLE_SCENARIO "rtc.vos_configurable_scenario"
949#define CONFIGURABLE_KEY_RTC_VIDEO_SIMULCAST_MAX_LAYER_NUM "che.video.simulcast_max_layer_num"
950#define CONFIGURABLE_KEY_RTC_VIDEO_SIMULCAST_STREAM_BITRATES "che.video.simulcast_stream_bitrates"
951#define CONFIGURABLE_KEY_VIDEO_ENABLE_LOW_REQUEST_FOR_AUDIENCE "che.video.enable_low_request_for_audience"
952#define CONFIGURABLE_KEY_VIDEO_ENABLE_FOLLOW_MAJOR_STREAM "che.video.enableFollowMajorStream"
953#define CONFIGURABLE_KEY_VIDEO_ENABLE_MINOR_STREAM_CODEC_FOLLOW_MAJOR_STREAM "che.video.enable_minor_stream_codec_follow_major_stream"
954#define CONFIGURABLE_KEY_VIDEO_ENABLE_SIMULCAST_STREAM_CODEC_FOLLOW_MAJOR_STREAM "che.video.enable_simulcast_stream_codec_follow_major_stream"
955#define CONFIGURABLE_KEY_VIDEO_MAJOR_MINOR_RESOLUTION_RATIO "che.video.majorMinorResolutionRatio"
956#define CONFIGURABLE_KEY_VIDEO_ENABLE_PROFILE_AUTO_ADJUSTER "che.video.enableProfileAutoAdjuster"
957#define CONFIGURABLE_KEY_VIDEO_ABR_PUBLISH_FALLBACK_ENABLE "che.video.abr_publish_fallback_enable"
958#define CONFIGURABLE_KEY_VIDEO_ABR_PUBLISH_ON_DEMAND "che.video.abr_publish_on_demand"
959#define CONFIGURABLE_KEY_VIDEO_ABR_PUBLISH_ON_REMOTE_BANDWIDTH_CONSTRAINED "che.video.abr_publish_on_remote_bandwidth_constrained"
960#define CONFIGURABLE_KEY_VIDEO_SIMULATE_PERFORMANCE_TYPE "che.video.simulate_performance_type"
961#define CONFIGURABLE_KEY_VIDEO_CAPTURE_HEIGHT "che.video.capture_height"
962#define CONFIGURABLE_KEY_VIDEO_CAPTURE_WIDTH "che.video.capture_width"
963#define CONFIGURABLE_KEY_VIDEO_CAPTURE_FPS "che.video.capture_fps"
964#define CONFIGURABLE_KEY_VIDEO_CODEC_FORCE_SWITCH "che.video.codec_force_switch" // 0 disable, 1 enable
965#define CONFIGURABLE_KEY_VIDEO_CAMERA_DEVICE_TYPE "che.video.camera_device_type"
966#define CONFIGURABLE_KEY_DEVICE_AUTO_ADJUST "rtc.video.enable_device_auto_adjust"
967#define CONFIGURABLE_KEY_VIDEO_SEG_SUPPORT "che.video.seg_support"
968#define CONFIGURABLE_KEY_VIDEO_LOWEST_DEV_SCORE_4_SEG "che.video.lowest_dev_score_4_seg"
969#define CONFIGURABLE_KEY_VIDEO_BEAUTY_SUPPORT "che.video.beauty_support"
970#define CONFIGURABLE_KEY_VIDEO_ENABLE_DOUBLE_BUFFER_4_BEAUTY "rtc.video.enable_double_buffer_4_beauty"
971#define CONFIGURABLE_KEY_VIDEO_FILTER_EFFECT_SUPPORT "rtc.video.filter_effect_support"
972#define CONFIGURABLE_KEY_VIDEO_FACESHAPE_SUPPORT "che.video.faceshape_support"
973#define CONFIGURABLE_KEY_VIDEO_MAKEUP_SUPPORT "rtc.video.makeup_support"
974#define CONFIGURABLE_KEY_VIDEO_BEAUTY_BUNDLE_SUPPORT "rtc.video.beauty_bundle_support"
975#define CONFIGURABLE_KEY_ADVANCED_BEAUTY_BILLING_EXPIRED "rtc.video.advanced_beauty_billing_expired"
976#define CONFIGURABLE_KEY_VIDEO_LOWEST_DEV_SCORE_4_BEAUTY "che.video.lowest_dev_score_4_beauty"
977#define CONFIGURABLE_KEY_VIDEO_SEG_BEFORE_EXTS "rtc.video.seg_before_exts"
978#define CONFIGURABLE_KEY_RTC_API_SET_STRING_AND_INT_UID_FOR_CHANNEL "rtc.set_string_and_int_uid_for_channel"
979#define CONFIGURABLE_KEY_VIDEO_CAPTURE_MIN_HEIGHT "rtc.video.capture_min_height"
980#define CONFIGURABLE_KEY_VIDEO_CAPTURE_MIN_WIDTH "rtc.video.capture_min_width"
981
982
983// screen capture
984#define CONFIGURABLE_KEY_VIDEO_CROP_WINDOW_CAPTURE "che.video.crop_window_capturer"
985#define CONFIGURABLE_KEY_VIDEO_MASK_OCCLUDED_WINDOW "che.video.mask_occluded_window"
986#define CONFIGURABLE_KEY_VIDEO_MUTIGPU_EXCLUDE "che.video.mutigpu_exclude_window"
987#define CONFIGURABLE_KEY_VIDEO_SCREEN_UNFILTERED_LIST "che.video.screen_unfiltered_list"
988#define CONFIGURABLE_KEY_VIDEO_SCREEN_DISABLE_AVF "che.video.screen_disable_avf" // defualt false
989#define CONFIGURABLE_KEY_VIDEO_SCREEN_DISABLE_FRAME_TRANSPARENT_CHECK "che.video.screen_disable_frame_transparent_check" // defualt false
990#define CONFIGURABLE_KEY_VIDEO_SCREEN_CAPTURE_MODE "che.video.screenCaptureMode" // 0 nominal, 1 hd
991#define CONFIGURABLE_KEY_VIDEO_SCREEN_CAPTURER_TYPE "che.video.screenCapturerType" // MAC: 10 CG, 11 AVF, 12 SCK;
992#define CONFIGURABLE_KEY_VIDEO_USE_WGC_CAPTURER "che.video.use_wgc_capturer"
993#define CONFIGURABLE_KEY_VIDEO_EXCLUDE_HIGHLIGHT_BORDER "che.video.exclude_highlight_border" // false(0) do not exclude, true(1) exclude
994#define CONFIGURABLE_KEY_VIDEO_SHOW_WGC_BORDER "che.video.show_wgc_border" // false(0) hide, true(1) show
995#define CONFIGURABLE_KEY_VIDEO_WGC_ALLOW_AUTO_RESET "che.video.wgc_allow_auto_reset" // false(0) disable, true(1) enable, default is true(1)
996#define CONFIGURABLE_KEY_VIDEO_ENABLE_PROMOTE_GPU_PRIORITY "che.video.enable_promote_gpu_priority" // false(0) disable, true(1) enable
997#define CONFIGURABLE_KEY_VIDEO_EXCLUDE_HIGHLIGHT_BORDER_FOR_MAGNIFITER "che.video.exclude_highlight_border_for_magnifier"
998#define CONFIGURABLE_KEY_VIDEO_FORCE_USE_BITBLT_ON_WIN7 "che.video.force_use_bitblt_on_win7"
999#define CONFIGURABLE_KEY_VIDEO_DO_NOT_SKIP_SYSTEM_WINDOW "che.video.do_not_skip_system_window" // false: skip, true: not skip
1000#define CONFIGURABLE_KEY_VIDEO_FALBACK_TO_GDI_WITH_WGC_BORDER_ISSUE "che.video.fallback_to_gdi_with_wgc_border_issue"
1001#define CONFIGURABLE_KEY_VIDEO_INGNORE_UNRESPONSIVE "che.video.ignore_unresponsive"
1002#define CONFIGURABLE_KEY_VIDEO_FORCE_DISABLE_WGC_FRAME_DIFF "che.video.force_disable_wgc_frame_diff"
1003#define CONFIGURABLE_KEY_VIDEO_OFFICE_TARGET_EXE_LIST "che.video.office_target_exe_list"
1004#define CONFIGURABLE_KEY_VIDEO_WPS_TARGET_EXE_LIST "che.video.wps_target_exe_list"
1005#define CONFIGURABLE_KEY_VIDEO_SHOW_AGORA_BORDER_WHEN_WINDOW_MAXIMIZED "che.video.show_agora_border_when_window_maximized"
1006#define CONFIGURABLE_KEY_VIDEO_SHARE_SCREEN_ONLY "rtc.video.share_screen_only"
1007
1008#define CONFIGURABLE_KEY_VIDEO_FORCE_PUSH_FRAME_MONOTOLIC_TIME "rtc.video.force_push_frame_monotonic_time"
1009#define CONFIGURABLE_KEY_FEC_METHOD "rtc.fec_method"
1010#define CONFIGURABLE_KEY_DEFAULT_FEC_METHOD "rtc.default_fec_method"
1011#define CONFIGURABLE_KEY_FEC_FIX_RATE "che.video.videoFecFixedRate"
1012#define CONFIGURABLE_KEY_ENABLE_CHECK_FOR_DISABLE_FEC "rtc.video.enable_check_for_disable_fec"
1013#define CONFIGURABLE_KEY_FEC_SWITCH_TO_RQ "rtc.switch_to_rq"
1014#define CONFIGURABLE_KEY_ENABLE_RQ_CLASSIC_METHOD "rtc.enable_rq_classic_method"
1015#define CONFIGURABLE_KEY_RTC_PACKET_BUFFER_SIZE "rtc.video.packet_buffer_size"
1016#define CONFIGURABLE_KEY_RTC_REXFER_MAX_ADVANCE "rtc.net.rexfer_max_advance"
1017#define CONFIGURABLE_KEY_RTC_AV_SYNC_MAX_FENCE "rtc.net.av_sync_max_fence"
1018#define CONFIGURABLE_KEY_RTC_AV_SYNC_FILTER_LENGTH "rtc.net.av_sync_filter_length"
1019#define CONFIGURABLE_KEY_RTC_AV_SYNC_PACE_FACTOR "rtc.net.av_sync_pace_factor"
1020
1021#define CONFIGURABLE_KEY_QOE_ANALYZER_EANBLE "rtc.video.qoe_analyzer_enable"
1022#define CONFIGURABLE_KEY_QOE_CRITICAL_REPORT_MAX_TIMES "rtc.video.qoe_critical_report_times"
1023#define CONFIGURABLE_KEY_QOE_HIGH_REPORT_MAX_TIMES "rtc.video.qoe_high_report_times"
1024#define CONFIGURABLE_KEY_QOE_NORMAL_REPORT_MAX_TIMES "rtc.video.qoe_normal_report_times"
1025#define CONFIGURABLE_KEY_QOE_REPORT_STRATEGY "rtc.video.qoe_report_strategy"
1026#define CONFIGURABLE_KEY_QOE_TIMING_STRATEGY_REPORT_PERIOD "rtc.video.qoe_timing_strategy_report_period"
1027
1028#define INTERNAL_KEY_RTC_USE_AUDIO4_PROTOCOL OBFUSCATED("rtc.use_audio4")
1029#define CONFIGURABLE_KEY_VIDEO_HAS_INTRA_REQUEST "che.video.has_intra_request"
1030#define CONFIGURABLE_KEY_VIDEO_RESPONSE_QUICK_INTRA_REQUEST "che.video.response_quick_intra_request"
1031/*
1032 Caution: This private parameter (i.e. "che.video.force_I_cache") is set as true. Remote audiences do not send intra requests.
1033 When the prediction structure of video encoding is the long GOP mode and it is unexpectedly set to be true,
1034 remote audiences do not request missing IDR frames. Videos are not decodable.
1035*/
1036#define CONFIGURABLE_KEY_VIDEO_FORCE_I_CACHE "che.video.force_I_cache"
1037#define CONFIGURABLE_KEY_RTC_VIDEO_QUALITY_SCALE_ONLY_ON_AVERAGE_QP KEY_RTC_VIDEO_QUALITY_SCALE_ONLY_ON_AVERAGE_QP
1038#define CONFIGURABLE_KEY_RTC_VIDEO_H264_QP_THRESHOLD_LOW KEY_RTC_VIDEO_H264_QP_THRESHOLD_LOW
1039#define CONFIGURABLE_KEY_RTC_VIDEO_H264_QP_THRESHOLD_HIGH KEY_RTC_VIDEO_H264_QP_THRESHOLD_HIGH
1040#define KEY_RTC_VIDEO_RATE_CONTROL_MODE "che.video.rate_control_mode"
1041#define KEY_RECORDER_VIDEO_RATE_CONTROL_MODE "che.video.recorder.rate_control_mode"
1042#define INTERNAL_KEY_RTC_PRIMARY_FORCED_USING_SCREEN_CAPTURE "rtc.primary_screen.forced_using_screen_capture"
1043#define INTERNAL_KEY_RTC_SECONDARY_FORCED_USING_SCREEN_CAPTURE "rtc.secondary_screen.forced_using_screen_capture"
1044#define INTERNAL_KEY_RTC_DESENSITISE_IP "rtc.desensitize.Ip"
1045#define INTERNAL_KEY_RTC_JOIN_VOS_TIMEOUT "rtc.join_vos_timeout"
1046#define INTERNAL_KEY_RTC_JOIN_VOS_RTT_TIMEOUT "rtc.join_vos_rtt_timeout"
1047
1048#define CONFIGURABLE_VIDEO_FEC_PROTECTION_FACTOR "rtc.video.fec_protection_factor"
1049#define CONFIGURABLE_VIDEO_ENABLE_FEC_REXFER "rtc.enable_fec_rexfer"
1050#define CONFIGURABLE_VIDEO_FEC_PROTECTION_RATIO_LEVEL "rtc.video.fec_protection_ratio_level"
1051#define CONFIGURABLE_VIDEO_FEC_RATIO_LEVEL_RTT_THRESHOLD "rtc.video.fec_ratio_level_rtt_threshold"
1052#define CONFIGURABLE_VIDEO_CAMERA_DROP_FRAME_COUNT "che.video.camera.drop_frame_count"
1053#define CONFIGURABLE_VIDEO_CAMERA_NO_FRAME_INCOMING_THRESHOLD "che.video.camera.no_frame_incoming_threshold"
1054#define CONFIGURABLE_RESTORE_CAMERA_CENTER_STAGE "che.video.camera.restore_camera_center_stage"
1055#define CONFIGURABLE_VIDEO_CAMERA_EXCLUDE_LIST "che.video.camera.exclude_list"
1056#define CONFIGURABLE_VIDEO_RENDER_LAST_FRAME "che.video.render_last_frame"
1057#define CONFIGURABLE_VIDEO_ANDROID_CAMERA_SELECT "che.video.android_camera_select"
1058#define CONFIGURABLE_VIDEO_ANDROID_CAMERA_MIN_LEVEL "che.video.android_camera_min_level"
1059#define CONFIGURABLE_VIDEO_ANDROID_CAMERA_SKIP_CONTROL "che.video.android_camera_skip_control"
1060#define CONFIGURABLE_VIDEO_ANDROID_CAMERA_LOW_POWER "che.video.android_camera_lowPower"
1061#define CONFIGURABLE_VIDEO_ANDROID_CAMERA_AUTO_FACE_DETECT_FOCUS "che.video.android_camera_auto_faceDetect_focus"
1062#define CONFIGURABLE_VIDEO_ANDROID_CAMERA_TEMPLATE_TYPE "che.video.android_camera_templateType"
1063#define CONFIGURABLE_VIDEO_ANDROID_TEMPLATE_VIDEO_MINSCORE "che.video.android_minscore_for_templateVideo"
1064#define CONFIGURABLE_VIDEO_ANDROID_CAMERA_EXTRA_SURFACE "che.video.android_camera_extra_surface"
1065#define CONFIGURABLE_VIDEO_ANDROID_CAMERA_NOISE_REDUCATION "che.video.android_camera_noise_reducation"
1066#define CONFIGURABLE_VIDEO_ANDROID_CAMERA_AUTO_WHITE_BALANCE "che.video.android_camera_auto_whiteBalance"
1067#define CONFIGURABLE_VIDEO_ANDROID_CAMERA1_ENABLE_FPS_RANGE "che.video.android_camera1_enable_fpsRange"
1068#define CONFIGURABLE_VIDEO_ANDROID_CAMERA_ENABLE_REFOCUS "che.video.android_camera_enable_refocus"
1069#define CONFIGURABLE_VIDEO_ANDROID_LOW_CAMERA_FOCUS_MODE "che.video.android_low_camera_focusMode"
1070#define CONFIGURABLE_VIDEO_ANDROID_HIGH_CAMERA_FOCUS_MODE "che.video.android_high_camera_focusMode"
1071#define CONFIGURABLE_VIDEO_ANDROID_CAMERA_VIDEO_EDGE_MODE "che.video.android_camera_edge_mode"
1072#define CONFIGURABLE_VIDEO_ANDROID_SKIP_PHYSICAL_CAMERA "che.video.android_skip_physical_camera"
1073#define CONFIGURABLE_VIDEO_ANDROID_YUVCONVERTER_ENABLE_HARDWARE_BUFFER "rtc.video.yuvconverter_enable_hardware_buffer"
1074#define CONFIGURABLE_VIDEO_ANDROID_CAMERA_PQ_FIRST_CAPTURE_MODE "che.video.android_camera_PQ_First_captureMode"
1075#define CONFIGURABLE_VIDEO_ANDROID_CAMERA_PQ_FIRST_CAPTURE_DIFF "che.video.android_camera_PQ_First_diff"
1076#define CONFIGURABLE_VIDEO_ANDROID_CAMERA_PQ_FIRST_LOW_FPS_LIMIT "che.video.android_camera_PQ_First_lowFps_limit"
1077#define CONFIGURABLE_VIDEO_ANDROID_CAMERA_PQ_FIRST_ENABLE_TARGETFPS "che.video.android_camera_PQ_First_enable_targetFps"
1078#define CONFIGURABLE_VIDEO_ANDROID_CAMERA_TIMEOUT_VALUE "che.video.android_camera_timeout_ms"
1079#define CONFIGURABLE_VIDEO_ANDROID_CAMERA_CUSTOM_RANGE "che.video.android_camera_customRange"
1080#define CONFIGURABLE_VIDEO_ANDROID_CAMERA_EXPOSURE_COMPENSATION "che.video.android_camera_exposure_compensation"
1081#define CONFIGURABLE_VIDEO_ANDROID_YUVCONVERTER_ENABLE_PBO "rtc.video.yuvconverter_enable_pbo"
1082#define CONFIGURABLE_VIDEO_ANDROID_YUVCONVERTER_ENABLE_PERF "rtc.video.yuvconverter_enable_perf"
1083#define CONFIGURABLE_VIDEO_ANDROID_YUVCONVERTER_ENABLE_REPORT "rtc.video.yuvconverter_enable_report"
1084#define CONFIGURABLE_VIDEO_FREEZE_DIAGNOSE "rtc.video.freeze_diagnose"
1085#define CONFIGURABLE_KEY_VIDEO_QOE_ASSESS "rtc.video.qoe"
1086#define CONFIGURABLE_KEY_VIDEO_QOE_VQA_PROP "rtc.video.qoe_vqa_prop"
1087#define CONFIGURABLE_KEY_VIDEO_QOE_FROZEN_PROP "rtc.video.qoe_frozen_prop"
1088#define CONFIGURABLE_VIDEO_ANDROID_CAMERA_PQ_FIRST "che.video.android_camera_PQ_First"
1089#define CONFIGURABLE_VIDEO_ANDROID_CAMERA_VIDEO_STABILITY "che.video.android.camera.video_stability"
1090#define CONFIGURABLE_VIDEO_ANDROID_CAPTURE_SKIP_WIDTH "che.video.android.camera.capture_skip_width"
1091#define CONFIGURABLE_VIDEO_ANDROID_CAPTURE_SKIP_HEIGHT "che.video.android.camera.capture_skip_height"
1092#define CONFIGURABLE_VIDEO_ANDROID_CAMERA_CACHE_NUMBERS "che.video.android.camera.cache_numbers"
1093#define CONFIGURABLE_VIDEO_RECOVER_CAPTURE_ON_FOREGROUND "che.video.recover_capture_on_foreground"
1094#define CONFIGURABLE_VIDEO_ANDROID_CAMERA_ENABLE_BLACK_LIST "che.video.android.camera.enable_black_list"
1095#define CONFIGURABLE_VIDEO_ANDROID_CAMERA_CAPTURE_REQUEST_ACTIVE_DETECT "che.video.android.enable_capture_request_active_detect"
1096#define CONFIGURABLE_VIDEO_BRIGHTNESS_DETECTION_INTERVAL "che.video._brightness_detection_interval"
1097#define CONFIGURABLE_VIDEO_BRIGHTNESS_DETECTION_ENABLE "che.video.brightness_detection_enable"
1098#define CONFIGURABLE_VIDEO_ENABLE_VIDEO_DENOISER "rtc.video.enable_video_denoiser"
1099#define CONFIGURABLE_VIDEO_DENOISER_COST_TIME_LIMIT "rtc.video.denoiser_cost_time_limit"
1100#define CONFIGURABLE_VIDEO_VIDEO_DENOISER_POSITION "rtc.video.video_denoiser_position"
1101
1102#define CONFIGURABLE_KEY_RTC_VIDEO_RESET_FRAMERATE_RATIO "rtc.video.reset_framerate_ratio"
1103#define CONFIGURABLE_KEY_RTC_VIDEO_RESET_BITRATE_RATIO "rtc.video.reset_bitrate_ratio"
1104
1105#define CONFIGURABLE_VIDEO_ENABLE_CHANGE_ENCODER_PROFILE "rtc.video.enable_change_encoder_profile"
1106#define CONFIGURABLE_VIDEO_ENABLE_SWH265ENC_MINDEVICESCORE "rtc.video.minscore_for_swh265enc"
1107#define CONFIGURABLE_KEY_VIDEO_ENABLE_AUTO_FALLBACK_SW_ENCODER "che.video.enable_auto_fallback_sw_encoder"
1108
1109#define CONFIGURABLE_KEY_VIDEO_H264_HW_MIN_RES_LEVEL "rtc.video.h264_hw_min_res_level"
1110#define CONFIGURABLE_KEY_VIDEO_ENC_MAX_SLICES "che.video.max_slices"
1111#define CONFIGURABLE_KEY_VIDEO_ENCODER_MAX_HWENC_COSESSIONS "rtc.video.max_hwenc_cosessions"
1112
1113#define CONFIGURABLE_KEY_VIDEO_ENC_RC_LIMIT_VALUE "che.video.video_encoder_rc_limit_value"
1114#define CONFIGURABLE_KEY_VIDEO_MINOR_STREAM_ENC_RC_LIMIT_VALUE "che.video.minor_stream_video_encoder_rc_limit_value"
1115#define CONFIGURABLE_KEY_VIDEO_ENC_RC_SCENE "che.video.video_encoder_rc_scene"
1116#define CONFIGURABLE_KEY_VIDEO_ENC_IMPAIR_NET_REF_OPT "che.video.video_encoder_impair_net_ref_opt"
1117#define CONFIGURABLE_KEY_VIDEO_SW_ENC_DUMP_FRAME_INFO "che.video.sw_enc_dump_frame_info"
1118#define CONFIGURABLE_KEY_VIDEO_H264_PROFILE "che.video.h264Profile"
1119#define CONFIGURABLE_KEY_VIDEO_H264_PROFILE_FALLBACK_ENABLE "che.video.h264_profile_fallback_enable"
1120#define CONFIGURABLE_KEY_MAX_INTRAREQUEST_KEYFRAME_INTERVAL "che.video.max_intra_key_interval"
1121#define CONFIGURABLE_KEY_VIDEO_ENC_BITRATE_ADJUSTMENT_TYPE "che.video.android_bitrate_adjustment_type"
1122#define CONFIGURABLE_KEY_VIDEO_ENC_USR_A264 "che.video.a264_encode"
1123#define CONFIGURABLE_KEY_VIDEO_ENC_QP_PARSER_SKIP "che.video.qp_parser_skip"
1124#define CONFIGURABLE_KEY_VIDEO_CLARITY_ANALYSIS "che.video.clarity_analysis"
1125#define CONFIGURABLE_KEY_VIDEO_CLARITY_ANALYSIS_MAX_MAP_SIZE "che.video.clarity_analysis_max_map_size"
1126#define CONFIGURABLE_KEY_VIDEO_CLARITY_ANALYSIS_MAX_LIST_SIZE "che.video.clarity_analysis_max_list_size"
1127#define CONFIGURABLE_KEY_VIDEO_CLARITY_ANALYSIS_MAX_TIME_RANGE "che.video.clarity_analysis_max_time_range"
1128#define CONFIGURABLE_KEY_VIDEO_CLARITY_ANALYSIS_SCORE_THRESHOLD "che.video.clarity_analysis_score_threshold"
1129#define CONFIGURABLE_KEY_VIDEO_ENC_ENABLE_ROI "che.video.roiEnable"
1130#define CONFIGURABLE_KEY_VIDEO_ENC_VMAF_CALC "che.video.vmafreport"
1131#define CONFIGURABLE_KEY_VIDEO_AUTO_ADJUST_RESOLUTION "che.video.auto_adjust_resolution"
1132#define CONFIGURABLE_KEY_VIDEO_STANDARD_BITRATE_VERSION "che.video.standard_bitrate_version"
1133#define CONFIGURABLE_KEY_VIDEO_NEW_BITRATE_RATIO "che.video.ratio_new_target_bitrate"
1134#define CONFIGURABLE_KEY_VIDEO_ENC_TARGET_KBPS_MAX_LIMIT "che.video.enc_target_kbps_max_limit"
1135#define CONFIGURABLE_KEY_VIDEO_ENC_TARGET_KBPS_MAX_RATIO "che.video.enc_target_kbps_max_ratio"
1136#define CONFIGURABLE_KEY_VIDEO_ENC_TARGET_KBPS_MIN_LIMIT "che.video.enc_target_kbps_min_limit"
1137#define CONFIGURABLE_KEY_VIDEO_ENC_PROFILING "che.video.coding.profiling"
1138#define CONFIGURABLE_KEY_VIDEO_ENC_PARAM_CONFIG "che.video.software_encoder_parameters"
1139#define CONFIGURABLE_KEY_VIDEO_ENC_ADVANCED_PARAM_CONFIG "che.video.encoder_parameters"
1140#define CONFIGURABLE_KEY_RTC_VIDEO_VTE_FREEZE_DETECT_THRESHOLD "rtc.video.vte_freeze_detect_threshold"
1141#define CONFIGURABLE_KEY_RTC_VIDEO_POSTED_FRAMES_WAITING_FOR_ENCODE "rtc.video.posted_frames_waiting_for_encode"
1142
1143#define CONFIGURABLE_KEY_VIDEO_ENC_SCREEN_SHARING_SUBCLASS "che.video.screen_sharing_subclass"
1144#define CONFIGURABLE_KEY_VIDEO_USE_SINGLE_SLICE "che.video.useSingleSliceParser"
1145#define CONFIGURABLE_KEY_VIDEO_ENABLE_HDR_CAPTURE "che.video.enable_hdr_capture"
1146#define CONFIGURABLE_KEY_VIDEO_RENDER_COLOR_SPACE_ENABLE "rtc.video.color_space_enable"
1147#define CONFIGURABLE_KEY_VIDEO_RENDER_VIDEOFULLRANGE "rtc.video.videoFullrange"
1148#define CONFIGURABLE_KEY_VIDEO_RENDER_MATRIXCOEFFICIENTS "rtc.video.matrixCoefficients"
1149#define CONFIGURABLE_KEY_VIDEO_ENCODER_SKIP_COLOR_SPACE_OVERRIDE_IF_PRESENT "rtc.video.encoder_skip_color_space_override_if_present"
1150#define CONFIGURABLE_KEY_VIDEO_SCREEN_ENABLE_SMOOTH_CAPTURE "rtc.video.screenShare_enable_smooth"
1151#define CONFIGURABLE_KEY_VIDEO_SHOULD_RESET_VIRTUALDISPLAY "rtc.video.screenShare_should_reset_virtualDisplay"
1152#define CONFIGURABLE_KEY_VIDEO_SCENARIO_TYPE "rtc.video.scenario_type"
1153#define CONFIGURABLE_KEY_VIDEO_SCENARIO_CONFIG "rtc.video.scenario_config"
1154#define CONFIGURABLE_KEY_VIDEO_ADAPTIVE_SCENARIO_CONFIG "rtc.video.adaptive_scenario_config"
1155#define CONFIGURABLE_KEY_VIDEO_ADAPTIVE_SCENARIO_THRESHOLD_CONFIG "rtc.video.adaptive_scenario_threshold_config"
1156#define CONFIGURABLE_KEY_VIDEO_QOE_PREFERENCE "rtc.video.qoe_preference"
1157#define CONFIGURABLE_KEY_VIDEO_TIMESTAMP_RESET_BEFORE_ENCODE "rtc.video.timestamp_reset_before_encode"
1158#define CONFIGURABLE_KEY_VIDEO_TRAFFICCTRL_VALUE "rtc.video.trafic_ctrl_value"
1159#define CONFIGURABLE_KEY_RTC_PROFILE_NETWORK_CAPABILITY "rtc.profile.network_transmission_capability"
1160#define CONFIGURABLE_KEY_RTC_PROFILE_INTERACTIVE_MODEL "rtc.profile.interactive_model"
1161// svc
1162#define CONFIGURABLE_KEY_VIDEO_SVC_TEMPORAL_LAYERS "che.video.num_temporal_layers"
1163#define CONFIGURABLE_KEY_VIDEO_BFRAME_SVC_TEMPORAL_LAYERS "rtc.video.bframe_svc_num_temporal_layers"
1164#define CONFIGURABLE_KEY_VIDEO_SVC_MINOR_STREAM_TEMPORAL_LAYERS "che.video.minor_stream_num_temporal_layers"
1165#define CONFIGURABLE_KEY_VIDEO_ENABLE_264_FIX_SVC_NEGO "che.video.enable_264_fix_svc_nego"
1166#define CONFIGURABLE_KEY_VIDEO_SUBSCRIBE_FRAMERATE_LEVEL "rtc.video.subscribe_framerate_level"
1167#define CONFIGURABLE_KEY_VIDEO_ENABLE_265_FIX_SVC_NEGO "che.video.enable_265_fix_svc_nego"
1168#define CONFIGURABLE_KEY_VIDEO_SCC_DOC_ENABLE_FIX_SVC "che.video.scc_doc_enable_fix_svc"
1169
1170// autvos scale module config
1171#define CONFIGURABLE_KEY_RTC_REMOTE_SCALE_DOWNGRADE_MIN_QUEUE "rtc.remote_scale_downgrade_min_queue"
1172#define CONFIGURABLE_KEY_RTC_REMOTE_SCALE_DOWNGRADE_MIN_CONGESTION_TIME "rtc.remote_scale_downgrade_min_congestion_time"
1173#define CONFIGURABLE_KEY_RTC_REMOTE_SCALE_DOWNGRADE_IMMEDIATE_DROP_QUEUE "rtc.remote_scale_downgrade_immediate_drop_queue"
1174#define CONFIGURABLE_KEY_RTC_REMOTE_SCALE_DOWNGRADE_MAXQUEUE_WAITING_TIME "rtc.remote_scale_downgrade_maxqueue_waiting_time"
1175#define CONFIGURABLE_KEY_RTC_REMOTE_SCALE_UPGRADE_MIN_UNDERUSE_TIME "rtc.remote_scale_upgrade_min_underuse_time"
1176#define CONFIGURABLE_KEY_RTC_REMOTE_SCALE_UPGRADE_MAX_QUEUE "rtc.remote_scale_upgrade_max_queue"
1177
1178#define CONFIGURABLE_KEY_RTC_REMOTE_FRAME_EXPIRE_THRESHLOD "rtc.remote_frame_expire_threshold"
1179
1180// svc auto adjuster
1181#define CONFIGURABLE_KEY_VIDEO_SVC_AA_ENABLE "rtc.svc_aa_enable"
1182#define CONFIGURABLE_KEY_VIDEO_SVC_AA_REMOTE_FEEDBACK_INPUT "rtc.svc_aa_remote_feedback_input"
1183#define CONFIGURABLE_KEY_VIDEO_SVC_AA_MIN_ADJUST_INTERVAL "rtc.svc_aa_min_adjust_interval"
1184#define CONFIGURABLE_KEY_VIDEO_SVC_AA_AUTO_ADJUST "rtc.svc_aa_auto_adjust"
1185#define CONFIGURABLE_KEY_VIDEO_SVC_AA_ENABLE_CLOSE_MINOR_STREAM "rtc.svc_aa_enable_close_minor_stream"
1186#define CONFIGURABLE_KEY_VIDEO_SVC_AA_MINOR_STREAM_MAX_BITRATE_RATIO "rtc.svc_aa_minor_stream_max_bitrate_ratio"
1187#define CONFIGURABLE_KEY_VIDEO_SVC_AA_MINOR_STREAM_MIN_BITRATE_RATIO "rtc.svc_aa_minor_stream_min_bitrate_ratio"
1188#define CONFIGURABLE_KEY_VIDEO_SVC_AA_CHANNEL_SIZE_THRESHOLD "rtc.svc_aa_channel_size_threshold"
1189#define CONFIGURABLE_KEY_VIDEO_SVC_MAX_LAYERS "rtc.svc_max_layers"
1190#define CONFIGURABLE_KEY_VIDEO_SVC_MAX_BITRATE_RATIO "rtc.svc_max_bitrate_ratio"
1191#define CONFIGURABLE_KEY_VIDEO_SVC_COVERAGE_BITRATE "rtc.svc_coverage_bitrate"
1192#define CONFIGURABLE_KEY_VIDEO_SVC_COVERAGE_RATIO "rtc.svc_coverage_ratio"
1193
1194// sync report controller
1195#define CONFIGURABLE_KEY_VIDEO_SYNC_REPORT_ENABLE "rtc.sync_report_enable"
1196#define CONFIGURABLE_KEY_VIDEO_SYNC_REPORT_BWE_CHANGE_RATIO "rtc.sync_report_bwe_change_ratio"
1197#define CONFIGURABLE_KEY_VIDEO_SYNC_REPORT_BWE_MIN_DELAY "rtc.sync_report_bwe_min_delay"
1198#define CONFIGURABLE_KEY_VIDEO_SYNC_REPORT_BWE_INTERVAL "rtc.sync_report_bwe_interval"
1199
1200// vp8 encoder switch enable
1201#define CONFIGURABLE_KEY_VIDEO_VP8_ENC_SWITCH "rtc.video.vp8_enc_switch"
1202#define CONFIGURABLE_KEY_VIDEO_FORCE_VP8_ENCODER "rtc.video.force_vp8_encoder"
1203
1204// disable vp8 codec negotiation
1205#define CONFIGURABLE_KEY_VIDEO_VP8_DEC_NEGOTIATION "che.video.vp8_dec_negotiation"
1206// 265
1207#define CONFIGURABLE_KEY_VIDEO_H265_DEC_ENABLE "che.video.h265_dec_enable"
1208#define CONFIGURABLE_KEY_VIDEO_H265_NEGOCIATION_DISABLE "che.video.h265_negociation_disable"
1209#define CONFIGURABLE_KEY_VIDEO_NEGOTIATION_DEC_CAPS_CHECK_ENABLE "che.video.negotiation_dec_caps_check_enable"
1210// av1
1211#define CONFIGURABLE_KEY_VIDEO_AV1_NEGOCIATION_DISABLE "che.video.av1_negociation_disable"
1212#define CONFIGURABLE_KEY_VIDEO_AV1_DEC_ENABLE "che.video.av1_dec_enable"
1213#define CONFIGURABLE_KEY_VIDEO_AV1_CAMERA_ENABLE "rtc.video.av1_camera_enable"
1214#define CONFIGURABLE_KEY_VIDEO_AV1_SCREEN_ENABLE "rtc.video.av1_screen_enable"
1215#define CONFIGURABLE_KEY_VIDEO_AV1_FEEDBACK_ENABLE "rtc.video.av1_feedback_enable"
1216#define CONFIGURABLE_KEY_VIDEO_HDR_CAPABILITY_ENABLE "rtc.video.hdr_capability_enable"
1217#define CONFIGURABLE_KEY_VIDEO_MAJOR_STREAM_ENCODER_THREAD_NUM "rtc.video.major_stream_encoder_thread_num"
1218#define CONFIGURABLE_KEY_VIDEO_MINOR_STREAM_ENCODER_THREAD_NUM "rtc.video.minor_stream_encoder_thread_num"
1219#define CONFIGURABLE_KEY_VIDEO_DECODER_THREAD_NUM "rtc.video.decoder_thread_num"
1220#define CONFIGURABLE_KEY_VIDEO_DECODER_MAX_HWDEC_COSESSIONS "rtc.video.max_hwdec_cosessions"
1221#define CONFIGURABLE_KEY_VIDEO_ENCODER_LIST "rtc.video.encoder_list"
1222#define CONFIGURABLE_KEY_VIDEO_ENABLE_PERFORMANCE_GATING "rtc.video.enable_performance_gating"
1223#define CONFIGURABLE_KEY_VIDEO_DEVICE_SCORE_OFFSET "rtc.video.device_score_offset"
1224
1225#define CONFIGURABLE_KEY_VIDEO_INSTANT_STREAMING_MODE "rtc.video.enable_instant_streaming_mode"
1226#define CONFIGURABLE_KEY_VIDEO_MAX_ALL_INTRA_ENCODE_TIME "rtc.video.max_all_intra_encode_time"
1227#define CONFIGURABLE_KEY_VIDEO_ENCODER_QOE_METRICS_WEIGHT "rtc.video.encoder_qoe_metrics_weight"
1228#define CONFIGURABLE_KEY_VIDEO_ENCODER_CHIP_TYPE "rtc.video.encoder_chip_type"
1229#define CONFIGURABLE_KEY_VIDEO_ENCODER_QOE_AA "rtc.video.encoder_qoe_aa"
1230
1231#define CONFIGURABLE_KEY_VIDEO_ENC_SCC_ENABLE "che.video.enc_scc_enable"
1232#define CONFIGURABLE_KEY_VIDEO_FEEDBACK_MODE "rtc.video.feedback_mode"
1233
1234#define CONFIGURABLE_KEY_VIDEO_MIN_SCC_AUTO_FRAMERATE "che.video.min_scc_auto_framerate"
1235#define CONFIGURABLE_KEY_VIDEO_SCC_AUTOFRAMERATE_BITRATE_RATIO "che.video.scc_autoframerate_bitrate_ratio"
1236
1237#define CONFIGURABLE_KEY_VIDEO_CODING_MODULE_INFO_EVENT_ENABLE "che.video.vcm_info_event_enable"
1238
1239#define CONFIGURABLE_KEY_VIDEO_MIN_ENC_LEVEL "che.video.min_enc_level"
1240#define CONFIGURABLE_KEY_VIDEO_MAX_DEC_LEVEL "rtc.video.max_dec_level"
1241#define CONFIGURABLE_KEY_VIDEO_WZ265_DEC_ENABLE "rtc.video.wz265_dec_enable"
1242#define CONFIGURABLE_KEY_VIDEO_FFMPEG_HEVC_DEC_ENABLE "rtc.video.ffmpeg_hevc_dec_enable"
1243#define CONFIGURABLE_KEY_VIDEO_ROI_MAX_QP "rtc.video.roi_max_qp"
1244#define CONFIGURABLE_KEY_VIDEO_ROI_QP_OFFSET "rtc.video.roi_qp_offset"
1245#define CONFIGURABLE_KEY_VIDEO_ENABLE_HW_ENCODER_QUICKLY_START "rtc.video.enable_hwenc_quickly_start"
1246#define CONFIGURABLE_KEY_VIDEO_INITIAL_HW_ENCODER_QUICKLY_START "rtc.video.initial_hwenc_quickly_start"
1247#define CONFIGURABLE_KEY_VIDEO_ENABLE_HW_DECODER_QUICKLY_START "rtc.video.enable_hwdec_quickly_start"
1248#define CONFIGURABLE_KEY_VIDEO_ENABLE_UHD_HW_DECODER_QUICKLY_START "rtc.video.enable_uhd_hwdec_quickly_start"
1249#define CONFIGURABLE_KEY_VIDEO_FORCE_HW_CODEC_INFO_QUERY "rtc.video.force_hw_codec_info_query"
1250
1251#define CONFIGURABLE_KEY_VIDEO_DEFAULT_HW_DECODER_THRES "rtc.video.default_hw_decoder_thres"
1252#define CONFIGURABLE_KEY_VIDEO_DECODER_FRAME_BUFFER_LENGTH "rtc.video.decoder_frame_buffer_length"
1253// hwenc blacklist, default none
1254#define CONFIGURABLE_KEY_VIDEO_HWENC_BLACKLIST "che.video.hwenc_blacklist"
1255// hwdec blacklist, default none
1256#define CONFIGURABLE_KEY_VIDEO_HWDEC_BLACKLIST "che.video.hwdec_blacklist"
1257
1258// default hardware encoder for all paltform
1259#define CONFIGURABLE_KEY_VIDEO_DEFAULT_ENABLE_HW_ENCODER "rtc.video.default_enable_hw_encoder"
1260
1261// default hardware encoder just for win32
1262#define CONFIGURABLE_KEY_VIDEO_DEFAULT_ENABLED_HW_ENCODER_WIN32 "rtc.video.default_enable_hwenc_win32"
1263#define CONFIGURABLE_KEY_VIDEO_ALLOW_QSVHEVCENC_FOR_SCREENSHARE "rtc.video.allow_qsvhevcenc_for_screenshare"
1264// fake codec error , only for debug and test
1265#define CONFIGURABLE_KEY_VIDEO_FAKE_CODEC_ERROR_CODE "rtc.video.fake_codec_error_code"
1266#define CONFIGURABLE_KEY_VIDEO_ENABLE_ENCODER_FAIL_CALLBACK "rtc.video.enable_encoder_fail_callback"
1267#define CONFIGURABLE_KEY_VIDEO_ENABLE_DECODER_FAIL_CALLBACK "rtc.video.enable_decoder_fail_callback"
1268#define CONFIGURABLE_KEY_VIDEO_FPS_EST_WINDOW_SIZE "rtc.video.fps_est_window_size_ms"
1269#define CONFIGURABLE_KEY_VIDEO_USE_KEYFRAME_TYPE_FROM_PARSER "rtc.video.use_keyframe_type_from_parser"
1270#define CONFIGURABLE_KEY_VIDEO_FRAME_GLITCHING_DETECT_LEVEL "rtc.video.frame_glitching_detect_level"
1271#define CONFIGURABLE_KEY_VIDEO_FAKE_FRAME_GLITCHING_ERROR_CODE "rtc.video.fake_frame_glitching_error_code"
1272#define CONFIGURABLE_KEY_VIDEO_FRAME_GLITCHING_THRESHOLD "rtc.video.frame_glitching_thresh"
1273#define CONFIGURABLE_KEY_VIDEO_FRAME_GLITCHING_YUV_DUMP_NUM "rtc.video.frame_glitching_yuv_dump_num"
1274#define CONFIGURABLE_KEY_VIDEO_FRAME_GLITCHING_STREAM_DUMP_ENABLE "rtc.video.frame_glitching_stream_dump_enable"
1275#define CONFIGURABLE_KEY_VIDEO_ENCODE_FAILED_FALLBACK_THRESH "rtc.video.encode_failed_fallback_thresh"
1276
1277
1278//freestyle encoder profile
1279#define CONFIGURABLE_KEY_VIDEO_FREESTYLE_CUSTOMER "che.video.freestyle_customer"
1280
1281// VQA for decoded frame after all filter
1282#define CONFIGURABLE_KEY_RTC_VIDEO_DEC_VQA_REPORT "che.video.dec_mosreport"
1283#define CONFIGURABLE_KEY_RTC_VIDEO_VQA_MODEL_TARGET_FPS "che.video.vqc_model_target_fps"
1284
1285#define CONFIGURABLE_KEY_RTC_VQA_MULTI_STREAM_SELECTOR_ENABLE "rtc.vqa_multi_stream_selector_enable"
1286
1287#define CONFIGURABLE_KEY_RTC_ENABLE_NASA2 OBFUSCATED("rtc.enable_nasa2")
1288#define CONFIGURABLE_KEY_RTC_USE_AUT_METADATA OBFUSCATED("rtc.use_aut_metadata")
1289
1290#define CONFIGURABLE_KEY_STRING_UID_NATIVE_RANDOM_INT_UID "rtc.string_uid_native_random_int_uid"
1291
1292#define CONFIGURABLE_KEY_ENABLE_SYNC_SERVICE "rtc.enable_sync_service"
1293#define CONFIGURABLE_KEY_SYNC_RETRY_MAX_COUNT "rtc.sync_retry_max_count"
1294#define CONFIGURABLE_KEY_SYNC_INITIAL_DELAY "rtc.sync_initial_delay"
1295#define CONFIGURABLE_KEY_SYNC_MAX_DELAY "rtc.sync_max_delay"
1296#define CONFIGURABLE_KEY_SYNC_DOC_AUTO_KEEPALIVE_TTL "rtc.sync_doc_auto_keep_alive_ttl"
1297#define CONFIGURABLE_KEY_SYNC_PROXY_LIST "rtc.sync_proxy_list"
1298#define CONFIGURABLE_KEY_SYNC_MOCK_EXCEPTION_INFO "rtc.sync_mock_exception_info"
1299
1300#define CONFIGURABLE_KEY_RTC_ENABLE_MULTIPATH "rtc.enableMultipath"
1301#define CONFIGURABLE_KEY_RTC_CELLULAR_PREFERENCE "rtc.multipathCellularPreference"
1302#define CONFIGURABLE_KEY_RTC_REINJECTION_STRATEGY "rtc.reinjection_strategy"
1303#define CONFIGURABLE_KEY_RTC_PATH_SCHEDULE_STRATEGY "rtc.path_scheduling_strategy"
1304#define CONFIGURABLE_KEY_RTC_PATH_PREDICTION_STRATEGY "rtc.path_prediction_strategy"
1305
1306#define CONFIGURABLE_KEY_VIDEO_VPR_DROP_OLD_FRAME_THRES_MS "che.video.vpr.drop_old_frame_thres_ms"
1307#define CONFIGURABLE_KEY_VIDEO_VPR_ENABLE "che.video.vpr.enable"
1308#define CONFIGURABLE_KEY_VIDEO_VPR_INIT_SIZE "che.video.vpr.init_size"
1309#define CONFIGURABLE_KEY_VIDEO_VPR_MAX_SIZE "che.video.vpr.max_size"
1310#define CONFIGURABLE_KEY_VIDEO_VPR_TARGET_DELAY_MS "che.video.vpr.target_delay_ms"
1311#define CONFIGURABLE_KEY_VIDEO_VPR_FROZEN_MS_THRES "che.video.vpr.frozen_ms_thres"
1312#define CONFIGURABLE_KEY_VIDEO_VPR_FROZEN_RATE_THRES "che.video.vpr.frozen_rate_thres"
1313#define CONFIGURABLE_KEY_VIDEO_VPR_ADAPTIVE_THRES "che.video.vpr.vpr_adaptive_thres"
1314#define CONFIGURABLE_KEY_VIDEO_VPR_METHOD "che.video.vpr.method"
1315#define CONFIGURABLE_KEY_VIDEO_VPR_POSITION "che.video.vpr.position"
1316#define CONFIGURABLE_KEY_VIDEO_RETRANS_DETECT_ENABLE "che.video.retrans_detect_enable"
1317#define CONFIGURABLE_KEY_VIDEO_REXFER_DELAY_ENABLED "rtc.video.rexfer_delay_enabled"
1318#define CONFIGURABLE_KEY_VIDEO_AUDIENCE_REXFER_DALAY_MAX "rtc.video.audience_rexfer_delay_max_value"
1319#define CONFIGURABLE_KEY_VIDEO_BROADCASTER_REXFER_DALAY_MAX "rtc.video.broadcaster_rexfer_delay_max_value"
1320#define CONFIGURABLE_KEY_VIDEO_DOWN_MAX_RETRY_TIMES "rtc.video.downMaxRetryTimes"
1321#define CONFIGURABLE_KEY_VIDEO_UP_MAX_RETRY_TIMES "rtc.video.upMaxRetryTimes"
1322#define CONFIGURABLE_KEY_VIDEO_REXFER_RTO_FACTOR "rtc.video.rexferRtoFactor"
1323#define CONFIGURABLE_KEY_VIDEO_HIGH_LOSS_THRESHOLD "rtc.video.high_loss_threshold"
1324#define CONFIGURABLE_KEY_VIDEO_MULTI_REXFER_MODE "rtc.video.multi_rexfer_mode"
1325#define CONFIGURABLE_KEY_VIDEO_USE_SENT_TS_ENABLE "che.video.use_sent_ts_enable"
1326#define CONFIGURABLE_KEY_RTC_VIDEO_ROTATION "rtc.video.rotation"
1327#define CONFIGURABLE_KEY_RTC_VIDEO_ANDROID_CUSTOM_DISPLAY_ROTATION "rtc.video.android.custom_displayRotation"
1328#define CONFIGURABLE_KEY_RTC_VIDEO_CAPTURE_DELAY_TABLE "rtc.video.capture_delay_table"
1329
1330#define CONFIGURABLE_KEY_VIDEO_SCALE_TYPE "che.video.scale_type"
1331
1332#define CONFIGURABLE_KEY_VIDEO_SCC_AUTO_FRAMERATE "che.video.scc_auto_framerate"
1333#define CONFIGURABLE_KEY_VIDEO_SCC_QUALITY_OPT "che.video.scc_quality_opt"
1334#define CONFIGURABLE_KEY_VIDEO_RENDER_D3D9_TEXTURE "che.video.render.d3d9_texture"
1335#define CONFIGURABLE_KEY_VIDEO_RENDER_D3D9_RENDER_MODE "che.video.render.d3d9_render_mode"
1336#define CONFIGURABLE_KEY_VIDEO_RENDER_BUFFER_QUEUE_SIZE "che.video.render.buffer_queue_size"
1337#define CONFIGURABLE_KEY_VIDEO_RENDER_MODE "che.video.render.mode"
1338#define CONFIGURABLE_KEY_VIDEO_RENDER_VSYNC_SWITCH "che.video.render.vsync.switch"
1339#define CONFIGURABLE_KEY_VIDEO_RENDER_HDR_TRANSFORM "che.video.render.hdr_transform" // 1:hdr2sdr 2:sdr2hdr
1340#define CONFIGURABLE_KEY_RTC_VIDEO_LOCAL_RENDER_TARGET_FPS "che.video.local_render.target_fps"
1341#define CONFIGURABLE_KEY_RTC_VIDEO_REMOTE_RENDER_TARGET_FPS "che.video.remote_render.target_fps"
1342#define CONFIGURABLE_KEY_RTC_VIDEO_CREATE_RENDERER_IN_ADVANCE "che.video.create_renderer_in_advance"
1343
1344#define CONFIGURABLE_KEY_VIDEO_WINDOWS_CAPTURE_TO_TEXTURE "che.video.windows_capture_to_texture"
1345#define CONFIGURABLE_KEY_VIDEO_WIN_MAX_TEXTURE_QUEUE_SIZE "che.video.win_max_texture_queue_size"
1346#define CONFIGURABLE_KEY_VIDEO_CAPTURER_TEXTURE_COPY_ENABLE "che.video.android_texture.copy_enable"
1347#define CONFIGURABLE_KEY_VIDEO_EXTENSION_TEXTURE_COPY_ENABLE "che.video.extension_texture.copy_enable"
1348#define CONFIGURABLE_KEY_VIDEO_OBSERVER_TEXTURE_COPY_ENABLE "che.video.observer_texture.copy_enable"
1349#define CONFIGURABLE_KEY_VIDEO_ANDROID_HWDEC_TEXTURE_COPY_ENABLE "che.video.android.hwdec_texture.copy_enable"
1350#define CONFIGURABLE_KEY_VIDEO_GL_FORCE_GLFINISH "che.video.force_glfinish"
1351#define CONFIGURABLE_KEY_VIDEO_USE_GLFINISH_IN_CONVERTER "che.video.use_glfinish_in_converter"
1352#define CONFIGURABLE_KEY_VIDEO_FORCE_USE_DEFAULT_BLENDER "che.video.force_use_default_blender"
1353#define CONFIGURABLE_KEY_VIDEO_FORCE_USE_NV12_TEXTURE "che.video.video_force_use_nv12_texture"
1354
1355#define CONFIGURABLE_KEY_VIDEO_HMOS_CAPTURE_COPY_ENABLE "che.video.hmos_capture.copy_enable"
1356#define CONFIGURABLE_KEY_VIDEO_HMOS_DECODER_COPY_ENABLE "che.video.hmos_decoder.copy_enable"
1357#define CONFIGURABLE_KEY_VIDEO_HMOS_ENCODER_SURFACE_ENABLE "che.video.hmos_encoder.surface_enable"
1358#define CONFIGURABLE_KEY_VIDEO_HMOS_SURFACE_RENDER_ENABLE "che.video.hmos_surface_render_enable"
1359#define CONFIGURABLE_KEY_VIDEO_HMOS_SCREEN_SURFACE_ENABLE "che.video.hmos_screen.surface_enable"
1360#define CONFIGURABLE_KEY_VIDEO_HMOS_SCREEN_COPY_ENABLE "che.video.hmos_screen.copy_enable"
1361#define CONFIGURABLE_KEY_VIDEO_HMOS_SURFACE_RENDER_ENABLE "che.video.hmos_surface_render_enable"
1362#define CONFIGURABLE_KEY_VIDEO_HMOS_SURFACE_RENDER_ENABLE "che.video.hmos_surface_render_enable"
1363
1364
1365#define CONFIGURABLE_KEY_VIDEO_ENABLE_FACE_BEAUTY "rtc.video.enable_face_beauty"
1366#define CONFIGURABLE_KEY_VIDEO_ENABLE_GL_FENCE "che.video.enable_gl_fence"
1367#define CONFIGURABLE_KEY_VIDEO_CAPTURE_TEXTURE_BUFFER_COUNT "che.video.capture_texture_buffer_count"
1368#define CONFIGURABLE_KEY_VIDEO_EXTENSION_TEXTURE_BUFFER_COUNT "che.video.extension_texture_buffer_count"
1369#define CONFIGURABLE_KEY_VIDEO_OBSERVER_TEXTURE_BUFFER_COUNT "che.video.observer_texture_buffer_count"
1370
1371#define CONFIGURABLE_KEY_VIDEO_ENABLE_HIGH_DEFINITION_STRATEGY "che.video.enable_high_definition_strategy"
1372
1373#define CONFIGURABLE_KEY_VIDEO_ENABLE_NEWCC "che.video.enableNewCC"
1374#define CONFIGURABLE_KEY_VIDEO_SMALL_NET_BUFFER "che.video.detect_small_net_buffer"
1375
1376#define INTERNAL_KEY_RTC_ENABLE_SAURON "rtc.enable_sauron"
1377#define INTERNAL_KEY_RTC_MIN_TIMER_INTERVAL "rtc.min_timer_interval"
1378#define INTERNAL_KEY_RTC_PERF_COST_LEVEL "rtc.perf_cost_level"
1379
1380#define CONFIGURABLE_KEY_VIDEO_FEC_CODEC "rtc.video.fec_codec"
1381#define INTERNAL_KEY_RTC_VIDEO_ENCODER_WIDTH_ALIGNMENT "rtc.video.encoder_width_alignment"
1382#define INTERNAL_KEY_RTC_VIDEO_ENCODER_HEIGHT_ALIGNMENT "rtc.video.encoder_height_alignment"
1383#define INTERNAL_KEY_RTC_VIDEO_ENCODER_FORCE_ALIGNMENT "rtc.video.encoder_force_alignment"
1384#define INTERNAL_KEY_RTC_VIDEO_ENCODER_ENABLE_DEQUEUE_TIMEAWAIT "rtc.video.encoder_enable_dequeue_timewait"
1385#define INTERNAL_KEY_RTC_VIDEO_ENCODER_ADJUSTMENT_RESET "rtc.video.encoder_adjustment_reset"
1386#define CONFIGURABLE_KEY_RTC_VIDEO_DECODER_OUT_BYTE_FRAME "rtc.video.decoder_out_byte_frame"
1387#define CONFIGURABLE_KEY_RTC_VIDEO_DECODER_OUT_10BYTE_FRAME "rtc.video.decoder_out_10bit_frame"
1388#define CONFIGURABLE_KEY_RTC_VIDEO_ANDROID_GOOGLE_DEC_ENABLE "rtc.video.android.google_dec_enable"
1389#define CONFIGURABLE_KEY_RTC_VIDEO_ANDROID_GOOGLE_ENC_ENABLE "rtc.video.android.google_enc_enable"
1390#define CONFIGURABLE_KEY_RTC_VIDEO_SKIP_HWDEC_BY_CODEC_NAME "rtc.video.android.skip_hwdec_by_codeName"
1391#define CONFIGURABLE_KEY_RTC_VIDEO_SKIP_HWENC_BY_CODEC_NAME "rtc.video.android.skip_hwenc_by_codeName"
1392#define CONFIGURABLE_KEY_RTC_VIDEO_ANDROID_GOOGLE_DAV1D_DEC_ENABLE "rtc.video.android.google_dav1d_dec_enable"
1393#define CONFIGURABLE_KEY_RTC_VIDEO_DECODER_OUT_BYTE_FRAME_BY_RESOLUTION_PRODUCT_THRES "rtc.video.decoder_out_byte_frame_by_resolution_product_thres"
1394#define CONFIGURABLE_KEY_RTC_VIDEO_START_BITRATE "rtc.video.start_bitrate"
1395#define CONFIGURABLE_KEY_VIDEO_HWENC_CONFIGURE "che.video.android_hwenc_config"
1396#define CONFIGURABLE_KEY_VIDEO_HWDEC_CONFIGURE "che.video.android_hwdec_config"
1397#define CONFIGURABLE_KEY_VIDEO_HWENC_HEVC_EXCEPTIOIN "che.video.hw_enc_hevc_exceptions"
1398#define CONFIGURABLE_KEY_VIDEO_HWDEC_HEVC_EXCEPTIOIN "che.video.hw_dec_hevc_exceptions"
1399#define CONFIGURABLE_KEY_VIDEO_HWENC_EXCEPTIOIN "che.video.hw_enc_exceptions"
1400#define CONFIGURABLE_KEY_VIDEO_VTENC_DEFAULT_PIXEL_FORMAT "che.video.vtenc_default_pixel_format"
1401#define INTERNAL_KEY_RTC_VIDEO_ENCODER_HDR_WIDTH_ALIGNMENT "rtc.video.encoder_hdr_width_alignment"
1402#define INTERNAL_KEY_RTC_VIDEO_ENCODER_HDR_HEIGHT_ALIGNMENT "rtc.video.encoder_hdr_height_alignment"
1403#define CONFIGURABLE_KEY_RTC_VIDEO_HW_DECODER_RESET_CROPPING "rtc.video.hw_decoder_reset_cropping"
1404
1405#define CONFIGURABLE_KEY_RTC_FORCE_DEVICE_SCORE "che.device_score"
1406
1407#define CONFIGURABLE_KEY_VIDEO_QEOE_METRICS_WEIGHT "che.video.qoe_metrics_weight"
1408#define CONFIGURABLE_KEY_VIDEO_ENABLE_PERFORMANCE_ADAPTIVE "che.video.enable_performance_adaptive"
1409#define CONFIGURABLE_KEY_VIDEO_ENABLE_PERFORMANCE_ADAPTIVE_CONFIG "che.video.enable_performance_adaptive_config"
1410#define CONFIGURABLE_KEY_VIDEO_QOE_DIAGNOSE_ACE_AA_CONFIG "che.video.qoe_diagnose_ace_aa_config"
1411#define CONFIGURABLE_KEY_VIDEO_QOE_DIAGNOSE_ACE_AA_FLIP_FOR_TEST "che.video.qoe_diagnose_ace_aa_flip_for_test"
1412#define CONFIGURABLE_KEY_VIDEO_QOE_DIAGNOSE_PRE_PROCESS_AA_FLIP_FOR_TEST "che.video.qoe_diagnose_pre_process_aa_flip_for_test"
1413#define CONFIGURABLE_KEY_VIDEO_ACE_AA_PERFORMANCE_ADAPTIVE_CONFIG "che.video.ace_aa_performance_adaptive_config"
1414#define CONFIGURABLE_KEY_VIDEO_QOE_DIAGNOSE_SDK_BEAUTY_CONFIG "che.video.qoe_diagnose_sdk_beauty_config"
1415#define CONFIGURABLE_KEY_VIDEO_QOE_DIAGNOSE_OBSERVER_CONFIG "che.video.qoe_diagnose_observer_config"
1416#define CONFIGURABLE_KEY_VIDEO_CAPTURE_AA_CONFIG "che.video.capture_aa_config"
1417#define CONFIGURABLE_KEY_VIDEO_PRE_PROCESS_AA_CONFIG "che.video.pre_process_aa_config"
1418
1419#define CONFIGURABLE_KEY_RTC_VIDEO_BANDWIDTH_AGGRESSIVE_LEVEL "che.video.bandwidth_aggressive_level"
1420#define CONFIGURABLE_KEY_RTC_VIDEO_END2END_BWE "rtc.video.end2end_bwe"
1421#define CONFIGURABLE_KEY_RTC_VIDEO_MAX_PAYLOAD_SIZE "rtc.video.max_payload_size"
1422#define CONFIGURABLE_KEY_CHE_VIDEO_MAX_PAYLOAD_SIZE "che.video.maxVideoPayload"
1423#define CONFIGURABLE_KEY_VIDEO_DEVICE_CONTENT_INSPECT "rtc.video.enable_device_inspect"
1424#define CONFIGURABLE_KEY_VIDEO_CLOUD_CONTENT_INSPECT "rtc.video.enable_cloud_inspect"
1425#define CONFIGURABLE_KEY_VIDEO_CONTENT_INSPECT "rtc.video.enable_content_inspect"
1426#define CONFIGURABLE_KEY_VIDEO_ENABLE_MARKET_PLACE_CONTENT_INSPECT "rtc.video.enable_market_place_image_upload"
1427#define CONFIGURABLE_KEY_VIDEO_MARKET_PLACE_CONTENT_INSPECT_TCP_SUPPORT "rtc.video.market_place_image_upload_support_tcp"
1428#define CONFIGURABLE_KEY_VIDEO_MARKET_PLACE_IMAGE_UPLOAD_RATE "rtc.video.market_place_image_upload_rate"
1429#define CONFIGURABLE_KEY_VIDEO_MARKET_PLACE_CONTENT_INSPECT_EXT_INFO "rtc.video.market_place_content_inspect_ext_info"
1430#define CONFIGURABLE_KEY_VIDEO_MARKET_PLACE_CONTENT_INSPECT_SERVER_CONFIG "rtc.video.market_place_content_inspect_server_config"
1431#define CONFIGURABLE_KEY_VIDEO_MEDIA_RECORDER_VIDEO_DELAY "rtc.video.media_recorder_video_delay"
1432#define CONFIGURABLE_KEY_MEDIA_RECORDER_AUTO_AUDIO_DELAY "che.media_recorder_auto_audio_delay"
1433#define CONFIGURABLE_KEY_MEDIA_RECORDER_AUTO_VIDEO_DELAY "che.media_recorder_auto_video_delay"
1434#define CONFIGURABLE_KEY_MEDIA_RECORDER_WITH_RTC_BITRATE "che.media_recorder_with_rtc_bitrate"
1435#define CONFIGURABLE_KEY_VIDEO_INSPECT_THRESHOLD "rtc.video.inspect_threshold"
1436#define CONFIGURABLE_KEY_VIDEO_INSPECT_CALLBACK "rtc.video.enable_inspect_callback"
1437#define CONFIGURABLE_KEY_VIDEO_INSPECT_ENCRYPT "rtc.video.content_inspect_encrypt_type"
1438#define CONFIGURABLE_KEY_VIDEO_INSPECT_FEATURE_RATE "rtc.video.content_inspect_feature_rate"
1439#define CONFIGURABLE_KEY_VIDEO_INSPECT_VENDOR "rtc.video.content_inspect_vendor"
1440#define CONFIGURABLE_KEY_VIDEO_INSPECT_CALLBACKURL "rtc.video.content_callback_url"
1441#define CONFIGURABLE_KEY_VIDEO_INSPECT_TOKEN "rtc.video.content_inspect_token"
1442#define CONFIGURABLE_KEY_VIDEO_INSPECT_EXTINFO "rtc.video.content_inspect_ext_info"
1443#define CONFIGURABLE_KEY_RTC_MR_FILLIN_MUTE_PACKAGR_DURING_MUTE "rtc.mr_fillin_mute_package_during_mute"
1444
1445#define INTERNAL_KEY_RTC_SET_APP_TYPE "rtc.set_app_type"
1446
1447#define CONFIGURABLE_KEY_RTC_IPTOS_ENABLE "rtc.iptos"
1448
1449#define CONFIGURABLE_KEY_VIDEO_SAVE_ENCODE_BITRATE "rtc.video.saveEncodeBitrate"
1450#define CONFIGURABLE_KEY_VIDEO_SAVE_ENCODE_BITRATE_PARAMS "rtc.video.saveBitrateParams"
1451#define CONFIGURABLE_KEY_VIDEO_QUALITY_GUARANTEE_PARAMS "rtc.video.enable_quality_guarantee"
1452#define CONFIGURABLE_KEY_VIDEO_SAVE_ENCODE_BITRATE_MINOR "rtc.video.saveEncodeBitrateMinor"
1453#define CONFIGURABLE_KEY_RTC_VIDEO_SKIP_ENABLE "rtc.video.skip_enable"
1454#define CONFIGURABLE_KEY_RTC_SMOOTH_ENC_CODEC_CHANGE_ENABLE "rtc.video.smooth_enc_codec_change_enable"
1455#define CONFIGURABLE_KEY_RTC_VIDEO_NEW_COMPLEXITY "rtc.video.new_complexity"
1456#define CONFIGURABLE_KEY_RTC_VIDEO_DEFAULT_COMPLEXITY "rtc.video.default_complexity"
1457#define CONFIGURABLE_MIN_KEYFRAME_INTERVAL "che.video.keyFrameEncodeMinInterval"
1458#define CONFIGURABLE_VIDEO_ENABLE_PARSER_REJECT "rtc.enable_parser_reject"
1459#define CONFIGURABLE_VIDEO_BFRAME_NUMBER "rtc.video.bframes"
1460#define CONFIGURABLE_VIDEO_ENABLE_BFRAME "rtc.video.enable_bframe"
1461#define CONFIGURABLE_VIDEO_ENABLE_BFRAME_H265 "rtc.video.enable_bframe_h265"
1462
1463#define CONFIGURABLE_VIDEO_BFRAME_MAX_CTS_OFFSET "rtc.video.bframe_max_cts_offset"
1464#define CONFIGURABLE_VIDEO_IOS_HW_DECODE_FORMAT_CHECK "rtc.video.ios_hw_decode_format_check"
1465#define CONFIGURABLE_VIDEO_BITRATE_CEILING_RATIO "rtc.video.bitrate_ceiling_ratio"
1466#define CONFIGURABLE_VIDEO_REWRITE_NUM_REORDER_FRAME "rtc.video.disable_rewrite_num_reorder_frame"
1467#define CONFIGURABLE_KEY_VIDEO_ENABLE_264_FIX_SVC "che.video.enable_264_fix_svc"
1468#define CONFIGURABLE_KEY_VIDEO_NASA_MAX_SYNC_LEN "che.video.nasa_max_sync_len"
1469#define CONFIGURABLE_KEY_VIDEO_MAX_PEERMSG_STREAM "che.video.max_peermsg_stream"
1470#define CONFIGURABLE_KEY_VIDEO_HARQ_SCENE "che.video.harqScene"
1471#define CONFIGURABLE_KEY_VIDEO_FEC_OUTSIDE_RATIO "che.video.fec_outside_bw_ratio"
1472#define CONFIGURABLE_KEY_VIDEO_FEC_OUTSIDE_RATIO_AUTO "che.video.fec_outside_bw_ratio_auto"
1473#define CONFIGURABLE_KEY_VIDEO_TRANSPORT_BYPASS_ENABLE "che.video.transport_bypass_enable"
1474#define CONFIGURABLE_KEY_VIDEO_TRANSPORT_BYPASS_FEC_APPLY_RATIO "che.video.transport_bypass.fec_apply_ratio"
1475#define CONFIGURABLE_KEY_VIDEO_APAS_HARQ_ENABLE "rtc.video.apas_harq_enable"
1476#define CONFIGURABLE_KEY_VIDEO_MULTI_REXFER_ALPHA_ENABLE "rtc.video.multi_rexfer_alpha_enable"
1477#define CONFIGURABLE_KEY_VIDEO_APAS_AA_HARQ_ENABLE "rtc.video.apas_aa_harq_enable"
1478
1479#define CONFIGURABLE_KEY_VIDEO_HARQ_VERSION "che.video.harqVer"
1480#define CONFIGURABLE_KEY_VIDEO_HARQ_MAX_FEC_RATIO "che.video.harqMaxFecRatio"
1481#define CONFIGURABLE_KEY_VIDEO_HARQ_LOSS_RATIO_MULTIPLIER "che.video.harqLossRatioMultiplier"
1482#define CONFIGURABLE_KEY_VIDEO_HARQ_FIXED_FEC_RATIO "che.video.harqFixedFecRatio"
1483#define CONFIGURABLE_KEY_VIDEO_HARQ_ENABLE_FIXED_FEC "che.video.harqEnableFixedFec"
1484#define CONFIGURABLE_KEY_VIDEO_HARQ_LOSS_WINDOWS "che.video.harqLossWindowPrivate"
1485#define CONFIGURABLE_KEY_VIDEO_HARQ_LOW_BWE_STRATEGY "che.video.harqLowBweStrategy"
1486
1487#define CONFIGURABLE_KEY_VIDEO_LOSS_FILTER_MODE "rtc.video.loss_filter_mode"
1488
1489#define CONFIGURABLE_KEY_QUICK_RESPONSE_INTRA_REQUEST "rtc.enable_quick_response_intra_request"
1490#define CONFIGURABLE_KEY_RTC_VIDEO_HW_CAPTURE_DELAY "rtc.video.hw_capture_delay"
1491#define CONFIGURABLE_KEY_RTC_VIDEO_THRESHHOLD_MS "rtc.video.threshhold_ms"
1492
1493#define INTERNAL_KEY_QOS_FOR_TEST_PURPOSE "rtc.qos_for_test_purpose"
1494
1495// Used to distinguish between old and new token usage processes(join channel, renew token, set client role)
1496#define INTERNAL_KEY_ENABLE_SECURE_TOKEN_VALIDATION "rtc.enable_secure_token_validation"
1497#define CONFIGURABLE_KEY_ENABLE_SOLE_UDP_SOCKET "rtc.enable_sole_udp_socket"
1498#define INTERNAL_KEY_CHE_AVSYNC_SYNC_UID "che.avsync.sync_uid"
1499#define INTERNAL_KEY_RTC_VIDEO_AVSYNC "rtc.video.avsync"
1500
1501#define CONFIGURABLE_KEY_RTC_SET_REXFER_STATUS "rtc.set_rexfer_status"
1502
1503#define CONFIGURABLE_DIRECT_CDN_STREAMING_VIDEO_GOP_MS "direct_cdn_streaming.video.gop_ms"
1504#define CONFIGURABLE_DIRECT_CDN_STREAMING_VIDEO_H264_PROFILE "direct_cdn_streaming.video.h264_profile"
1505#define CONFIGURABLE_DIRECT_CDN_STREAMING_VIDEO_ENCODER_HWSW_MODE "direct_cdn_streaming.video.encoder_hw_sw_mode"
1506#define CONFIGURABLE_DIRECT_CDN_STREAMING_VIDEO_ENCODER_BITRATE_CONTROL_MODE "direct_cdn_streaming.video.encoder_bitrate_control_mode"
1507
1508#define CONFIGURABLE_KEY_VIDEO_SEND_ALPHA_DATA "rtc.video.send_alpha_data" // For SEI alpha
1509#define CONFIGURABLE_KEY_VIDEO_ALPHA_DATA_CODEC_TYPE "rtc.video.alpha_data_codec_type"
1510#define CONFIGURABLE_KEY_VIDEO_ALPHA_DATA_SCALE_MODE "rtc.video.alpha_data_scale_mode"
1511#define CONFIGURABLE_KEY_VIDEO_ENCODE_ALPHA_STITCH_MODE "rtc.video.enc_alpha_stitch_mode"
1512#define CONFIGURABLE_KEY_VIDEO_ENCODE_ALPHA_STITCH_BITRATIO "rtc.video.enc_alpha_stitch_bitratio"
1513#define CONFIGURABLE_KEY_VIDEO_DECODE_SPLIT_ALPHA "rtc.video.dec_split_alpha"
1514#define CONFIGURABLE_KEY_VIDEO_DECODE_ALPHA_STITCH_MODE "rtc.video.dec_alpha_stitch_mode"
1515#define CONFIGURABLE_KEY_VIDEO_DECODE_CLAMP_ALPHA "rtc.video.dec_clamp_alpha"
1516#define CONFIGURABLE_KEY_VIDEO_SENDER_SPLIT_ALPHA "rtc.video.sender_split_alpha"
1517#define CONFIGURABLE_KEY_ADJUST_REMOTE_SSRC "rtc.adjust_remote_ssrc"
1518#define CONFIGURABLE_NETOB_UP_LIMIT_NUM "rtc.netob_up_limit_num"
1519
1520#define CONFIGURABLE_KEY_RTC_VIDEO_SET_REMOTE_VIDEO_STREAM INTERNAL_KEY_RTC_VIDEO_SET_REMOTE_DEFAULT_VIDEO_STREAM_TYPE
1521#define CONFIGURABLE_KEY_RTC_VIDEO_OVERRIDE_SMALL_VIDEO_NOT_USE_HWENC_POLICY KEY_RTC_VIDEO_OVERRIDE_SMALLVIDEO_NOT_USE_HWENC_POLICY
1522
1523#define INTERNAL_KEY_RTC_MOBILE_RSSI_THRESHOLD_MIN "rtc.mobile_rssi_threshold_min"
1524#define INTERNAL_KEY_RTC_WIFI_RSSI_THRESHOLD_MIN "rtc.wifi_rssi_threshold_min"
1525#define INTERNAL_KEY_RTC_LINK_SPEED_THRESHOLD_MIN "rtc.link_speed_threshold_min"
1526#define INTERNAL_KEY_RTC_GATE_RTT_THRESHOLD_MAX "rtc.gate_rtt_threshold_max"
1527#define INTERNAL_KEY_RTC_WAN_RTT_THRESHOLD_MAX "rtc.wan_rtt_threshold_max"
1528#define INTERNAL_KEY_RTC_VOS_RTT_THRESHOLD_MAX "rtc.vos_rtt_threshold_max"
1529#define CONFIGURABLE_KEY_JUDGE_DISCONNECT_AP_TIME_THRE "rtc.judgeDisconnectAPTimeThre"
1530#define CONFIGURABLE_KEY_JUDGE_SDK_BROADCAST_VERSION "rtc.sdk_broadcast_version"
1531
1532#define CONFIGURABLE_KEY_VIDEO_SHARP_UPLINK_BWE_INCREASE_DETECT "rtc.video.sharp_uplink_bwe_increase_detect"
1533#define INTERNAL_KEY_AUDIO_MIXING_POS_CHANGED_CB_INTERVAL_MS "rtc.audio_mixing.pos_changed_cb_interval_ms"
1534
1535#define INTERNAL_KEY_RTC_CC_TYPE "rtc.cc_type"
1536#define INTERNAL_KEY_RTC_VOS_PING_RESYNC "rtc.vos_ping_resync"
1537#define INTERNAL_KEY_RTC_ENABLE_VOS_SAVE_DATA "rtc.enable_vos_save_data"
1538#define INTERNAL_KEY_RTC_VOS_SAVE_DATA_PING_INTERVAL "rtc.vos_save_data_ping_interval"
1539#define INTERNAL_KEY_RTC_VOS_TIMEOUT_PERIOD "rtc.vos_timeout_period"
1540#define INTERNAL_KEY_RTC_VOS_EXPIRE_RERIOD "rtc.vos_expire_period"
1541#define INTERNAL_KEY_RTC_LOCAL_DOMAIN "rtc.local_domain"
1542#define INTERNAL_KEY_RTC_LOCAL_AP_LIST "rtc.local_ap_list"
1543#define INTERNAL_KEY_RTC_FORCE_LOCAL "rtc.force_local"
1544#define INTERNAL_KEY_RTC_AUT_VOS_STATS_INTERVAL "rtc.aut_vos_stats_interval"
1545#define INTERNAL_KEY_RTC_CC_PRIVATE "rtc.cc_private"
1546#define INTERNAL_KEY_RTC_USE_CONST_ACK_DELAY "rtc.use_const_ack_delay"
1547#define INTERNAL_KEY_RTC_ACK_DELAY "rtc.ack_delay"
1548#define INTERNAL_KEY_RTC_ENABLE_DYNAMIC_ACK_FREQUENCY "rtc.enable_dynamic_ack_frequency"
1549#define INTERNAL_KEY_RTC_MAX_INFLY_EXPIRE_DELAY "rtc.max_infly_expire_delay"
1550#define INTERNAL_KEY_RTC_LOSS_DETECTION_TYPE "rtc.loss_detection_type"
1551#define INTERNAL_KEY_RTC_DYNAMIC_LOSS_DETECTION "rtc.dynamic_loss_detection"
1552#define INTERNAL_KEY_RTC_MAX_REORDER_DELAY_FOR_LOSS_DETECTION "rtc.max_reorder_delay_for_loss_detection"
1553#define INTERNAL_KEY_RTC_CONGESTION_WINDOW_COMPENSATION_JITTER_GAIN "rtc.congestion_window_compensation_jitter_gain"
1554#define INTERNAL_KEY_RTC_CONGESTION_WINDOW_COMPENSATION_MODE "rtc.congestion_window_compensation_mode"
1555#define INTERNAL_KEY_RTC_ENABLE_CONSERVATIVE_PROBE_RTT_MODE "rtc.enable_conservative_probe_rtt_mode"
1556#define CONFIGURABLE_KEY_RTC_REMOTE_PATH_SCHEDULE_STRATEGY "rtc.remote_path_scheduling_strategy"
1557#define INTERNAL_KEY_RTC_ENABLE_TRAFFIC_POLICING_DETECTION "rtc.enable_traffic_policing_detection"
1558#define INTERNAL_KEY_RTC_ENABLE_TRENDLINE_ESTIMATOR "rtc.enable_trendline_estimator"
1559#define INTERNAL_KEY_RTC_TRENDLINE_ESTIMATOR_OVERUSING_THRESHOLD "rtc.trendline_estimator_overusing_threshold"
1560#define INTERNAL_KEY_RTC_TRENDLINE_ESTIMATOR_CONGESTION_THRESHOLD "rtc.trendline_estimator_congestion_threshold"
1561#define INTERNAL_KEY_RTC_ALLOW_QUIT_SLOWSTART_IN_APPLIMITED "rtc.allow_quit_slowstart_in_applimited"
1562#define INTERNAL_KEY_RTC_ACCELERATION_MAX_RTT_NUM "rtc.acceleration_max_rtt_num"
1563#define INTERNAL_KEY_RTC_ACCELERATION_MAX_DURATION "rtc.acceleration_max_duration"
1564#define INTERNAL_KEY_RTC_ENABLE_TRAFFIC_SHAPING_DETECTION "rtc.enable_traffic_shaping_detection"
1565#define INTERNAL_KEY_RTC_EXPIRE_TIME_TO_RESET_SHAPING_DETECTOR "rtc.expire_time_to_reset_shaping_detector"
1566#define INTERNAL_KEY_RTC_EXPIRE_TIME_TO_RESET_SHAPING_ESTIMATE "rtc.expire_time_to_reset_shaping_estimate"
1567#define INTERNAL_KEY_RTC_ENABLE_DELAY_SPIKE_DETECTION "rtc.enable_delay_spike_detection"
1568#define INTERNAL_KEY_RTC_LDA_MAX_RANDOM_LOSS_RATE "rtc.lda_max_random_loss_rate"
1569#define INTERNAL_KEY_RTC_ENABLE_NETWORK_CLASSIFICATION "rtc.enable_network_classification"
1570#define INTERNAL_KEY_RTC_NCA_MODE "rtc.nca_mode"
1571#define INTERNAL_KEY_RTC_NCA_THRESHOLD_RELU_FITTING_ALPHA "rtc.nca_threshold_relu_fitting_alpha"
1572#define INTERNAL_KEY_RTC_NCA_THRESHOLD_RELU_FITTING_BETA "rtc.nca_threshold_relu_fitting_beta"
1573#define INTERNAL_KEY_RTC_REMOTE_CC_TYPE "rtc.remote_cc_type"
1574#define INTERNAL_KEY_RTC_REMOTE_ACK_DELAY "rtc.remote_ack_delay"
1575#define INTERNAL_KEY_RTC_REMOTE_CC_PRIVATE "rtc.remote_cc_private"
1576#define INTERNAL_KEY_RTC_REMOTE_USE_CONST_ACK_DELAY "rtc.remote_use_const_ack_delay"
1577#define INTERNAL_KEY_RTC_REMOTE_ENABLE_DYNAMIC_ACK_FREQUENCY "rtc.remote_enable_dynamic_ack_frequency"
1578#define INTERNAL_KEY_RTC_REMOTE_LOSS_DETECTION_TYPE "rtc.remote_loss_detection_type"
1579#define INTERNAL_KEY_RTC_REMOTE_CONGESTION_WINDOW_COMPENSATION_JITTER_GAIN "rtc.remote_congestion_window_compensation_jitter_gain"
1580#define INTERNAL_KEY_RTC_REMOTE_CONGESTION_WINDOW_COMPENSATION_MODE "rtc.remote_congestion_window_compensation_mode"
1581#define INTERNAL_KEY_RTC_REMOTE_ENABLE_CONSERVATIVE_PROBE_RTT_MODE "rtc.remote_enable_conservative_probe_rtt_mode"
1582#define INTERNAL_KEY_RTC_REMOTE_ENABLE_TRAFFIC_POLICING_DETECTION "rtc.remote_enable_traffic_policing_detection"
1583#define INTERNAL_KEY_RTC_REMOTE_ENABLE_TRAFFIC_SHAPING_DETECTION "rtc.remote_enable_traffic_shaping_detection"
1584#define INTERNAL_KEY_RTC_REMOTE_EXPIRE_TIME_TO_RESET_SHAPING_DETECTOR "rtc.remote_expire_time_to_reset_shaping_detector"
1585#define INTERNAL_KEY_RTC_REMOTE_EXPIRE_TIME_TO_RESET_SHAPING_ESTIMATE "rtc.remote_expire_time_to_reset_shaping_estimate"
1586#define INTERNAL_KEY_RTC_REMOTE_ENABLE_DELAY_SPIKE_DETECTION "rtc.remote_enable_delay_spike_detection"
1587#define INTERNAL_KEY_RTC_REMOTE_ENABLE_TRENDLINE_ESTIMATOR "rtc.remote_enable_trendline_estimator"
1588#define INTERNAL_KEY_RTC_REMOTE_LDA_MAX_RANDOM_LOSS_RATE "rtc.remote_lda_max_random_loss_rate"
1589#define INTERNAL_KEY_RTC_REMOTE_ENABLE_NETWORK_CLASSIFICATION "rtc.remote_enable_network_classification"
1590#define INTERNAL_KEY_RTC_REMOTE_NCA_MODE "rtc.remote_nca_mode"
1591#define INTERNAL_KEY_RTC_REMOTE_NCA_THRESHOLD_RELU_FITTING_ALPHA "rtc.remote_nca_threshold_relu_fitting_alpha"
1592#define INTERNAL_KEY_RTC_REMOTE_NCA_THRESHOLD_RELU_FITTING_BETA "rtc.remote_nca_threshold_relu_fitting_beta"
1593#define INTERNAL_KEY_RTC_QUEUE_TOLERANCE "rtc.queue_tolerance"
1594#define INTERNAL_KEY_RTC_QUEUING_TIME_SCALING_FACTOR "rtc.queuing_time_scaling_factor"
1595#define INTERNAL_KEY_RTC_MAX_NETWORK_PKG_SIZE "rtc.max_network_pkg_size"
1596#define INTERNAL_KEY_RTC_MTU_PROBE_START_SIZE "rtc.mtu_probe_start_size"
1597#define INTERNAL_KEY_RTC_VIDEO_MAX_QUEUEING_TIME "rtc.video.max_uplink_queueing_time"
1598#define INTERNAL_KEY_RTC_VIDEO_MAX_FRAME_WAITING_TIME_IN_UPLINK_QUEUE "rtc.video.max_frame_waiting_time_in_uplink_queue"
1599#define INTERNAL_KEY_RTC_MAX_PADDING "rtc.max_padding_bitrate"
1600#define INTERNAL_KEY_RTC_MIN_PADDING "rtc.min_padding_bitrate"
1601
1602#define CONFIGURABLE_KEY_PRE_ALLOCATE_REFRESH_TIME "rtc.pre_allocate_refresh_time"
1603#define CONFIGURABLE_KEY_PRE_ALLOCATE_MAX_HOLD_NUMBER "rtc.pre_allocate_max_hold_number"
1604#define INTERNAL_KEY_PRE_ALLOCATE_REQ_STRATEGY "rtc.pre_allocate_req_strategy"
1605#define INTERNAL_KEY_PRE_ALLOCATE_RATE_LIMIT "rtc.pre_allocate_rate_limit"
1606#define INTERNAL_KEY_PRE_ALLOCATE_RATE_PERIOD "rtc.pre_allocate_rate_period"
1607#define INTERNAL_KEY_PRE_ALLOCATE_AP_LIST "rtc.pre_allocate_ap_list"
1608#define INTERNAL_KEY_PRE_ALLOCATE_AP_PORT "rtc.pre_allocate_ap_port"
1609#define CONFIGURABLE_KEY_PRE_ALLOCATE_CLIENT_ROLE "rtc.pre_allocate_client_role"
1610#define CONFIGURABLE_KEY_PRE_ALLOCATE_TARGET_BITRATE "rtc.pre_allocate_target_bitrate"
1611
1612#define CONFIGURABLE_KEY_RTC_AUT_RX_VIDEO_FEC_MODE "rtc.aut_rx_video_fec_mode"
1613#define CONFIGURABLE_KEY_RTC_AUT_RX_VIDEO_FEC_AUDIENCE_ONLY "rtc.aut_rx_video_fec_audience_only"
1614// limit the max number of fec stream, if exceeds, the fec will be disabled
1615#define CONFIGURABLE_KEY_RTC_AUT_RX_VIDEO_FEC_STREAM_LIMIT "rtc.aut_rx_video_fec_stream_limit"
1616// json value, set video fec max unique and max redundant
1617// unique: int
1618// redundant: int
1619#define CONFIGURABLE_KEY_RTC_AUT_RX_VIDEO_FEC_CONFIG "rtc.aut_rx_video_fec_config"
1620
1621#define CONFIGURABLE_KEY_RTC_AUT_TX_VIDEO_FEC_MODE "rtc.aut_tx_video_fec_mode"
1622
1623#define INTERNAL_KEY_RTC_DATASTREAM_SYNC_DELAY "rtc.datastream_sync_delay"
1624#define CONFIGURABLE_KEY_RTC_DATASTREAM_QPS "rtc.datastream_qps"
1625#define CONFIGURABLE_KEY_RTC_DATASTREAM_BITRATE_INBYTE "rtc.datastream_bitrate_inbyte"
1626#define INTERNAL_KEY_RTC_ALLOW_SUBSCRIBE_SELF "rtc.allow.subscribe_self"
1627
1628#define INTERNAL_KEY_RTC_MOCK_TDS "rtc.mock_tds"
1629#define CONFIGURABLE_MPK_VIDEO_HEVC_DECODER_TYPE "mpk.video.hevc_decoder_type"
1630#define CONFIGURABLE_KEY_RTC_METERING_COLLECT_INTERVAL "rtc.metering.collect_interval"
1631#define CONFIGURABLE_KEY_RTC_METERING_ENABLE_WORK "rtc.metering.enable_work"
1632#define CONFIGURABLE_KEY_VIDEO_MAX_INFLIGHT_FRAME_COUNT_PRE_PROCESSING "rtc.video.max_inflignt_frame_count_pre_processing"
1633#define INTERNAL_KEY_RTC_DISABLE_NETOB_FOR_OLD_VERSION_SDK "rtc.disable_netob_for_old_version_sdk"
1634
1635// argus report
1636#define CONFIGURABLE_KEY_REPORT_COUNTER_INTERVAL "rtc.report.counter_interval"
1637#define CONFIGURABLE_KEY_REPORT_COUNTER_SCALE "rtc.report.counter_scale"
1638#define CONFIGURABLE_KEY_REPORT_COUNTER_FULL_PERIOD "rtc.report.counter_full_period"
1639#define CONFIGURABLE_KEY_REPORT_COUNTER_ENABLE_OPTIMIZATION "rtc.report.counter_enable_optimization"
1640#define CONFIGURABLE_KEY_REPORT_COUNTER_LEVEL "rtc.report.counter_level"
1641#define CONFIGURABLE_KEY_REPORT_LINK_TYPE "rtc.report.link_type"
1642#define CONFIGURABLE_KEY_REPORT_TLS_PORT "rtc.report.tls_port"
1643#define CONFIGURABLE_KEY_REPORT_ARGUS_COUNTERS "rtc.report.argus_counters"
1644
1645// specific servers with priority
1646// server should be like "ip:port"
1647// [server1, server2, ...]
1648#define CONFIGURABLE_KEY_REPORT_SPECIFIC_SERVERS "rtc.report.specific_servers"
1649// if specific servers is not set the default priority is 5
1650// if priority is set >= 9, report will only choose these specific servers
1651#define CONFIGURABLE_KEY_REPORT_SPECIFIC_SERVERS_PRIORITY "rtc.report.specific_servers_priority"
1652#define CONFIGURABLE_KEY_REPORT_CACHE_SIZE "rtc.report.cache_size"
1653#define CONFIGURABLE_KEY_REPORT_SERVER "rtc.report_server"
1654#define CONFIGURABLE_KEY_ENABLE_REPORT_SERVERS_CACHE "rtc.enable_report_servers_cache"
1655// when disabled, no Argus-related statistical information is reported, including counter, event, and API tracer.
1656#define CONFIGURABLE_KEY_REPORT_ENABLE_ARGUS "rtc.report.enable_argus"
1657#define CONFIGURABLE_KEY_REPORT_ENABLE_HTTP "rtc.report.enable_http"
1658#define CONFIGURABLE_KEY_DYNAMIC_REPORT_STRATEGY "rtc.dynamic_report_strategy"
1659// suppression low priority traffics(report/tds) when join channel
1660#define CONFIGURABLE_KEY_DISABLE_TRAFFIC_PERIOD_WHEN_JOIN "rtc.disable_traffic_period_when_join"
1661#define CONFIGURABLE_KEY_INIT_JOIN_THRESHOLD "rtc.init_join_threshold"
1662
1663// enable/disable video dump, disabled by default
1664#define KEY_RTC_VIDEO_ENABLE_VIDEO_DUMP "engine.video.enable_video_dump"
1665#define CONFIGURABLE_KEY_VIDEO_CAPTURE_TYPE "che.video.videoCaptureType"
1666#define KEY_RTC_VIDEO_ENABLE_DECRYPTED_V4_STREAM_DUMP "engine.video.enable_decrypted_v4_stream_dump"
1667
1668#define CONFIGURABLE_KEY_DOMAIN_TIMEOUT_PERIOD "rtc.domain_timeout_period"
1669#define CONFIGURABLE_KEY_NETWORK_E2E_CC_MODE "rtc.network.e2e_cc_mode"
1670#define CONFIGURABLE_KEY_MULP_WHITE_NIC_IPS "rtc.network.local_nic_list"
1671#define CONFIGURABLE_KEY_MULP_MAX_PATH_CNT "rtc.network.multipath_duplicate_num"
1672#define CONFIGURABLE_KEY_MULP_REMOTE_MAX_PATH_CNT "rtc.network.remote_multipath_duplicate_num"
1673#define CONFIGURABLE_KEY_PROBE_BW_IN_MULTIPATH "rtc.probe_bandwidth_in_multipath"
1674#define INTERNAL_KEY_RTC_ENABLE_TOKEN_SPECIAL_AUTH "rtc.enable_token_special_auth"
1675
1676#define CONFIGURABLE_KEY_INSTANT_MEDIA_RENDERING_ENABLE "rtc.instant_media_rendering_enable"
1677#define CONFIGURABLE_KEY_SERVERAP_REFRESH "rtc.serverap_refresh"
1678// metadata policy
1679#define CONFIGURABLE_KEY_METADATA_ENABLE_REPORT "rtc.metadata.enable_report"
1680#define CONFIGURABLE_KEY_METADATA_ENABLE_UNLIMIT_PACKAGE "rtc.metadata.enable_unlimit_package"
1681#define CONFIGURABLE_KEY_METADATA_MAX_RAW_PACKAGE_SIZE "rtc.metadata.max_raw_package_size"
1682#define CONFIGURABLE_KEY_METADATA_MAX_ITEMS_PER_PACKAGE "rtc.metadata.max_items_per_package"
1683#define CONFIGURABLE_KEY_METADATA_API_REPORT_INTERVAL "rtc.metadata.api_report_interval"
1684#define CONFIGURABLE_KEY_METADATA_FEATURE_REPORT_INTERVAL "rtc.metadata.feature_report_interval"
1685#define CONFIGURABLE_KEY_METADATA_CATEGORY_BLACKLIST "rtc.metadata.category_blacklist"
1686#define CONFIGURABLE_KEY_METADATA_ID_BLACKLIST "rtc.metadata.id_blacklist"
1687#define CONFIGURABLE_KEY_METADATA_TREAT_ALL_AS_HIGH_PRIORITY "rtc.metadata.treat_all_as_high_priority"
1688#define CONFIGURABLE_KEY_METADATA_ENABLE_API_INSIGHT "rtc.metadata.enable_api_insight"
1689#define CONFIGURABLE_KEY_METADATA_API_TIME_COST_THRESHOLD "rtc.metadata.api_time_cost_threshold"
1690
1691// frame buffer
1692#define CONFIGURABLE_KEY_VIDEO_FRAME_BUFFER_SKIP_DELAYED_FRAME "rtc.video.frame_buffer_skip_delayed_frame"
1693#define CONFIGURABLE_KEY_VIDEO_FRAME_BUFFER_CONTINUOUS_FRAME_MAX_WAIT_TIME_MS "rtc.video.frame_buffer_continuous_frame_max_wait_time_ms"
1694#define CONFIGURABLE_KEY_VIDEO_ENABLE_TIMESTAMP_EXTRAPOLATOR_INSTANT_SMOOTH "rtc.video.enable_timestamp_extrapolator_instant_smooth"
1695#define CONFIGURABLE_KEY_VIDEO_ENABLE_FRAME_BUFFER_PACING_CONTROL "rtc.video.enable_frame_buffer_pacing_control"
1696#define CONFIGURABLE_KEY_VIDEO_FRAME_BUFFER_ACCELERATE_SPEED "rtc.video.frame_buffer_accelerate_speed"
1697#define CONFIGURABLE_KEY_VIDEO_FRAME_BUFFER_DECELERATE_SPEED "rtc.video.frame_buffer_decelerate_speed"
1698#define CONFIGURABLE_KEY_VIDEO_ENABLE_FRAME_BUFFER_DELAY_COMPENSATION "rtc.video.enable_frame_buffer_delay_compensation"
1699#define CONFIGURABLE_KEY_VIDEO_FRAME_BUFFER_MAX_COMPENSATION_DELAY "rtc.video.frame_buffer_max_compensation_delay"
1700#define CONFIGURABLE_KEY_VIDEO_FRAME_BUFFER_COMPENSATION_DELAY_INCREASE_STEP "rtc.video.frame_buffer_compensation_delay_increase_step"
1701#define CONFIGURABLE_KEY_VIDEO_FRAME_BUFFER_COMPENSATION_DELAY_DECREASE_STEP "rtc.video.frame_buffer_compensation_delay_decrease_step"
1702#define CONFIGURABLE_KEY_VIDEO_ENABLE_FRAME_BUFFER_RTT_MULT "rtc.video.enable_frame_buffer_rtt_mult"
1703#define CONFIGURABLE_KEY_VIDEO_FRAME_BUFFER_RTT_MULT_FACTOR "rtc.video.frame_buffer_rtt_mult_factor"
1704
1705// jitter estimator
1706#define CONFIGURABLE_KEY_VIDEO_ENABLE_JB_ESTIMATOR_AVG_FRAME_SIZE_MEDIAN "rtc.video.enable_jb_estimator_avg_frame_size_median"
1707#define CONFIGURABLE_KEY_VIDEO_JB_ESTIMATOR_MAX_FRAME_SIZE_PERCENTILE "rtc.video.jb_estimator_max_frame_size_percentile"
1708#define CONFIGURABLE_KEY_VIDEO_JB_ESTIMATOR_FRAME_SIZE_WINDOW "rtc.video.jb_estimator_frame_size_window"
1709#define CONFIGURABLE_KEY_VIDEO_JB_ESTIMATOR_NUM_STDDEV_DELAY_CLAMP "rtc.video.jb_estimator_num_stddev_delay_clamp"
1710#define CONFIGURABLE_KEY_VIDEO_JB_ESTIMATOR_NUM_STDDEV_DELAY_OUTLIER "rtc.video.jb_estimator_num_stddev_delay_outlier"
1711#define CONFIGURABLE_KEY_VIDEO_JB_ESTIMATOR_NUM_STDDEV_FRAME_SIZE_OUTLIER "rtc.video.jb_estimator_num_stddev_frame_size_outlier"
1712#define CONFIGURABLE_KEY_VIDEO_JB_ESTIMATOR_CONGESTION_REJECTION_FACTOR "rtc.video.jb_estimator_congestion_rejection_factor"
1713#define CONFIGURABLE_KEY_VIDEO_JB_ESTIMATOR_NOISE_STDDEV_OFFSET "rtc.video.jb_estimator_noise_stddev_offset"
1714#define CONFIGURABLE_KEY_VIDEO_JB_ESTIMATOR_NOISE_STDDEV "rtc.video.jb_estimator_noise_stddev"
1715#define CONFIGURABLE_KEY_VIDEO_ENABLE_JB_ESTIMATOR_NOISE_EST_WHEN_CONGESTED "rtc.video.enable_jb_estimator_noise_est_when_congested"
1716
1717// reorder tracker
1718#define CONFIGURABLE_KEY_VIDEO_ENABLE_REORDER_TRACKER "rtc.video.enable_jb_reorder_tracker"
1719
1720#define CONFIGURABLE_KEY_VIDEO_ENABLE_REGULATOR_SCALE "rtc.video.enable_regulator_scale"
1721#define CONFIGURABLE_KEY_VIDEO_OBSERVER_DEDICATED_THREAD_CALLBACK "rtc.video.observer_dedicated_thread_callback"
1722
1723// ntp2
1724#define CONFIGURABLE_KEY_RTC_NTP_MAX_RTT "rtc.ntp_max_rtt"
1725#define CONFIGURABLE_KEY_RTC_NTP_ACCEPTABLE_RTT "rtc.ntp_acceptable_rtt"
1726#define CONFIGURABLE_KEY_RTC_NTP_BEST_RTT "rtc.ntp_best_rtt"
1727#define CONFIGURABLE_KEY_RTC_NTP_ALIVE_TIME "rtc.ntp_alive_time"
1728#define CONFIGURABLE_KEY_RTC_ENABLE_NTP_SERVER_SYNC "rtc.enable_ntp_server_sync"
1729#define CONFIGURABLE_KEY_RTC_ENABLE_NTP_GUARD "rtc.enable_ntp_guard"
1730#define CONFIGURABLE_MPK_AUDIO_DUMP "mpk.audio.dump"
1731
1732#define INTERNAL_KEY_RTC_ENABLE_STRING_UID "rtc.enable_string_uid"
1733#define CONFIGURABLE_KEY_VIDEO_BITRATE_PROFILE "rtc.video.bitrate_profile"
1734#define CONFIGURABLE_KEY_AUDIO_BITRATE_PROFILE "rtc.audio.bitrate_profile"
1735#define CONFIGURABLE_KEY_MIN_QUEUING_INTERVAL "rtc.min_queuing_interval"
1736#define CONFIGURABLE_KEY_SMOOTH_QUEUING_ALPHA "rtc.smooth_queuing_alpha"
1737#define CONFIGURABLE_KEY_REMOTE_QUEUING_FACTOR "rtc.remote_queuing_factor"
1738#define CONFIGURABLE_KEY_VIDEO_TRANSPORT_OVERHEAD "rtc.video.transport_overhead"
1739#define CONFIGURABLE_KEY_BW_SCALING_FACTOR "rtc.bw_scaling_factor"
1740#define CONFIGURABLE_KEY_STREAM_FRAME_AGGREGATION "rtc.net.stream_frame_auto_aggregation"
1741#define CONFIGURABLE_KEY_REMOTE_STREAM_FRAME_AGGREGATION "rtc.net.remote_stream_frame_auto_aggregation"
1742#define CONFIGURABLE_KEY_RTC_DOWNLINK_QUEUING_TIME_SENSITIVE "rtc.downlink_queueing_time_sensitive"
1743#define CONFIGURABLE_KEY_RTC_DISABLE_BCM_FEEDBACK "rtc.disable_bcm_feedback"
1744
1745// rtm2
1746#if defined(FEATURE_NEW_RTM)
1747#define CONFIGURABLE_KEY_RTM_VOS_ADDRESS "rtm.vos_address"
1748#define CONFIGURABLE_KEY_RTM_ENCRYPT_LOG "rtm.log.encrypt_log"
1749#define CONFIGURABLE_KEY_RTM_UPLOAD_LOG_REQUEST "rtm.upload_log_request"
1750#define CONFIGURABLE_KEY_RTM_OFFLINE_UPLOAD_SERVER_PATH "rtm.offline_upload_server_path"
1751#define CONFIGURABLE_KEY_RTM_REPORT_ALL_ENABLED "rtm.report.all_enabled"
1752#define CONFIGURABLE_KEY_RTM_LOGIN_WITH_CONFIG "rtm.login_with_config"
1753#define CONFIGURABLE_KEY_RTM_HEARTBEAT_INTERVAL "rtm.heartbeat_interval"
1754#define CONFIGURABLE_KEY_RTM_LINK_KEEP_ALIVE_TIMEOUT "rtm.link_keep_alive_timeout"
1755#define CONFIGURABLE_KEY_RTM_SYNC_REQUEST_TIMEOUT "rtm.sync_request_timeout"
1756#define CONFIGURABLE_KEY_RTM_DEFAULT_TLS_PORT "rtm.default_tls_port"
1757#define CONFIGURABLE_KEY_RTM_LINK_ENVS "rtm.link_envs"
1758#define CONFIGURABLE_KEY_RTM_REG_AP_ADDRESS "rtm.reg_ap_address"
1759#define CONFIGURABLE_KEY_RTM_LINK_ENCRYPTION "rtm.link_encryption"
1760#define CONFIGURABLE_KEY_RTM_REG_AUT_DISABLE_HEARTBEAT "rtm.reg_aut_disable_heartbeat"
1761#define CONFIGURABLE_KEY_RTM_PROTOCOL_TYPE "rtm.protocol_type"
1762#define CONFIGURABLE_KEY_RTM_STREAM_CHANNEL_LIMIT "rtm.stream_channel.count_limit"
1763#define CONFIGURABLE_KEY_RTM_MESSAGE_CHANNEL_LIMIT "rtm.channel.count_limit"
1764#define CONFIGURABLE_KEY_RTM_MESSAGE_LENGTH_LIMIT "rtm.msg.msg_length_limit"
1765#define CONFIGURABLE_KEY_RTM_METADATA_LENGTH_LIMIT "rtm.metadata.metadata_length_limit"
1766#define CONFIGURABLE_KEY_RTM_PRESENCE_MAX_STATE_COUNT "rtm.presence.max_state_count"
1767#define CONFIGURABLE_KEY_RTM_PRESENCE_STATE_LENGTH_LIMIT "rtm.presence.state_length_limit"
1768#define CONFIGURABLE_KEY_RTM_REMOVE_LOCK_QPS "rtm.qps.remove_lock"
1769#define CONFIGURABLE_KEY_RTM_SET_LOCK_QPS "rtm.qps.set_lock"
1770#define CONFIGURABLE_KEY_RTM_ACQUIRE_LOCK_QPS "rtm.qps.acquire_lock"
1771#define CONFIGURABLE_KEY_RTM_RELEASE_LOCK_QPS "rtm.qps.release_lock"
1772#define CONFIGURABLE_KEY_RTM_REVOKE_LOCK_QPS "rtm.qps.revoke_lock"
1773#define CONFIGURABLE_KEY_RTM_GET_LOCK_QPS "rtm.qps.get_lock"
1774#define CONFIGURABLE_KEY_RTM_USER_MATE_MODIFY_QPS "rtm.qps.user_meta_modify"
1775#define CONFIGURABLE_KEY_RTM_CHANNEL_MATE_MODIFY_QPS "rtm.qps.channel_meta_modify"
1776#define CONFIGURABLE_KEY_RTM_USER_MATE_GET_QPS "rtm.qps.user_meta_get"
1777#define CONFIGURABLE_KEY_RTM_CHANNEL_MATE_GET_QPS "rtm.qps.channel_meta_get"
1778#define CONFIGURABLE_KEY_RTM_USER_MATE_SUBSCRIBE_QPS "rtm.qps.user_meta_subscribe"
1779#define CONFIGURABLE_KEY_RTM_LOGIN_QPS "rtm.qps.login"
1780#define CONFIGURABLE_KEY_RTM_RENEW_TOKEN_QPS "rtm.qps.renew_token"
1781#define CONFIGURABLE_KEY_RTM_PUBLISH_QPS "rtm.qps.publish"
1782#define CONFIGURABLE_KEY_RTM_SUBSCRIBE_QPS "rtm.qps.subscribe"
1783#define CONFIGURABLE_KEY_RTM_JOIN_STREAM_CHANNEL_QPS "rtm.qps.join_stream_channel"
1784#define CONFIGURABLE_KEY_RTM_PUBLISH_TOPIC_MESSAGE_QPS "rtm.qps.publish_topic_message"
1785#define CONFIGURABLE_KEY_RTM_JOIN_TOPIC_QPS "rtm.qps.join_topic"
1786#define CONFIGURABLE_KEY_RTM_SUBSCRIBE_TOPIC_QPS "rtm.qps.subscribe_topic"
1787#define CONFIGURABLE_KEY_RTM_WHO_NOW_QPS "rtm.qps.who_now"
1788#define CONFIGURABLE_KEY_RTM_WHERE_NOW_QPS "rtm.qps.where_now"
1789#define CONFIGURABLE_KEY_RTM_MODIFY_STATE_QPS "rtm.qps.modify_state"
1790#define CONFIGURABLE_KEY_RTM_GET_STATE_QPS "rtm.qps.get_state"
1791#define CONFIGURABLE_KEY_RTM_SYNC_COMPACT_INTERVAL "rtm.sync_compact_interval"
1792#define CONFIGURABLE_KEY_RTM_GET_MESSAGES_QPS "rtm.qps.get_messages"
1793#define CONFIGURABLE_KEY_RTM_HISTORY_MSG_COUNT_LIMIT "rtm.history.msg_count_limit"
1794#define CONFIGURABLE_KEY_RTM_DECOUPLE_SYNC "rtm.decouple_sync"
1795#define CONFIGURABLE_KEY_RTM_FETCH_TDS_WHEN_LOGIN "rtm.fetch_tds_when_login"
1796#define CONFIGURABLE_KEY_RTM_PRESENCE_BACKOFF_TIME "rtm.presence_backoff_time"
1797#define CONFIGURABLE_KEY_RTM_MESSAGE_DIALOGUE_LIFETIME "rtm.message_dialogue_lifetime"
1798#define CONFIGURABLE_KEY_RTM_MSG_REORDER_TIMEOUT_P2P "rtm.msg.reorder_timeout_p2p"
1799#define CONFIGURABLE_KEY_RTM_MSG_REORDER_TIMEOUT_GENERAL "rtm.msg.reorder_timeout_general"
1800#define CONFIGURABLE_KEY_RTM_DOMAIN_CHECK_TIMEOUT_PERIOD "rtm.domain_check_timeout_period"
1801
1802#define CONFIGURABLE_KEY_RTM_CC_PRIVATE "rtm.cc_private"
1803#define CONFIGURABLE_KEY_RTM_REMOTE_CC_PRIVATE "rtm.remote_cc_private"
1804#define CONFIGURABLE_KEY_RTM_CONGESTION_WINDOW_COMPENSATION_MODE "rtm.congestion_window_compensation_mode"
1805#define CONFIGURABLE_KEY_RTM_CC_TYPE "rtm.cc_type"
1806#define CONFIGURABLE_KEY_RTM_ACK_DELAY "rtm.ack_delay"
1807#define CONFIGURABLE_KEY_RTM_MAX_INFLY_EXPIRE_DELAY "rtm.max_infly_expire_delay"
1808#define CONFIGURABLE_KEY_RTM_ENABLE_CONSERVATIVE_PROBE_RTT_MODE "rtm.enable_conservative_probe_rtt_mode"
1809#define CONFIGURABLE_KEY_RTM_LDA_MAX_RANDOM_LOSS_RATE "rtm.lda_max_random_loss_rate"
1810#define CONFIGURABLE_KEY_RTM_ENABLE_CC_LIMIT "rtm.enable_cc_limit"
1811#define CONFIGURABLE_KEY_RTM_ENABLE_TRAFFIC_POLICING_DETECTION "rtm.enable_traffic_policing_detection"
1812#define CONFIGURABLE_KEY_RTM_ENABLE_TRAFFIC_SHAPING_DETECTION "rtm.enable_traffic_shaping_detection"
1813#define CONFIGURABLE_KEY_RTM_EXPIRE_TIME_TO_RESET_SHAPING_DETECTOR "rtm.expire_time_to_reset_shaping_detector"
1814#define CONFIGURABLE_KEY_RTM_EXPIRE_TIME_TO_RESET_SHAPING_ESTIMATE "rtm.expire_time_to_reset_shaping_estimate"
1815#define CONFIGURABLE_KEY_RTM_REMOTE_TIMEOUT "rtm.remote_timeout"
1816#endif
1817#define CONFIGURABLE_KEY_ENABLE_AUDIO_CACHE "rtc.enable_audio_cache"
1818#define CONFIGURABLE_KEY_INSTANT_AUDIO_DEFAULT_PERIOD "rtc.instant_audio_default_period"
1819#define CONFIGURABLE_KEY_ENABLE_CC_LIMIT "rtc.enable_cc_limit"
1820#define CONFIGURABLE_KEY_ENABLE_REMOTE_CC_LIMIT "rtc.enable_remote_cc_limit"
1821#define CONFIGURABLE_KEY_PADDING_APP_DATA "rtc.padding_app_data"
1822#define CONFIGURABLE_KEY_REMOTE_PADDING_APP_DATA "rtc.remote_padding_app_data"
1823#define CONFIGURABLE_KEY_REMOTE_INIT_CWND_PKTS "rtc.remote_init_cwind_pkts"
1824#define CONFIGURABLE_KEY_DOWNLINK_AUT_FB_INTERVAL "rtc.downlink_aut_fb_interval"
1825#define CONFIGURABLE_KEY_EXTENSION_PROPERTY_CACHE_IN_REGISTRY "rtc.extenion.property_cache_in_registry"
1826#define CONFIGURABLE_KEY_USER_STREAM_STATE_TRIGGER_USER_ONLINE "rtc.user_stream_state_trigger_user_online"
1827#define CONFIGURABLE_KEY_VIDEO_CRC_TYPE "rtc.video.crc_type"
1828#define CONFIGURABLE_KEY_VIDEO_DROP_CRC_FAIL "rtc.video.drop_crc_fail"
1829#define CONFIGURABLE_KEY_VIDEO_SEND_PTS_MODE "rtc.video.send_pts_mode"
1830
1831#define CONFIGURABLE_KEY_AUDIO_METADATA_BUFFER_SIZE "rtc.audio_metadata_buffer_size"
1832#define CONFIGURABLE_KEY_MAX_AUDIO_METADATA_LENGTH "rtc.max_audio_metadata_length"
1833
1834#define CONFIGURABLE_KEY_VIDEO_SMOOTH_SWITCH_STREAM_TYPE "rtc.video.smooth_switch_stream_type"
1835
1836#define CONFIGURABLE_KEY_RTC_VIDEO_START_BITRATE_RATIO "rtc.video.start_bitrate_ratio"
1837#define CONFIGURABLE_KEY_RTC_VIDEO_START_BITRATE_DURATION "rtc.video.start_bitrate_duration"
1838#define CONFIGURABLE_KEY_RTC_VIDEO_START_BITRATE_DURATION_TIME "rtc.video.start_bitrate_duration_time"
1839#define CONFIGURABLE_KEY_RTC_VIDEO_START_BITRATE_DURATION_RTT_FACTOR "rtc.video.start_bitrate_duration_rtt_factor"
1840
1841#define CONFIGURABLE_KEY_VIDEO_DYNAMIC_VIDEO_SWITCH "rtc.video.dynamic_video_switch"
1842#define CONFIGURABLE_KEY_VIDEO_SWITCH_OFF_BWE_THRESHOLD "rtc.video.switch_off_bwe_threshold"
1843#define CONFIGURABLE_KEY_VIDEO_SWITCH_ON_BWE_THRESHOLD "rtc.video.switch_on_bwe_threshold"
1844#define CONFIGURABLE_KEY_VIDEO_RTP_SENDER_VIDEO2 "rtc.video.rtp_sender_video2"
1845
1846// NOTE: below are for rtc config load from file
1847#define INTERNAL_KEY_RTC_CONFIG_FORCE_LOCAL_AP "rtc.config.force_local_ap"
1848#define CONFIGURABLE_KEY_REPORT_LINK_ACTIVE "rtc.config.report_link_active"
1849
1850// NOTE: below are for test only...
1851#define INTERNAL_KEY_RTC_TEST_MULTI_IP "rtc.test.multi_ip"
1852// mpk
1853#define CONFIGURABLE_MPK_VIDEO_MAX_WAIT_OPS_COUNT "mpk.video.max_wait_ops_count"
1854
1855
1856#define CONFIGURABLE_KEY_RTE_LIVE_STREAM_TIMEOUT "rte.live_player.live_stream_timeout"
1857#define CONFIGURABLE_KEY_VIDEO_MAX_STAP_NALU_NUM "rtc.video.max_stap_nalu_num"
1858
1859#define CONFIGURABLE_KEY_MEDIA_CONTROL_MESSAGE_ENABLE "rtc.media_control_message_enable"
1860
1861#define CONFIG_KEY_LOW_LATENCY_VOS "rtc.low_latency_vos"
1862// RDT
1863#define CONFIGURABLE_KEY_RDT_ENABLE "rtc.rdt_enable"
1864#define CONFIGURABLE_KEY_RDT_CRYPTO_ENABLE "rtc.rdt_crypto_enable"
1865#define CONFIGURABLE_KEY_RDT_AUTO_CONNECT "rtc.rdt_auto_connect"
1866#define CONFIGURABLE_KEY_RDT_QUEUE_BYTES_MAX "rtc.rdt_queue_bytes_max"
1867
1868// play audio effect
1869#define CONFIGURABLE_KEY_RTC_AUDIO_EFFECT_ENABLE_LOCAL_CACHE "rtc.audio_effect.enable_local_cache"
1870#define CONFIGURABLE_KEY_RTC_AUDIO_EFFECT_NEW_PRELOAD "rtc.audio_effect.new_preload"
1871#define CONFIGURABLE_KEY_RTC_AUDIO_EFFECT_ENABLE_SEAMLESS_LOOP "rtc.audio_effect.enable_seamless_loop"