Agora Server Gateway SDK C++ API Reference
IAgoraParameter.h
Go to the documentation of this file.
1//
2// Agora Engine SDK
3//
4// Created by minbo in 2019-10.
5// Copyright (c) 2019 Agora.io. All rights reserved.
6
7/*
8 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
9 *
10 * Use of this source code is governed by a BSD-style license
11 * that can be found in the LICENSE file in the root of the source
12 * tree. An additional intellectual property rights grant can be found
13 * in the file PATENTS. All contributing project authors may
14 * be found in the AUTHORS file in the root of the source tree.
15 */
16
17#pragma once // NOLINT(build/header_guard)
18
20// external key
25#define KEY_RTC_UDP_PORT_RANGE "rtc.udp_port_range"
30#define KEY_RTC_UDP_PORT_LIST "rtc.udp_port_list"
31
36#define KEY_RTC_UDP_SEND_FD "rtc.udp_send_fd"
37
41#define KEY_RTC_VIDEO_ENABLED_HW_ENCODER "engine.video.enable_hw_encoder"
42
46#define KEY_RTC_VIDEO_HW_ENCODER_PROVIDER "engine.video.hw_encoder_provider"
47
51#define KEY_RTC_VIDEO_ENABLED_HW_DECODER "engine.video.enable_hw_decoder"
52
56#define KEY_RTC_VIDEO_HW_DECODER_PROVIDER "engine.video.hw_decoder_provider"
57
61#define KEY_RTC_VIDEO_OVERRIDE_SMALLVIDEO_NOT_USE_HWENC_POLICY "engine.video.override_smallvideo_not_use_hwenc_policy"
62
66#define KEY_RTC_VIDEO_RESEND "rtc.video_resend"
67
71#define KEY_RTC_AUDIO_RESEND "rtc.audio_resend"
72
76#define KEY_RTC_AUDIO_ENABLE_AGORA_AEC "rtc.audio.aec.enable"
77
81#define KEY_RTC_AUDIO_AEC_AGGRESSIVENESS "rtc.audio.aec.aggressiveness"
82
83#define KEY_RTC_AUDIO_MAX_TARGET_DELAY "rtc.audio.max_target_delay"
84
88#define KEY_RTC_AUDIO_ENABLE_AGORA_AGC "rtc.audio.agc.enable"
89
93#define KEY_RTC_AUDIO_ENABLE_AGORA_ANS "rtc.audio.ans.enable"
94
98#define KEY_RTC_AUDIO_ENABLE_AGORA_MD "rtc.audio.md.enable"
99
103#define KEY_RTC_AUDIO_OPENSL_MODE "rtc.audio.opensl.mode"
104
111#define KEY_RTC_AUDIO_OBOE_ENABLE "rtc.audio.oboe.enable"
112
117#define KEY_RTC_AUDIO_ENABLE_HARDWARE_EAR_MONITOR "rtc.audio.enable_hardware_ear_monitor"
118
122#define KEY_RTC_AUDIO_INPUT_SAMPLE_RATE "rtc.audio.input_sample_rate"
123
130#define KEY_RTC_AUDIO_FORCE_USE_MEDIA_VOLUME "rtc.audio.force_use_media_volume"
131
138#define KEY_RTC_AUDIO_FORCE_BLUETOOTH_A2DP "rtc.audio.force_bluetooth_a2dp"
139
143#define KEY_RTC_AUDIO_KEEP_AUDIOSESSION "rtc.audio.keep.audiosession"
144
151#define KEY_RTC_AUDIO_USE_MEDIA_VOLUME_IN_BLUETOOTH "rtc.audio.use_media_volume_in_bluetooth"
152
156#define KEY_RTC_VIDEO_BITRATE_ADJUST_RATIO "rtc.video.bitrate_adjust_ratio"
157
161#define KEY_RTC_VIDEO_MINBITRATE_RATIO "rtc.video.minbitrate_ratio"
162
166#define KEY_RTC_VIDEO_DEGRADATION_PREFERENCE "rtc.video.degradation_preference"
167
172#define KEY_RTC_VIDEO_DEGRADATION_FPS_DOWN_STEP "rtc.video.degradation_fps_down_step"
176#define KEY_RTC_VIDEO_DEGRADATION_FPS_UP_STEP "rtc.video.degradation_fps_up_step"
177
181#define KEY_RTC_CONNECTION_LOST_PERIOD "rtc.connection_lost_period"
182
186#define KEY_RTC_LOCAL_IP "rtc.local.ip"
187
191#define KEY_RTC_NETWORK_INTERFACE "rtc.network.interface"
192
196#define KEY_RTC_VIDEO_CODEC_TYPE "engine.video.codec_type"
197
201#define KEY_RTC_VIDEO_QUALITY_SCALE_ONLY_ON_AVERAGE_QP "engine.video.quality_scale_only_on_average_qp"
202
206#define KEY_RTC_VIDEO_H264_QP_THRESHOLD_LOW "engine.video.h264_qp_thresholds_low"
207
211#define KEY_RTC_VIDEO_H264_QP_THRESHOLD_HIGH "engine.video.h264_qp_thresholds_high"
213
214namespace agora {
215
216namespace util {
217template <class T>
218class CopyableAutoPtr;
219
220class IString;
221typedef CopyableAutoPtr<IString> AString;
222} // namespace util
223
224namespace base {
225
227public:
229
232 virtual void release() = 0;
233
242 virtual int setBool(const char* key, bool value) = 0;
243
252 virtual int setInt(const char* key, int value) = 0;
253
262 virtual int setUInt(const char* key, unsigned int value) = 0;
263
272 virtual int setNumber(const char* key, double value) = 0;
273
282 virtual int setString(const char* key, const char* value) = 0;
283
292 virtual int setObject(const char* key, const char* value) = 0;
293
302 virtual int setArray(const char* key, const char* value) = 0;
311 virtual int getBool(const char* key, bool& value) = 0;
312
321 virtual int getInt(const char* key, int& value) = 0;
322
331 virtual int getUInt(const char* key, unsigned int& value) = 0;
332
341 virtual int getNumber(const char* key, double& value) = 0;
342
351 virtual int getString(const char* key, agora::util::AString& value) = 0;
352
361 virtual int getObject(const char* key, agora::util::AString& value) = 0;
362
371 virtual int getArray(const char* key, const char* args, agora::util::AString& value) = 0;
373
383 virtual int setParameters(const char* parameters) = 0;
384
385 virtual int convertPath(const char* filePath, agora::util::AString& value) = 0;
386
387 virtual ~IAgoraParameter() {}
388};
389
390} // namespace base
391} // namespace agora
Definition: IAgoraParameter.h:226
virtual int setParameters(const char *parameters)=0
virtual ~IAgoraParameter()
Definition: IAgoraParameter.h:387
virtual int convertPath(const char *filePath, agora::util::AString &value)=0
Definition: AgoraBase.h:179
CopyableAutoPtr< IString > AString
Definition: AgoraBase.h:210
Definition: AgoraBase.h:86