Toggle navigation
Toggle navigation
此项目
正在载入...
Sign in
胡斌
/
srs
转到一个项目
Toggle navigation
项目
群组
代码片段
帮助
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
winlin
2014-04-04 17:01:34 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
8d7877ebd18cde9822bc99662232edb47f97068d
8d7877eb
1 parent
5fca0aaa
refine config, group by sections.
隐藏空白字符变更
内嵌
并排对比
正在显示
2 个修改的文件
包含
411 行增加
和
406 行删除
trunk/src/app/srs_app_config.cpp
trunk/src/app/srs_app_config.hpp
trunk/src/app/srs_app_config.cpp
查看文件 @
8d7877e
...
...
@@ -765,6 +765,91 @@ void SrsConfig::print_help(char** argv)
argv
[
0
]);
}
bool
SrsConfig
::
get_deamon
()
{
srs_assert
(
root
);
SrsConfDirective
*
conf
=
root
->
get
(
"daemon"
);
if
(
conf
&&
conf
->
arg0
()
==
"off"
)
{
return
false
;
}
return
true
;
}
int
SrsConfig
::
get_max_connections
()
{
srs_assert
(
root
);
SrsConfDirective
*
conf
=
root
->
get
(
"max_connections"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
2000
;
}
return
::
atoi
(
conf
->
arg0
().
c_str
());
}
SrsConfDirective
*
SrsConfig
::
get_listen
()
{
return
root
->
get
(
"listen"
);
}
string
SrsConfig
::
get_pid_file
()
{
SrsConfDirective
*
conf
=
root
->
get
(
"pid"
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_PID_FILE
;
}
return
conf
->
arg0
();
}
int
SrsConfig
::
get_pithy_print_publish
()
{
SrsConfDirective
*
pithy
=
root
->
get
(
"pithy_print"
);
if
(
!
pithy
)
{
return
SRS_STAGE_PUBLISH_USER_INTERVAL_MS
;
}
pithy
=
pithy
->
get
(
"publish"
);
if
(
!
pithy
)
{
return
SRS_STAGE_PUBLISH_USER_INTERVAL_MS
;
}
return
::
atoi
(
pithy
->
arg0
().
c_str
());
}
int
SrsConfig
::
get_pithy_print_forwarder
()
{
SrsConfDirective
*
pithy
=
root
->
get
(
"pithy_print"
);
if
(
!
pithy
)
{
return
SRS_STAGE_FORWARDER_INTERVAL_MS
;
}
pithy
=
pithy
->
get
(
"forwarder"
);
if
(
!
pithy
)
{
return
SRS_STAGE_FORWARDER_INTERVAL_MS
;
}
return
::
atoi
(
pithy
->
arg0
().
c_str
());
}
int
SrsConfig
::
get_pithy_print_hls
()
{
SrsConfDirective
*
pithy
=
root
->
get
(
"pithy_print"
);
if
(
!
pithy
)
{
return
SRS_STAGE_HLS_INTERVAL_MS
;
}
pithy
=
pithy
->
get
(
"hls"
);
if
(
!
pithy
)
{
return
SRS_STAGE_HLS_INTERVAL_MS
;
}
return
::
atoi
(
pithy
->
arg0
().
c_str
());
}
SrsConfDirective
*
SrsConfig
::
get_vhost
(
string
vhost
)
{
srs_assert
(
root
);
...
...
@@ -939,167 +1024,366 @@ bool SrsConfig::get_vhost_enabled(SrsConfDirective* vhost)
return
true
;
}
SrsConfDirective
*
SrsConfig
::
get_transcode
(
string
vhost
,
string
scope
)
bool
SrsConfig
::
get_gop_cache
(
string
vhost
)
{
SrsConfDirective
*
conf
=
get_vhost
(
vhost
);
if
(
!
conf
)
{
return
NULL
;
}
SrsConfDirective
*
transcode
=
conf
->
get
(
"transcode"
);
if
(
!
transcode
)
{
return
NULL
;
}
if
(
transcode
->
arg0
()
==
scope
)
{
return
transcode
;
}
return
NULL
;
}
bool
SrsConfig
::
get_transcode_enabled
(
SrsConfDirective
*
transcode
)
{
if
(
!
transcode
)
{
return
false
;
return
true
;
}
SrsConfDirective
*
conf
=
transcode
->
get
(
"enabled"
);
if
(
!
conf
||
conf
->
arg0
()
!=
"on"
)
{
conf
=
conf
->
get
(
"gop_cache"
);
if
(
conf
&&
conf
->
arg0
()
==
"off"
)
{
return
false
;
}
return
true
;
}
string
SrsConfig
::
get_transcode_ffmpeg
(
SrsConfDirective
*
transcode
)
bool
SrsConfig
::
get_atc
(
string
vhost
)
{
if
(
!
transcode
)
{
return
""
;
}
SrsConfDirective
*
conf
=
transcode
->
get
(
"ffmpeg"
);
if
(
!
conf
)
{
return
""
;
}
return
conf
->
arg0
();
}
SrsConfDirective
*
conf
=
get_vhost
(
vhost
);
void
SrsConfig
::
get_transcode_engines
(
SrsConfDirective
*
transcode
,
std
::
vector
<
SrsConfDirective
*>&
engines
)
{
if
(
!
transcode
)
{
return
;
if
(
!
conf
)
{
return
true
;
}
for
(
int
i
=
0
;
i
<
(
int
)
transcode
->
directives
.
size
();
i
++
)
{
SrsConfDirective
*
conf
=
transcode
->
directives
[
i
];
if
(
conf
->
name
==
"engine"
)
{
engines
.
push_back
(
conf
);
}
conf
=
conf
->
get
(
"atc"
);
if
(
conf
&&
conf
->
arg0
()
==
"on"
)
{
return
true
;
}
return
;
return
false
;
}
bool
SrsConfig
::
get_engine_enabled
(
SrsConfDirective
*
engine
)
double
SrsConfig
::
get_queue_length
(
string
vhost
)
{
if
(
!
engine
)
{
return
false
;
SrsConfDirective
*
conf
=
get_vhost
(
vhost
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_QUEUE_LENGTH
;
}
SrsConfDirective
*
conf
=
engine
->
get
(
"enabled"
);
if
(
!
conf
||
conf
->
arg0
()
!=
"on"
)
{
return
false
;
conf
=
conf
->
get
(
"queue_length"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
SRS_CONF_DEFAULT_QUEUE_LENGTH
;
}
return
true
;
return
::
atoi
(
conf
->
arg0
().
c_str
())
;
}
string
SrsConfig
::
get_engine_vcodec
(
SrsConfDirective
*
engine
)
SrsConfDirective
*
SrsConfig
::
get_forward
(
string
vhost
)
{
if
(
!
engine
)
{
return
""
;
}
SrsConfDirective
*
conf
=
engine
->
get
(
"vcodec"
);
SrsConfDirective
*
conf
=
get_vhost
(
vhost
);
if
(
!
conf
)
{
return
""
;
return
NULL
;
}
return
conf
->
arg0
(
);
return
conf
->
get
(
"forward"
);
}
int
SrsConfig
::
get_engine_vbitrate
(
SrsConfDirective
*
engine
)
SrsConfDirective
*
SrsConfig
::
get_refer
(
string
vhost
)
{
if
(
!
engine
)
{
return
0
;
}
SrsConfDirective
*
conf
=
engine
->
get
(
"vbitrate"
);
SrsConfDirective
*
conf
=
get_vhost
(
vhost
);
if
(
!
conf
)
{
return
0
;
return
NULL
;
}
return
::
atoi
(
conf
->
arg0
().
c_str
()
);
return
conf
->
get
(
"refer"
);
}
double
SrsConfig
::
get_engine_vfps
(
SrsConfDirective
*
engine
)
SrsConfDirective
*
SrsConfig
::
get_refer_play
(
string
vhost
)
{
if
(
!
engine
)
{
return
0
;
}
SrsConfDirective
*
conf
=
engine
->
get
(
"vfps"
);
SrsConfDirective
*
conf
=
get_vhost
(
vhost
);
if
(
!
conf
)
{
return
0
;
return
NULL
;
}
return
::
atof
(
conf
->
arg0
().
c_str
()
);
return
conf
->
get
(
"refer_play"
);
}
int
SrsConfig
::
get_engine_vwidth
(
SrsConfDirective
*
engine
)
SrsConfDirective
*
SrsConfig
::
get_refer_publish
(
string
vhost
)
{
if
(
!
engine
)
{
return
0
;
}
SrsConfDirective
*
conf
=
engine
->
get
(
"vwidth"
);
SrsConfDirective
*
conf
=
get_vhost
(
vhost
);
if
(
!
conf
)
{
return
0
;
return
NULL
;
}
return
::
atoi
(
conf
->
arg0
().
c_str
()
);
return
conf
->
get
(
"refer_publish"
);
}
int
SrsConfig
::
get_
engine_vheight
(
SrsConfDirective
*
engine
)
int
SrsConfig
::
get_
chunk_size
(
const
std
::
string
&
vhost
)
{
if
(
!
engine
)
{
return
0
;
SrsConfDirective
*
conf
=
get_vhost
(
vhost
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_CHUNK_SIZE
;
}
SrsConfDirective
*
conf
=
engine
->
get
(
"vheight"
);
conf
=
conf
->
get
(
"chunk_size"
);
if
(
!
conf
)
{
return
0
;
// vhost does not specify the chunk size,
// use the global instead.
conf
=
root
->
get
(
"chunk_size"
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_CHUNK_SIZE
;
}
return
::
atoi
(
conf
->
arg0
().
c_str
());
}
return
::
atoi
(
conf
->
arg0
().
c_str
());
}
int
SrsConfig
::
get_engine_vthreads
(
SrsConfDirective
*
engine
)
bool
SrsConfig
::
get_bw_check_enabled
(
const
string
&
vhost
)
{
if
(
!
engine
)
{
return
0
;
SrsConfDirective
*
conf
=
get_vhost
(
vhost
);
if
(
!
conf
)
{
return
false
;
}
SrsConfDirective
*
conf
=
engine
->
get
(
"vthreads"
);
conf
=
conf
->
get
(
"bandcheck"
);
if
(
!
conf
)
{
return
0
;
return
false
;
}
return
::
atoi
(
conf
->
arg0
().
c_str
());
conf
=
conf
->
get
(
"enabled"
);
if
(
!
conf
||
conf
->
arg0
()
!=
"on"
)
{
return
false
;
}
return
true
;
}
string
SrsConfig
::
get_bw_check_key
(
const
string
&
vhost
)
{
SrsConfDirective
*
conf
=
get_vhost
(
vhost
);
if
(
!
conf
)
{
return
""
;
}
conf
=
conf
->
get
(
"bandcheck"
);
if
(
!
conf
)
{
return
""
;
}
conf
=
conf
->
get
(
"key"
);
if
(
!
conf
)
{
return
""
;
}
return
conf
->
arg0
();
}
int
SrsConfig
::
get_bw_check_interval_ms
(
const
string
&
vhost
)
{
SrsConfDirective
*
conf
=
get_vhost
(
vhost
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_BANDWIDTH_INTERVAL
;
}
conf
=
conf
->
get
(
"bandcheck"
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_BANDWIDTH_INTERVAL
;
}
conf
=
conf
->
get
(
"interval_ms"
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_BANDWIDTH_INTERVAL
;
}
return
::
atoi
(
conf
->
arg0
().
c_str
())
*
1000
;
}
int
SrsConfig
::
get_bw_check_limit_kbps
(
const
string
&
vhost
)
{
SrsConfDirective
*
conf
=
get_vhost
(
vhost
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_BANDWIDTH_LIMIT_KBPS
;
}
conf
=
conf
->
get
(
"bandcheck"
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_BANDWIDTH_LIMIT_KBPS
;
}
conf
=
conf
->
get
(
"limit_kbps"
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_BANDWIDTH_LIMIT_KBPS
;
}
return
::
atoi
(
conf
->
arg0
().
c_str
());
}
SrsConfDirective
*
SrsConfig
::
get_transcode
(
string
vhost
,
string
scope
)
{
SrsConfDirective
*
conf
=
get_vhost
(
vhost
);
if
(
!
conf
)
{
return
NULL
;
}
SrsConfDirective
*
transcode
=
conf
->
get
(
"transcode"
);
if
(
!
transcode
)
{
return
NULL
;
}
if
(
transcode
->
arg0
()
==
scope
)
{
return
transcode
;
}
return
NULL
;
}
bool
SrsConfig
::
get_transcode_enabled
(
SrsConfDirective
*
transcode
)
{
if
(
!
transcode
)
{
return
false
;
}
SrsConfDirective
*
conf
=
transcode
->
get
(
"enabled"
);
if
(
!
conf
||
conf
->
arg0
()
!=
"on"
)
{
return
false
;
}
return
true
;
}
string
SrsConfig
::
get_transcode_ffmpeg
(
SrsConfDirective
*
transcode
)
{
if
(
!
transcode
)
{
return
""
;
}
SrsConfDirective
*
conf
=
transcode
->
get
(
"ffmpeg"
);
if
(
!
conf
)
{
return
""
;
}
return
conf
->
arg0
();
}
void
SrsConfig
::
get_transcode_engines
(
SrsConfDirective
*
transcode
,
std
::
vector
<
SrsConfDirective
*>&
engines
)
{
if
(
!
transcode
)
{
return
;
}
for
(
int
i
=
0
;
i
<
(
int
)
transcode
->
directives
.
size
();
i
++
)
{
SrsConfDirective
*
conf
=
transcode
->
directives
[
i
];
if
(
conf
->
name
==
"engine"
)
{
engines
.
push_back
(
conf
);
}
}
return
;
}
bool
SrsConfig
::
get_engine_enabled
(
SrsConfDirective
*
engine
)
{
if
(
!
engine
)
{
return
false
;
}
SrsConfDirective
*
conf
=
engine
->
get
(
"enabled"
);
if
(
!
conf
||
conf
->
arg0
()
!=
"on"
)
{
return
false
;
}
return
true
;
}
string
SrsConfig
::
get_engine_vcodec
(
SrsConfDirective
*
engine
)
{
if
(
!
engine
)
{
return
""
;
}
SrsConfDirective
*
conf
=
engine
->
get
(
"vcodec"
);
if
(
!
conf
)
{
return
""
;
}
return
conf
->
arg0
();
}
int
SrsConfig
::
get_engine_vbitrate
(
SrsConfDirective
*
engine
)
{
if
(
!
engine
)
{
return
0
;
}
SrsConfDirective
*
conf
=
engine
->
get
(
"vbitrate"
);
if
(
!
conf
)
{
return
0
;
}
return
::
atoi
(
conf
->
arg0
().
c_str
());
}
double
SrsConfig
::
get_engine_vfps
(
SrsConfDirective
*
engine
)
{
if
(
!
engine
)
{
return
0
;
}
SrsConfDirective
*
conf
=
engine
->
get
(
"vfps"
);
if
(
!
conf
)
{
return
0
;
}
return
::
atof
(
conf
->
arg0
().
c_str
());
}
int
SrsConfig
::
get_engine_vwidth
(
SrsConfDirective
*
engine
)
{
if
(
!
engine
)
{
return
0
;
}
SrsConfDirective
*
conf
=
engine
->
get
(
"vwidth"
);
if
(
!
conf
)
{
return
0
;
}
return
::
atoi
(
conf
->
arg0
().
c_str
());
}
int
SrsConfig
::
get_engine_vheight
(
SrsConfDirective
*
engine
)
{
if
(
!
engine
)
{
return
0
;
}
SrsConfDirective
*
conf
=
engine
->
get
(
"vheight"
);
if
(
!
conf
)
{
return
0
;
}
return
::
atoi
(
conf
->
arg0
().
c_str
());
}
int
SrsConfig
::
get_engine_vthreads
(
SrsConfDirective
*
engine
)
{
if
(
!
engine
)
{
return
0
;
}
SrsConfDirective
*
conf
=
engine
->
get
(
"vthreads"
);
if
(
!
conf
)
{
return
0
;
}
return
::
atoi
(
conf
->
arg0
().
c_str
());
}
string
SrsConfig
::
get_engine_vprofile
(
SrsConfDirective
*
engine
)
...
...
@@ -1266,89 +1550,6 @@ string SrsConfig::get_engine_output(SrsConfDirective* engine)
return
conf
->
arg0
();
}
bool
SrsConfig
::
get_deamon
()
{
srs_assert
(
root
);
SrsConfDirective
*
conf
=
root
->
get
(
"daemon"
);
if
(
conf
&&
conf
->
arg0
()
==
"off"
)
{
return
false
;
}
return
true
;
}
int
SrsConfig
::
get_max_connections
()
{
srs_assert
(
root
);
SrsConfDirective
*
conf
=
root
->
get
(
"max_connections"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
2000
;
}
return
::
atoi
(
conf
->
arg0
().
c_str
());
}
bool
SrsConfig
::
get_gop_cache
(
string
vhost
)
{
SrsConfDirective
*
conf
=
get_vhost
(
vhost
);
if
(
!
conf
)
{
return
true
;
}
conf
=
conf
->
get
(
"gop_cache"
);
if
(
conf
&&
conf
->
arg0
()
==
"off"
)
{
return
false
;
}
return
true
;
}
bool
SrsConfig
::
get_atc
(
string
vhost
)
{
SrsConfDirective
*
conf
=
get_vhost
(
vhost
);
if
(
!
conf
)
{
return
true
;
}
conf
=
conf
->
get
(
"atc"
);
if
(
conf
&&
conf
->
arg0
()
==
"on"
)
{
return
true
;
}
return
false
;
}
double
SrsConfig
::
get_queue_length
(
string
vhost
)
{
SrsConfDirective
*
conf
=
get_vhost
(
vhost
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_QUEUE_LENGTH
;
}
conf
=
conf
->
get
(
"queue_length"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
SRS_CONF_DEFAULT_QUEUE_LENGTH
;
}
return
::
atoi
(
conf
->
arg0
().
c_str
());
}
SrsConfDirective
*
SrsConfig
::
get_forward
(
string
vhost
)
{
SrsConfDirective
*
conf
=
get_vhost
(
vhost
);
if
(
!
conf
)
{
return
NULL
;
}
return
conf
->
get
(
"forward"
);
}
string
SrsConfig
::
get_srs_log_file
()
{
srs_assert
(
root
);
...
...
@@ -1553,207 +1754,6 @@ int SrsConfig::get_http_stream_listen()
return
8080
;
}
SrsConfDirective
*
SrsConfig
::
get_refer
(
string
vhost
)
{
SrsConfDirective
*
conf
=
get_vhost
(
vhost
);
if
(
!
conf
)
{
return
NULL
;
}
return
conf
->
get
(
"refer"
);
}
SrsConfDirective
*
SrsConfig
::
get_refer_play
(
string
vhost
)
{
SrsConfDirective
*
conf
=
get_vhost
(
vhost
);
if
(
!
conf
)
{
return
NULL
;
}
return
conf
->
get
(
"refer_play"
);
}
SrsConfDirective
*
SrsConfig
::
get_refer_publish
(
string
vhost
)
{
SrsConfDirective
*
conf
=
get_vhost
(
vhost
);
if
(
!
conf
)
{
return
NULL
;
}
return
conf
->
get
(
"refer_publish"
);
}
SrsConfDirective
*
SrsConfig
::
get_listen
()
{
return
root
->
get
(
"listen"
);
}
string
SrsConfig
::
get_pid_file
()
{
SrsConfDirective
*
conf
=
root
->
get
(
"pid"
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_PID_FILE
;
}
return
conf
->
arg0
();
}
int
SrsConfig
::
get_chunk_size
(
const
std
::
string
&
vhost
)
{
SrsConfDirective
*
conf
=
get_vhost
(
vhost
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_CHUNK_SIZE
;
}
conf
=
conf
->
get
(
"chunk_size"
);
if
(
!
conf
)
{
// vhost does not specify the chunk size,
// use the global instead.
conf
=
root
->
get
(
"chunk_size"
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_CHUNK_SIZE
;
}
return
::
atoi
(
conf
->
arg0
().
c_str
());
}
return
::
atoi
(
conf
->
arg0
().
c_str
());
}
int
SrsConfig
::
get_pithy_print_publish
()
{
SrsConfDirective
*
pithy
=
root
->
get
(
"pithy_print"
);
if
(
!
pithy
)
{
return
SRS_STAGE_PUBLISH_USER_INTERVAL_MS
;
}
pithy
=
pithy
->
get
(
"publish"
);
if
(
!
pithy
)
{
return
SRS_STAGE_PUBLISH_USER_INTERVAL_MS
;
}
return
::
atoi
(
pithy
->
arg0
().
c_str
());
}
int
SrsConfig
::
get_pithy_print_forwarder
()
{
SrsConfDirective
*
pithy
=
root
->
get
(
"pithy_print"
);
if
(
!
pithy
)
{
return
SRS_STAGE_FORWARDER_INTERVAL_MS
;
}
pithy
=
pithy
->
get
(
"forwarder"
);
if
(
!
pithy
)
{
return
SRS_STAGE_FORWARDER_INTERVAL_MS
;
}
return
::
atoi
(
pithy
->
arg0
().
c_str
());
}
int
SrsConfig
::
get_pithy_print_hls
()
{
SrsConfDirective
*
pithy
=
root
->
get
(
"pithy_print"
);
if
(
!
pithy
)
{
return
SRS_STAGE_HLS_INTERVAL_MS
;
}
pithy
=
pithy
->
get
(
"hls"
);
if
(
!
pithy
)
{
return
SRS_STAGE_HLS_INTERVAL_MS
;
}
return
::
atoi
(
pithy
->
arg0
().
c_str
());
}
bool
SrsConfig
::
get_bw_check_enabled
(
const
string
&
vhost
)
{
SrsConfDirective
*
conf
=
get_vhost
(
vhost
);
if
(
!
conf
)
{
return
false
;
}
conf
=
conf
->
get
(
"bandcheck"
);
if
(
!
conf
)
{
return
false
;
}
conf
=
conf
->
get
(
"enabled"
);
if
(
!
conf
||
conf
->
arg0
()
!=
"on"
)
{
return
false
;
}
return
true
;
}
string
SrsConfig
::
get_bw_check_key
(
const
string
&
vhost
)
{
SrsConfDirective
*
conf
=
get_vhost
(
vhost
);
if
(
!
conf
)
{
return
""
;
}
conf
=
conf
->
get
(
"bandcheck"
);
if
(
!
conf
)
{
return
""
;
}
conf
=
conf
->
get
(
"key"
);
if
(
!
conf
)
{
return
""
;
}
return
conf
->
arg0
();
}
int
SrsConfig
::
get_bw_check_interval_ms
(
const
string
&
vhost
)
{
SrsConfDirective
*
conf
=
get_vhost
(
vhost
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_BANDWIDTH_INTERVAL
;
}
conf
=
conf
->
get
(
"bandcheck"
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_BANDWIDTH_INTERVAL
;
}
conf
=
conf
->
get
(
"interval_ms"
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_BANDWIDTH_INTERVAL
;
}
return
::
atoi
(
conf
->
arg0
().
c_str
())
*
1000
;
}
int
SrsConfig
::
get_bw_check_limit_kbps
(
const
string
&
vhost
)
{
SrsConfDirective
*
conf
=
get_vhost
(
vhost
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_BANDWIDTH_LIMIT_KBPS
;
}
conf
=
conf
->
get
(
"bandcheck"
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_BANDWIDTH_LIMIT_KBPS
;
}
conf
=
conf
->
get
(
"limit_kbps"
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_BANDWIDTH_LIMIT_KBPS
;
}
return
::
atoi
(
conf
->
arg0
().
c_str
());
}
int
SrsConfig
::
get_pithy_print_encoder
()
{
SrsConfDirective
*
pithy
=
root
->
get
(
"encoder"
);
...
...
trunk/src/app/srs_app_config.hpp
查看文件 @
8d7877e
...
...
@@ -116,6 +116,18 @@ private:
virtual
int
parse_file
(
const
char
*
filename
);
virtual
int
parse_argv
(
int
&
i
,
char
**
argv
);
virtual
void
print_help
(
char
**
argv
);
// global section
public:
virtual
bool
get_deamon
();
virtual
int
get_max_connections
();
virtual
SrsConfDirective
*
get_listen
();
virtual
std
::
string
get_pid_file
();
virtual
int
get_pithy_print_publish
();
virtual
int
get_pithy_print_forwarder
();
virtual
int
get_pithy_print_encoder
();
virtual
int
get_pithy_print_hls
();
virtual
int
get_pithy_print_play
();
// vhost section
public:
virtual
SrsConfDirective
*
get_vhost
(
std
::
string
vhost
);
virtual
bool
get_vhost_enabled
(
std
::
string
vhost
);
...
...
@@ -126,6 +138,22 @@ public:
virtual
SrsConfDirective
*
get_vhost_on_unpublish
(
std
::
string
vhost
);
virtual
SrsConfDirective
*
get_vhost_on_play
(
std
::
string
vhost
);
virtual
SrsConfDirective
*
get_vhost_on_stop
(
std
::
string
vhost
);
virtual
bool
get_gop_cache
(
std
::
string
vhost
);
virtual
bool
get_atc
(
std
::
string
vhost
);
virtual
double
get_queue_length
(
std
::
string
vhost
);
virtual
SrsConfDirective
*
get_forward
(
std
::
string
vhost
);
virtual
SrsConfDirective
*
get_refer
(
std
::
string
vhost
);
virtual
SrsConfDirective
*
get_refer_play
(
std
::
string
vhost
);
virtual
SrsConfDirective
*
get_refer_publish
(
std
::
string
vhost
);
virtual
int
get_chunk_size
(
const
std
::
string
&
vhost
);
// bwct(bandwidth check tool) section
public:
virtual
bool
get_bw_check_enabled
(
const
std
::
string
&
vhost
);
virtual
std
::
string
get_bw_check_key
(
const
std
::
string
&
vhost
);
virtual
int
get_bw_check_interval_ms
(
const
std
::
string
&
vhost
);
virtual
int
get_bw_check_limit_kbps
(
const
std
::
string
&
vhost
);
// vhost transcode section
public:
virtual
SrsConfDirective
*
get_transcode
(
std
::
string
vhost
,
std
::
string
scope
);
virtual
bool
get_transcode_enabled
(
SrsConfDirective
*
transcode
);
virtual
std
::
string
get_transcode_ffmpeg
(
SrsConfDirective
*
transcode
);
...
...
@@ -147,12 +175,6 @@ public:
virtual
int
get_engine_achannels
(
SrsConfDirective
*
engine
);
virtual
void
get_engine_aparams
(
SrsConfDirective
*
engine
,
std
::
vector
<
std
::
string
>&
aparams
);
virtual
std
::
string
get_engine_output
(
SrsConfDirective
*
engine
);
virtual
bool
get_deamon
();
virtual
int
get_max_connections
();
virtual
bool
get_gop_cache
(
std
::
string
vhost
);
virtual
bool
get_atc
(
std
::
string
vhost
);
virtual
double
get_queue_length
(
std
::
string
vhost
);
virtual
SrsConfDirective
*
get_forward
(
std
::
string
vhost
);
// log section
public:
virtual
bool
get_srs_log_tank_file
();
...
...
@@ -179,23 +201,6 @@ private:
public
:
virtual
bool
get_http_stream_enabled
();
virtual
int
get_http_stream_listen
();
// others
public:
virtual
SrsConfDirective
*
get_refer
(
std
::
string
vhost
);
virtual
SrsConfDirective
*
get_refer_play
(
std
::
string
vhost
);
virtual
SrsConfDirective
*
get_refer_publish
(
std
::
string
vhost
);
virtual
SrsConfDirective
*
get_listen
();
virtual
std
::
string
get_pid_file
();
virtual
int
get_chunk_size
(
const
std
::
string
&
vhost
);
virtual
int
get_pithy_print_publish
();
virtual
int
get_pithy_print_forwarder
();
virtual
int
get_pithy_print_encoder
();
virtual
int
get_pithy_print_hls
();
virtual
int
get_pithy_print_play
();
virtual
bool
get_bw_check_enabled
(
const
std
::
string
&
vhost
);
virtual
std
::
string
get_bw_check_key
(
const
std
::
string
&
vhost
);
virtual
int
get_bw_check_interval_ms
(
const
std
::
string
&
vhost
);
virtual
int
get_bw_check_limit_kbps
(
const
std
::
string
&
vhost
);
};
/**
...
...
请
注册
或
登录
后发表评论