更新默认配置文件,支持配置注释和排序

This commit is contained in:
xia-chu
2025-12-01 20:03:14 +08:00
parent 6f16c81d97
commit 1892185b23
3 changed files with 27 additions and 5 deletions

View File

@@ -338,7 +338,7 @@ gop_cache=1
#国标发送g711 rtp 打包时每个包的语音时长是多少默认是100 ms范围为20~180ms (gb28181-2016c.2.4规定)
#最好为20 的倍数程序自动向20的倍数取整
rtp_g711_dur_ms = 100
rtp_g711_dur_ms=100
#udp接收数据socket buffer大小配置
#4*1024*1024=4196304
udp_recv_socket_buffer=4194304
@@ -359,8 +359,12 @@ iceTransportPolicy=0
#STUN/TURN 服务Ice密码
iceUfrag=ZLMediaKit
icePwd=ZLMediaKit
#webrtc datachannel是否回显数据测试用
datachannel_echo=1
max_stun_retry=7
#TURN服务分配端口池
portRange=50000-65000
port_range=49152-65535
#rtc播放推流、播放超时时间
timeoutSec=15
#本机对rtc客户端的可见ip作为服务器时一般为公网ip可有多个用','分开当置空时会自动获取网卡ip
@@ -426,7 +430,6 @@ pktBufSize=8192
#srt udp服务器的密码,为空表示不加密
passPhrase=
[rtsp]
#rtsp专有鉴权方式是采用base64还是md5方式
authBasic=0
@@ -453,9 +456,13 @@ lowLatency=0
#当客户端发起RTSP SETUP的时候如果传输类型和此配置不一致则返回461 Unsupported transport
#迫使客户端重新SETUP并切换到对应协议。目前支持FFMPEG和VLC
rtpTransportType=-1
[shell]
#调试telnet服务器接受最大buffer大小
maxReqSize=1024
#调试telnet服务器监听端口
port=0
# onvif搜索用
[onvif]
port=3702

View File

@@ -30,7 +30,22 @@ bool loadIniConfig(const char *ini_path) {
ini = exePath() + ".ini";
}
try {
mINI::Instance().parseFile(ini);
mINI tmp;
tmp.parseFile(ini);
auto &ref = mINI::Instance();
for (auto &pr : tmp) {
if (ref.find(pr.first) == ref.end()) {
// 新增键
WarnL << "unknow config: " << pr.first << " = " << pr.second;
ref.emplace(pr);
} else {
// 更新键
ref[pr.first] = pr.second;
}
}
// 更新注释和排序
ref.updateFrom(tmp);
NOTICE_EMIT(BroadcastReloadConfigArgs, Broadcast::kBroadcastReloadConfig);
return true;
} catch (std::exception &) {