Agora C++ API Reference for All Platforms

audio_options_i.h
1 // Agora SDK
2 //
3 // Copyright (c) 2019 Agora.io. All rights reserved.
4 // Reference from WebRTC project
5 //
6 #pragma once
7
8 #include <string>
9
10 #include "AgoraOptional.h"
11
12 #define SET_FROM(X) SetFrom(&X, change.X)
13
14 #define BEGIN_COMPARE() bool b = true
15 #define ADD_COMPARE(X) b = (b && (X == o.X))
16 #define END_COMPARE_AND_RETURN() \
17 ; \
18 return b
19
20 #define UNPUBLISH(X) X.reset()
21
22 namespace agora {
23 namespace rtc {
24
28 enum ADM_ANDROID_MODE {
33 JAVA_INPUT_AND_JAVA_OUTPUT = 5,
34
39 OPENSL_INPUT_AND_OPENSL_OUTPUT = 6,
40
45 JAVA_INPUT_AND_OPENSL_OUTPUT = 7,
46
51 OBOE_INPUT_AND_OBOE_OUTPUT = 8,
52
57 JAVA_INPUT_AND_OBOE_OUTPUT = 9,
58
63 OPENSL_INPUT_AND_OBOE_OUTPUT = 10,
64 };
65
66 // Options that can be applied to an audio track or audio engine.
67 struct AudioOptions {
68 AudioOptions() = default;
69 ~AudioOptions() = default;
70
71 void SetAecAll(const AudioOptions& change) {
72 SET_FROM(apm_enable_aec);
73 SET_FROM(apm_aec_nlp_size);
74 SET_FROM(apm_aec_nlp_hop_size);
75 SET_FROM(apm_aec_nlp_aggressiveness);
76 SET_FROM(apm_aec_specify_suppression_step);
77 SET_FROM(apm_aec_nlp_enable);
78 SET_FROM(apm_aec_alignRefDelay);
79 SET_FROM(apm_aec_complexity);
80 SET_FROM(apm_aec_sw_processing_mode);
81 SET_FROM(apm_aec_linear_filter_length_ms);
82 SET_FROM(apm_aec_delay_search_range_ms);
83 SET_FROM(apm_aec_delay_search_method);
84 SET_FROM(apm_aec_fixed_delay);
85 SET_FROM(apm_aec_extra_delay_bias);
86 SET_FROM(adm_ext_recording_source_delay_ms);
87 SET_FROM(apm_aiaec_main_switch);
88 SET_FROM(apm_aec_nlp_plan);
89 SET_FROM(apm_aec_saturated);
90 SET_FROM(apm_aec_ainlp_profile_method);
91 SET_FROM(apm_aec_ainlp_reset_period);
92 SET_FROM(apm_aec_ainlp_reset_ratio);
93 SET_FROM(apm_aec_ainlp_fallback_period);
94 SET_FROM(apm_aec_ainlp_postprocessing_method);
95 SET_FROM(apm_aec_linear_filter_type);
96 }
97
98 void SetApmAll(const AudioOptions& change) {
99 SET_FROM(apm_bypass_apm);
100 SET_FROM(apm_splitband_algroute);
101 SET_FROM(apm_print_config_detail);
102 SET_FROM(apm_enable_aec_external);
103 SET_FROM(apm_enable_ns);
104 SET_FROM(apm_ains_mode);
105 SET_FROM(apm_enable_agc);
106 SET_FROM(apm_enable_md);
107 SET_FROM(apm_aimd_value);
108 SET_FROM(apm_enable_highpass_filter);
109 SET_FROM(apm_enable_tone_remover);
110 SET_FROM(apm_enable_pitch_smoother);
111 SET_FROM(apm_enable_howling_control);
112 SET_FROM(apm_delay_offset_ms);
113 SET_FROM(apm_aec_split_srate_for_32k);
114 SET_FROM(apm_aec_split_srate_for_48k);
115 SET_FROM(apm_agc_target_level_dbfs);
116 SET_FROM(apm_agc_compression_gain_db);
117 SET_FROM(apm_agc_curve_slope);
118 SET_FROM(apm_agc_mode);
119 SET_FROM(apm_agc_bg_opt_mode);
120 SET_FROM(apm_ns_enable_ns_follow_agc);
121 SET_FROM(apm_ns_level);
122 SET_FROM(apm_ns_noiseGateThres);
123 SET_FROM(apm_ns_complexity);
124 SET_FROM(apm_enable_record_boost);
125 // AINS
126 SET_FROM(apm_farend_gain_threshold);
127 SET_FROM(apm_farend_gain);
128 SET_FROM(apm_process_channels);
129 SET_FROM(apm_aed_enable);
130 SET_FROM(apm_sf_enabled);
131 SET_FROM(apm_sf_procIONSample);
132 SET_FROM(apm_sf_delayMode);
133 SET_FROM(apm_sf_stftType);
134 SET_FROM(apm_sf_procChainMode);
135 SET_FROM(apm_sf_nlpEnable);
136 SET_FROM(apm_sf_nsEnable);
137 SET_FROM(apm_sf_biquadEnable);
138 SET_FROM(apm_sf_ainlpToLoadFlag);
139 SET_FROM(apm_sf_ainlpMonitorLen);
140 SET_FROM(apm_sf_ainsToLoadFlag);
141 SET_FROM(apm_sf_ainsMonitorLen);
142 SET_FROM(apm_sf_ainsLowLatencyFlag);
143 SET_FROM(apm_sf_nlpAlgRoute);
144 SET_FROM(apm_sf_nsngAlgRoute);
145 SET_FROM(apm_sf_nlpFrmRemoveEngRatioThr);
146 SET_FROM(apm_sf_trdNlpFrmRmvEngRatioThr);
147 SET_FROM(apm_sf_nlpHbandAgg);
148 SET_FROM(apm_sf_ainsKillHEBandFlag);
149 SET_FROM(apm_sf_ainlpLowLatencyFlag);
150 SET_FROM(apm_sf_fallBackThrRatio);
151 SET_FROM(apm_sf_fallBackRefMode);
152 SET_FROM(apm_sf_fallBackPref);
153 SET_FROM(apm_sf_nlpNoiseAddThr);
154 SET_FROM(apm_sf_nlpNoiseAddGain);
155 SET_FROM(apm_sf_nlpAggressiveness);
156 SET_FROM(apm_sf_nlpHeadsetAgg);
157 SET_FROM(apm_sf_nlpSpkrAgg);
158 SET_FROM(apm_sf_nlpDynamicMode);
159 SET_FROM(apm_sf_ainlpHotResetFrq);
160 SET_FROM(apm_sf_ainlpHotResetFactor);
161 SET_FROM(apm_sf_ainlpMonitorQuantile);
162 SET_FROM(apm_sf_nsngPredefAgg);
163 SET_FROM(apm_sf_nsngMusicProbThr);
164 SET_FROM(apm_sf_nsngMusicModeBackoffDB);
165 SET_FROM(apm_sf_statNsMusicModeBackoffDB);
166 SET_FROM(apm_sf_statNsFastNsSpeechTrigThreshold);
167 SET_FROM(apm_sf_ainsSpeechProtectThreshold);
168 SET_FROM(apm_aed_musicThr);
169 SET_FROM(apm_aed_voiceThr);
170 SET_FROM(apm_aed_statQuantile);
171 SET_FROM(apm_aed_useCVerLib);
172 SET_FROM(apm_aed_HotResetFrq);
173 SET_FROM(apm_bgns_enable);
174 SET_FROM(apm_bgns_mode);
175 SET_FROM(apm_sf_statNsEnhFactor);
176 SET_FROM(apm_sf_statNsNoiseOverEst);
177 SET_FROM(apm_sf_statNsOverDrive);
178 SET_FROM(apm_sf_statNsLowerBound);
179 SET_FROM(apm_sf_statNsSpchUpdateRadix);
180 SET_FROM(apm_sf_statNsNoiseUpdateRadix);
181 SET_FROM(apm_sf_statNsEndStartupShort);
182 SET_FROM(apm_sf_statNsEndStartupLong);
183 SET_FROM(apm_sf_statNsNoiseUpdateQuantile);
184 SET_FROM(apm_sf_nsngMapInMaskMin);
185 SET_FROM(apm_sf_nsngMapOutMaskMin);
186 SET_FROM(apm_sf_nsngFinalMaskLowerBound);
187 SET_FROM(apm_sf_nsngPfMargin);
188 SET_FROM(apm_sf_ainsHotResetFrq);
189 SET_FROM(apm_sf_ainsMonitorQuantile);
190 SET_FROM(apm_sf_nsngAuxToolsMode);
191 SET_FROM(apm_sf_nlpProcBand);
192 SET_FROM(apm_sf_nsProcBand);
193 SET_FROM(apm_sf_ainsModelPref);
194 SET_FROM(apm_sf_ainlpModelPref);
195 //vsc
196 SET_FROM(apm_vsc_enabled);
197 SET_FROM(apm_vsc_gender);
198 SET_FROM(apm_vsc_effect);
199 SET_FROM(apm_vsc_selfConfig);
200 SET_FROM(apm_vsc_preset);
201 SET_FROM(apm_vsc_gain);
202 }
203
204 void SetAll(const AudioOptions& change) {
205 SetAecAll(change);
206 SetApmAll(change);
207
208 SET_FROM(audio_scenario);
209 SET_FROM(audio_routing);
210 SET_FROM(input_audio_routing);
211 SET_FROM(adm_android_mode);
212 SET_FROM(adm_enable_estimated_device_delay);
213 SET_FROM(audio_channel_profile);
214 SET_FROM(audio_routing_version);
215 SET_FROM(adm_estimate_device_loopback_delay_with_aec);
216 SET_FROM(adm_enable_lowlatency_capture);
217 SET_FROM(adm_enable_lowlatency_playout);
218 SET_FROM(adm_capture_io_buffer_ms);
219 SET_FROM(adm_force_layer);
220 SET_FROM(adm_duck_others);
221 SET_FROM(adm_mix_with_others);
222 SET_FROM(adm_restart_when_interrupted);
223 SET_FROM(adm_enable_fallback);
224 SET_FROM(adm_specify_category);
225 SET_FROM(adm_record_audio_session_call_stack);
226 SET_FROM(adm_allow_haptics_during_record);
227 SET_FROM(has_remote_peers);
228 SET_FROM(has_enabled_ear_monitor);
229 SET_FROM(adm_input_sample_rate);
230 SET_FROM(adm_output_sample_rate);
231 SET_FROM(adm_enable_exclusive_mode);
232 SET_FROM(adm_input_channels);
233 SET_FROM(adm_output_channels);
234 SET_FROM(adm_has_recorded);
235 SET_FROM(external_adm_has_recorded);
236 SET_FROM(adm_enable_mic_selection);
237 SET_FROM(adm_force_use_bluetooth_a2dp);
238 SET_FROM(adm_use_bluetooth_hfp);
239 SET_FROM(adm_use_hw_aec);
240 SET_FROM(adm_force_restart);
241 SET_FROM(adm_microphone_preference);
242 SET_FROM(adm_speaker_balance);
243 SET_FROM(adm_audio_layer);
244 SET_FROM(adm_audio_source);
245 SET_FROM(adm_playout_bufsize_factor);
246 SET_FROM(adm_enable_builtin3a);
247 SET_FROM(adm_extra_playout_latency);
248 SET_FROM(adm_extra_record_latency);
249 SET_FROM(adm_opensl_output_bufs);
250 SET_FROM(adm_opensl_input_bufs);
251 SET_FROM(adm_bypass_vpio_processing);
252 SET_FROM(adm_enable_async_process);
253 SET_FROM(adm_ducking_option_advanced);
254 SET_FROM(adm_ducking_option_level);
255 SET_FROM(adm_ears_monitor_channels);
256 SET_FROM(adm_bypass_sys_ctl);
257 SET_FROM(uplink_apm_async_process);
258 SET_FROM(uplink_acm_async_process);
259 SET_FROM(only_report_microphone_volume);
260 SET_FROM(enable_multi_drive_apparatus);
261 SET_FROM(enable_stereo_playout);
262 SET_FROM(enable_recording_stereo_dectection);
263 SET_FROM(enable_concurrent_downlink_processing);
264 SET_FROM(mute_playout_signal);
265 SET_FROM(onmix_callback_with_external_source);
266 SET_FROM(enable_receiver_apm);
267 SET_FROM(downlink_peq_enable);
268 SET_FROM(uplink_peq_enable);
269 SET_FROM(uplink_voice_over_enable);
270 SET_FROM(downlink_voice_over_enable);
271 SET_FROM(adm_win_recording_device_buffer_ms);
272 SET_FROM(adm_windows_layer_with_waveapi);
273 SET_FROM(adm_windows_bypass_system_render_apo);
274 SET_FROM(adm_windows_enable_microphone_boost);
275 SET_FROM(adm_aggregate_playout_device_volume_control);
276 SET_FROM(adm_microphone_volume_init_state);
277 SET_FROM(adm_mac_use_audio_unit_hal);
278 SET_FROM(adm_mac_allow_virtual_recording_device);
279 SET_FROM(adm_mac_allow_virtual_playout_device);
280 SET_FROM(acm_bitrate);
281 SET_FROM(acm_codec);
282 SET_FROM(acm_dtx);
283 SET_FROM(acm_plc);
284 SET_FROM(acm_complex_level);
285 SET_FROM(acm_ptime);
286 SET_FROM(acm_hw_encode_opus);
287 SET_FROM(acm_hw_decode_opus);
288 SET_FROM(acm_opus_celt_only);
289 SET_FROM(acm_opus_max_encoded_bytes);
290 SET_FROM(acm_opus_voice_threshold);
291 SET_FROM(acm_opus_enable_volume_based_bitrate_reduction);
292 SET_FROM(acm_opus_voice_up_coef);
293 SET_FROM(acm_opus_voice_down_coef);
294 SET_FROM(acm_opus_voice_hold_window_ms);
295 SET_FROM(acm_opus_silence_bitrate);
296 SET_FROM(audio_resend);
297 SET_FROM(enable_adaptable_fix_rsfec);
298 SET_FROM(audio_rsfec_frame_num);
299 SET_FROM(audio_rsfec_interleave_num);
300 SET_FROM(audio_fec_frame_num);
301 SET_FROM(audio_fec_interleave_num);
302 SET_FROM(neteq_live_min_delay);
303 SET_FROM(neteq_jitter_buffer_max_packets);
304 SET_FROM(neteq_jitter_buffer_fast_accelerate);
305 SET_FROM(neteq_jitter_max_target_delay);
306 SET_FROM(neteq_filter_target_loss);
307 SET_FROM(neteq_max_filter_window);
308 SET_FROM(neteq_acceleration_percent);
309 SET_FROM(neteq_deceleration_percent);
310 SET_FROM(neteq_scretch_threshold_percent);
311 SET_FROM(neteq_unvoice_accelerate_percent);
312 SET_FROM(neteq_max_wait_ms);
313 SET_FROM(neteq_max_wait_first_decode_ms);
314 SET_FROM(neteq_enable_time_stretching);
315 SET_FROM(neteq_enable_expired_peak_detector);
316 SET_FROM(neteq_enable_peak_detector);
317 SET_FROM(neteq_enable_muted_state);
318 SET_FROM(neteq_max_exceed_time_ms);
319 SET_FROM(neteq_max_filter_dup_num);
320 SET_FROM(neteq_enable_voice_volume_level);
321 SET_FROM(neteq_enable_individuality_delay);
322 SET_FROM(neteq_enable_improve_burst);
323 SET_FROM(neteq_max_mute_duration_ms);
324 SET_FROM(neteq_low_latency_burst_control_window_ms);
325 SET_FROM(neteq_low_latency_burst_control_platform_ms);
326 SET_FROM(neteq_low_latency_burst_peak_num_threshold);
327 SET_FROM(neteq_low_latency_burst_trend_threshold);
328 SET_FROM(neteq_low_latency_burst_peak_trend_increased_threshold);
329 SET_FROM(neteq_low_latency_burst_overuse_limited_quantile);
330 SET_FROM(neteq_low_latency_burst_comb_window_second);
331 SET_FROM(neteq_low_latency_burst_max_jitter_limit_ms);
332 SET_FROM(neteq_high_latency_burst_control_window_ms);
333 SET_FROM(neteq_high_latency_burst_control_platform_ms);
334 SET_FROM(neteq_high_latency_burst_peak_num_threshold);
335 SET_FROM(neteq_high_latency_burst_trend_threshold);
336 SET_FROM(neteq_high_latency_burst_peak_trend_increased_threshold);
337 SET_FROM(neteq_high_latency_burst_overuse_limited_quantile);
338 SET_FROM(neteq_high_latency_burst_comb_window_second);
339 SET_FROM(neteq_high_latency_burst_max_jitter_limit_ms);
340 SET_FROM(neteq_multichannel_plc);
341 SET_FROM(neteq_freeze_m);
342 SET_FROM(neteq_freeze_n);
343 SET_FROM(neteq_targetlevel_offset);
344 SET_FROM(neteq_enable_stable_playout);
345 SET_FROM(neteq_drop_window_threshold_ms);
346 SET_FROM(neteq_drop_distance_threshold_ms);
347 SET_FROM(neteq_prebuffer_window_threshold_ms);
348 SET_FROM(neteq_prebuffer_distance_threshold_ms);
349 SET_FROM(neteq_enable_buffer_burst_accelerate);
350 SET_FROM(neteq_audio_accelerate_low_threshold);
351 SET_FROM(neteq_enable_external_jitter_burst_accelerate);
352 SET_FROM(neteq_max_packets_stable_playout);
353 SET_FROM(neteq_normal_recv_rate_ratio_threshold);
354 SET_FROM(neteq_target_level_optimization);
355 SET_FROM(neteq_aqm_voice_threshold);
356 SET_FROM(neteq_dump_level);
357 SET_FROM(neteq_dump_path);
358 SET_FROM(neteq_limit_prob);
359 SET_FROM(neteq_pre_dump);
360 SET_FROM(neteq_packet_dump_score_threshold);
361 SET_FROM(neteq_lower_limit_probability);
362 SET_FROM(neteq_plc_mode);
363 SET_FROM(neteq_outlier_detector);
364 SET_FROM(enable_pts_estimate_pass_through);
365 SET_FROM(dwlink_gain);
366 SET_FROM(uplink_gain);
367 SET_FROM(adm_separate_audio_unit);
368 SET_FROM(derived_headset_black_list_device);
369 SET_FROM(use_media_volume_in_headset);
370 SET_FROM(use_media_volume_in_audience);
371 SET_FROM(use_media_volume_in_solo);
372 SET_FROM(use_media_volume_in_bluetooth);
373 }
374
375 bool operator==(const AudioOptions& o) const {
376 BEGIN_COMPARE();
377 ADD_COMPARE(audio_scenario);
378 ADD_COMPARE(audio_routing);
379 ADD_COMPARE(input_audio_routing);
380 ADD_COMPARE(adm_android_mode);
381 ADD_COMPARE(adm_enable_estimated_device_delay);
382 ADD_COMPARE(audio_channel_profile);
383 ADD_COMPARE(audio_routing_version);
384 ADD_COMPARE(adm_estimate_device_loopback_delay_with_aec);
385 ADD_COMPARE(adm_enable_lowlatency_capture);
386 ADD_COMPARE(adm_enable_lowlatency_playout);
387 ADD_COMPARE(adm_capture_io_buffer_ms);
388 ADD_COMPARE(adm_force_layer);
389 ADD_COMPARE(adm_duck_others);
390 ADD_COMPARE(adm_mix_with_others);
391 ADD_COMPARE(adm_restart_when_interrupted);
392 ADD_COMPARE(adm_enable_fallback);
393 ADD_COMPARE(adm_specify_category);
394 ADD_COMPARE(adm_record_audio_session_call_stack);
395 ADD_COMPARE(adm_allow_haptics_during_record);
396 ADD_COMPARE(has_remote_peers);
397 ADD_COMPARE(has_enabled_ear_monitor);
398 ADD_COMPARE(adm_input_sample_rate);
399 ADD_COMPARE(adm_output_sample_rate);
400 ADD_COMPARE(adm_enable_exclusive_mode);
401 ADD_COMPARE(adm_input_channels);
402 ADD_COMPARE(adm_output_channels);
403 ADD_COMPARE(adm_has_recorded);
404 ADD_COMPARE(external_adm_has_recorded);
405 ADD_COMPARE(adm_enable_mic_selection);
406 ADD_COMPARE(adm_force_use_bluetooth_a2dp);
407 ADD_COMPARE(adm_use_bluetooth_hfp);
408 ADD_COMPARE(adm_use_hw_aec);
409 ADD_COMPARE(adm_force_restart);
410 ADD_COMPARE(adm_microphone_preference);
411 ADD_COMPARE(adm_speaker_balance);
412 ADD_COMPARE(adm_audio_layer);
413 ADD_COMPARE(adm_bypass_sys_ctl);
414 ADD_COMPARE(adm_audio_source);
415 ADD_COMPARE(adm_playout_bufsize_factor);
416 ADD_COMPARE(adm_enable_builtin3a);
417 ADD_COMPARE(uplink_apm_async_process);
418 ADD_COMPARE(uplink_acm_async_process);
419 ADD_COMPARE(only_report_microphone_volume);
420 ADD_COMPARE(enable_multi_drive_apparatus);
421 ADD_COMPARE(enable_stereo_playout);
422 ADD_COMPARE(enable_recording_stereo_dectection);
423 ADD_COMPARE(enable_concurrent_downlink_processing);
424 ADD_COMPARE(mute_playout_signal);
425 ADD_COMPARE(onmix_callback_with_external_source);
426 ADD_COMPARE(enable_receiver_apm);
427 ADD_COMPARE(downlink_peq_enable);
428 ADD_COMPARE(uplink_peq_enable);
429 ADD_COMPARE(uplink_voice_over_enable);
430 ADD_COMPARE(downlink_voice_over_enable);
431 ADD_COMPARE(adm_extra_playout_latency);
432 ADD_COMPARE(adm_extra_record_latency);
433 ADD_COMPARE(adm_opensl_output_bufs);
434 ADD_COMPARE(adm_opensl_input_bufs);
435 ADD_COMPARE(adm_bypass_vpio_processing);
436 ADD_COMPARE(adm_enable_async_process);
437 ADD_COMPARE(adm_ducking_option_advanced);
438 ADD_COMPARE(adm_ducking_option_level);
439 ADD_COMPARE(adm_ears_monitor_channels);
440 ADD_COMPARE(apm_process_channels);
441 ADD_COMPARE(apm_bypass_apm);
442 ADD_COMPARE(apm_splitband_algroute);
443 ADD_COMPARE(apm_print_config_detail);
444 ADD_COMPARE(apm_enable_aec);
445 ADD_COMPARE(apm_enable_aec_external);
446 ADD_COMPARE(apm_aec_nlp_size);
447 ADD_COMPARE(apm_aec_nlp_hop_size);
448 ADD_COMPARE(apm_aec_delay_search_range_ms);
449 ADD_COMPARE(apm_aec_delay_search_method);
450 ADD_COMPARE(apm_aec_fixed_delay);
451 ADD_COMPARE(apm_aec_extra_delay_bias);
452 ADD_COMPARE(adm_ext_recording_source_delay_ms);
453 ADD_COMPARE(apm_aiaec_main_switch);
454 ADD_COMPARE(apm_aec_nlp_plan);
455 ADD_COMPARE(apm_aec_saturated);
456 ADD_COMPARE(apm_aec_ainlp_profile_method);
457 ADD_COMPARE(apm_aec_ainlp_reset_period);
458 ADD_COMPARE(apm_aec_ainlp_reset_ratio);
459 ADD_COMPARE(apm_aec_ainlp_fallback_period);
460 ADD_COMPARE(apm_aec_ainlp_postprocessing_method);
461 ADD_COMPARE(apm_aec_linear_filter_type);
462 ADD_COMPARE(apm_enable_ns);
463 ADD_COMPARE(apm_ains_mode);
464 // AINS
465 ADD_COMPARE(apm_farend_gain_threshold);
466 ADD_COMPARE(adm_win_recording_device_buffer_ms);
467 ADD_COMPARE(adm_windows_layer_with_waveapi);
468 ADD_COMPARE(adm_windows_bypass_system_render_apo);
469 ADD_COMPARE(adm_windows_enable_microphone_boost);
470 ADD_COMPARE(adm_aggregate_playout_device_volume_control);
471 ADD_COMPARE(adm_microphone_volume_init_state);
472 ADD_COMPARE(adm_mac_use_audio_unit_hal);
473 ADD_COMPARE(adm_mac_allow_virtual_recording_device);
474 ADD_COMPARE(adm_mac_allow_virtual_playout_device);
475 ADD_COMPARE(apm_farend_gain);
476 ADD_COMPARE(apm_enable_agc);
477 ADD_COMPARE(apm_enable_md);
478 ADD_COMPARE(apm_aimd_value);
479 ADD_COMPARE(apm_enable_highpass_filter);
480 ADD_COMPARE(apm_enable_tone_remover);
481 ADD_COMPARE(apm_enable_pitch_smoother);
482 ADD_COMPARE(apm_enable_howling_control);
483 ADD_COMPARE(apm_delay_offset_ms);
484 ADD_COMPARE(apm_aec_nlp_aggressiveness);
485 ADD_COMPARE(apm_aec_specify_suppression_step);
486 ADD_COMPARE(apm_aec_complexity);
487 ADD_COMPARE(apm_aec_sw_processing_mode);
488 ADD_COMPARE(apm_aec_linear_filter_length_ms);
489 ADD_COMPARE(apm_aec_split_srate_for_32k);
490 ADD_COMPARE(apm_aec_split_srate_for_48k);
491 ADD_COMPARE(apm_agc_target_level_dbfs);
492 ADD_COMPARE(apm_agc_compression_gain_db);
493 ADD_COMPARE(apm_agc_curve_slope);
494 ADD_COMPARE(apm_agc_mode);
495 ADD_COMPARE(apm_agc_bg_opt_mode);
496 ADD_COMPARE(apm_aec_nlp_enable);
497 ADD_COMPARE(apm_aec_alignRefDelay);
498 ADD_COMPARE(apm_aed_enable);
499 ADD_COMPARE(apm_sf_enabled);
500 ADD_COMPARE(apm_sf_procIONSample);
501 ADD_COMPARE(apm_sf_delayMode);
502 ADD_COMPARE(apm_sf_stftType);
503 ADD_COMPARE(apm_sf_procChainMode);
504 ADD_COMPARE(apm_sf_nlpEnable);
505 ADD_COMPARE(apm_sf_nsEnable);
506 ADD_COMPARE(apm_sf_biquadEnable);
507 ADD_COMPARE(apm_sf_ainlpToLoadFlag);
508 ADD_COMPARE(apm_sf_ainlpMonitorLen);
509 ADD_COMPARE(apm_sf_ainsToLoadFlag);
510 ADD_COMPARE(apm_sf_ainsMonitorLen);
511 ADD_COMPARE(apm_sf_ainsLowLatencyFlag);
512 ADD_COMPARE(apm_sf_nlpAlgRoute);
513 ADD_COMPARE(apm_sf_nsngAlgRoute);
514 ADD_COMPARE(apm_sf_nlpFrmRemoveEngRatioThr);
515 ADD_COMPARE(apm_sf_trdNlpFrmRmvEngRatioThr);
516 ADD_COMPARE(apm_sf_nlpHbandAgg);
517 ADD_COMPARE(apm_sf_ainsKillHEBandFlag);
518 ADD_COMPARE(apm_sf_ainlpLowLatencyFlag);
519 ADD_COMPARE(apm_sf_fallBackThrRatio);
520 ADD_COMPARE(apm_sf_fallBackRefMode);
521 ADD_COMPARE(apm_sf_fallBackPref);
522 ADD_COMPARE(apm_sf_nlpNoiseAddThr);
523 ADD_COMPARE(apm_sf_nlpNoiseAddGain);
524 ADD_COMPARE(apm_sf_nlpAggressiveness);
525 ADD_COMPARE(apm_sf_nlpHeadsetAgg);
526 ADD_COMPARE(apm_sf_nlpSpkrAgg);
527 ADD_COMPARE(apm_sf_nlpDynamicMode);
528 ADD_COMPARE(apm_sf_ainlpHotResetFrq);
529 ADD_COMPARE(apm_sf_ainlpHotResetFactor);
530 ADD_COMPARE(apm_sf_ainlpMonitorQuantile);
531 ADD_COMPARE(apm_sf_nsngPredefAgg);
532 ADD_COMPARE(apm_sf_nsngMusicProbThr);
533 ADD_COMPARE(apm_sf_nsngMusicModeBackoffDB);
534 ADD_COMPARE(apm_sf_statNsMusicModeBackoffDB);
535 ADD_COMPARE(apm_sf_statNsFastNsSpeechTrigThreshold);
536 ADD_COMPARE(apm_sf_ainsSpeechProtectThreshold);
537 ADD_COMPARE(apm_aed_musicThr);
538 ADD_COMPARE(apm_aed_voiceThr);
539 ADD_COMPARE(apm_aed_statQuantile);
540 ADD_COMPARE(apm_aed_useCVerLib);
541 ADD_COMPARE(apm_aed_HotResetFrq);
542 ADD_COMPARE(apm_bgns_enable);
543 ADD_COMPARE(apm_bgns_mode);
544 ADD_COMPARE(apm_sf_statNsEnhFactor);
545 ADD_COMPARE(apm_sf_statNsNoiseOverEst);
546 ADD_COMPARE(apm_sf_statNsOverDrive);
547 ADD_COMPARE(apm_sf_statNsLowerBound);
548 ADD_COMPARE(apm_sf_statNsSpchUpdateRadix);
549 ADD_COMPARE(apm_sf_statNsNoiseUpdateRadix);
550 ADD_COMPARE(apm_sf_statNsEndStartupShort);
551 ADD_COMPARE(apm_sf_statNsEndStartupLong);
552 ADD_COMPARE(apm_sf_statNsNoiseUpdateQuantile);
553 ADD_COMPARE(apm_sf_nsngMapInMaskMin);
554 ADD_COMPARE(apm_sf_nsngMapOutMaskMin);
555 ADD_COMPARE(apm_sf_nsngFinalMaskLowerBound);
556 ADD_COMPARE(apm_sf_nsngPfMargin);
557 ADD_COMPARE(apm_sf_ainsHotResetFrq);
558 ADD_COMPARE(apm_sf_ainsMonitorQuantile);
559 ADD_COMPARE(apm_sf_nsngAuxToolsMode);
560 ADD_COMPARE(apm_sf_nlpProcBand);
561 ADD_COMPARE(apm_sf_nsProcBand);
562 ADD_COMPARE(apm_sf_ainsModelPref);
563 ADD_COMPARE(apm_sf_ainlpModelPref);
564 ADD_COMPARE(apm_vsc_enabled);
565 ADD_COMPARE(apm_vsc_gender);
566 ADD_COMPARE(apm_vsc_effect);
567 ADD_COMPARE(apm_vsc_selfConfig);
568 ADD_COMPARE(apm_vsc_preset);
569 ADD_COMPARE(apm_vsc_gain);
570 ADD_COMPARE(apm_ns_enable_ns_follow_agc);
571 ADD_COMPARE(apm_ns_level);
572 ADD_COMPARE(apm_ns_noiseGateThres);
573 ADD_COMPARE(apm_ns_complexity);
574 ADD_COMPARE(apm_enable_record_boost);
575 ADD_COMPARE(acm_bitrate);
576 ADD_COMPARE(acm_codec);
577 ADD_COMPARE(acm_dtx);
578 ADD_COMPARE(acm_plc);
579 ADD_COMPARE(acm_complex_level);
580 ADD_COMPARE(acm_ptime);
581 ADD_COMPARE(acm_hw_encode_opus);
582 ADD_COMPARE(acm_hw_decode_opus);
583 ADD_COMPARE(acm_opus_celt_only);
584 ADD_COMPARE(acm_opus_max_encoded_bytes);
585 ADD_COMPARE(acm_opus_voice_threshold);
586 ADD_COMPARE(acm_opus_enable_volume_based_bitrate_reduction);
587 ADD_COMPARE(acm_opus_voice_up_coef);
588 ADD_COMPARE(acm_opus_voice_down_coef);
589 ADD_COMPARE(acm_opus_voice_hold_window_ms);
590 ADD_COMPARE(acm_opus_silence_bitrate);
591 ADD_COMPARE(audio_resend);
592 ADD_COMPARE(audio_rsfec_frame_num);
593 ADD_COMPARE(enable_adaptable_fix_rsfec);
594 ADD_COMPARE(audio_rsfec_interleave_num);
595 ADD_COMPARE(audio_fec_frame_num);
596 ADD_COMPARE(audio_fec_interleave_num);
597 ADD_COMPARE(neteq_live_min_delay);
598 ADD_COMPARE(neteq_jitter_buffer_max_packets);
599 ADD_COMPARE(neteq_jitter_buffer_fast_accelerate);
600 ADD_COMPARE(neteq_jitter_max_target_delay);
601 ADD_COMPARE(neteq_filter_target_loss);
602 ADD_COMPARE(neteq_max_filter_window);
603 ADD_COMPARE(neteq_acceleration_percent);
604 ADD_COMPARE(neteq_deceleration_percent);
605 ADD_COMPARE(neteq_scretch_threshold_percent);
606 ADD_COMPARE(neteq_unvoice_accelerate_percent);
607 ADD_COMPARE(neteq_max_wait_ms);
608 ADD_COMPARE(neteq_max_wait_first_decode_ms);
609 ADD_COMPARE(neteq_enable_time_stretching);
610 ADD_COMPARE(neteq_enable_expired_peak_detector);
611 ADD_COMPARE(neteq_enable_peak_detector);
612 ADD_COMPARE(neteq_enable_muted_state);
613 ADD_COMPARE(neteq_max_exceed_time_ms);
614 ADD_COMPARE(neteq_max_filter_dup_num);
615 ADD_COMPARE(neteq_enable_voice_volume_level);
616 ADD_COMPARE(neteq_enable_individuality_delay);
617 ADD_COMPARE(neteq_enable_improve_burst);
618 ADD_COMPARE(neteq_max_mute_duration_ms);
619 ADD_COMPARE(neteq_low_latency_burst_control_window_ms);
620 ADD_COMPARE(neteq_low_latency_burst_control_platform_ms);
621 ADD_COMPARE(neteq_low_latency_burst_peak_num_threshold);
622 ADD_COMPARE(neteq_low_latency_burst_trend_threshold);
623 ADD_COMPARE(neteq_low_latency_burst_peak_trend_increased_threshold);
624 ADD_COMPARE(neteq_low_latency_burst_overuse_limited_quantile);
625 ADD_COMPARE(neteq_low_latency_burst_comb_window_second);
626 ADD_COMPARE(neteq_low_latency_burst_max_jitter_limit_ms);
627 ADD_COMPARE(neteq_high_latency_burst_control_window_ms);
628 ADD_COMPARE(neteq_high_latency_burst_control_platform_ms);
629 ADD_COMPARE(neteq_high_latency_burst_peak_num_threshold);
630 ADD_COMPARE(neteq_high_latency_burst_trend_threshold);
631 ADD_COMPARE(neteq_high_latency_burst_peak_trend_increased_threshold);
632 ADD_COMPARE(neteq_high_latency_burst_overuse_limited_quantile);
633 ADD_COMPARE(neteq_high_latency_burst_comb_window_second);
634 ADD_COMPARE(neteq_high_latency_burst_max_jitter_limit_ms);
635 ADD_COMPARE(neteq_multichannel_plc);
636 ADD_COMPARE(neteq_freeze_m);
637 ADD_COMPARE(neteq_freeze_n);
638 ADD_COMPARE(neteq_targetlevel_offset);
639 ADD_COMPARE(neteq_enable_stable_playout);
640 ADD_COMPARE(neteq_drop_window_threshold_ms);
641 ADD_COMPARE(neteq_drop_distance_threshold_ms);
642 ADD_COMPARE(neteq_prebuffer_window_threshold_ms);
643 ADD_COMPARE(neteq_prebuffer_distance_threshold_ms);
644 ADD_COMPARE(neteq_max_packets_stable_playout);
645 ADD_COMPARE(neteq_normal_recv_rate_ratio_threshold);
646 ADD_COMPARE(neteq_enable_buffer_burst_accelerate);
647 ADD_COMPARE(neteq_enable_external_jitter_burst_accelerate);
648 ADD_COMPARE(neteq_audio_accelerate_low_threshold);
649 ADD_COMPARE(neteq_target_level_optimization);
650 ADD_COMPARE(neteq_aqm_voice_threshold);
651 ADD_COMPARE(neteq_dump_level);
652 ADD_COMPARE(neteq_dump_path);
653 ADD_COMPARE(neteq_limit_prob);
654 ADD_COMPARE(neteq_pre_dump);
655 ADD_COMPARE(neteq_packet_dump_score_threshold);
656 ADD_COMPARE(neteq_lower_limit_probability);
657 ADD_COMPARE(neteq_plc_mode);
658 ADD_COMPARE(neteq_outlier_detector);
659 ADD_COMPARE(enable_pts_estimate_pass_through);
660 ADD_COMPARE(dwlink_gain);
661 ADD_COMPARE(uplink_gain);
662 ADD_COMPARE(adm_separate_audio_unit);
663 ADD_COMPARE(derived_headset_black_list_device);
664 ADD_COMPARE(use_media_volume_in_headset);
665 ADD_COMPARE(use_media_volume_in_audience);
666 ADD_COMPARE(use_media_volume_in_solo);
667 ADD_COMPARE(use_media_volume_in_bluetooth);
668 END_COMPARE_AND_RETURN();
669 }
670
671 AudioOptions& Filter() {
672 UNPUBLISH(derived_headset_black_list_device);
673 return *this;
674 }
675
676 bool operator!=(const AudioOptions& o) const { return !(*this == o); }
677
678 Optional<uint32_t> audio_scenario; // agora::rtc::AUDIO_SCENARIO_TYPE
679 Optional<uint32_t> audio_routing; // agora::rtc::AudioRoute
680 Optional<int32_t> input_audio_routing;
681 Optional<uint32_t> adm_android_mode; // agora::rtc::ADM_ANDROID_MODE
682 Optional<bool> adm_enable_estimated_device_delay;
683 Optional<uint32_t> audio_channel_profile;
684 Optional<int32_t>audio_routing_version;
685 Optional<bool> adm_estimate_device_loopback_delay_with_aec;
686 Optional<bool> adm_enable_lowlatency_capture;
687 Optional<bool> adm_enable_lowlatency_playout;
688 Optional<int32_t> adm_capture_io_buffer_ms;
689 Optional<int32_t> adm_force_layer;
690 Optional<bool> adm_duck_others;
691 // ios::AVAudioSessionCategoryOptionMixWithOthers
692 Optional<bool> adm_mix_with_others;
693 Optional<bool> adm_restart_when_interrupted;
694 Optional<bool> adm_enable_fallback;
695 Optional<int> adm_specify_category;
696 Optional<bool> adm_record_audio_session_call_stack;
697 Optional<bool> adm_allow_haptics_during_record;
698 Optional<bool> has_remote_peers;
699 Optional<bool> has_enabled_ear_monitor;
700 Optional<uint32_t> adm_input_sample_rate;
701 Optional<uint32_t> adm_output_sample_rate;
702 Optional<bool> adm_enable_exclusive_mode;
703 Optional<uint32_t> adm_input_channels;
704 Optional<uint32_t> adm_output_channels;
705 Optional<bool> adm_has_recorded;
706 Optional<bool> external_adm_has_recorded;
707 Optional<bool> adm_enable_mic_selection;
708 // ios::AVAudioSessionCategoryOptionAllowBluetoothA2DP
709 Optional<bool> adm_force_use_bluetooth_a2dp;
710 Optional<bool> adm_use_bluetooth_hfp;
711 Optional<bool> adm_use_hw_aec;
712 Optional<bool> adm_force_restart;
713 Optional<int> adm_microphone_preference; // for android
714 Optional<int> adm_speaker_balance;
715 Optional<uint32_t> adm_audio_layer;
716 Optional<bool> adm_bypass_sys_ctl;
717 Optional<uint32_t> adm_audio_source; // for android
718 Optional<uint32_t> adm_playout_bufsize_factor; // for android
719 Optional<bool> adm_enable_builtin3a;
720
721 Optional<bool> uplink_apm_async_process;
722 Optional<bool> uplink_acm_async_process;
723 Optional<bool> only_report_microphone_volume;
724 Optional<int32_t> enable_multi_drive_apparatus;
725 Optional<bool> enable_stereo_playout;
726 Optional<bool> enable_recording_stereo_dectection;
727 Optional<bool> enable_concurrent_downlink_processing;
728 Optional<bool> mute_playout_signal;
729 Optional<bool> onmix_callback_with_external_source;
730 Optional<bool> enable_receiver_apm;
731 Optional<bool> downlink_peq_enable;
732 Optional<bool> uplink_peq_enable;
733 Optional<bool> uplink_voice_over_enable;
734 Optional<bool> downlink_voice_over_enable;
735
736 Optional<int> adm_extra_playout_latency; // for android
737 Optional<int> adm_extra_record_latency; // for android
738 Optional<int> adm_opensl_output_bufs;
739 Optional<int> adm_opensl_input_bufs;
740 Optional<bool> adm_bypass_vpio_processing;
741 Optional<bool> adm_enable_async_process;
742 Optional<bool> adm_ducking_option_advanced;
743 Optional<int> adm_ducking_option_level;
744 Optional<int> adm_ears_monitor_channels;
745 Optional<int> apm_process_channels; // agora::media::base::AUDIO_PROCESS_CHANNELS
746 Optional<bool> apm_bypass_apm;
747 Optional<int> apm_splitband_algroute;
748 Optional<bool> apm_print_config_detail;
749 Optional<bool> apm_enable_aec;
750 Optional<bool> apm_enable_aec_external;
751 Optional<int> apm_aiaec_main_switch;
752 Optional<int> apm_aec_nlp_plan;
753 Optional<bool> apm_aec_saturated;
754 Optional<int> apm_aec_nlp_size;
755 Optional<int> apm_aec_nlp_hop_size;
756 Optional<int> apm_aec_delay_search_range_ms;
757 Optional<int> apm_aec_delay_search_method;
758 Optional<int> apm_aec_fixed_delay;
759 Optional<int> apm_aec_extra_delay_bias;
760 Optional<int> adm_ext_recording_source_delay_ms;
761 Optional<int> apm_aec_ainlp_profile_method;
762 Optional<int> apm_aec_ainlp_reset_period;
763 Optional<int> apm_aec_ainlp_reset_ratio;
764 Optional<int> apm_aec_ainlp_fallback_period;
765 Optional<int> apm_aec_ainlp_postprocessing_method;
766 Optional<int> apm_aec_linear_filter_type;
767 Optional<bool> apm_enable_ns;
768 Optional<int> apm_ains_mode;
769 Optional<bool> apm_enable_agc;
770 Optional<bool> apm_enable_md;
771 Optional<int> apm_aimd_value;
772 Optional<bool> apm_enable_highpass_filter;
773 Optional<bool> apm_enable_tone_remover;
774 Optional<bool> apm_enable_pitch_smoother;
775 Optional<bool> apm_enable_howling_control;
776 Optional<uint32_t> apm_delay_offset_ms;
777 Optional<int32_t> apm_aec_nlp_aggressiveness;
778 Optional<int32_t> apm_aec_specify_suppression_step;
779 Optional<int32_t> apm_aec_complexity;
780 Optional<int32_t> apm_aec_sw_processing_mode;
781 Optional<int32_t> apm_aec_linear_filter_length_ms;
782 Optional<int32_t> apm_aec_split_srate_for_32k;
783 Optional<int32_t> apm_aec_split_srate_for_48k;
784 Optional<uint32_t> apm_agc_target_level_dbfs;
785 Optional<uint32_t> apm_agc_compression_gain_db;
786 Optional<uint32_t> apm_agc_curve_slope;
787 Optional<uint32_t> apm_agc_mode;
788 Optional<uint32_t> apm_agc_bg_opt_mode;
789 Optional<bool> apm_aec_nlp_enable;
790 Optional<bool> apm_aec_alignRefDelay;
791 Optional<int> apm_aed_enable;
792 Optional<bool> apm_sf_enabled;
793 Optional<int> apm_sf_procIONSample;
794 Optional<int> apm_sf_delayMode;
795 Optional<int> apm_sf_stftType;
796 Optional<int> apm_sf_procChainMode;
797 Optional<int> apm_sf_nlpEnable;
798 Optional<int> apm_sf_nsEnable;
799 Optional<int> apm_sf_biquadEnable;
800 Optional<int> apm_sf_ainlpToLoadFlag;
801 Optional<int> apm_sf_ainlpMonitorLen;
802 Optional<int> apm_sf_ainsToLoadFlag;
803 Optional<int> apm_sf_ainsMonitorLen;
804 Optional<int> apm_sf_ainsLowLatencyFlag;
805 Optional<int> apm_sf_nlpAlgRoute;
806 Optional<int> apm_sf_nsngAlgRoute;
807 Optional<int> apm_sf_nlpFrmRemoveEngRatioThr;
808 Optional<int> apm_sf_trdNlpFrmRmvEngRatioThr;
809 Optional<int> apm_sf_nlpHbandAgg;
810 Optional<int> apm_sf_ainsKillHEBandFlag;
811 Optional<int> apm_sf_ainlpLowLatencyFlag;
812 Optional<int> apm_sf_fallBackThrRatio;
813 Optional<int> apm_sf_fallBackRefMode;
814 Optional<int> apm_sf_fallBackPref;
815 Optional<int> apm_sf_nlpNoiseAddThr;
816 Optional<int> apm_sf_nlpNoiseAddGain;
817 Optional<int> apm_sf_nlpAggressiveness;
818 Optional<int> apm_sf_nlpHeadsetAgg;
819 Optional<int> apm_sf_nlpSpkrAgg;
820 Optional<int> apm_sf_nlpDynamicMode;
821 Optional<int> apm_sf_ainlpHotResetFrq;
822 Optional<int> apm_sf_ainlpHotResetFactor;
823 Optional<int> apm_sf_ainlpMonitorQuantile;
824 Optional<int> apm_sf_nsngPredefAgg;
825 Optional<int> apm_sf_nsngMusicProbThr;
826 Optional<int> apm_sf_nsngMusicModeBackoffDB;
827 Optional<int> apm_sf_statNsMusicModeBackoffDB;
828 Optional<int> apm_sf_statNsFastNsSpeechTrigThreshold;
829 Optional<int> apm_sf_ainsSpeechProtectThreshold;
830 Optional<int> apm_aed_useCVerLib;
831 Optional<int> apm_aed_HotResetFrq;
832 Optional<int> apm_aed_musicThr;
833 Optional<int> apm_aed_voiceThr;
834 Optional<int> apm_aed_statQuantile;
835 Optional<int> apm_bgns_enable;
836 Optional<int> apm_bgns_mode;
837 Optional<int> apm_sf_statNsEnhFactor;
838 Optional<int> apm_sf_statNsNoiseOverEst;
839 Optional<int> apm_sf_statNsOverDrive;
840 Optional<int> apm_sf_statNsLowerBound;
841 Optional<int> apm_sf_statNsSpchUpdateRadix;
842 Optional<int> apm_sf_statNsNoiseUpdateRadix;
843 Optional<int> apm_sf_statNsEndStartupShort;
844 Optional<int> apm_sf_statNsEndStartupLong;
845 Optional<int> apm_sf_statNsNoiseUpdateQuantile;
846 Optional<int> apm_sf_nsngMapInMaskMin;
847 Optional<int> apm_sf_nsngMapOutMaskMin;
848 Optional<int> apm_sf_nsngFinalMaskLowerBound;
849 Optional<int> apm_sf_nsngPfMargin;
850 Optional<int> apm_sf_ainsHotResetFrq;
851 Optional<int> apm_sf_ainsMonitorQuantile;
852 Optional<int> apm_sf_nsngAuxToolsMode;
853 Optional<int> apm_sf_nlpProcBand;
854 Optional<int> apm_sf_nsProcBand;
855 Optional<int> apm_sf_ainsModelPref;
856 Optional<int> apm_sf_ainlpModelPref;
857 Optional<int> apm_vsc_enabled;
858 Optional<int> apm_vsc_gender;
859 Optional<int> apm_vsc_effect;
860 Optional<int> apm_vsc_selfConfig;
861 Optional<int> apm_vsc_preset;
862 Optional<int> apm_vsc_gain;
863 Optional<uint32_t> apm_ns_enable_ns_follow_agc;
864 Optional<int32_t> apm_ns_level;
865 Optional<uint32_t> apm_ns_noiseGateThres;
866 Optional<int32_t> apm_ns_complexity;
867 // AINS
868 // Double talk detection switcher.
869 // Android game streaming scenario should be true, all other cases should be false;
870 Optional<bool> apm_enable_record_boost;
871 Optional<int32_t> apm_farend_gain_threshold;
872 Optional<int32_t> adm_win_recording_device_buffer_ms;
873 Optional<bool> adm_windows_layer_with_waveapi;
874 Optional<bool> adm_windows_bypass_system_render_apo;
875 Optional<bool> adm_windows_enable_microphone_boost;
876 Optional<bool> adm_aggregate_playout_device_volume_control;
877 Optional<bool> adm_microphone_volume_init_state;
878 Optional<bool> adm_mac_use_audio_unit_hal;
879 Optional<bool> adm_mac_allow_virtual_recording_device;
880 Optional<bool> adm_mac_allow_virtual_playout_device;
881 Optional<uint32_t> apm_farend_gain;
882 Optional<uint32_t> acm_bitrate;
883 Optional<uint32_t> acm_codec;
884 Optional<bool> acm_dtx;
885 Optional<bool> acm_plc;
886 Optional<uint32_t> acm_complex_level;
887 Optional<uint32_t> acm_ptime;
888 Optional<bool> acm_hw_encode_opus;
889 Optional<bool> acm_hw_decode_opus;
890 Optional<bool> acm_opus_celt_only;
891 Optional<int32_t> acm_opus_max_encoded_bytes;
892 Optional<bool> acm_opus_enable_volume_based_bitrate_reduction;
893 Optional<int32_t> acm_opus_voice_threshold;
894 Optional<int32_t> acm_opus_voice_up_coef;
895 Optional<int32_t> acm_opus_voice_down_coef;
896 Optional<int32_t> acm_opus_voice_hold_window_ms;
897 Optional<int32_t> acm_opus_silence_bitrate;
898 Optional<bool> audio_resend;
899 Optional<bool> enable_adaptable_fix_rsfec;
900 Optional<uint32_t> audio_rsfec_frame_num;
901 Optional<uint32_t> audio_rsfec_interleave_num;
902 Optional<uint32_t> audio_fec_frame_num;
903 Optional<uint32_t> audio_fec_interleave_num;
904 Optional<uint32_t> neteq_live_min_delay;
905 Optional<uint32_t> neteq_jitter_buffer_max_packets;
906 Optional<bool> neteq_jitter_buffer_fast_accelerate;
907 Optional<int32_t> neteq_jitter_max_target_delay;
908 Optional<int32_t> neteq_filter_target_loss;
909 Optional<int32_t> neteq_max_filter_window;
910 Optional<int32_t> neteq_acceleration_percent;
911 Optional<int32_t> neteq_deceleration_percent;
912 Optional<int32_t> neteq_scretch_threshold_percent;
913 Optional<int32_t> neteq_unvoice_accelerate_percent;
914 Optional<int32_t> neteq_max_wait_ms;
915 Optional<int32_t> neteq_max_wait_first_decode_ms;
916 Optional<bool> neteq_enable_time_stretching;
917 Optional<bool> neteq_enable_expired_peak_detector;
918 Optional<bool> neteq_enable_peak_detector;
919 Optional<bool> neteq_enable_muted_state;
920 Optional<int32_t> neteq_max_exceed_time_ms;
921 Optional<uint32_t> neteq_max_filter_dup_num;
922 Optional<bool> neteq_enable_voice_volume_level;
923 Optional<bool> neteq_enable_individuality_delay;
924 Optional<bool> neteq_enable_improve_burst;
925 Optional<int32_t> neteq_max_mute_duration_ms;
926 Optional<int32_t> neteq_low_latency_burst_control_window_ms;
927 Optional<int32_t> neteq_low_latency_burst_control_platform_ms;
928 Optional<int32_t> neteq_low_latency_burst_peak_num_threshold;
929 Optional<int32_t> neteq_low_latency_burst_trend_threshold;
930 Optional<int32_t> neteq_low_latency_burst_peak_trend_increased_threshold;
931 Optional<int32_t> neteq_low_latency_burst_overuse_limited_quantile;
932 Optional<int32_t> neteq_low_latency_burst_comb_window_second;
933 Optional<int32_t> neteq_low_latency_burst_max_jitter_limit_ms;
934 Optional<int32_t> neteq_high_latency_burst_control_window_ms;
935 Optional<int32_t> neteq_high_latency_burst_control_platform_ms;
936 Optional<int32_t> neteq_high_latency_burst_peak_num_threshold;
937 Optional<int32_t> neteq_high_latency_burst_trend_threshold;
938 Optional<int32_t> neteq_high_latency_burst_peak_trend_increased_threshold;
939 Optional<int32_t> neteq_high_latency_burst_overuse_limited_quantile;
940 Optional<int32_t> neteq_high_latency_burst_comb_window_second;
941 Optional<int32_t> neteq_high_latency_burst_max_jitter_limit_ms;
942 Optional<bool> neteq_multichannel_plc;
943 Optional<int32_t> neteq_freeze_m;
944 Optional<int32_t> neteq_freeze_n;
945 Optional<int32_t> neteq_targetlevel_offset;
946 Optional<bool> neteq_enable_stable_playout;
947 Optional<int32_t> neteq_drop_window_threshold_ms;
948 Optional<int32_t> neteq_drop_distance_threshold_ms;
949 Optional<int32_t> neteq_prebuffer_window_threshold_ms;
950 Optional<int32_t> neteq_prebuffer_distance_threshold_ms;
951 Optional<int32_t> neteq_max_packets_stable_playout;
952 Optional<int32_t> neteq_normal_recv_rate_ratio_threshold;
953 Optional<bool> neteq_enable_buffer_burst_accelerate;
954 Optional<int32_t> neteq_audio_accelerate_low_threshold;
955 Optional<bool> neteq_enable_external_jitter_burst_accelerate;
956
957 Optional<bool> neteq_target_level_optimization;
958 Optional<uint32_t> neteq_aqm_voice_threshold;
959 Optional<uint32_t> neteq_dump_level;
960 Optional<std::string> neteq_dump_path;
961 Optional<int> neteq_limit_prob;
962 Optional<int> neteq_pre_dump;
963 Optional<int> neteq_packet_dump_score_threshold;
964 Optional<int> neteq_lower_limit_probability;
965 Optional<int> neteq_plc_mode;
966 Optional<int> neteq_outlier_detector;
967 Optional<int32_t> enable_pts_estimate_pass_through;
968 Optional<uint32_t> dwlink_gain;
969 Optional<uint32_t> uplink_gain;
970 Optional<bool> adm_separate_audio_unit;
971
972 // derived options
973 Optional<bool> derived_headset_black_list_device;
974 Optional<int> use_media_volume_in_headset;
975 Optional<int> use_media_volume_in_audience;
976 Optional<int> use_media_volume_in_solo;
977 Optional<int> use_media_volume_in_bluetooth;
978
979 private:
980 template <typename T>
981 static void SetFrom(Optional<T>* s, const Optional<T>& o) {
982 if (o) {
983 *s = o;
984 }
985 }
986 };
987
988 } // namespace rtc
989 } // namespace agora
agora::rtc::AudioOptions::apm_sf_statNsEndStartupLong
Optional< int > apm_sf_statNsEndStartupLong
Definition: audio_options_i.h:844
agora::rtc::AudioOptions::apm_sf_statNsEndStartupShort
Optional< int > apm_sf_statNsEndStartupShort
Definition: audio_options_i.h:843
agora::rtc::AudioOptions::enable_adaptable_fix_rsfec
Optional< bool > enable_adaptable_fix_rsfec
Definition: audio_options_i.h:899
agora::rtc::AudioOptions::apm_enable_ns
Optional< bool > apm_enable_ns
Definition: audio_options_i.h:767
agora::rtc::AudioOptions::acm_plc
Optional< bool > acm_plc
Definition: audio_options_i.h:885
agora::rtc::AudioOptions::apm_aec_ainlp_reset_period
Optional< int > apm_aec_ainlp_reset_period
Definition: audio_options_i.h:762
agora::rtc::AudioOptions::apm_splitband_algroute
Optional< int > apm_splitband_algroute
Definition: audio_options_i.h:747
agora::rtc::AudioOptions::apm_sf_nlpEnable
Optional< int > apm_sf_nlpEnable
Definition: audio_options_i.h:797
agora::rtc::AudioOptions::dwlink_gain
Optional< uint32_t > dwlink_gain
Definition: audio_options_i.h:968
agora::rtc::AudioOptions::apm_sf_fallBackPref
Optional< int > apm_sf_fallBackPref
Definition: audio_options_i.h:814
agora::rtc::AudioOptions::enable_concurrent_downlink_processing
Optional< bool > enable_concurrent_downlink_processing
Definition: audio_options_i.h:727
agora::rtc::AudioOptions::acm_opus_voice_hold_window_ms
Optional< int32_t > acm_opus_voice_hold_window_ms
Definition: audio_options_i.h:896
agora::rtc::AudioOptions::uplink_voice_over_enable
Optional< bool > uplink_voice_over_enable
Definition: audio_options_i.h:733
agora::rtc::AudioOptions::only_report_microphone_volume
Optional< bool > only_report_microphone_volume
Definition: audio_options_i.h:723
agora::rtc::AudioOptions::apm_sf_nsngPredefAgg
Optional< int > apm_sf_nsngPredefAgg
Definition: audio_options_i.h:824
agora::rtc::JAVA_INPUT_AND_JAVA_OUTPUT
@ JAVA_INPUT_AND_JAVA_OUTPUT
Definition: audio_options_i.h:33
agora::rtc::AudioOptions::adm_enable_builtin3a
Optional< bool > adm_enable_builtin3a
Definition: audio_options_i.h:719
agora::rtc::AudioOptions::apm_sf_nlpNoiseAddThr
Optional< int > apm_sf_nlpNoiseAddThr
Definition: audio_options_i.h:815
agora::rtc::AudioOptions::neteq_enable_peak_detector
Optional< bool > neteq_enable_peak_detector
Definition: audio_options_i.h:918
agora::rtc::AudioOptions::apm_aec_extra_delay_bias
Optional< int > apm_aec_extra_delay_bias
Definition: audio_options_i.h:759
agora::rtc::AudioOptions
Definition: audio_options_i.h:67
agora::rtc::AudioOptions::apm_aec_alignRefDelay
Optional< bool > apm_aec_alignRefDelay
Definition: audio_options_i.h:790
agora::rtc::AudioOptions::apm_aec_split_srate_for_32k
Optional< int32_t > apm_aec_split_srate_for_32k
Definition: audio_options_i.h:782
agora::rtc::AudioOptions::apm_sf_nsngMapOutMaskMin
Optional< int > apm_sf_nsngMapOutMaskMin
Definition: audio_options_i.h:847
agora::rtc::AudioOptions::apm_aec_nlp_hop_size
Optional< int > apm_aec_nlp_hop_size
Definition: audio_options_i.h:755
agora::rtc::AudioOptions::adm_mac_use_audio_unit_hal
Optional< bool > adm_mac_use_audio_unit_hal
Definition: audio_options_i.h:878
agora::rtc::AudioOptions::apm_sf_nlpHbandAgg
Optional< int > apm_sf_nlpHbandAgg
Definition: audio_options_i.h:809
agora::rtc::OPENSL_INPUT_AND_OBOE_OUTPUT
@ OPENSL_INPUT_AND_OBOE_OUTPUT
Definition: audio_options_i.h:63
agora::rtc::AudioOptions::adm_enable_fallback
Optional< bool > adm_enable_fallback
Definition: audio_options_i.h:694
agora::rtc::AudioOptions::apm_aimd_value
Optional< int > apm_aimd_value
Definition: audio_options_i.h:771
agora::rtc::AudioOptions::uplink_apm_async_process
Optional< bool > uplink_apm_async_process
Definition: audio_options_i.h:721
agora::rtc::AudioOptions::audio_fec_interleave_num
Optional< uint32_t > audio_fec_interleave_num
Definition: audio_options_i.h:903
agora::rtc::AudioOptions::adm_ducking_option_advanced
Optional< bool > adm_ducking_option_advanced
Definition: audio_options_i.h:742
agora::rtc::AudioOptions::SetApmAll
void SetApmAll(const AudioOptions &change)
Definition: audio_options_i.h:98
agora::rtc::AudioOptions::audio_scenario
Optional< uint32_t > audio_scenario
Definition: audio_options_i.h:678
agora::rtc::AudioOptions::apm_agc_curve_slope
Optional< uint32_t > apm_agc_curve_slope
Definition: audio_options_i.h:786
agora::rtc::AudioOptions::neteq_drop_distance_threshold_ms
Optional< int32_t > neteq_drop_distance_threshold_ms
Definition: audio_options_i.h:948
agora::rtc::AudioOptions::neteq_enable_time_stretching
Optional< bool > neteq_enable_time_stretching
Definition: audio_options_i.h:916
agora::rtc::AudioOptions::onmix_callback_with_external_source
Optional< bool > onmix_callback_with_external_source
Definition: audio_options_i.h:729
agora::rtc::AudioOptions::adm_force_restart
Optional< bool > adm_force_restart
Definition: audio_options_i.h:712
agora::rtc::AudioOptions::neteq_prebuffer_window_threshold_ms
Optional< int32_t > neteq_prebuffer_window_threshold_ms
Definition: audio_options_i.h:949
agora::rtc::AudioOptions::apm_sf_nlpNoiseAddGain
Optional< int > apm_sf_nlpNoiseAddGain
Definition: audio_options_i.h:816
agora::rtc::AudioOptions::neteq_max_filter_window
Optional< int32_t > neteq_max_filter_window
Definition: audio_options_i.h:909
agora::rtc::AudioOptions::apm_farend_gain
Optional< uint32_t > apm_farend_gain
Definition: audio_options_i.h:881
agora::rtc::AudioOptions::downlink_peq_enable
Optional< bool > downlink_peq_enable
Definition: audio_options_i.h:731
agora::rtc::AudioOptions::audio_fec_frame_num
Optional< uint32_t > audio_fec_frame_num
Definition: audio_options_i.h:902
agora::rtc::AudioOptions::apm_vsc_preset
Optional< int > apm_vsc_preset
Definition: audio_options_i.h:861
agora::rtc::AudioOptions::neteq_low_latency_burst_overuse_limited_quantile
Optional< int32_t > neteq_low_latency_burst_overuse_limited_quantile
Definition: audio_options_i.h:931
agora::rtc::AudioOptions::enable_receiver_apm
Optional< bool > enable_receiver_apm
Definition: audio_options_i.h:730
agora::rtc::AudioOptions::apm_sf_fallBackRefMode
Optional< int > apm_sf_fallBackRefMode
Definition: audio_options_i.h:813
agora::rtc::AudioOptions::adm_restart_when_interrupted
Optional< bool > adm_restart_when_interrupted
Definition: audio_options_i.h:693
agora::rtc::AudioOptions::apm_enable_agc
Optional< bool > apm_enable_agc
Definition: audio_options_i.h:769
agora::rtc::AudioOptions::adm_input_channels
Optional< uint32_t > adm_input_channels
Definition: audio_options_i.h:703
agora::rtc::AudioOptions::apm_enable_tone_remover
Optional< bool > apm_enable_tone_remover
Definition: audio_options_i.h:773
agora::rtc::AudioOptions::audio_channel_profile
Optional< uint32_t > audio_channel_profile
Definition: audio_options_i.h:683
agora::rtc::AudioOptions::adm_duck_others
Optional< bool > adm_duck_others
Definition: audio_options_i.h:690
agora::rtc::AudioOptions::adm_output_channels
Optional< uint32_t > adm_output_channels
Definition: audio_options_i.h:704
agora::rtc::OBOE_INPUT_AND_OBOE_OUTPUT
@ OBOE_INPUT_AND_OBOE_OUTPUT
Definition: audio_options_i.h:51
agora::rtc::AudioOptions::apm_sf_statNsNoiseUpdateRadix
Optional< int > apm_sf_statNsNoiseUpdateRadix
Definition: audio_options_i.h:842
agora::rtc::AudioOptions::apm_sf_enabled
Optional< bool > apm_sf_enabled
Definition: audio_options_i.h:792
agora::rtc::AudioOptions::uplink_peq_enable
Optional< bool > uplink_peq_enable
Definition: audio_options_i.h:732
agora::rtc::AudioOptions::adm_microphone_volume_init_state
Optional< bool > adm_microphone_volume_init_state
Definition: audio_options_i.h:877
agora::rtc::AudioOptions::apm_aec_linear_filter_type
Optional< int > apm_aec_linear_filter_type
Definition: audio_options_i.h:766
agora::rtc::AudioOptions::mute_playout_signal
Optional< bool > mute_playout_signal
Definition: audio_options_i.h:728
agora::rtc::AudioOptions::apm_process_channels
Optional< int > apm_process_channels
Definition: audio_options_i.h:745
agora::rtc::AudioOptions::adm_opensl_output_bufs
Optional< int > adm_opensl_output_bufs
Definition: audio_options_i.h:738
agora::rtc::AudioOptions::neteq_low_latency_burst_max_jitter_limit_ms
Optional< int32_t > neteq_low_latency_burst_max_jitter_limit_ms
Definition: audio_options_i.h:933
agora::rtc::AudioOptions::apm_aec_ainlp_reset_ratio
Optional< int > apm_aec_ainlp_reset_ratio
Definition: audio_options_i.h:763
agora::rtc::AudioOptions::neteq_acceleration_percent
Optional< int32_t > neteq_acceleration_percent
Definition: audio_options_i.h:910
agora::rtc::AudioOptions::operator!=
bool operator!=(const AudioOptions &o) const
Definition: audio_options_i.h:676
agora::rtc::AudioOptions::neteq_enable_voice_volume_level
Optional< bool > neteq_enable_voice_volume_level
Definition: audio_options_i.h:922
agora::rtc::AudioOptions::apm_sf_ainlpHotResetFrq
Optional< int > apm_sf_ainlpHotResetFrq
Definition: audio_options_i.h:821
agora::rtc::AudioOptions::adm_output_sample_rate
Optional< uint32_t > adm_output_sample_rate
Definition: audio_options_i.h:701
agora::rtc::AudioOptions::apm_sf_ainsLowLatencyFlag
Optional< int > apm_sf_ainsLowLatencyFlag
Definition: audio_options_i.h:804
agora::rtc::AudioOptions::acm_codec
Optional< uint32_t > acm_codec
Definition: audio_options_i.h:883
agora::rtc::AudioOptions::apm_enable_record_boost
Optional< bool > apm_enable_record_boost
Definition: audio_options_i.h:870
agora::rtc::AudioOptions::neteq_high_latency_burst_control_window_ms
Optional< int32_t > neteq_high_latency_burst_control_window_ms
Definition: audio_options_i.h:934
agora::rtc::AudioOptions::apm_sf_ainlpHotResetFactor
Optional< int > apm_sf_ainlpHotResetFactor
Definition: audio_options_i.h:822
agora::rtc::AudioOptions::adm_extra_record_latency
Optional< int > adm_extra_record_latency
Definition: audio_options_i.h:737
agora::rtc::AudioOptions::neteq_enable_stable_playout
Optional< bool > neteq_enable_stable_playout
Definition: audio_options_i.h:946
agora::rtc::AudioOptions::acm_opus_celt_only
Optional< bool > acm_opus_celt_only
Definition: audio_options_i.h:890
agora::rtc::AudioOptions::adm_specify_category
Optional< int > adm_specify_category
Definition: audio_options_i.h:695
agora::rtc::AudioOptions::apm_aec_nlp_aggressiveness
Optional< int32_t > apm_aec_nlp_aggressiveness
Definition: audio_options_i.h:777
agora::rtc::AudioOptions::apm_aec_nlp_plan
Optional< int > apm_aec_nlp_plan
Definition: audio_options_i.h:752
agora::rtc::AudioOptions::adm_enable_lowlatency_playout
Optional< bool > adm_enable_lowlatency_playout
Definition: audio_options_i.h:687
agora::rtc::AudioOptions::neteq_high_latency_burst_trend_threshold
Optional< int32_t > neteq_high_latency_burst_trend_threshold
Definition: audio_options_i.h:937
agora::rtc::AudioOptions::neteq_enable_buffer_burst_accelerate
Optional< bool > neteq_enable_buffer_burst_accelerate
Definition: audio_options_i.h:953
agora::rtc::AudioOptions::adm_playout_bufsize_factor
Optional< uint32_t > adm_playout_bufsize_factor
Definition: audio_options_i.h:718
agora::rtc::AudioOptions::apm_sf_statNsMusicModeBackoffDB
Optional< int > apm_sf_statNsMusicModeBackoffDB
Definition: audio_options_i.h:827
agora::rtc::AudioOptions::adm_record_audio_session_call_stack
Optional< bool > adm_record_audio_session_call_stack
Definition: audio_options_i.h:696
agora::rtc::AudioOptions::use_media_volume_in_audience
Optional< int > use_media_volume_in_audience
Definition: audio_options_i.h:975
agora::rtc::AudioOptions::apm_sf_ainsToLoadFlag
Optional< int > apm_sf_ainsToLoadFlag
Definition: audio_options_i.h:802
agora::rtc::AudioOptions::apm_sf_nsngAlgRoute
Optional< int > apm_sf_nsngAlgRoute
Definition: audio_options_i.h:806
agora::rtc::AudioOptions::apm_aec_ainlp_profile_method
Optional< int > apm_aec_ainlp_profile_method
Definition: audio_options_i.h:761
agora
Definition: AgoraAtomicOps.h:21
agora::rtc::AudioOptions::apm_sf_trdNlpFrmRmvEngRatioThr
Optional< int > apm_sf_trdNlpFrmRmvEngRatioThr
Definition: audio_options_i.h:808
agora::rtc::AudioOptions::acm_dtx
Optional< bool > acm_dtx
Definition: audio_options_i.h:884
agora::rtc::AudioOptions::apm_aec_specify_suppression_step
Optional< int32_t > apm_aec_specify_suppression_step
Definition: audio_options_i.h:778
agora::rtc::AudioOptions::neteq_enable_muted_state
Optional< bool > neteq_enable_muted_state
Definition: audio_options_i.h:919
agora::rtc::AudioOptions::use_media_volume_in_solo
Optional< int > use_media_volume_in_solo
Definition: audio_options_i.h:976
agora::rtc::AudioOptions::apm_vsc_selfConfig
Optional< int > apm_vsc_selfConfig
Definition: audio_options_i.h:860
agora::rtc::AudioOptions::neteq_freeze_m
Optional< int32_t > neteq_freeze_m
Definition: audio_options_i.h:943
agora::rtc::AudioOptions::apm_enable_highpass_filter
Optional< bool > apm_enable_highpass_filter
Definition: audio_options_i.h:772
agora::rtc::AudioOptions::adm_extra_playout_latency
Optional< int > adm_extra_playout_latency
Definition: audio_options_i.h:736
agora::rtc::AudioOptions::Filter
AudioOptions & Filter()
Definition: audio_options_i.h:671
agora::rtc::AudioOptions::apm_sf_nsngMapInMaskMin
Optional< int > apm_sf_nsngMapInMaskMin
Definition: audio_options_i.h:846
agora::rtc::AudioOptions::enable_multi_drive_apparatus
Optional< int32_t > enable_multi_drive_apparatus
Definition: audio_options_i.h:724
agora::rtc::AudioOptions::apm_bgns_mode
Optional< int > apm_bgns_mode
Definition: audio_options_i.h:836
agora::rtc::AudioOptions::neteq_enable_individuality_delay
Optional< bool > neteq_enable_individuality_delay
Definition: audio_options_i.h:923
agora::rtc::AudioOptions::neteq_high_latency_burst_peak_trend_increased_threshold
Optional< int32_t > neteq_high_latency_burst_peak_trend_increased_threshold
Definition: audio_options_i.h:938
agora::rtc::AudioOptions::adm_windows_enable_microphone_boost
Optional< bool > adm_windows_enable_microphone_boost
Definition: audio_options_i.h:875
agora::rtc::AudioOptions::apm_aec_delay_search_range_ms
Optional< int > apm_aec_delay_search_range_ms
Definition: audio_options_i.h:756
agora::rtc::AudioOptions::apm_sf_ainsMonitorLen
Optional< int > apm_sf_ainsMonitorLen
Definition: audio_options_i.h:803
agora::rtc::AudioOptions::apm_sf_delayMode
Optional< int > apm_sf_delayMode
Definition: audio_options_i.h:794
agora::rtc::AudioOptions::apm_aec_sw_processing_mode
Optional< int32_t > apm_aec_sw_processing_mode
Definition: audio_options_i.h:780
agora::rtc::AudioOptions::adm_bypass_sys_ctl
Optional< bool > adm_bypass_sys_ctl
Definition: audio_options_i.h:716
agora::rtc::AudioOptions::adm_use_hw_aec
Optional< bool > adm_use_hw_aec
Definition: audio_options_i.h:711
agora::rtc::AudioOptions::apm_delay_offset_ms
Optional< uint32_t > apm_delay_offset_ms
Definition: audio_options_i.h:776
agora::rtc::AudioOptions::input_audio_routing
Optional< int32_t > input_audio_routing
Definition: audio_options_i.h:680
agora::rtc::AudioOptions::operator==
bool operator==(const AudioOptions &o) const
Definition: audio_options_i.h:375
agora::rtc::AudioOptions::apm_sf_statNsFastNsSpeechTrigThreshold
Optional< int > apm_sf_statNsFastNsSpeechTrigThreshold
Definition: audio_options_i.h:828
agora::rtc::AudioOptions::neteq_jitter_max_target_delay
Optional< int32_t > neteq_jitter_max_target_delay
Definition: audio_options_i.h:907
agora::rtc::AudioOptions::apm_ns_noiseGateThres
Optional< uint32_t > apm_ns_noiseGateThres
Definition: audio_options_i.h:865
agora::rtc::AudioOptions::SetAll
void SetAll(const AudioOptions &change)
Definition: audio_options_i.h:204
agora::rtc::OPENSL_INPUT_AND_OPENSL_OUTPUT
@ OPENSL_INPUT_AND_OPENSL_OUTPUT
Definition: audio_options_i.h:39
agora::rtc::AudioOptions::apm_sf_ainlpMonitorQuantile
Optional< int > apm_sf_ainlpMonitorQuantile
Definition: audio_options_i.h:823
agora::rtc::AudioOptions::SetAecAll
void SetAecAll(const AudioOptions &change)
Definition: audio_options_i.h:71
agora::rtc::AudioOptions::neteq_multichannel_plc
Optional< bool > neteq_multichannel_plc
Definition: audio_options_i.h:942
agora::rtc::AudioOptions::neteq_low_latency_burst_comb_window_second
Optional< int32_t > neteq_low_latency_burst_comb_window_second
Definition: audio_options_i.h:932
agora::rtc::AudioOptions::apm_sf_procIONSample
Optional< int > apm_sf_procIONSample
Definition: audio_options_i.h:793
agora::rtc::AudioOptions::apm_sf_statNsNoiseUpdateQuantile
Optional< int > apm_sf_statNsNoiseUpdateQuantile
Definition: audio_options_i.h:845
agora::rtc::AudioOptions::apm_vsc_effect
Optional< int > apm_vsc_effect
Definition: audio_options_i.h:859
agora::rtc::AudioOptions::apm_aed_musicThr
Optional< int > apm_aed_musicThr
Definition: audio_options_i.h:832
agora::rtc::AudioOptions::apm_sf_ainsMonitorQuantile
Optional< int > apm_sf_ainsMonitorQuantile
Definition: audio_options_i.h:851
agora::rtc::AudioOptions::apm_aec_ainlp_postprocessing_method
Optional< int > apm_aec_ainlp_postprocessing_method
Definition: audio_options_i.h:765
agora::rtc::AudioOptions::neteq_drop_window_threshold_ms
Optional< int32_t > neteq_drop_window_threshold_ms
Definition: audio_options_i.h:947
agora::rtc::AudioOptions::neteq_aqm_voice_threshold
Optional< uint32_t > neteq_aqm_voice_threshold
Definition: audio_options_i.h:958
agora::rtc::AudioOptions::apm_sf_statNsSpchUpdateRadix
Optional< int > apm_sf_statNsSpchUpdateRadix
Definition: audio_options_i.h:841
agora::rtc::AudioOptions::neteq_target_level_optimization
Optional< bool > neteq_target_level_optimization
Definition: audio_options_i.h:957
agora::rtc::AudioOptions::neteq_pre_dump
Optional< int > neteq_pre_dump
Definition: audio_options_i.h:962
agora::rtc::AudioOptions::neteq_high_latency_burst_comb_window_second
Optional< int32_t > neteq_high_latency_burst_comb_window_second
Definition: audio_options_i.h:940
agora::rtc::AudioOptions::acm_opus_voice_threshold
Optional< int32_t > acm_opus_voice_threshold
Definition: audio_options_i.h:893
agora::rtc::AudioOptions::apm_agc_bg_opt_mode
Optional< uint32_t > apm_agc_bg_opt_mode
Definition: audio_options_i.h:788
agora::rtc::AudioOptions::apm_sf_nlpProcBand
Optional< int > apm_sf_nlpProcBand
Definition: audio_options_i.h:853
agora::rtc::AudioOptions::neteq_max_wait_first_decode_ms
Optional< int32_t > neteq_max_wait_first_decode_ms
Definition: audio_options_i.h:915
agora::rtc::AudioOptions::apm_sf_nsngMusicModeBackoffDB
Optional< int > apm_sf_nsngMusicModeBackoffDB
Definition: audio_options_i.h:826
agora::rtc::AudioOptions::neteq_high_latency_burst_peak_num_threshold
Optional< int32_t > neteq_high_latency_burst_peak_num_threshold
Definition: audio_options_i.h:936
agora::rtc::AudioOptions::adm_mac_allow_virtual_playout_device
Optional< bool > adm_mac_allow_virtual_playout_device
Definition: audio_options_i.h:880
agora::rtc::AudioOptions::~AudioOptions
~AudioOptions()=default
agora::rtc::AudioOptions::neteq_scretch_threshold_percent
Optional< int32_t > neteq_scretch_threshold_percent
Definition: audio_options_i.h:912
agora::rtc::AudioOptions::adm_android_mode
Optional< uint32_t > adm_android_mode
Definition: audio_options_i.h:681
agora::rtc::AudioOptions::external_adm_has_recorded
Optional< bool > external_adm_has_recorded
Definition: audio_options_i.h:706
agora::rtc::AudioOptions::adm_audio_source
Optional< uint32_t > adm_audio_source
Definition: audio_options_i.h:717
agora::rtc::AudioOptions::audio_routing
Optional< uint32_t > audio_routing
Definition: audio_options_i.h:679
agora::rtc::AudioOptions::neteq_enable_expired_peak_detector
Optional< bool > neteq_enable_expired_peak_detector
Definition: audio_options_i.h:917
agora::rtc::AudioOptions::audio_routing_version
Optional< int32_t > audio_routing_version
Definition: audio_options_i.h:684
agora::rtc::AudioOptions::adm_force_layer
Optional< int32_t > adm_force_layer
Definition: audio_options_i.h:689
agora::rtc::AudioOptions::uplink_acm_async_process
Optional< bool > uplink_acm_async_process
Definition: audio_options_i.h:722
agora::rtc::AudioOptions::apm_enable_pitch_smoother
Optional< bool > apm_enable_pitch_smoother
Definition: audio_options_i.h:774
agora::rtc::AudioOptions::apm_sf_nsEnable
Optional< int > apm_sf_nsEnable
Definition: audio_options_i.h:798
agora::rtc::AudioOptions::apm_aec_linear_filter_length_ms
Optional< int32_t > apm_aec_linear_filter_length_ms
Definition: audio_options_i.h:781
agora::rtc::AudioOptions::apm_ns_complexity
Optional< int32_t > apm_ns_complexity
Definition: audio_options_i.h:866
agora::rtc::AudioOptions::adm_ducking_option_level
Optional< int > adm_ducking_option_level
Definition: audio_options_i.h:743
agora::rtc::AudioOptions::audio_rsfec_frame_num
Optional< uint32_t > audio_rsfec_frame_num
Definition: audio_options_i.h:900
agora::rtc::AudioOptions::apm_sf_nsngMusicProbThr
Optional< int > apm_sf_nsngMusicProbThr
Definition: audio_options_i.h:825
agora::rtc::AudioOptions::apm_bypass_apm
Optional< bool > apm_bypass_apm
Definition: audio_options_i.h:746
agora::rtc::AudioOptions::apm_sf_statNsOverDrive
Optional< int > apm_sf_statNsOverDrive
Definition: audio_options_i.h:839
agora::rtc::AudioOptions::apm_aec_split_srate_for_48k
Optional< int32_t > apm_aec_split_srate_for_48k
Definition: audio_options_i.h:783
agora::rtc::AudioOptions::apm_sf_nlpAlgRoute
Optional< int > apm_sf_nlpAlgRoute
Definition: audio_options_i.h:805
agora::rtc::AudioOptions::apm_sf_ainsModelPref
Optional< int > apm_sf_ainsModelPref
Definition: audio_options_i.h:855
agora::rtc::AudioOptions::neteq_live_min_delay
Optional< uint32_t > neteq_live_min_delay
Definition: audio_options_i.h:904
agora::rtc::AudioOptions::apm_sf_biquadEnable
Optional< int > apm_sf_biquadEnable
Definition: audio_options_i.h:799
agora::rtc::AudioOptions::adm_use_bluetooth_hfp
Optional< bool > adm_use_bluetooth_hfp
Definition: audio_options_i.h:710
agora::rtc::AudioOptions::apm_sf_statNsLowerBound
Optional< int > apm_sf_statNsLowerBound
Definition: audio_options_i.h:840
agora::rtc::AudioOptions::apm_aec_delay_search_method
Optional< int > apm_aec_delay_search_method
Definition: audio_options_i.h:757
agora::rtc::AudioOptions::neteq_dump_level
Optional< uint32_t > neteq_dump_level
Definition: audio_options_i.h:959
agora::rtc::AudioOptions::neteq_high_latency_burst_control_platform_ms
Optional< int32_t > neteq_high_latency_burst_control_platform_ms
Definition: audio_options_i.h:935
agora::rtc::AudioOptions::acm_ptime
Optional< uint32_t > acm_ptime
Definition: audio_options_i.h:887
agora::rtc::JAVA_INPUT_AND_OBOE_OUTPUT
@ JAVA_INPUT_AND_OBOE_OUTPUT
Definition: audio_options_i.h:57
agora::rtc::AudioOptions::apm_sf_nlpAggressiveness
Optional< int > apm_sf_nlpAggressiveness
Definition: audio_options_i.h:817
agora::rtc::AudioOptions::neteq_max_filter_dup_num
Optional< uint32_t > neteq_max_filter_dup_num
Definition: audio_options_i.h:921
agora::rtc::AudioOptions::apm_sf_nsngFinalMaskLowerBound
Optional< int > apm_sf_nsngFinalMaskLowerBound
Definition: audio_options_i.h:848
agora::rtc::AudioOptions::neteq_freeze_n
Optional< int32_t > neteq_freeze_n
Definition: audio_options_i.h:944
agora::rtc::AudioOptions::apm_aec_nlp_size
Optional< int > apm_aec_nlp_size
Definition: audio_options_i.h:754
agora::rtc::AudioOptions::acm_bitrate
Optional< uint32_t > acm_bitrate
Definition: audio_options_i.h:882
agora::rtc::AudioOptions::neteq_low_latency_burst_peak_num_threshold
Optional< int32_t > neteq_low_latency_burst_peak_num_threshold
Definition: audio_options_i.h:928
agora::rtc::AudioOptions::downlink_voice_over_enable
Optional< bool > downlink_voice_over_enable
Definition: audio_options_i.h:734
agora::rtc::AudioOptions::adm_ext_recording_source_delay_ms
Optional< int > adm_ext_recording_source_delay_ms
Definition: audio_options_i.h:760
agora::rtc::AudioOptions::apm_sf_nsngAuxToolsMode
Optional< int > apm_sf_nsngAuxToolsMode
Definition: audio_options_i.h:852
agora::rtc::AudioOptions::apm_sf_ainsKillHEBandFlag
Optional< int > apm_sf_ainsKillHEBandFlag
Definition: audio_options_i.h:810
agora::rtc::AudioOptions::neteq_outlier_detector
Optional< int > neteq_outlier_detector
Definition: audio_options_i.h:966
agora::rtc::AudioOptions::apm_sf_ainsSpeechProtectThreshold
Optional< int > apm_sf_ainsSpeechProtectThreshold
Definition: audio_options_i.h:829
agora::rtc::AudioOptions::neteq_enable_external_jitter_burst_accelerate
Optional< bool > neteq_enable_external_jitter_burst_accelerate
Definition: audio_options_i.h:955
agora::rtc::AudioOptions::adm_mac_allow_virtual_recording_device
Optional< bool > adm_mac_allow_virtual_recording_device
Definition: audio_options_i.h:879
agora::rtc::AudioOptions::adm_enable_lowlatency_capture
Optional< bool > adm_enable_lowlatency_capture
Definition: audio_options_i.h:686
agora::rtc::AudioOptions::adm_audio_layer
Optional< uint32_t > adm_audio_layer
Definition: audio_options_i.h:715
agora::rtc::AudioOptions::acm_hw_encode_opus
Optional< bool > acm_hw_encode_opus
Definition: audio_options_i.h:888
agora::rtc::AudioOptions::adm_windows_layer_with_waveapi
Optional< bool > adm_windows_layer_with_waveapi
Definition: audio_options_i.h:873
agora::rtc::AudioOptions::apm_aed_statQuantile
Optional< int > apm_aed_statQuantile
Definition: audio_options_i.h:834
agora::rtc::AudioOptions::neteq_high_latency_burst_max_jitter_limit_ms
Optional< int32_t > neteq_high_latency_burst_max_jitter_limit_ms
Definition: audio_options_i.h:941
agora::rtc::AudioOptions::apm_farend_gain_threshold
Optional< int32_t > apm_farend_gain_threshold
Definition: audio_options_i.h:871
agora::rtc::AudioOptions::adm_enable_estimated_device_delay
Optional< bool > adm_enable_estimated_device_delay
Definition: audio_options_i.h:682
agora::rtc::AudioOptions::apm_aed_enable
Optional< int > apm_aed_enable
Definition: audio_options_i.h:791
agora::rtc::AudioOptions::apm_aiaec_main_switch
Optional< int > apm_aiaec_main_switch
Definition: audio_options_i.h:751
agora::rtc::AudioOptions::adm_opensl_input_bufs
Optional< int > adm_opensl_input_bufs
Definition: audio_options_i.h:739
agora::rtc::AudioOptions::apm_aed_HotResetFrq
Optional< int > apm_aed_HotResetFrq
Definition: audio_options_i.h:831
agora::rtc::AudioOptions::neteq_lower_limit_probability
Optional< int > neteq_lower_limit_probability
Definition: audio_options_i.h:964
agora::rtc::AudioOptions::acm_complex_level
Optional< uint32_t > acm_complex_level
Definition: audio_options_i.h:886
agora::rtc::AudioOptions::apm_print_config_detail
Optional< bool > apm_print_config_detail
Definition: audio_options_i.h:748
agora::rtc::AudioOptions::acm_opus_voice_down_coef
Optional< int32_t > acm_opus_voice_down_coef
Definition: audio_options_i.h:895
agora::rtc::AudioOptions::apm_sf_fallBackThrRatio
Optional< int > apm_sf_fallBackThrRatio
Definition: audio_options_i.h:812
agora::rtc::AudioOptions::apm_aec_nlp_enable
Optional< bool > apm_aec_nlp_enable
Definition: audio_options_i.h:789
agora::rtc::AudioOptions::derived_headset_black_list_device
Optional< bool > derived_headset_black_list_device
Definition: audio_options_i.h:973
agora::rtc::AudioOptions::apm_vsc_gain
Optional< int > apm_vsc_gain
Definition: audio_options_i.h:862
agora::rtc::AudioOptions::adm_win_recording_device_buffer_ms
Optional< int32_t > adm_win_recording_device_buffer_ms
Definition: audio_options_i.h:872
agora::rtc::AudioOptions::adm_bypass_vpio_processing
Optional< bool > adm_bypass_vpio_processing
Definition: audio_options_i.h:740
agora::rtc::AudioOptions::adm_has_recorded
Optional< bool > adm_has_recorded
Definition: audio_options_i.h:705
agora::rtc::AudioOptions::apm_vsc_enabled
Optional< int > apm_vsc_enabled
Definition: audio_options_i.h:857
agora::rtc::AudioOptions::adm_enable_async_process
Optional< bool > adm_enable_async_process
Definition: audio_options_i.h:741
agora::rtc::AudioOptions::apm_ains_mode
Optional< int > apm_ains_mode
Definition: audio_options_i.h:768
agora::rtc::AudioOptions::apm_sf_ainlpModelPref
Optional< int > apm_sf_ainlpModelPref
Definition: audio_options_i.h:856
agora::rtc::AudioOptions::adm_speaker_balance
Optional< int > adm_speaker_balance
Definition: audio_options_i.h:714
agora::rtc::AudioOptions::apm_aec_complexity
Optional< int32_t > apm_aec_complexity
Definition: audio_options_i.h:779
agora::rtc::AudioOptions::neteq_packet_dump_score_threshold
Optional< int > neteq_packet_dump_score_threshold
Definition: audio_options_i.h:963
agora::rtc::AudioOptions::neteq_prebuffer_distance_threshold_ms
Optional< int32_t > neteq_prebuffer_distance_threshold_ms
Definition: audio_options_i.h:950
agora::rtc::AudioOptions::apm_sf_procChainMode
Optional< int > apm_sf_procChainMode
Definition: audio_options_i.h:796
agora::rtc::AudioOptions::apm_sf_statNsEnhFactor
Optional< int > apm_sf_statNsEnhFactor
Definition: audio_options_i.h:837
agora::rtc::AudioOptions::neteq_unvoice_accelerate_percent
Optional< int32_t > neteq_unvoice_accelerate_percent
Definition: audio_options_i.h:913
agora::rtc::AudioOptions::adm_enable_mic_selection
Optional< bool > adm_enable_mic_selection
Definition: audio_options_i.h:707
agora::rtc::AudioOptions::apm_enable_aec
Optional< bool > apm_enable_aec
Definition: audio_options_i.h:749
agora::rtc::AudioOptions::apm_bgns_enable
Optional< int > apm_bgns_enable
Definition: audio_options_i.h:835
agora::rtc::AudioOptions::apm_sf_nlpSpkrAgg
Optional< int > apm_sf_nlpSpkrAgg
Definition: audio_options_i.h:819
agora::rtc::AudioOptions::use_media_volume_in_bluetooth
Optional< int > use_media_volume_in_bluetooth
Definition: audio_options_i.h:977
agora::rtc::AudioOptions::apm_agc_compression_gain_db
Optional< uint32_t > apm_agc_compression_gain_db
Definition: audio_options_i.h:785
agora::rtc::AudioOptions::neteq_max_wait_ms
Optional< int32_t > neteq_max_wait_ms
Definition: audio_options_i.h:914
agora::rtc::AudioOptions::neteq_low_latency_burst_trend_threshold
Optional< int32_t > neteq_low_latency_burst_trend_threshold
Definition: audio_options_i.h:929
agora::rtc::AudioOptions::apm_vsc_gender
Optional< int > apm_vsc_gender
Definition: audio_options_i.h:858
agora::rtc::AudioOptions::acm_opus_voice_up_coef
Optional< int32_t > acm_opus_voice_up_coef
Definition: audio_options_i.h:894
agora::rtc::AudioOptions::acm_hw_decode_opus
Optional< bool > acm_hw_decode_opus
Definition: audio_options_i.h:889
agora::rtc::AudioOptions::adm_allow_haptics_during_record
Optional< bool > adm_allow_haptics_during_record
Definition: audio_options_i.h:697
agora::rtc::AudioOptions::neteq_filter_target_loss
Optional< int32_t > neteq_filter_target_loss
Definition: audio_options_i.h:908
agora::rtc::AudioOptions::acm_opus_silence_bitrate
Optional< int32_t > acm_opus_silence_bitrate
Definition: audio_options_i.h:897
agora::rtc::AudioOptions::adm_capture_io_buffer_ms
Optional< int32_t > adm_capture_io_buffer_ms
Definition: audio_options_i.h:688
agora::rtc::AudioOptions::apm_sf_ainlpLowLatencyFlag
Optional< int > apm_sf_ainlpLowLatencyFlag
Definition: audio_options_i.h:811
agora::rtc::AudioOptions::apm_sf_nsngPfMargin
Optional< int > apm_sf_nsngPfMargin
Definition: audio_options_i.h:849
agora::rtc::AudioOptions::AudioOptions
AudioOptions()=default
agora::rtc::AudioOptions::apm_enable_howling_control
Optional< bool > apm_enable_howling_control
Definition: audio_options_i.h:775
agora::rtc::AudioOptions::apm_aed_useCVerLib
Optional< int > apm_aed_useCVerLib
Definition: audio_options_i.h:830
agora::rtc::AudioOptions::apm_sf_ainlpMonitorLen
Optional< int > apm_sf_ainlpMonitorLen
Definition: audio_options_i.h:801
agora::rtc::AudioOptions::apm_sf_nlpFrmRemoveEngRatioThr
Optional< int > apm_sf_nlpFrmRemoveEngRatioThr
Definition: audio_options_i.h:807
agora::rtc::AudioOptions::enable_pts_estimate_pass_through
Optional< int32_t > enable_pts_estimate_pass_through
Definition: audio_options_i.h:967
agora::rtc::AudioOptions::audio_resend
Optional< bool > audio_resend
Definition: audio_options_i.h:898
agora::rtc::AudioOptions::apm_sf_ainlpToLoadFlag
Optional< int > apm_sf_ainlpToLoadFlag
Definition: audio_options_i.h:800
agora::rtc::AudioOptions::adm_aggregate_playout_device_volume_control
Optional< bool > adm_aggregate_playout_device_volume_control
Definition: audio_options_i.h:876
agora::rtc::AudioOptions::adm_estimate_device_loopback_delay_with_aec
Optional< bool > adm_estimate_device_loopback_delay_with_aec
Definition: audio_options_i.h:685
agora::rtc::AudioOptions::apm_sf_ainsHotResetFrq
Optional< int > apm_sf_ainsHotResetFrq
Definition: audio_options_i.h:850
agora::rtc::AudioOptions::neteq_deceleration_percent
Optional< int32_t > neteq_deceleration_percent
Definition: audio_options_i.h:911
agora::rtc::AudioOptions::audio_rsfec_interleave_num
Optional< uint32_t > audio_rsfec_interleave_num
Definition: audio_options_i.h:901
agora::rtc::AudioOptions::enable_stereo_playout
Optional< bool > enable_stereo_playout
Definition: audio_options_i.h:725
agora::rtc::AudioOptions::apm_aed_voiceThr
Optional< int > apm_aed_voiceThr
Definition: audio_options_i.h:833
agora::rtc::AudioOptions::neteq_jitter_buffer_fast_accelerate
Optional< bool > neteq_jitter_buffer_fast_accelerate
Definition: audio_options_i.h:906
agora::rtc::AudioOptions::neteq_low_latency_burst_peak_trend_increased_threshold
Optional< int32_t > neteq_low_latency_burst_peak_trend_increased_threshold
Definition: audio_options_i.h:930
agora::rtc::AudioOptions::adm_input_sample_rate
Optional< uint32_t > adm_input_sample_rate
Definition: audio_options_i.h:700
agora::rtc::AudioOptions::neteq_normal_recv_rate_ratio_threshold
Optional< int32_t > neteq_normal_recv_rate_ratio_threshold
Definition: audio_options_i.h:952
agora::rtc::AudioOptions::adm_ears_monitor_channels
Optional< int > adm_ears_monitor_channels
Definition: audio_options_i.h:744
agora::rtc::AudioOptions::apm_sf_nlpHeadsetAgg
Optional< int > apm_sf_nlpHeadsetAgg
Definition: audio_options_i.h:818
agora::rtc::AudioOptions::adm_windows_bypass_system_render_apo
Optional< bool > adm_windows_bypass_system_render_apo
Definition: audio_options_i.h:874
agora::rtc::AudioOptions::has_enabled_ear_monitor
Optional< bool > has_enabled_ear_monitor
Definition: audio_options_i.h:699
agora::rtc::AudioOptions::neteq_plc_mode
Optional< int > neteq_plc_mode
Definition: audio_options_i.h:965
agora::rtc::AudioOptions::apm_sf_nsProcBand
Optional< int > apm_sf_nsProcBand
Definition: audio_options_i.h:854
agora::rtc::AudioOptions::apm_agc_mode
Optional< uint32_t > apm_agc_mode
Definition: audio_options_i.h:787
agora::rtc::AudioOptions::enable_recording_stereo_dectection
Optional< bool > enable_recording_stereo_dectection
Definition: audio_options_i.h:726
agora::rtc::AudioOptions::neteq_low_latency_burst_control_platform_ms
Optional< int32_t > neteq_low_latency_burst_control_platform_ms
Definition: audio_options_i.h:927
agora::rtc::ADM_ANDROID_MODE
ADM_ANDROID_MODE
Definition: audio_options_i.h:28
agora::rtc::AudioOptions::neteq_enable_improve_burst
Optional< bool > neteq_enable_improve_burst
Definition: audio_options_i.h:924
agora::rtc::AudioOptions::neteq_jitter_buffer_max_packets
Optional< uint32_t > neteq_jitter_buffer_max_packets
Definition: audio_options_i.h:905
agora::rtc::AudioOptions::neteq_max_exceed_time_ms
Optional< int32_t > neteq_max_exceed_time_ms
Definition: audio_options_i.h:920
agora::rtc::AudioOptions::apm_aec_ainlp_fallback_period
Optional< int > apm_aec_ainlp_fallback_period
Definition: audio_options_i.h:764
agora::rtc::AudioOptions::acm_opus_max_encoded_bytes
Optional< int32_t > acm_opus_max_encoded_bytes
Definition: audio_options_i.h:891
agora::rtc::AudioOptions::neteq_max_mute_duration_ms
Optional< int32_t > neteq_max_mute_duration_ms
Definition: audio_options_i.h:925
agora::rtc::AudioOptions::uplink_gain
Optional< uint32_t > uplink_gain
Definition: audio_options_i.h:969
agora::rtc::AudioOptions::acm_opus_enable_volume_based_bitrate_reduction
Optional< bool > acm_opus_enable_volume_based_bitrate_reduction
Definition: audio_options_i.h:892
agora::rtc::AudioOptions::adm_mix_with_others
Optional< bool > adm_mix_with_others
Definition: audio_options_i.h:692
agora::rtc::AudioOptions::neteq_limit_prob
Optional< int > neteq_limit_prob
Definition: audio_options_i.h:961
agora::rtc::AudioOptions::neteq_audio_accelerate_low_threshold
Optional< int32_t > neteq_audio_accelerate_low_threshold
Definition: audio_options_i.h:954
agora::rtc::AudioOptions::neteq_targetlevel_offset
Optional< int32_t > neteq_targetlevel_offset
Definition: audio_options_i.h:945
agora::rtc::AudioOptions::neteq_max_packets_stable_playout
Optional< int32_t > neteq_max_packets_stable_playout
Definition: audio_options_i.h:951
agora::rtc::AudioOptions::apm_sf_statNsNoiseOverEst
Optional< int > apm_sf_statNsNoiseOverEst
Definition: audio_options_i.h:838
agora::rtc::AudioOptions::apm_sf_nlpDynamicMode
Optional< int > apm_sf_nlpDynamicMode
Definition: audio_options_i.h:820
agora::rtc::AudioOptions::apm_sf_stftType
Optional< int > apm_sf_stftType
Definition: audio_options_i.h:795
agora::rtc::AudioOptions::apm_ns_level
Optional< int32_t > apm_ns_level
Definition: audio_options_i.h:864
agora::rtc::AudioOptions::neteq_dump_path
Optional< std::string > neteq_dump_path
Definition: audio_options_i.h:960
agora::rtc::AudioOptions::apm_agc_target_level_dbfs
Optional< uint32_t > apm_agc_target_level_dbfs
Definition: audio_options_i.h:784
agora::rtc::AudioOptions::adm_force_use_bluetooth_a2dp
Optional< bool > adm_force_use_bluetooth_a2dp
Definition: audio_options_i.h:709
agora::rtc::AudioOptions::apm_enable_aec_external
Optional< bool > apm_enable_aec_external
Definition: audio_options_i.h:750
agora::rtc::AudioOptions::apm_enable_md
Optional< bool > apm_enable_md
Definition: audio_options_i.h:770
agora::rtc::AudioOptions::adm_microphone_preference
Optional< int > adm_microphone_preference
Definition: audio_options_i.h:713
agora::rtc::JAVA_INPUT_AND_OPENSL_OUTPUT
@ JAVA_INPUT_AND_OPENSL_OUTPUT
Definition: audio_options_i.h:45
agora::rtc::AudioOptions::neteq_high_latency_burst_overuse_limited_quantile
Optional< int32_t > neteq_high_latency_burst_overuse_limited_quantile
Definition: audio_options_i.h:939
rtc
Definition: video_node_i.h:28
agora::rtc::AudioOptions::has_remote_peers
Optional< bool > has_remote_peers
Definition: audio_options_i.h:698
agora::rtc::AudioOptions::neteq_low_latency_burst_control_window_ms
Optional< int32_t > neteq_low_latency_burst_control_window_ms
Definition: audio_options_i.h:926
agora::Optional< uint32_t >
agora::rtc::AudioOptions::adm_enable_exclusive_mode
Optional< bool > adm_enable_exclusive_mode
Definition: audio_options_i.h:702
agora::rtc::AudioOptions::apm_ns_enable_ns_follow_agc
Optional< uint32_t > apm_ns_enable_ns_follow_agc
Definition: audio_options_i.h:863
agora::rtc::AudioOptions::use_media_volume_in_headset
Optional< int > use_media_volume_in_headset
Definition: audio_options_i.h:974
agora::rtc::AudioOptions::apm_aec_saturated
Optional< bool > apm_aec_saturated
Definition: audio_options_i.h:753
agora::rtc::AudioOptions::adm_separate_audio_unit
Optional< bool > adm_separate_audio_unit
Definition: audio_options_i.h:970
agora::rtc::AudioOptions::apm_aec_fixed_delay
Optional< int > apm_aec_fixed_delay
Definition: audio_options_i.h:758