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
2015-08-29 19:46:56 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
bc100c28677157c2c1a161d6508467a801f09167
bc100c28
1 parent
7ef3ff90
refine the log, move default to each functions.
显示空白字符变更
内嵌
并排对比
正在显示
3 个修改的文件
包含
591 行增加
和
630 行删除
trunk/src/app/srs_app_config.cpp
trunk/src/app/srs_app_config.hpp
trunk/src/app/srs_app_rtmp_conn.cpp
trunk/src/app/srs_app_config.cpp
查看文件 @
bc100c2
...
...
@@ -58,86 +58,8 @@ using namespace _srs_internal;
#define SRS_CONF_PERFER_FALSE(conf_arg) conf_arg == "on"
#define SRS_CONF_PERFER_TRUE(conf_arg) conf_arg != "off"
///////////////////////////////////////////////////////////
// default consts values
///////////////////////////////////////////////////////////
#define SRS_CONF_DEFAULT_PID_FILE "./objs/srs.pid"
#define SRS_CONF_DEFAULT_LOG_FILE "./objs/srs.log"
#define SRS_CONF_DEFAULT_LOG_LEVEL "trace"
#define SRS_CONF_DEFAULT_LOG_TANK_CONSOLE "console"
// default config file.
#define SRS_CONF_DEFAULT_COFNIG_FILE "conf/srs.conf"
#define SRS_CONF_DEFAULT_FF_LOG_DIR "./objs"
#define SRS_CONF_DEFAULT_UTC_TIME false
#define SRS_CONF_DEFAULT_MAX_CONNECTIONS 1000
#define SRS_CONF_DEFAULT_HLS_PATH "./objs/nginx/html"
#define SRS_CONF_DEFAULT_HLS_M3U8_FILE "[app]/[stream].m3u8"
#define SRS_CONF_DEFAULT_HLS_TS_FILE "[app]/[stream]-[seq].ts"
#define SRS_CONF_DEFAULT_HLS_TS_FLOOR false
#define SRS_CONF_DEFAULT_HLS_FRAGMENT 10
#define SRS_CONF_DEFAULT_HLS_TD_RATIO 1.5
#define SRS_CONF_DEFAULT_HLS_AOF_RATIO 2.0
#define SRS_CONF_DEFAULT_HLS_WINDOW 60
#define SRS_CONF_DEFAULT_HLS_ON_ERROR_IGNORE "ignore"
#define SRS_CONF_DEFAULT_HLS_ON_ERROR_DISCONNECT "disconnect"
#define SRS_CONF_DEFAULT_HLS_ON_ERROR_CONTINUE "continue"
#define SRS_CONF_DEFAULT_HLS_ON_ERROR SRS_CONF_DEFAULT_HLS_ON_ERROR_IGNORE
#define SRS_CONF_DEFAULT_HLS_STORAGE "disk"
#define SRS_CONF_DEFAULT_HLS_MOUNT "[vhost]/[app]/[stream].m3u8"
#define SRS_CONF_DEFAULT_HLS_ACODEC "aac"
#define SRS_CONF_DEFAULT_HLS_VCODEC "h264"
#define SRS_CONF_DEFAULT_HLS_CLEANUP true
#define SRS_CONF_DEFAULT_HLS_WAIT_KEYFRAME true
#define SRS_CONF_DEFAULT_HLS_NB_NOTIFY 64
#define SRS_CONF_DEFAULT_DVR_PATH "./objs/nginx/html/[app]/[stream].[timestamp].flv"
#define SRS_CONF_DEFAULT_DVR_PLAN_SESSION "session"
#define SRS_CONF_DEFAULT_DVR_PLAN_SEGMENT "segment"
#define SRS_CONF_DEFAULT_DVR_PLAN_APPEND "append"
#define SRS_CONF_DEFAULT_DVR_PLAN SRS_CONF_DEFAULT_DVR_PLAN_SESSION
#define SRS_CONF_DEFAULT_DVR_DURATION 30
#define SRS_CONF_DEFAULT_TIME_JITTER "full"
#define SRS_CONF_DEFAULT_ATC_AUTO true
#define SRS_CONF_DEFAULT_MIX_CORRECT false
// in seconds, the paused queue length.
#define SRS_CONF_DEFAULT_PAUSED_LENGTH 10
// the interval in seconds for bandwidth check
#define SRS_CONF_DEFAULT_BANDWIDTH_INTERVAL 30
// the interval in seconds for bandwidth check
#define SRS_CONF_DEFAULT_BANDWIDTH_LIMIT_KBPS 1000
#define SRS_CONF_DEFAULT_HTTP_REMUX_MOUNT "[vhost]/[app]/[stream].flv"
#define SRS_CONF_DEFAULT_HTTP_DIR SRS_CONF_DEFAULT_HLS_PATH
#define SRS_CONF_DEFAULT_HTTP_AUDIO_FAST_CACHE 0
#define SRS_CONF_DEFAULT_HTTP_HEAETBEAT_ENABLED false
#define SRS_CONF_DEFAULT_HTTP_HEAETBEAT_INTERVAL 9.9
#define SRS_CONF_DEFAULT_HTTP_HEAETBEAT_URL "http://"SRS_CONSTS_LOCALHOST":8085/api/v1/servers"
#define SRS_CONF_DEFAULT_HTTP_HEAETBEAT_SUMMARIES false
#define SRS_CONF_DEFAULT_SECURITY_ENABLED false
#define SRS_CONF_DEFAULT_STREAM_CASTER_ENABLED false
#define SRS_CONF_DEFAULT_STREAM_CASTER_MPEGTS_OVER_UDP "mpegts_over_udp"
#define SRS_CONF_DEFAULT_STREAM_CASTER_RTSP "rtsp"
#define SRS_CONF_DEFAULT_STREAM_CASTER_FLV "flv"
#define SRS_CONF_DEFAULT_STATS_NETWORK_DEVICE_INDEX 0
#define SRS_CONF_DEFAULT_PITHY_PRINT_MS 10000
#define SRS_CONF_DEFAULT_INGEST_TYPE_FILE "file"
#define SRS_CONF_DEFAULT_INGEST_TYPE_STREAM "stream"
#define SRS_CONF_DEFAULT_TRANSCODE_IFORMAT "flv"
#define SRS_CONF_DEFAULT_TRANSCODE_OFORMAT "flv"
#define SRS_CONF_DEFAULT_EDGE_TOKEN_TRAVERSE false
#define SRS_CONF_DEFAULT_EDGE_TRANSFORM_VHOST "[vhost]"
// hds default value
#define SRS_CONF_DEFAULT_HDS_PATH "./objs/nginx/html"
#define SRS_CONF_DEFAULT_HDS_WINDOW (60)
#define SRS_CONF_DEFAULT_HDS_FRAGMENT (10)
// '\n'
#define SRS_LF (char)SRS_CONSTS_LF
...
...
@@ -3067,8 +2989,6 @@ string SrsConfig::argv()
bool
SrsConfig
::
get_deamon
()
{
srs_assert
(
root
);
SrsConfDirective
*
conf
=
root
->
get
(
"daemon"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
true
;
...
...
@@ -3084,11 +3004,11 @@ SrsConfDirective* SrsConfig::get_root()
int
SrsConfig
::
get_max_connections
()
{
s
rs_assert
(
root
)
;
s
tatic
int
DEFAULT
=
1000
;
SrsConfDirective
*
conf
=
root
->
get
(
"max_connections"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
SRS_CONF_DEFAULT_MAX_CONNECTIONS
;
return
DEFAULT
;
}
return
::
atoi
(
conf
->
arg0
().
c_str
());
...
...
@@ -3112,10 +3032,12 @@ vector<string> SrsConfig::get_listens()
string
SrsConfig
::
get_pid_file
()
{
static
string
DEFAULT
=
"./objs/srs.pid"
;
SrsConfDirective
*
conf
=
root
->
get
(
"pid"
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_PID_FILE
;
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
DEFAULT
;
}
return
conf
->
arg0
();
...
...
@@ -3123,19 +3045,23 @@ string SrsConfig::get_pid_file()
int
SrsConfig
::
get_pithy_print_ms
()
{
SrsConfDirective
*
pithy
=
root
->
get
(
"pithy_print_ms"
);
if
(
!
pithy
||
pithy
->
arg0
().
empty
())
{
return
SRS_CONF_DEFAULT_PITHY_PRINT_MS
;
static
int
DEFAULT
=
10000
;
SrsConfDirective
*
conf
=
root
->
get
(
"pithy_print_ms"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
DEFAULT
;
}
return
::
atoi
(
pithy
->
arg0
().
c_str
());
return
::
atoi
(
conf
->
arg0
().
c_str
());
}
bool
SrsConfig
::
get_utc_time
()
{
static
bool
DEFAULT
=
false
;
SrsConfDirective
*
conf
=
root
->
get
(
"utc_time"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
SRS_CONF_DEFAULT_UTC_TIME
;
return
DEFAULT
;
}
return
SRS_CONF_PERFER_FALSE
(
conf
->
arg0
());
...
...
@@ -3160,73 +3086,97 @@ vector<SrsConfDirective*> SrsConfig::get_stream_casters()
return
stream_casters
;
}
bool
SrsConfig
::
get_stream_caster_enabled
(
SrsConfDirective
*
sc
)
bool
SrsConfig
::
get_stream_caster_enabled
(
SrsConfDirective
*
conf
)
{
s
rs_assert
(
sc
)
;
s
tatic
bool
DEFAULT
=
false
;
SrsConfDirective
*
conf
=
sc
->
get
(
"enabled"
);
if
(
!
conf
)
{
return
DEFAULT
;
}
conf
=
conf
->
get
(
"enabled"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
SRS_CONF_DEFAULT_STREAM_CASTER_ENABLED
;
return
DEFAULT
;
}
return
SRS_CONF_PERFER_FALSE
(
conf
->
arg0
());
}
string
SrsConfig
::
get_stream_caster_engine
(
SrsConfDirective
*
sc
)
string
SrsConfig
::
get_stream_caster_engine
(
SrsConfDirective
*
conf
)
{
srs_assert
(
sc
);
static
string
DEFAULT
=
""
;
if
(
!
conf
)
{
return
DEFAULT
;
}
SrsConfDirective
*
conf
=
sc
->
get
(
"caster"
);
conf
=
conf
->
get
(
"caster"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
""
;
return
DEFAULT
;
}
return
conf
->
arg0
();
}
string
SrsConfig
::
get_stream_caster_output
(
SrsConfDirective
*
sc
)
string
SrsConfig
::
get_stream_caster_output
(
SrsConfDirective
*
conf
)
{
srs_assert
(
sc
);
static
string
DEFAULT
=
""
;
if
(
!
conf
)
{
return
DEFAULT
;
}
SrsConfDirective
*
conf
=
sc
->
get
(
"output"
);
conf
=
conf
->
get
(
"output"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
""
;
return
DEFAULT
;
}
return
conf
->
arg0
();
}
int
SrsConfig
::
get_stream_caster_listen
(
SrsConfDirective
*
sc
)
int
SrsConfig
::
get_stream_caster_listen
(
SrsConfDirective
*
conf
)
{
srs_assert
(
sc
);
static
int
DEFAULT
=
0
;
if
(
!
conf
)
{
return
DEFAULT
;
}
SrsConfDirective
*
conf
=
sc
->
get
(
"listen"
);
conf
=
conf
->
get
(
"listen"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
0
;
return
DEFAULT
;
}
return
::
atoi
(
conf
->
arg0
().
c_str
());
}
int
SrsConfig
::
get_stream_caster_rtp_port_min
(
SrsConfDirective
*
sc
)
int
SrsConfig
::
get_stream_caster_rtp_port_min
(
SrsConfDirective
*
conf
)
{
srs_assert
(
sc
);
static
int
DEFAULT
=
0
;
if
(
!
conf
)
{
return
DEFAULT
;
}
SrsConfDirective
*
conf
=
sc
->
get
(
"rtp_port_min"
);
conf
=
conf
->
get
(
"rtp_port_min"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
0
;
return
DEFAULT
;
}
return
::
atoi
(
conf
->
arg0
().
c_str
());
}
int
SrsConfig
::
get_stream_caster_rtp_port_max
(
SrsConfDirective
*
sc
)
int
SrsConfig
::
get_stream_caster_rtp_port_max
(
SrsConfDirective
*
conf
)
{
srs_assert
(
sc
);
static
int
DEFAULT
=
0
;
if
(
!
conf
)
{
return
DEFAULT
;
}
SrsConfDirective
*
conf
=
sc
->
get
(
"rtp_port_max"
);
conf
=
conf
->
get
(
"rtp_port_max"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
0
;
return
DEFAULT
;
}
return
::
atoi
(
conf
->
arg0
().
c_str
());
...
...
@@ -3272,20 +3222,24 @@ void SrsConfig::get_vhosts(vector<SrsConfDirective*>& vhosts)
bool
SrsConfig
::
get_vhost_enabled
(
string
vhost
)
{
SrsConfDirective
*
vhost_
conf
=
get_vhost
(
vhost
);
SrsConfDirective
*
conf
=
get_vhost
(
vhost
);
return
get_vhost_enabled
(
vhost_
conf
);
return
get_vhost_enabled
(
conf
);
}
bool
SrsConfig
::
get_vhost_enabled
(
SrsConfDirective
*
vhost
)
bool
SrsConfig
::
get_vhost_enabled
(
SrsConfDirective
*
conf
)
{
if
(
!
vhost
)
{
static
bool
DEFAULT
=
true
;
// false for NULL vhost.
if
(
!
conf
)
{
return
false
;
}
SrsConfDirective
*
conf
=
vhost
->
get
(
"enabled"
);
// perfer true for exists one.
conf
=
conf
->
get
(
"enabled"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
true
;
return
DEFAULT
;
}
return
SRS_CONF_PERFER_TRUE
(
conf
->
arg0
());
...
...
@@ -3294,7 +3248,6 @@ bool SrsConfig::get_vhost_enabled(SrsConfDirective* vhost)
bool
SrsConfig
::
get_gop_cache
(
string
vhost
)
{
SrsConfDirective
*
conf
=
get_vhost
(
vhost
);
if
(
!
conf
)
{
return
SRS_PERF_GOP_CACHE
;
}
...
...
@@ -3309,15 +3262,16 @@ bool SrsConfig::get_gop_cache(string vhost)
bool
SrsConfig
::
get_debug_srs_upnode
(
string
vhost
)
{
SrsConfDirective
*
conf
=
get_vhost
(
vhost
)
;
static
bool
DEFAULT
=
true
;
SrsConfDirective
*
conf
=
get_vhost
(
vhost
);
if
(
!
conf
)
{
return
true
;
return
DEFAULT
;
}
conf
=
conf
->
get
(
"debug_srs_upnode"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
true
;
return
DEFAULT
;
}
return
SRS_CONF_PERFER_TRUE
(
conf
->
arg0
());
...
...
@@ -3325,15 +3279,16 @@ bool SrsConfig::get_debug_srs_upnode(string vhost)
bool
SrsConfig
::
get_atc
(
string
vhost
)
{
SrsConfDirective
*
conf
=
get_vhost
(
vhost
)
;
static
bool
DEFAULT
=
false
;
SrsConfDirective
*
conf
=
get_vhost
(
vhost
);
if
(
!
conf
)
{
return
false
;
return
DEFAULT
;
}
conf
=
conf
->
get
(
"atc"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
false
;
return
DEFAULT
;
}
return
SRS_CONF_PERFER_FALSE
(
conf
->
arg0
());
...
...
@@ -3341,48 +3296,50 @@ bool SrsConfig::get_atc(string vhost)
bool
SrsConfig
::
get_atc_auto
(
string
vhost
)
{
SrsConfDirective
*
conf
=
get_vhost
(
vhost
)
;
static
bool
DEFAULT
=
false
;
SrsConfDirective
*
conf
=
get_vhost
(
vhost
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_ATC_AUTO
;
return
DEFAULT
;
}
conf
=
conf
->
get
(
"atc_auto"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
SRS_CONF_DEFAULT_ATC_AUTO
;
return
DEFAULT
;
}
return
SRS_CONF_PERFER_
TRU
E
(
conf
->
arg0
());
return
SRS_CONF_PERFER_
FALS
E
(
conf
->
arg0
());
}
int
SrsConfig
::
get_time_jitter
(
string
vhost
)
{
SrsConfDirective
*
conf
=
get_vhost
(
vhost
)
;
static
string
DEFAULT
=
"full"
;
std
::
string
time_jitter
=
SRS_CONF_DEFAULT_TIME_JITTER
;
SrsConfDirective
*
conf
=
get_vhost
(
vhost
);
if
(
!
conf
)
{
return
_srs_time_jitter_string2int
(
DEFAULT
);
}
if
(
conf
)
{
conf
=
conf
->
get
(
"time_jitter"
);
if
(
conf
&&
!
conf
->
arg0
().
empty
())
{
time_jitter
=
conf
->
arg0
();
}
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
_srs_time_jitter_string2int
(
DEFAULT
);
}
return
_srs_time_jitter_string2int
(
time_jitter
);
return
_srs_time_jitter_string2int
(
conf
->
arg0
()
);
}
bool
SrsConfig
::
get_mix_correct
(
string
vhost
)
{
SrsConfDirective
*
conf
=
get_vhost
(
vhost
)
;
static
bool
DEFAULT
=
false
;
SrsConfDirective
*
conf
=
get_vhost
(
vhost
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_MIX_CORREC
T
;
return
DEFAUL
T
;
}
conf
=
conf
->
get
(
"mix_correct"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
SRS_CONF_DEFAULT_MIX_CORREC
T
;
return
DEFAUL
T
;
}
return
SRS_CONF_PERFER_FALSE
(
conf
->
arg0
());
...
...
@@ -3391,7 +3348,6 @@ bool SrsConfig::get_mix_correct(string vhost)
double
SrsConfig
::
get_queue_length
(
string
vhost
)
{
SrsConfDirective
*
conf
=
get_vhost
(
vhost
);
if
(
!
conf
)
{
return
SRS_PERF_PLAY_QUEUE
;
}
...
...
@@ -3426,7 +3382,7 @@ bool SrsConfig::get_refer_enabled(string vhost)
return
SRS_CONF_PERFER_FALSE
(
conf
->
arg0
());
}
SrsConfDirective
*
SrsConfig
::
get_refer
(
string
vhost
)
SrsConfDirective
*
SrsConfig
::
get_refer
_all
(
string
vhost
)
{
static
SrsConfDirective
*
DEFAULT
=
NULL
;
...
...
@@ -3484,7 +3440,6 @@ int SrsConfig::get_chunk_size(string vhost)
}
SrsConfDirective
*
conf
=
get_vhost
(
vhost
);
if
(
!
conf
)
{
// vhost does not specify the chunk size,
// use the global instead.
...
...
@@ -3504,7 +3459,6 @@ int SrsConfig::get_chunk_size(string vhost)
bool
SrsConfig
::
get_mr_enabled
(
string
vhost
)
{
SrsConfDirective
*
conf
=
get_vhost
(
vhost
);
if
(
!
conf
)
{
return
SRS_PERF_MR_ENABLED
;
}
...
...
@@ -3525,7 +3479,6 @@ bool SrsConfig::get_mr_enabled(string vhost)
int
SrsConfig
::
get_mr_sleep_ms
(
string
vhost
)
{
SrsConfDirective
*
conf
=
get_vhost
(
vhost
);
if
(
!
conf
)
{
return
SRS_PERF_MR_SLEEP
;
}
...
...
@@ -3546,7 +3499,6 @@ int SrsConfig::get_mr_sleep_ms(string vhost)
int
SrsConfig
::
get_mw_sleep_ms
(
string
vhost
)
{
SrsConfDirective
*
conf
=
get_vhost
(
vhost
);
if
(
!
conf
)
{
return
SRS_PERF_MW_SLEEP
;
}
...
...
@@ -3562,7 +3514,6 @@ int SrsConfig::get_mw_sleep_ms(string vhost)
bool
SrsConfig
::
get_realtime_enabled
(
string
vhost
)
{
SrsConfDirective
*
conf
=
get_vhost
(
vhost
);
if
(
!
conf
)
{
return
SRS_PERF_MIN_LATENCY_ENABLED
;
}
...
...
@@ -3677,7 +3628,6 @@ int SrsConfig::get_global_chunk_size()
SrsConfDirective
*
SrsConfig
::
get_forward
(
string
vhost
)
{
SrsConfDirective
*
conf
=
get_vhost
(
vhost
);
if
(
!
conf
)
{
return
NULL
;
}
...
...
@@ -3688,7 +3638,6 @@ SrsConfDirective* SrsConfig::get_forward(string vhost)
SrsConfDirective
*
SrsConfig
::
get_vhost_http_hooks
(
string
vhost
)
{
SrsConfDirective
*
conf
=
get_vhost
(
vhost
);
if
(
!
conf
)
{
return
NULL
;
}
...
...
@@ -3698,15 +3647,16 @@ SrsConfDirective* SrsConfig::get_vhost_http_hooks(string vhost)
bool
SrsConfig
::
get_vhost_http_hooks_enabled
(
string
vhost
)
{
SrsConfDirective
*
conf
=
get_vhost_http_hooks
(
vhost
)
;
static
bool
DEFAULT
=
false
;
SrsConfDirective
*
conf
=
get_vhost_http_hooks
(
vhost
);
if
(
!
conf
)
{
return
false
;
return
DEFAULT
;
}
conf
=
conf
->
get
(
"enabled"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
false
;
return
DEFAULT
;
}
return
SRS_CONF_PERFER_FALSE
(
conf
->
arg0
());
...
...
@@ -3715,7 +3665,6 @@ bool SrsConfig::get_vhost_http_hooks_enabled(string vhost)
SrsConfDirective
*
SrsConfig
::
get_vhost_on_connect
(
string
vhost
)
{
SrsConfDirective
*
conf
=
get_vhost_http_hooks
(
vhost
);
if
(
!
conf
)
{
return
NULL
;
}
...
...
@@ -3726,7 +3675,6 @@ SrsConfDirective* SrsConfig::get_vhost_on_connect(string vhost)
SrsConfDirective
*
SrsConfig
::
get_vhost_on_close
(
string
vhost
)
{
SrsConfDirective
*
conf
=
get_vhost_http_hooks
(
vhost
);
if
(
!
conf
)
{
return
NULL
;
}
...
...
@@ -3737,7 +3685,6 @@ SrsConfDirective* SrsConfig::get_vhost_on_close(string vhost)
SrsConfDirective
*
SrsConfig
::
get_vhost_on_publish
(
string
vhost
)
{
SrsConfDirective
*
conf
=
get_vhost_http_hooks
(
vhost
);
if
(
!
conf
)
{
return
NULL
;
}
...
...
@@ -3748,7 +3695,6 @@ SrsConfDirective* SrsConfig::get_vhost_on_publish(string vhost)
SrsConfDirective
*
SrsConfig
::
get_vhost_on_unpublish
(
string
vhost
)
{
SrsConfDirective
*
conf
=
get_vhost_http_hooks
(
vhost
);
if
(
!
conf
)
{
return
NULL
;
}
...
...
@@ -3759,7 +3705,6 @@ SrsConfDirective* SrsConfig::get_vhost_on_unpublish(string vhost)
SrsConfDirective
*
SrsConfig
::
get_vhost_on_play
(
string
vhost
)
{
SrsConfDirective
*
conf
=
get_vhost_http_hooks
(
vhost
);
if
(
!
conf
)
{
return
NULL
;
}
...
...
@@ -3770,7 +3715,6 @@ SrsConfDirective* SrsConfig::get_vhost_on_play(string vhost)
SrsConfDirective
*
SrsConfig
::
get_vhost_on_stop
(
string
vhost
)
{
SrsConfDirective
*
conf
=
get_vhost_http_hooks
(
vhost
);
if
(
!
conf
)
{
return
NULL
;
}
...
...
@@ -3781,7 +3725,6 @@ SrsConfDirective* SrsConfig::get_vhost_on_stop(string vhost)
SrsConfDirective
*
SrsConfig
::
get_vhost_on_dvr
(
string
vhost
)
{
SrsConfDirective
*
conf
=
get_vhost_http_hooks
(
vhost
);
if
(
!
conf
)
{
return
NULL
;
}
...
...
@@ -3792,7 +3735,6 @@ SrsConfDirective* SrsConfig::get_vhost_on_dvr(string vhost)
SrsConfDirective
*
SrsConfig
::
get_vhost_on_hls
(
string
vhost
)
{
SrsConfDirective
*
conf
=
get_vhost_http_hooks
(
vhost
);
if
(
!
conf
)
{
return
NULL
;
}
...
...
@@ -3803,7 +3745,6 @@ SrsConfDirective* SrsConfig::get_vhost_on_hls(string vhost)
SrsConfDirective
*
SrsConfig
::
get_vhost_on_hls_notify
(
string
vhost
)
{
SrsConfDirective
*
conf
=
get_vhost_http_hooks
(
vhost
);
if
(
!
conf
)
{
return
NULL
;
}
...
...
@@ -3813,20 +3754,21 @@ SrsConfDirective* SrsConfig::get_vhost_on_hls_notify(string vhost)
bool
SrsConfig
::
get_bw_check_enabled
(
string
vhost
)
{
SrsConfDirective
*
conf
=
get_vhost
(
vhost
)
;
static
bool
DEFAULT
=
false
;
SrsConfDirective
*
conf
=
get_vhost
(
vhost
);
if
(
!
conf
)
{
return
false
;
return
DEFAULT
;
}
conf
=
conf
->
get
(
"bandcheck"
);
if
(
!
conf
)
{
return
false
;
return
DEFAULT
;
}
conf
=
conf
->
get
(
"enabled"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
false
;
return
DEFAULT
;
}
return
SRS_CONF_PERFER_FALSE
(
conf
->
arg0
());
...
...
@@ -3834,20 +3776,21 @@ bool SrsConfig::get_bw_check_enabled(string vhost)
string
SrsConfig
::
get_bw_check_key
(
string
vhost
)
{
SrsConfDirective
*
conf
=
get_vhost
(
vhost
)
;
static
string
DEFAULT
=
""
;
SrsConfDirective
*
conf
=
get_vhost
(
vhost
);
if
(
!
conf
)
{
return
""
;
return
DEFAULT
;
}
conf
=
conf
->
get
(
"bandcheck"
);
if
(
!
conf
)
{
return
""
;
return
DEFAULT
;
}
conf
=
conf
->
get
(
"key"
);
if
(
!
conf
)
{
return
""
;
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
DEFAULT
;
}
return
conf
->
arg0
();
...
...
@@ -3855,20 +3798,21 @@ string SrsConfig::get_bw_check_key(string vhost)
int
SrsConfig
::
get_bw_check_interval_ms
(
string
vhost
)
{
SrsConfDirective
*
conf
=
get_vhost
(
vhost
)
;
static
int
DEFAULT
=
30
*
1000
;
SrsConfDirective
*
conf
=
get_vhost
(
vhost
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_BANDWIDTH_INTERVAL
*
1000
;
return
DEFAULT
;
}
conf
=
conf
->
get
(
"bandcheck"
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_BANDWIDTH_INTERVAL
*
1000
;
return
DEFAULT
;
}
conf
=
conf
->
get
(
"interval"
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_BANDWIDTH_INTERVAL
*
1000
;
return
DEFAULT
;
}
return
(
int
)(
::
atof
(
conf
->
arg0
().
c_str
())
*
1000
);
...
...
@@ -3876,20 +3820,21 @@ int SrsConfig::get_bw_check_interval_ms(string vhost)
int
SrsConfig
::
get_bw_check_limit_kbps
(
string
vhost
)
{
SrsConfDirective
*
conf
=
get_vhost
(
vhost
)
;
static
int
DEFAULT
=
1000
;
SrsConfDirective
*
conf
=
get_vhost
(
vhost
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_BANDWIDTH_LIMIT_KBPS
;
return
DEFAULT
;
}
conf
=
conf
->
get
(
"bandcheck"
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_BANDWIDTH_LIMIT_KBPS
;
return
DEFAULT
;
}
conf
=
conf
->
get
(
"limit_kbps"
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_BANDWIDTH_LIMIT_KBPS
;
return
DEFAULT
;
}
return
::
atoi
(
conf
->
arg0
().
c_str
());
...
...
@@ -3904,8 +3849,8 @@ bool SrsConfig::get_vhost_is_edge(string vhost)
bool
SrsConfig
::
get_vhost_is_edge
(
SrsConfDirective
*
vhost
)
{
static
bool
DEFAULT
=
false
;
SrsConfDirective
*
conf
=
vhost
;
SrsConfDirective
*
conf
=
vhost
;
if
(
!
conf
)
{
return
DEFAULT
;
}
...
...
@@ -3921,7 +3866,6 @@ bool SrsConfig::get_vhost_is_edge(SrsConfDirective* vhost)
SrsConfDirective
*
SrsConfig
::
get_vhost_edge_origin
(
string
vhost
)
{
SrsConfDirective
*
conf
=
get_vhost
(
vhost
);
if
(
!
conf
)
{
return
NULL
;
}
...
...
@@ -3931,15 +3875,16 @@ SrsConfDirective* SrsConfig::get_vhost_edge_origin(string vhost)
bool
SrsConfig
::
get_vhost_edge_token_traverse
(
string
vhost
)
{
SrsConfDirective
*
conf
=
get_vhost
(
vhost
)
;
static
bool
DEFAULT
=
false
;
SrsConfDirective
*
conf
=
get_vhost
(
vhost
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_EDGE_TOKEN_TRAVERSE
;
return
DEFAULT
;
}
conf
=
conf
->
get
(
"token_traverse"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
SRS_CONF_DEFAULT_EDGE_TOKEN_TRAVERSE
;
return
DEFAULT
;
}
return
SRS_CONF_PERFER_FALSE
(
conf
->
arg0
());
...
...
@@ -3947,15 +3892,16 @@ bool SrsConfig::get_vhost_edge_token_traverse(string vhost)
string
SrsConfig
::
get_vhost_edge_transform_vhost
(
string
vhost
)
{
SrsConfDirective
*
conf
=
get_vhost
(
vhost
)
;
static
string
DEFAULT
=
"[vhost]"
;
SrsConfDirective
*
conf
=
get_vhost
(
vhost
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_EDGE_TRANSFORM_VHOS
T
;
return
DEFAUL
T
;
}
conf
=
conf
->
get
(
"vhost"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
SRS_CONF_DEFAULT_EDGE_TRANSFORM_VHOS
T
;
return
DEFAUL
T
;
}
return
conf
->
arg0
();
...
...
@@ -3963,20 +3909,21 @@ string SrsConfig::get_vhost_edge_transform_vhost(string vhost)
bool
SrsConfig
::
get_security_enabled
(
string
vhost
)
{
SrsConfDirective
*
conf
=
get_vhost
(
vhost
)
;
static
bool
DEFAULT
=
false
;
SrsConfDirective
*
conf
=
get_vhost
(
vhost
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_SECURITY_ENABLED
;
return
DEFAULT
;
}
SrsConfDirective
*
security
=
conf
->
get
(
"security"
);
if
(
!
security
)
{
return
SRS_CONF_DEFAULT_SECURITY_ENABLED
;
return
DEFAULT
;
}
conf
=
security
->
get
(
"enabled"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
SRS_CONF_DEFAULT_SECURITY_ENABLED
;
return
DEFAULT
;
}
return
SRS_CONF_PERFER_FALSE
(
conf
->
arg0
());
...
...
@@ -3985,149 +3932,146 @@ bool SrsConfig::get_security_enabled(string vhost)
SrsConfDirective
*
SrsConfig
::
get_security_rules
(
string
vhost
)
{
SrsConfDirective
*
conf
=
get_vhost
(
vhost
);
if
(
!
conf
)
{
return
NULL
;
}
SrsConfDirective
*
security
=
conf
->
get
(
"security"
);
if
(
!
security
)
{
return
NULL
;
}
return
security
;
return
conf
->
get
(
"security"
);
}
SrsConfDirective
*
SrsConfig
::
get_transcode
(
string
vhost
,
string
scope
)
{
SrsConfDirective
*
conf
=
get_vhost
(
vhost
);
if
(
!
conf
)
{
return
NULL
;
}
SrsConfDirective
*
transcode
=
conf
->
get
(
"transcode"
);
if
(
!
transcode
)
{
conf
=
conf
->
get
(
"transcode"
);
if
(
!
conf
||
conf
->
arg0
()
!=
scope
)
{
return
NULL
;
}
if
(
transcode
->
arg0
()
==
scope
)
{
return
transcode
;
}
return
NULL
;
return
conf
;
}
bool
SrsConfig
::
get_transcode_enabled
(
SrsConfDirective
*
transcode
)
bool
SrsConfig
::
get_transcode_enabled
(
SrsConfDirective
*
conf
)
{
if
(
!
transcode
)
{
return
false
;
static
bool
DEFAULT
=
false
;
if
(
!
conf
)
{
return
DEFAULT
;
}
SrsConfDirective
*
conf
=
transcode
->
get
(
"enabled"
);
conf
=
conf
->
get
(
"enabled"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
false
;
return
DEFAULT
;
}
return
SRS_CONF_PERFER_FALSE
(
conf
->
arg0
());
}
string
SrsConfig
::
get_transcode_ffmpeg
(
SrsConfDirective
*
transcode
)
string
SrsConfig
::
get_transcode_ffmpeg
(
SrsConfDirective
*
conf
)
{
if
(
!
transcode
)
{
return
""
;
}
static
string
DEFAULT
=
""
;
SrsConfDirective
*
conf
=
transcode
->
get
(
"ffmpeg"
);
if
(
!
conf
)
{
return
""
;
return
DEFAULT
;
}
conf
=
conf
->
get
(
"ffmpeg"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
DEFAULT
;
}
return
conf
->
arg0
();
}
vector
<
SrsConfDirective
*>
SrsConfig
::
get_transcode_engines
(
SrsConfDirective
*
transcode
)
vector
<
SrsConfDirective
*>
SrsConfig
::
get_transcode_engines
(
SrsConfDirective
*
conf
)
{
vector
<
SrsConfDirective
*>
engines
;
if
(
!
transcode
)
{
if
(
!
conf
)
{
return
engines
;
}
for
(
int
i
=
0
;
i
<
(
int
)
transcode
->
directives
.
size
();
i
++
)
{
SrsConfDirective
*
conf
=
transcode
->
directives
[
i
];
for
(
int
i
=
0
;
i
<
(
int
)
conf
->
directives
.
size
();
i
++
)
{
SrsConfDirective
*
engine
=
conf
->
directives
[
i
];
if
(
conf
->
name
==
"engine"
)
{
engines
.
push_back
(
conf
);
if
(
engine
->
name
==
"engine"
)
{
engines
.
push_back
(
engine
);
}
}
return
engines
;
}
bool
SrsConfig
::
get_engine_enabled
(
SrsConfDirective
*
engine
)
bool
SrsConfig
::
get_engine_enabled
(
SrsConfDirective
*
conf
)
{
if
(
!
engine
)
{
return
false
;
static
bool
DEFAULT
=
false
;
if
(
!
conf
)
{
return
DEFAULT
;
}
SrsConfDirective
*
conf
=
engine
->
get
(
"enabled"
);
conf
=
conf
->
get
(
"enabled"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
false
;
return
DEFAULT
;
}
return
SRS_CONF_PERFER_FALSE
(
conf
->
arg0
());
}
string
SrsConfig
::
get_engine_iformat
(
SrsConfDirective
*
engine
)
string
SrsConfig
::
get_engine_iformat
(
SrsConfDirective
*
conf
)
{
if
(
!
engine
)
{
return
SRS_CONF_DEFAULT_TRANSCODE_IFORMAT
;
}
static
string
DEFAULT
=
"flv"
;
SrsConfDirective
*
conf
=
engine
->
get
(
"iformat"
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_TRANSCODE_IFORMAT
;
return
DEFAULT
;
}
conf
=
conf
->
get
(
"iformat"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
DEFAULT
;
}
return
conf
->
arg0
();
}
vector
<
string
>
SrsConfig
::
get_engine_vfilter
(
SrsConfDirective
*
engine
)
vector
<
string
>
SrsConfig
::
get_engine_vfilter
(
SrsConfDirective
*
conf
)
{
vector
<
string
>
vfilter
;
if
(
!
engine
)
{
if
(
!
conf
)
{
return
vfilter
;
}
SrsConfDirective
*
conf
=
engine
->
get
(
"vfilter"
);
conf
=
conf
->
get
(
"vfilter"
);
if
(
!
conf
)
{
return
vfilter
;
}
for
(
int
i
=
0
;
i
<
(
int
)
conf
->
directives
.
size
();
i
++
)
{
SrsConfDirective
*
p
=
conf
->
directives
[
i
];
if
(
!
p
)
{
SrsConfDirective
*
filter
=
conf
->
directives
[
i
];
if
(
!
filter
)
{
continue
;
}
vfilter
.
push_back
(
"-"
+
p
->
name
);
vfilter
.
push_back
(
p
->
arg0
());
vfilter
.
push_back
(
"-"
+
filter
->
name
);
vfilter
.
push_back
(
filter
->
arg0
());
}
return
vfilter
;
}
string
SrsConfig
::
get_engine_vcodec
(
SrsConfDirective
*
engine
)
string
SrsConfig
::
get_engine_vcodec
(
SrsConfDirective
*
conf
)
{
static
string
DEFAULT
=
""
;
if
(
!
engine
)
{
if
(
!
conf
)
{
return
DEFAULT
;
}
SrsConfDirective
*
conf
=
engine
->
get
(
"vcodec"
);
conf
=
conf
->
get
(
"vcodec"
);
if
(
!
conf
)
{
return
DEFAULT
;
}
...
...
@@ -4135,15 +4079,15 @@ string SrsConfig::get_engine_vcodec(SrsConfDirective* engine)
return
conf
->
arg0
();
}
int
SrsConfig
::
get_engine_vbitrate
(
SrsConfDirective
*
engine
)
int
SrsConfig
::
get_engine_vbitrate
(
SrsConfDirective
*
conf
)
{
static
int
DEFAULT
=
0
;
if
(
!
engine
)
{
if
(
!
conf
)
{
return
DEFAULT
;
}
SrsConfDirective
*
conf
=
engine
->
get
(
"vbitrate"
);
conf
=
conf
->
get
(
"vbitrate"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
DEFAULT
;
}
...
...
@@ -4151,15 +4095,15 @@ int SrsConfig::get_engine_vbitrate(SrsConfDirective* engine)
return
::
atoi
(
conf
->
arg0
().
c_str
());
}
double
SrsConfig
::
get_engine_vfps
(
SrsConfDirective
*
engine
)
double
SrsConfig
::
get_engine_vfps
(
SrsConfDirective
*
conf
)
{
static
double
DEFAULT
=
0
;
if
(
!
engine
)
{
if
(
!
conf
)
{
return
DEFAULT
;
}
SrsConfDirective
*
conf
=
engine
->
get
(
"vfps"
);
conf
=
conf
->
get
(
"vfps"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
DEFAULT
;
}
...
...
@@ -4167,15 +4111,15 @@ double SrsConfig::get_engine_vfps(SrsConfDirective* engine)
return
::
atof
(
conf
->
arg0
().
c_str
());
}
int
SrsConfig
::
get_engine_vwidth
(
SrsConfDirective
*
engine
)
int
SrsConfig
::
get_engine_vwidth
(
SrsConfDirective
*
conf
)
{
static
int
DEFAULT
=
0
;
if
(
!
engine
)
{
if
(
!
conf
)
{
return
DEFAULT
;
}
SrsConfDirective
*
conf
=
engine
->
get
(
"vwidth"
);
conf
=
conf
->
get
(
"vwidth"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
DEFAULT
;
}
...
...
@@ -4183,15 +4127,15 @@ int SrsConfig::get_engine_vwidth(SrsConfDirective* engine)
return
::
atoi
(
conf
->
arg0
().
c_str
());
}
int
SrsConfig
::
get_engine_vheight
(
SrsConfDirective
*
engine
)
int
SrsConfig
::
get_engine_vheight
(
SrsConfDirective
*
conf
)
{
static
int
DEFAULT
=
0
;
if
(
!
engine
)
{
if
(
!
conf
)
{
return
DEFAULT
;
}
SrsConfDirective
*
conf
=
engine
->
get
(
"vheight"
);
conf
=
conf
->
get
(
"vheight"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
DEFAULT
;
}
...
...
@@ -4199,15 +4143,15 @@ int SrsConfig::get_engine_vheight(SrsConfDirective* engine)
return
::
atoi
(
conf
->
arg0
().
c_str
());
}
int
SrsConfig
::
get_engine_vthreads
(
SrsConfDirective
*
engine
)
int
SrsConfig
::
get_engine_vthreads
(
SrsConfDirective
*
conf
)
{
static
int
DEFAULT
=
1
;
if
(
!
engine
)
{
if
(
!
conf
)
{
return
DEFAULT
;
}
SrsConfDirective
*
conf
=
engine
->
get
(
"vthreads"
);
conf
=
conf
->
get
(
"vthreads"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
DEFAULT
;
}
...
...
@@ -4215,85 +4159,89 @@ int SrsConfig::get_engine_vthreads(SrsConfDirective* engine)
return
::
atoi
(
conf
->
arg0
().
c_str
());
}
string
SrsConfig
::
get_engine_vprofile
(
SrsConfDirective
*
engine
)
string
SrsConfig
::
get_engine_vprofile
(
SrsConfDirective
*
conf
)
{
if
(
!
engine
)
{
return
""
;
static
string
DEFAULT
=
""
;
if
(
!
conf
)
{
return
DEFAULT
;
}
SrsConfDirective
*
conf
=
engine
->
get
(
"vprofile"
);
conf
=
conf
->
get
(
"vprofile"
);
if
(
!
conf
)
{
return
""
;
return
DEFAULT
;
}
return
conf
->
arg0
();
}
string
SrsConfig
::
get_engine_vpreset
(
SrsConfDirective
*
engine
)
string
SrsConfig
::
get_engine_vpreset
(
SrsConfDirective
*
conf
)
{
if
(
!
engine
)
{
return
""
;
static
string
DEFAULT
=
""
;
if
(
!
conf
)
{
return
DEFAULT
;
}
SrsConfDirective
*
conf
=
engine
->
get
(
"vpreset"
);
conf
=
conf
->
get
(
"vpreset"
);
if
(
!
conf
)
{
return
""
;
return
DEFAULT
;
}
return
conf
->
arg0
();
}
vector
<
string
>
SrsConfig
::
get_engine_vparams
(
SrsConfDirective
*
engine
)
vector
<
string
>
SrsConfig
::
get_engine_vparams
(
SrsConfDirective
*
conf
)
{
vector
<
string
>
vparams
;
if
(
!
engine
)
{
if
(
!
conf
)
{
return
vparams
;
}
SrsConfDirective
*
conf
=
engine
->
get
(
"vparams"
);
conf
=
conf
->
get
(
"vparams"
);
if
(
!
conf
)
{
return
vparams
;
}
for
(
int
i
=
0
;
i
<
(
int
)
conf
->
directives
.
size
();
i
++
)
{
SrsConfDirective
*
p
=
conf
->
directives
[
i
];
if
(
!
p
)
{
SrsConfDirective
*
filter
=
conf
->
directives
[
i
];
if
(
!
filter
)
{
continue
;
}
vparams
.
push_back
(
"-"
+
p
->
name
);
vparams
.
push_back
(
p
->
arg0
());
vparams
.
push_back
(
"-"
+
filter
->
name
);
vparams
.
push_back
(
filter
->
arg0
());
}
return
vparams
;
}
string
SrsConfig
::
get_engine_acodec
(
SrsConfDirective
*
engine
)
string
SrsConfig
::
get_engine_acodec
(
SrsConfDirective
*
conf
)
{
static
string
DEFAULT
=
""
;
if
(
!
engine
)
{
if
(
!
conf
)
{
return
DEFAULT
;
}
SrsConfDirective
*
conf
=
engine
->
get
(
"acodec"
);
if
(
!
conf
)
{
conf
=
conf
->
get
(
"acodec"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
DEFAULT
;
}
return
conf
->
arg0
();
}
int
SrsConfig
::
get_engine_abitrate
(
SrsConfDirective
*
engine
)
int
SrsConfig
::
get_engine_abitrate
(
SrsConfDirective
*
conf
)
{
static
int
DEFAULT
=
0
;
if
(
!
engine
)
{
if
(
!
conf
)
{
return
DEFAULT
;
}
SrsConfDirective
*
conf
=
engine
->
get
(
"abitrate"
);
conf
=
conf
->
get
(
"abitrate"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
DEFAULT
;
}
...
...
@@ -4301,15 +4249,15 @@ int SrsConfig::get_engine_abitrate(SrsConfDirective* engine)
return
::
atoi
(
conf
->
arg0
().
c_str
());
}
int
SrsConfig
::
get_engine_asample_rate
(
SrsConfDirective
*
engine
)
int
SrsConfig
::
get_engine_asample_rate
(
SrsConfDirective
*
conf
)
{
static
int
DEFAULT
=
0
;
if
(
!
engine
)
{
if
(
!
conf
)
{
return
DEFAULT
;
}
SrsConfDirective
*
conf
=
engine
->
get
(
"asample_rate"
);
conf
=
conf
->
get
(
"asample_rate"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
DEFAULT
;
}
...
...
@@ -4317,15 +4265,15 @@ int SrsConfig::get_engine_asample_rate(SrsConfDirective* engine)
return
::
atoi
(
conf
->
arg0
().
c_str
());
}
int
SrsConfig
::
get_engine_achannels
(
SrsConfDirective
*
engine
)
int
SrsConfig
::
get_engine_achannels
(
SrsConfDirective
*
conf
)
{
static
int
DEFAULT
=
0
;
if
(
!
engine
)
{
if
(
!
conf
)
{
return
DEFAULT
;
}
SrsConfDirective
*
conf
=
engine
->
get
(
"achannels"
);
conf
=
conf
->
get
(
"achannels"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
DEFAULT
;
}
...
...
@@ -4333,55 +4281,59 @@ int SrsConfig::get_engine_achannels(SrsConfDirective* engine)
return
::
atoi
(
conf
->
arg0
().
c_str
());
}
vector
<
string
>
SrsConfig
::
get_engine_aparams
(
SrsConfDirective
*
engine
)
vector
<
string
>
SrsConfig
::
get_engine_aparams
(
SrsConfDirective
*
conf
)
{
vector
<
string
>
aparams
;
if
(
!
engine
)
{
if
(
!
conf
)
{
return
aparams
;
}
SrsConfDirective
*
conf
=
engine
->
get
(
"aparams"
);
conf
=
conf
->
get
(
"aparams"
);
if
(
!
conf
)
{
return
aparams
;
}
for
(
int
i
=
0
;
i
<
(
int
)
conf
->
directives
.
size
();
i
++
)
{
SrsConfDirective
*
p
=
conf
->
directives
[
i
];
if
(
!
p
)
{
SrsConfDirective
*
filter
=
conf
->
directives
[
i
];
if
(
!
filter
)
{
continue
;
}
aparams
.
push_back
(
"-"
+
p
->
name
);
aparams
.
push_back
(
p
->
arg0
());
aparams
.
push_back
(
"-"
+
filter
->
name
);
aparams
.
push_back
(
filter
->
arg0
());
}
return
aparams
;
}
string
SrsConfig
::
get_engine_oformat
(
SrsConfDirective
*
engine
)
string
SrsConfig
::
get_engine_oformat
(
SrsConfDirective
*
conf
)
{
if
(
!
engine
)
{
return
SRS_CONF_DEFAULT_TRANSCODE_OFORMAT
;
}
static
string
DEFAULT
=
"flv"
;
SrsConfDirective
*
conf
=
engine
->
get
(
"oformat"
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_TRANSCODE_OFORMAT
;
return
DEFAULT
;
}
conf
=
conf
->
get
(
"oformat"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
DEFAULT
;
}
return
conf
->
arg0
();
}
string
SrsConfig
::
get_engine_output
(
SrsConfDirective
*
engine
)
string
SrsConfig
::
get_engine_output
(
SrsConfDirective
*
conf
)
{
if
(
!
engine
)
{
return
""
;
}
static
string
DEFAULT
=
""
;
SrsConfDirective
*
conf
=
engine
->
get
(
"output"
);
if
(
!
conf
)
{
return
""
;
return
DEFAULT
;
}
conf
=
conf
->
get
(
"output"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
DEFAULT
;
}
return
conf
->
arg0
();
...
...
@@ -4437,16 +4389,16 @@ vector<SrsConfDirective*> SrsConfig::get_ingesters(string vhost)
{
vector
<
SrsConfDirective
*>
ingeters
;
SrsConfDirective
*
vhost_conf
=
get_vhost
(
vhost
);
if
(
!
vhost_conf
)
{
SrsConfDirective
*
conf
=
get_vhost
(
vhost
);
if
(
!
conf
)
{
return
ingeters
;
}
for
(
int
i
=
0
;
i
<
(
int
)
vhost_conf
->
directives
.
size
();
i
++
)
{
SrsConfDirective
*
conf
=
vhost_conf
->
directives
[
i
];
for
(
int
i
=
0
;
i
<
(
int
)
conf
->
directives
.
size
();
i
++
)
{
SrsConfDirective
*
ingester
=
conf
->
directives
[
i
];
if
(
conf
->
name
==
"ingest"
)
{
ingeters
.
push_back
(
conf
);
if
(
ingester
->
name
==
"ingest"
)
{
ingeters
.
push_back
(
ingester
);
}
}
...
...
@@ -4460,77 +4412,78 @@ SrsConfDirective* SrsConfig::get_ingest_by_id(string vhost, string ingest_id)
return
NULL
;
}
conf
=
conf
->
get
(
"ingest"
,
ingest_id
);
return
conf
;
return
conf
->
get
(
"ingest"
,
ingest_id
);
}
bool
SrsConfig
::
get_ingest_enabled
(
SrsConfDirective
*
ingest
)
bool
SrsConfig
::
get_ingest_enabled
(
SrsConfDirective
*
conf
)
{
if
(
!
ingest
)
{
return
false
;
}
static
bool
DEFAULT
=
false
;
SrsConfDirective
*
conf
=
ingest
->
get
(
"enabled"
);
if
(
!
conf
)
{
return
DEFAULT
;
}
conf
=
conf
->
get
(
"enabled"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
false
;
return
DEFAULT
;
}
return
SRS_CONF_PERFER_FALSE
(
conf
->
arg0
());
}
string
SrsConfig
::
get_ingest_ffmpeg
(
SrsConfDirective
*
ingest
)
string
SrsConfig
::
get_ingest_ffmpeg
(
SrsConfDirective
*
conf
)
{
if
(
!
ingest
)
{
return
""
;
}
static
string
DEFAULT
=
""
;
SrsConfDirective
*
conf
=
ingest
->
get
(
"ffmpeg"
);
if
(
!
conf
)
{
return
DEFAULT
;
}
conf
=
conf
->
get
(
"ffmpeg"
);
if
(
!
conf
)
{
return
""
;
return
DEFAULT
;
}
return
conf
->
arg0
();
}
string
SrsConfig
::
get_ingest_input_type
(
SrsConfDirective
*
ingest
)
string
SrsConfig
::
get_ingest_input_type
(
SrsConfDirective
*
conf
)
{
if
(
!
ingest
)
{
return
SRS_CONF_DEFAULT_INGEST_TYPE_FILE
;
}
static
string
DEFAULT
=
"file"
;
SrsConfDirective
*
conf
=
ingest
->
get
(
"input"
);
if
(
!
conf
)
{
return
DEFAULT
;
}
conf
=
conf
->
get
(
"input"
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_INGEST_TYPE_FILE
;
return
DEFAULT
;
}
conf
=
conf
->
get
(
"type"
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_INGEST_TYPE_FILE
;
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
DEFAULT
;
}
return
conf
->
arg0
();
}
string
SrsConfig
::
get_ingest_input_url
(
SrsConfDirective
*
ingest
)
string
SrsConfig
::
get_ingest_input_url
(
SrsConfDirective
*
conf
)
{
if
(
!
ingest
)
{
return
""
;
}
static
string
DEFAULT
=
""
;
SrsConfDirective
*
conf
=
ingest
->
get
(
"input"
);
if
(
!
conf
)
{
return
DEFAULT
;
}
conf
=
conf
->
get
(
"input"
);
if
(
!
conf
)
{
return
""
;
return
DEFAULT
;
}
conf
=
conf
->
get
(
"url"
);
if
(
!
conf
)
{
return
""
;
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
DEFAULT
;
}
return
conf
->
arg0
();
...
...
@@ -4538,23 +4491,23 @@ string SrsConfig::get_ingest_input_url(SrsConfDirective* ingest)
bool
SrsConfig
::
get_log_tank_file
()
{
s
rs_assert
(
root
)
;
s
tatic
bool
DEFAULT
=
true
;
SrsConfDirective
*
conf
=
root
->
get
(
"srs_log_tank"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
true
;
return
DEFAULT
;
}
return
conf
->
arg0
()
!=
SRS_CONF_DEFAULT_LOG_TANK_CONSOLE
;
return
conf
->
arg0
()
!=
"console"
;
}
string
SrsConfig
::
get_log_level
()
{
s
rs_assert
(
root
)
;
s
tatic
string
DEFAULT
=
"trace"
;
SrsConfDirective
*
conf
=
root
->
get
(
"srs_log_level"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
SRS_CONF_DEFAULT_LOG_LEVEL
;
return
DEFAULT
;
}
return
conf
->
arg0
();
...
...
@@ -4562,11 +4515,11 @@ string SrsConfig::get_log_level()
string
SrsConfig
::
get_log_file
()
{
s
rs_assert
(
root
)
;
s
tatic
string
DEFAULT
=
"./objs/srs.log"
;
SrsConfDirective
*
conf
=
root
->
get
(
"srs_log_file"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
SRS_CONF_DEFAULT_LOG_FILE
;
return
DEFAULT
;
}
return
conf
->
arg0
();
...
...
@@ -4580,11 +4533,11 @@ bool SrsConfig::get_ffmpeg_log_enabled()
string
SrsConfig
::
get_ffmpeg_log_dir
()
{
s
rs_assert
(
root
)
;
s
tatic
string
DEFAULT
=
"./objs"
;
SrsConfDirective
*
conf
=
root
->
get
(
"ff_log_dir"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
SRS_CONF_DEFAULT_FF_LOG_DIR
;
return
DEFAULT
;
}
return
conf
->
arg0
();
...
...
@@ -4603,16 +4556,17 @@ SrsConfDirective* SrsConfig::get_hls(string vhost)
bool
SrsConfig
::
get_hls_enabled
(
string
vhost
)
{
SrsConfDirective
*
hls
=
get_hls
(
vhost
)
;
static
bool
DEFAULT
=
false
;
if
(
!
hls
)
{
return
false
;
}
SrsConfDirective
*
conf
=
get_hls
(
vhost
);
SrsConfDirective
*
conf
=
hls
->
get
(
"enabled"
);
if
(
!
conf
)
{
return
DEFAULT
;
}
conf
=
conf
->
get
(
"enabled"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
false
;
return
DEFAULT
;
}
return
SRS_CONF_PERFER_FALSE
(
conf
->
arg0
());
...
...
@@ -4620,16 +4574,16 @@ bool SrsConfig::get_hls_enabled(string vhost)
string
SrsConfig
::
get_hls_entry_prefix
(
string
vhost
)
{
SrsConfDirective
*
hls
=
get_hls
(
vhost
)
;
static
string
DEFAULT
=
""
;
if
(
!
hls
)
{
return
""
;
SrsConfDirective
*
conf
=
get_hls
(
vhost
);
if
(
!
conf
)
{
return
DEFAULT
;
}
SrsConfDirective
*
conf
=
hls
->
get
(
"hls_entry_prefix"
);
conf
=
conf
->
get
(
"hls_entry_prefix"
);
if
(
!
conf
)
{
return
""
;
return
DEFAULT
;
}
return
conf
->
arg0
();
...
...
@@ -4637,16 +4591,16 @@ string SrsConfig::get_hls_entry_prefix(string vhost)
string
SrsConfig
::
get_hls_path
(
string
vhost
)
{
SrsConfDirective
*
hls
=
get_hls
(
vhost
)
;
static
string
DEFAULT
=
"./objs/nginx/html"
;
if
(
!
hls
)
{
return
SRS_CONF_DEFAULT_HLS_PATH
;
SrsConfDirective
*
conf
=
get_hls
(
vhost
);
if
(
!
conf
)
{
return
DEFAULT
;
}
SrsConfDirective
*
conf
=
hls
->
get
(
"hls_path"
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_HLS_PATH
;
conf
=
conf
->
get
(
"hls_path"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
DEFAULT
;
}
return
conf
->
arg0
();
...
...
@@ -4654,16 +4608,16 @@ string SrsConfig::get_hls_path(string vhost)
string
SrsConfig
::
get_hls_m3u8_file
(
string
vhost
)
{
SrsConfDirective
*
hls
=
get_hls
(
vhost
)
;
static
string
DEFAULT
=
"[app]/[stream].m3u8"
;
if
(
!
hls
)
{
return
SRS_CONF_DEFAULT_HLS_M3U8_FILE
;
SrsConfDirective
*
conf
=
get_hls
(
vhost
);
if
(
!
conf
)
{
return
DEFAULT
;
}
SrsConfDirective
*
conf
=
hls
->
get
(
"hls_m3u8_file"
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_HLS_M3U8_FILE
;
conf
=
conf
->
get
(
"hls_m3u8_file"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
DEFAULT
;
}
return
conf
->
arg0
();
...
...
@@ -4671,16 +4625,16 @@ string SrsConfig::get_hls_m3u8_file(string vhost)
string
SrsConfig
::
get_hls_ts_file
(
string
vhost
)
{
SrsConfDirective
*
hls
=
get_hls
(
vhost
)
;
static
string
DEFAULT
=
"[app]/[stream]-[seq].ts"
;
if
(
!
hls
)
{
return
SRS_CONF_DEFAULT_HLS_TS_FILE
;
SrsConfDirective
*
conf
=
get_hls
(
vhost
);
if
(
!
conf
)
{
return
DEFAULT
;
}
SrsConfDirective
*
conf
=
hls
->
get
(
"hls_ts_file"
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_HLS_TS_FILE
;
conf
=
conf
->
get
(
"hls_ts_file"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
DEFAULT
;
}
return
conf
->
arg0
();
...
...
@@ -4688,16 +4642,16 @@ string SrsConfig::get_hls_ts_file(string vhost)
bool
SrsConfig
::
get_hls_ts_floor
(
string
vhost
)
{
SrsConfDirective
*
hls
=
get_hls
(
vhost
)
;
static
bool
DEFAULT
=
false
;
if
(
!
hls
)
{
return
SRS_CONF_DEFAULT_HLS_TS_FLOOR
;
SrsConfDirective
*
conf
=
get_hls
(
vhost
);
if
(
!
conf
)
{
return
DEFAULT
;
}
SrsConfDirective
*
conf
=
hls
->
get
(
"hls_ts_floor"
);
conf
=
conf
->
get
(
"hls_ts_floor"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
SRS_CONF_DEFAULT_HLS_TS_FLOOR
;
return
DEFAULT
;
}
return
SRS_CONF_PERFER_FALSE
(
conf
->
arg0
());
...
...
@@ -4705,16 +4659,16 @@ bool SrsConfig::get_hls_ts_floor(string vhost)
double
SrsConfig
::
get_hls_fragment
(
string
vhost
)
{
SrsConfDirective
*
hls
=
get_hls
(
vhost
)
;
static
double
DEFAULT
=
10
;
if
(
!
hls
)
{
return
SRS_CONF_DEFAULT_HLS_FRAGMENT
;
SrsConfDirective
*
conf
=
get_hls
(
vhost
);
if
(
!
conf
)
{
return
DEFAULT
;
}
SrsConfDirective
*
conf
=
hls
->
get
(
"hls_fragment"
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_HLS_FRAGMENT
;
conf
=
conf
->
get
(
"hls_fragment"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
DEFAULT
;
}
return
::
atof
(
conf
->
arg0
().
c_str
());
...
...
@@ -4722,16 +4676,16 @@ double SrsConfig::get_hls_fragment(string vhost)
double
SrsConfig
::
get_hls_td_ratio
(
string
vhost
)
{
SrsConfDirective
*
hls
=
get_hls
(
vhost
)
;
static
double
DEFAULT
=
1.5
;
if
(
!
hls
)
{
return
SRS_CONF_DEFAULT_HLS_TD_RATIO
;
SrsConfDirective
*
conf
=
get_hls
(
vhost
);
if
(
!
conf
)
{
return
DEFAULT
;
}
SrsConfDirective
*
conf
=
hls
->
get
(
"hls_td_ratio"
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_HLS_TD_RATIO
;
conf
=
conf
->
get
(
"hls_td_ratio"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
DEFAULT
;
}
return
::
atof
(
conf
->
arg0
().
c_str
());
...
...
@@ -4739,16 +4693,16 @@ double SrsConfig::get_hls_td_ratio(string vhost)
double
SrsConfig
::
get_hls_aof_ratio
(
string
vhost
)
{
SrsConfDirective
*
hls
=
get_hls
(
vhost
)
;
static
double
DEFAULT
=
2.0
;
if
(
!
hls
)
{
return
SRS_CONF_DEFAULT_HLS_AOF_RATIO
;
SrsConfDirective
*
conf
=
get_hls
(
vhost
);
if
(
!
conf
)
{
return
DEFAULT
;
}
SrsConfDirective
*
conf
=
hls
->
get
(
"hls_aof_ratio"
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_HLS_AOF_RATIO
;
conf
=
conf
->
get
(
"hls_aof_ratio"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
DEFAULT
;
}
return
::
atof
(
conf
->
arg0
().
c_str
());
...
...
@@ -4756,16 +4710,16 @@ double SrsConfig::get_hls_aof_ratio(string vhost)
double
SrsConfig
::
get_hls_window
(
string
vhost
)
{
SrsConfDirective
*
hls
=
get_hls
(
vhost
)
;
static
double
DEFAULT
=
60
;
if
(
!
hls
)
{
return
SRS_CONF_DEFAULT_HLS_WINDOW
;
SrsConfDirective
*
conf
=
get_hls
(
vhost
);
if
(
!
conf
)
{
return
DEFAULT
;
}
SrsConfDirective
*
conf
=
hls
->
get
(
"hls_window"
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_HLS_WINDOW
;
conf
=
conf
->
get
(
"hls_window"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
DEFAULT
;
}
return
::
atof
(
conf
->
arg0
().
c_str
());
...
...
@@ -4773,16 +4727,16 @@ double SrsConfig::get_hls_window(string vhost)
string
SrsConfig
::
get_hls_on_error
(
string
vhost
)
{
SrsConfDirective
*
hls
=
get_hls
(
vhost
)
;
static
string
DEFAULT
=
"ignore"
;
if
(
!
hls
)
{
return
SRS_CONF_DEFAULT_HLS_ON_ERROR
;
SrsConfDirective
*
conf
=
get_hls
(
vhost
);
if
(
!
conf
)
{
return
DEFAULT
;
}
SrsConfDirective
*
conf
=
hls
->
get
(
"hls_on_error"
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_HLS_ON_ERROR
;
conf
=
conf
->
get
(
"hls_on_error"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
DEFAULT
;
}
return
conf
->
arg0
();
...
...
@@ -4790,16 +4744,16 @@ string SrsConfig::get_hls_on_error(string vhost)
string
SrsConfig
::
get_hls_storage
(
string
vhost
)
{
SrsConfDirective
*
hls
=
get_hls
(
vhost
)
;
static
string
DEFAULT
=
"disk"
;
if
(
!
hls
)
{
return
SRS_CONF_DEFAULT_HLS_STORAGE
;
SrsConfDirective
*
conf
=
get_hls
(
vhost
);
if
(
!
conf
)
{
return
DEFAULT
;
}
SrsConfDirective
*
conf
=
hls
->
get
(
"hls_storage"
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_HLS_STORAGE
;
conf
=
conf
->
get
(
"hls_storage"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
DEFAULT
;
}
return
conf
->
arg0
();
...
...
@@ -4807,16 +4761,16 @@ string SrsConfig::get_hls_storage(string vhost)
string
SrsConfig
::
get_hls_mount
(
string
vhost
)
{
SrsConfDirective
*
hls
=
get_hls
(
vhost
)
;
static
string
DEFAULT
=
"[vhost]/[app]/[stream].m3u8"
;
if
(
!
hls
)
{
return
SRS_CONF_DEFAULT_HLS_MOUNT
;
SrsConfDirective
*
conf
=
get_hls
(
vhost
);
if
(
!
conf
)
{
return
DEFAULT
;
}
SrsConfDirective
*
conf
=
hls
->
get
(
"hls_mount"
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_HLS_MOUNT
;
conf
=
conf
->
get
(
"hls_mount"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
DEFAULT
;
}
return
conf
->
arg0
();
...
...
@@ -4824,16 +4778,16 @@ string SrsConfig::get_hls_mount(string vhost)
string
SrsConfig
::
get_hls_acodec
(
string
vhost
)
{
SrsConfDirective
*
hls
=
get_hls
(
vhost
)
;
static
string
DEFAULT
=
"aac"
;
if
(
!
hls
)
{
return
SRS_CONF_DEFAULT_HLS_ACODEC
;
SrsConfDirective
*
conf
=
get_hls
(
vhost
);
if
(
!
conf
)
{
return
DEFAULT
;
}
SrsConfDirective
*
conf
=
hls
->
get
(
"hls_acodec"
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_HLS_ACODEC
;
conf
=
conf
->
get
(
"hls_acodec"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
DEFAULT
;
}
return
conf
->
arg0
();
...
...
@@ -4841,16 +4795,16 @@ string SrsConfig::get_hls_acodec(string vhost)
string
SrsConfig
::
get_hls_vcodec
(
string
vhost
)
{
SrsConfDirective
*
hls
=
get_hls
(
vhost
)
;
static
string
DEFAULT
=
"h264"
;
if
(
!
hls
)
{
return
SRS_CONF_DEFAULT_HLS_VCODEC
;
SrsConfDirective
*
conf
=
get_hls
(
vhost
);
if
(
!
conf
)
{
return
DEFAULT
;
}
SrsConfDirective
*
conf
=
hls
->
get
(
"hls_vcodec"
);
conf
=
conf
->
get
(
"hls_vcodec"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
SRS_CONF_DEFAULT_HLS_VCODEC
;
return
DEFAULT
;
}
return
conf
->
arg0
();
...
...
@@ -4858,15 +4812,16 @@ string SrsConfig::get_hls_vcodec(string vhost)
int
SrsConfig
::
get_vhost_hls_nb_notify
(
string
vhost
)
{
SrsConfDirective
*
conf
=
get_hls
(
vhost
)
;
static
int
DEFAULT
=
64
;
SrsConfDirective
*
conf
=
get_hls
(
vhost
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_HLS_NB_NOTIFY
;
return
DEFAULT
;
}
conf
=
conf
->
get
(
"hls_nb_notify"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
SRS_CONF_DEFAULT_HLS_NB_NOTIFY
;
return
DEFAULT
;
}
return
::
atoi
(
conf
->
arg0
().
c_str
());
...
...
@@ -4874,16 +4829,16 @@ int SrsConfig::get_vhost_hls_nb_notify(string vhost)
bool
SrsConfig
::
get_hls_cleanup
(
string
vhost
)
{
SrsConfDirective
*
hls
=
get_hls
(
vhost
)
;
static
bool
DEFAULT
=
true
;
if
(
!
hls
)
{
return
SRS_CONF_DEFAULT_HLS_CLEANUP
;
SrsConfDirective
*
conf
=
get_hls
(
vhost
);
if
(
!
conf
)
{
return
DEFAULT
;
}
SrsConfDirective
*
conf
=
hls
->
get
(
"hls_cleanup"
);
conf
=
conf
->
get
(
"hls_cleanup"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
SRS_CONF_DEFAULT_HLS_CLEANUP
;
return
DEFAULT
;
}
return
SRS_CONF_PERFER_TRUE
(
conf
->
arg0
());
...
...
@@ -4891,10 +4846,9 @@ bool SrsConfig::get_hls_cleanup(string vhost)
int
SrsConfig
::
get_hls_dispose
(
string
vhost
)
{
SrsConfDirective
*
conf
=
get_hls
(
vhost
);
int
DEFAULT
=
0
;
static
int
DEFAULT
=
0
;
SrsConfDirective
*
conf
=
get_hls
(
vhost
);
if
(
!
conf
)
{
return
DEFAULT
;
}
...
...
@@ -4909,16 +4863,16 @@ int SrsConfig::get_hls_dispose(string vhost)
bool
SrsConfig
::
get_hls_wait_keyframe
(
string
vhost
)
{
SrsConfDirective
*
hls
=
get_hls
(
vhost
)
;
static
bool
DEFAULT
=
true
;
if
(
!
hls
)
{
return
SRS_CONF_DEFAULT_HLS_WAIT_KEYFRAME
;
SrsConfDirective
*
conf
=
get_hls
(
vhost
);
if
(
!
conf
)
{
return
DEFAULT
;
}
SrsConfDirective
*
conf
=
hls
->
get
(
"hls_wait_keyframe"
);
conf
=
conf
->
get
(
"hls_wait_keyframe"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
SRS_CONF_DEFAULT_HLS_WAIT_KEYFRAME
;
return
DEFAULT
;
}
return
SRS_CONF_PERFER_TRUE
(
conf
->
arg0
());
...
...
@@ -4937,16 +4891,16 @@ SrsConfDirective *SrsConfig::get_hds(const string &vhost)
bool
SrsConfig
::
get_hds_enabled
(
const
string
&
vhost
)
{
SrsConfDirective
*
hds
=
get_hds
(
vhost
)
;
static
bool
DEFAULT
=
false
;
if
(
!
hds
)
{
return
false
;
SrsConfDirective
*
conf
=
get_hds
(
vhost
);
if
(
!
conf
)
{
return
DEFAULT
;
}
SrsConfDirective
*
conf
=
hds
->
get
(
"enabled"
);
conf
=
conf
->
get
(
"enabled"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
false
;
return
DEFAULT
;
}
return
SRS_CONF_PERFER_FALSE
(
conf
->
arg0
());
...
...
@@ -4954,16 +4908,16 @@ bool SrsConfig::get_hds_enabled(const string &vhost)
string
SrsConfig
::
get_hds_path
(
const
string
&
vhost
)
{
SrsConfDirective
*
hds
=
get_hds
(
vhost
)
;
static
string
DEFAULT
=
"./objs/nginx/html"
;
if
(
!
hds
)
{
return
SRS_CONF_DEFAULT_HDS_PATH
;
SrsConfDirective
*
conf
=
get_hds
(
vhost
);
if
(
!
conf
)
{
return
DEFAULT
;
}
SrsConfDirective
*
conf
=
hds
->
get
(
"hds_path"
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_HDS_PATH
;
conf
=
conf
->
get
(
"hds_path"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
DEFAULT
;
}
return
conf
->
arg0
();
...
...
@@ -4971,16 +4925,16 @@ string SrsConfig::get_hds_path(const string &vhost)
double
SrsConfig
::
get_hds_fragment
(
const
string
&
vhost
)
{
SrsConfDirective
*
hds
=
get_hds
(
vhost
)
;
static
double
DEFAULT
=
10
;
if
(
!
hds
)
{
return
SRS_CONF_DEFAULT_HDS_FRAGMENT
;
SrsConfDirective
*
conf
=
get_hds
(
vhost
);
if
(
!
conf
)
{
return
DEFAULT
;
}
SrsConfDirective
*
conf
=
hds
->
get
(
"hds_fragment"
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_HDS_FRAGMENT
;
conf
=
conf
->
get
(
"hds_fragment"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
DEFAULT
;
}
return
::
atof
(
conf
->
arg0
().
c_str
());
...
...
@@ -4988,16 +4942,16 @@ double SrsConfig::get_hds_fragment(const string &vhost)
double
SrsConfig
::
get_hds_window
(
const
string
&
vhost
)
{
SrsConfDirective
*
hds
=
get_hds
(
vhost
)
;
static
double
DEFAULT
=
60
;
if
(
!
hds
)
{
return
SRS_CONF_DEFAULT_HDS_WINDOW
;
SrsConfDirective
*
conf
=
get_hds
(
vhost
);
if
(
!
conf
)
{
return
DEFAULT
;
}
SrsConfDirective
*
conf
=
hds
->
get
(
"hds_window"
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_HDS_WINDOW
;
conf
=
conf
->
get
(
"hds_window"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
DEFAULT
;
}
return
::
atof
(
conf
->
arg0
().
c_str
());
...
...
@@ -5006,7 +4960,6 @@ double SrsConfig::get_hds_window(const string &vhost)
SrsConfDirective
*
SrsConfig
::
get_dvr
(
string
vhost
)
{
SrsConfDirective
*
conf
=
get_vhost
(
vhost
);
if
(
!
conf
)
{
return
NULL
;
}
...
...
@@ -5016,16 +4969,16 @@ SrsConfDirective* SrsConfig::get_dvr(string vhost)
bool
SrsConfig
::
get_dvr_enabled
(
string
vhost
)
{
SrsConfDirective
*
dvr
=
get_dvr
(
vhost
)
;
static
bool
DEFAULT
=
false
;
if
(
!
dvr
)
{
return
false
;
SrsConfDirective
*
conf
=
get_dvr
(
vhost
);
if
(
!
conf
)
{
return
DEFAULT
;
}
SrsConfDirective
*
conf
=
dvr
->
get
(
"enabled"
);
conf
=
conf
->
get
(
"enabled"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
false
;
return
DEFAULT
;
}
return
SRS_CONF_PERFER_FALSE
(
conf
->
arg0
());
...
...
@@ -5033,16 +4986,16 @@ bool SrsConfig::get_dvr_enabled(string vhost)
string
SrsConfig
::
get_dvr_path
(
string
vhost
)
{
SrsConfDirective
*
dvr
=
get_dvr
(
vhost
)
;
static
string
DEFAULT
=
"./objs/nginx/html/[app]/[stream].[timestamp].flv"
;
if
(
!
dvr
)
{
return
SRS_CONF_DEFAULT_DVR_PATH
;
SrsConfDirective
*
conf
=
get_dvr
(
vhost
);
if
(
!
conf
)
{
return
DEFAULT
;
}
SrsConfDirective
*
conf
=
dvr
->
get
(
"dvr_path"
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_DVR_PATH
;
conf
=
conf
->
get
(
"dvr_path"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
DEFAULT
;
}
return
conf
->
arg0
();
...
...
@@ -5050,16 +5003,16 @@ string SrsConfig::get_dvr_path(string vhost)
string
SrsConfig
::
get_dvr_plan
(
string
vhost
)
{
SrsConfDirective
*
dvr
=
get_dvr
(
vhost
)
;
static
string
DEFAULT
=
"session"
;
if
(
!
dvr
)
{
return
SRS_CONF_DEFAULT_DVR_PLAN
;
SrsConfDirective
*
conf
=
get_dvr
(
vhost
);
if
(
!
conf
)
{
return
DEFAULT
;
}
SrsConfDirective
*
conf
=
dvr
->
get
(
"dvr_plan"
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_DVR_PLAN
;
conf
=
conf
->
get
(
"dvr_plan"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
DEFAULT
;
}
return
conf
->
arg0
();
...
...
@@ -5067,16 +5020,16 @@ string SrsConfig::get_dvr_plan(string vhost)
int
SrsConfig
::
get_dvr_duration
(
string
vhost
)
{
SrsConfDirective
*
dvr
=
get_dvr
(
vhost
)
;
static
int
DEFAULT
=
30
;
if
(
!
dvr
)
{
return
SRS_CONF_DEFAULT_DVR_DURATION
;
SrsConfDirective
*
conf
=
get_dvr
(
vhost
);
if
(
!
conf
)
{
return
DEFAULT
;
}
SrsConfDirective
*
conf
=
dvr
->
get
(
"dvr_duration"
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_DVR_DURATION
;
conf
=
conf
->
get
(
"dvr_duration"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
DEFAULT
;
}
return
::
atoi
(
conf
->
arg0
().
c_str
());
...
...
@@ -5084,16 +5037,16 @@ int SrsConfig::get_dvr_duration(string vhost)
bool
SrsConfig
::
get_dvr_wait_keyframe
(
string
vhost
)
{
SrsConfDirective
*
dvr
=
get_dvr
(
vhost
)
;
static
bool
DEFAULT
=
true
;
if
(
!
dvr
)
{
return
true
;
SrsConfDirective
*
conf
=
get_dvr
(
vhost
);
if
(
!
conf
)
{
return
DEFAULT
;
}
SrsConfDirective
*
conf
=
dvr
->
get
(
"dvr_wait_keyframe"
);
conf
=
conf
->
get
(
"dvr_wait_keyframe"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
true
;
return
DEFAULT
;
}
return
SRS_CONF_PERFER_TRUE
(
conf
->
arg0
());
...
...
@@ -5101,19 +5054,20 @@ bool SrsConfig::get_dvr_wait_keyframe(string vhost)
int
SrsConfig
::
get_dvr_time_jitter
(
string
vhost
)
{
SrsConfDirective
*
dvr
=
get_dvr
(
vhost
)
;
static
string
DEFAULT
=
"full"
;
std
::
string
time_jitter
=
SRS_CONF_DEFAULT_TIME_JITTER
;
SrsConfDirective
*
conf
=
get_dvr
(
vhost
)
;
if
(
dvr
)
{
SrsConfDirective
*
conf
=
dvr
->
get
(
"time_jitter"
);
if
(
conf
)
{
time_jitter
=
conf
->
arg0
();
if
(
!
conf
)
{
return
_srs_time_jitter_string2int
(
DEFAULT
);
}
conf
=
conf
->
get
(
"time_jitter"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
_srs_time_jitter_string2int
(
DEFAULT
);
}
return
_srs_time_jitter_string2int
(
time_jitter
);
return
_srs_time_jitter_string2int
(
conf
->
arg0
()
);
}
bool
SrsConfig
::
get_http_api_enabled
()
...
...
@@ -5161,7 +5115,6 @@ bool SrsConfig::get_http_api_crossdomain()
static
bool
DEFAULT
=
true
;
SrsConfDirective
*
conf
=
root
->
get
(
"http_api"
);
if
(
!
conf
)
{
return
DEFAULT
;
}
...
...
@@ -5267,7 +5220,6 @@ string SrsConfig::get_http_stream_listen()
static
string
DEFAULT
=
"8080"
;
SrsConfDirective
*
conf
=
root
->
get
(
"http_server"
);
if
(
!
conf
)
{
return
DEFAULT
;
}
...
...
@@ -5365,19 +5317,21 @@ string SrsConfig::get_vhost_http_dir(string vhost)
bool
SrsConfig
::
get_vhost_http_remux_enabled
(
string
vhost
)
{
static
bool
DEFAULT
=
false
;
SrsConfDirective
*
conf
=
get_vhost
(
vhost
);
if
(
!
conf
)
{
return
false
;
return
DEFAULT
;
}
conf
=
conf
->
get
(
"http_remux"
);
if
(
!
conf
)
{
return
false
;
return
DEFAULT
;
}
conf
=
conf
->
get
(
"enabled"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
false
;
return
DEFAULT
;
}
return
SRS_CONF_PERFER_FALSE
(
conf
->
arg0
());
...
...
@@ -5385,23 +5339,21 @@ bool SrsConfig::get_vhost_http_remux_enabled(string vhost)
double
SrsConfig
::
get_vhost_http_remux_fast_cache
(
string
vhost
)
{
static
double
DEFAULT
=
0
;
SrsConfDirective
*
conf
=
get_vhost
(
vhost
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_HTTP_AUDIO_FAST_CACHE
;
return
DEFAULT
;
}
conf
=
conf
->
get
(
"http_remux"
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_HTTP_AUDIO_FAST_CACHE
;
return
DEFAULT
;
}
conf
=
conf
->
get
(
"fast_cache"
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_HTTP_AUDIO_FAST_CACHE
;
}
if
(
conf
->
arg0
().
empty
())
{
return
SRS_CONF_DEFAULT_HTTP_AUDIO_FAST_CACHE
;
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
DEFAULT
;
}
return
::
atof
(
conf
->
arg0
().
c_str
());
...
...
@@ -5409,19 +5361,21 @@ double SrsConfig::get_vhost_http_remux_fast_cache(string vhost)
string
SrsConfig
::
get_vhost_http_remux_mount
(
string
vhost
)
{
static
string
DEFAULT
=
"[vhost]/[app]/[stream].flv"
;
SrsConfDirective
*
conf
=
get_vhost
(
vhost
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_HTTP_REMUX_MOUN
T
;
return
DEFAUL
T
;
}
conf
=
conf
->
get
(
"http_remux"
);
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_HTTP_REMUX_MOUN
T
;
return
DEFAUL
T
;
}
conf
=
conf
->
get
(
"mount"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
SRS_CONF_DEFAULT_HTTP_REMUX_MOUN
T
;
return
DEFAUL
T
;
}
return
conf
->
arg0
();
...
...
@@ -5429,22 +5383,24 @@ string SrsConfig::get_vhost_http_remux_mount(string vhost)
bool
SrsConfig
::
get_vhost_http_remux_hstrs
(
string
vhost
)
{
static
bool
DEFAULT
=
true
;
SrsConfDirective
*
conf
=
get_vhost
(
vhost
);
if
(
!
conf
)
{
return
false
;
return
DEFAULT
;
}
conf
=
conf
->
get
(
"http_remux"
);
if
(
!
conf
)
{
return
false
;
return
DEFAULT
;
}
conf
=
conf
->
get
(
"hstrs"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
false
;
return
DEFAULT
;
}
return
SRS_CONF_PERFER_
FALS
E
(
conf
->
arg0
());
return
SRS_CONF_PERFER_
TRU
E
(
conf
->
arg0
());
}
SrsConfDirective
*
SrsConfig
::
get_heartbeart
()
...
...
@@ -5454,15 +5410,16 @@ SrsConfDirective* SrsConfig::get_heartbeart()
bool
SrsConfig
::
get_heartbeat_enabled
()
{
SrsConfDirective
*
conf
=
get_heartbeart
()
;
static
bool
DEFAULT
=
false
;
SrsConfDirective
*
conf
=
get_heartbeart
();
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_HTTP_HEAETBEAT_ENABLED
;
return
DEFAULT
;
}
conf
=
conf
->
get
(
"enabled"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
SRS_CONF_DEFAULT_HTTP_HEAETBEAT_ENABLED
;
return
DEFAULT
;
}
return
SRS_CONF_PERFER_FALSE
(
conf
->
arg0
());
...
...
@@ -5470,14 +5427,16 @@ bool SrsConfig::get_heartbeat_enabled()
int64_t
SrsConfig
::
get_heartbeat_interval
()
{
SrsConfDirective
*
conf
=
get_heartbeart
(
);
static
int64_t
DEFAULT
=
(
int64_t
)(
9.9
*
1000
);
SrsConfDirective
*
conf
=
get_heartbeart
();
if
(
!
conf
)
{
return
(
int64_t
)(
SRS_CONF_DEFAULT_HTTP_HEAETBEAT_INTERVAL
*
1000
)
;
return
DEFAULT
;
}
conf
=
conf
->
get
(
"interval"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
(
int64_t
)(
SRS_CONF_DEFAULT_HTTP_HEAETBEAT_INTERVAL
*
1000
)
;
return
DEFAULT
;
}
return
(
int64_t
)(
::
atof
(
conf
->
arg0
().
c_str
())
*
1000
);
...
...
@@ -5485,15 +5444,16 @@ int64_t SrsConfig::get_heartbeat_interval()
string
SrsConfig
::
get_heartbeat_url
()
{
SrsConfDirective
*
conf
=
get_heartbeart
()
;
static
string
DEFAULT
=
"http://"
SRS_CONSTS_LOCALHOST
":8085/api/v1/servers"
;
SrsConfDirective
*
conf
=
get_heartbeart
();
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_HTTP_HEAETBEAT_URL
;
return
DEFAULT
;
}
conf
=
conf
->
get
(
"url"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
SRS_CONF_DEFAULT_HTTP_HEAETBEAT_URL
;
return
DEFAULT
;
}
return
conf
->
arg0
();
...
...
@@ -5501,15 +5461,16 @@ string SrsConfig::get_heartbeat_url()
string
SrsConfig
::
get_heartbeat_device_id
()
{
SrsConfDirective
*
conf
=
get_heartbeart
()
;
static
string
DEFAULT
=
""
;
SrsConfDirective
*
conf
=
get_heartbeart
();
if
(
!
conf
)
{
return
""
;
return
DEFAULT
;
}
conf
=
conf
->
get
(
"device_id"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
""
;
return
DEFAULT
;
}
return
conf
->
arg0
();
...
...
@@ -5517,15 +5478,16 @@ string SrsConfig::get_heartbeat_device_id()
bool
SrsConfig
::
get_heartbeat_summaries
()
{
SrsConfDirective
*
conf
=
get_heartbeart
()
;
static
bool
DEFAULT
=
false
;
SrsConfDirective
*
conf
=
get_heartbeart
();
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_HTTP_HEAETBEAT_SUMMARIES
;
return
DEFAULT
;
}
conf
=
conf
->
get
(
"summaries"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
SRS_CONF_DEFAULT_HTTP_HEAETBEAT_SUMMARIES
;
return
DEFAULT
;
}
return
SRS_CONF_PERFER_FALSE
(
conf
->
arg0
());
...
...
@@ -5538,15 +5500,16 @@ SrsConfDirective* SrsConfig::get_stats()
int
SrsConfig
::
get_stats_network
()
{
SrsConfDirective
*
conf
=
get_stats
()
;
static
int
DEFAULT
=
0
;
SrsConfDirective
*
conf
=
get_stats
();
if
(
!
conf
)
{
return
SRS_CONF_DEFAULT_STATS_NETWORK_DEVICE_INDEX
;
return
DEFAULT
;
}
conf
=
conf
->
get
(
"network"
);
if
(
!
conf
||
conf
->
arg0
().
empty
())
{
return
SRS_CONF_DEFAULT_STATS_NETWORK_DEVICE_INDEX
;
return
DEFAULT
;
}
return
::
atoi
(
conf
->
arg0
().
c_str
());
...
...
@@ -5555,7 +5518,6 @@ int SrsConfig::get_stats_network()
SrsConfDirective
*
SrsConfig
::
get_stats_disk_device
()
{
SrsConfDirective
*
conf
=
get_stats
();
if
(
!
conf
)
{
return
NULL
;
}
...
...
@@ -5663,52 +5625,52 @@ bool srs_directive_equals(SrsConfDirective* a, SrsConfDirective* b)
bool
srs_config_hls_is_on_error_ignore
(
string
strategy
)
{
return
strategy
==
SRS_CONF_DEFAULT_HLS_ON_ERROR_IGNORE
;
return
strategy
==
"ignore"
;
}
bool
srs_config_hls_is_on_error_continue
(
string
strategy
)
{
return
strategy
==
SRS_CONF_DEFAULT_HLS_ON_ERROR_CONTINUE
;
return
strategy
==
"continue"
;
}
bool
srs_config_ingest_is_file
(
string
type
)
{
return
type
==
SRS_CONF_DEFAULT_INGEST_TYPE_FILE
;
return
type
==
"file"
;
}
bool
srs_config_ingest_is_stream
(
string
type
)
{
return
type
==
SRS_CONF_DEFAULT_INGEST_TYPE_STREAM
;
return
type
==
"stream"
;
}
bool
srs_config_dvr_is_plan_segment
(
string
plan
)
{
return
plan
==
SRS_CONF_DEFAULT_DVR_PLAN_SEGMENT
;
return
plan
==
"segment"
;
}
bool
srs_config_dvr_is_plan_session
(
string
plan
)
{
return
plan
==
SRS_CONF_DEFAULT_DVR_PLAN_SESSION
;
return
plan
==
"session"
;
}
bool
srs_config_dvr_is_plan_append
(
string
plan
)
{
return
plan
==
SRS_CONF_DEFAULT_DVR_PLAN_APPEND
;
return
plan
==
"append"
;
}
bool
srs_stream_caster_is_udp
(
string
caster
)
{
return
caster
==
SRS_CONF_DEFAULT_STREAM_CASTER_MPEGTS_OVER_UDP
;
return
caster
==
"mpegts_over_udp"
;
}
bool
srs_stream_caster_is_rtsp
(
string
caster
)
{
return
caster
==
SRS_CONF_DEFAULT_STREAM_CASTER_RTSP
;
return
caster
==
"rtsp"
;
}
bool
srs_stream_caster_is_flv
(
string
caster
)
{
return
caster
==
SRS_CONF_DEFAULT_STREAM_CASTER_FLV
;
return
caster
==
"flv"
;
}
int
srs_config_transform_vhost
(
SrsConfDirective
*
root
)
...
...
trunk/src/app/srs_app_config.hpp
查看文件 @
bc100c2
...
...
@@ -431,27 +431,27 @@ public:
/**
* get whether the specified stream_caster is enabled.
*/
virtual
bool
get_stream_caster_enabled
(
SrsConfDirective
*
sc
);
virtual
bool
get_stream_caster_enabled
(
SrsConfDirective
*
conf
);
/**
* get the engine of stream_caster, the caster config.
*/
virtual
std
::
string
get_stream_caster_engine
(
SrsConfDirective
*
sc
);
virtual
std
::
string
get_stream_caster_engine
(
SrsConfDirective
*
conf
);
/**
* get the output rtmp url of stream_caster, the output config.
*/
virtual
std
::
string
get_stream_caster_output
(
SrsConfDirective
*
sc
);
virtual
std
::
string
get_stream_caster_output
(
SrsConfDirective
*
conf
);
/**
* get the listen port of stream caster.
*/
virtual
int
get_stream_caster_listen
(
SrsConfDirective
*
sc
);
virtual
int
get_stream_caster_listen
(
SrsConfDirective
*
conf
);
/**
* get the min udp port for rtp of stream caster rtsp.
*/
virtual
int
get_stream_caster_rtp_port_min
(
SrsConfDirective
*
sc
);
virtual
int
get_stream_caster_rtp_port_min
(
SrsConfDirective
*
conf
);
/**
* get the max udp port for rtp of stream caster rtsp.
*/
virtual
int
get_stream_caster_rtp_port_max
(
SrsConfDirective
*
sc
);
virtual
int
get_stream_caster_rtp_port_max
(
SrsConfDirective
*
conf
);
// vhost specified section
public:
/**
...
...
@@ -474,7 +474,7 @@ public:
* @param vhost, the vhost directive.
* @return true when vhost is ok; otherwise, false.
*/
virtual
bool
get_vhost_enabled
(
SrsConfDirective
*
vhost
);
virtual
bool
get_vhost_enabled
(
SrsConfDirective
*
conf
);
/**
* whether gop_cache is enabled of vhost.
* gop_cache used to cache last gop, for client to fast startup.
...
...
@@ -530,8 +530,7 @@ public:
* get the refer hotlink-denial for all type.
* @return the refer, NULL for not configed.
*/
// TODO: FIXME: rename to get_refer_all
virtual
SrsConfDirective
*
get_refer
(
std
::
string
vhost
);
virtual
SrsConfDirective
*
get_refer_all
(
std
::
string
vhost
);
/**
* get the refer hotlink-denial for play.
* @return the refer, NULL for not configed.
...
...
@@ -698,7 +697,7 @@ public:
* for edge, publish client will be proxyed to upnode,
* for edge, play client will share a connection to get stream from upnode.
*/
virtual
bool
get_vhost_is_edge
(
SrsConfDirective
*
vhost
);
virtual
bool
get_vhost_is_edge
(
SrsConfDirective
*
conf
);
/**
* get the origin config of edge,
* specifies the origin ip address, port.
...
...
@@ -743,106 +742,106 @@ public:
/**
* whether the transcode directive is enabled.
*/
virtual
bool
get_transcode_enabled
(
SrsConfDirective
*
transcode
);
virtual
bool
get_transcode_enabled
(
SrsConfDirective
*
conf
);
/**
* get the ffmpeg tool path of transcode.
*/
virtual
std
::
string
get_transcode_ffmpeg
(
SrsConfDirective
*
transcode
);
virtual
std
::
string
get_transcode_ffmpeg
(
SrsConfDirective
*
conf
);
/**
* get the engines of transcode.
*/
virtual
std
::
vector
<
SrsConfDirective
*>
get_transcode_engines
(
SrsConfDirective
*
transcode
);
virtual
std
::
vector
<
SrsConfDirective
*>
get_transcode_engines
(
SrsConfDirective
*
conf
);
/**
* whether the engine is enabled.
*/
virtual
bool
get_engine_enabled
(
SrsConfDirective
*
engine
);
virtual
bool
get_engine_enabled
(
SrsConfDirective
*
conf
);
/**
* get the iformat of engine
*/
virtual
std
::
string
get_engine_iformat
(
SrsConfDirective
*
engine
);
virtual
std
::
string
get_engine_iformat
(
SrsConfDirective
*
conf
);
/**
* get the vfilter of engine,
* the video filter set before the vcodec of FFMPEG.
*/
virtual
std
::
vector
<
std
::
string
>
get_engine_vfilter
(
SrsConfDirective
*
engine
);
virtual
std
::
vector
<
std
::
string
>
get_engine_vfilter
(
SrsConfDirective
*
conf
);
/**
* get the vcodec of engine,
* the codec of video, can be vn, copy or libx264
*/
virtual
std
::
string
get_engine_vcodec
(
SrsConfDirective
*
engine
);
virtual
std
::
string
get_engine_vcodec
(
SrsConfDirective
*
conf
);
/**
* get the vbitrate of engine,
* the bitrate in kbps of video, for example, 800kbps
*/
virtual
int
get_engine_vbitrate
(
SrsConfDirective
*
engine
);
virtual
int
get_engine_vbitrate
(
SrsConfDirective
*
conf
);
/**
* get the vfps of engine.
* the video fps, for example, 25fps
*/
virtual
double
get_engine_vfps
(
SrsConfDirective
*
engine
);
virtual
double
get_engine_vfps
(
SrsConfDirective
*
conf
);
/**
* get the vwidth of engine,
* the video width, for example, 1024
*/
virtual
int
get_engine_vwidth
(
SrsConfDirective
*
engine
);
virtual
int
get_engine_vwidth
(
SrsConfDirective
*
conf
);
/**
* get the vheight of engine,
* the video height, for example, 576
*/
virtual
int
get_engine_vheight
(
SrsConfDirective
*
engine
);
virtual
int
get_engine_vheight
(
SrsConfDirective
*
conf
);
/**
* get the vthreads of engine,
* the video transcode libx264 threads, for instance, 8
*/
virtual
int
get_engine_vthreads
(
SrsConfDirective
*
engine
);
virtual
int
get_engine_vthreads
(
SrsConfDirective
*
conf
);
/**
* get the vprofile of engine,
* the libx264 profile, can be high,main,baseline
*/
virtual
std
::
string
get_engine_vprofile
(
SrsConfDirective
*
engine
);
virtual
std
::
string
get_engine_vprofile
(
SrsConfDirective
*
conf
);
/**
* get the vpreset of engine,
* the libx264 preset, can be ultrafast,superfast,veryfast,faster,fast,medium,slow,slower,veryslow,placebo
*/
virtual
std
::
string
get_engine_vpreset
(
SrsConfDirective
*
engine
);
virtual
std
::
string
get_engine_vpreset
(
SrsConfDirective
*
conf
);
/**
* get the additional video params.
*/
virtual
std
::
vector
<
std
::
string
>
get_engine_vparams
(
SrsConfDirective
*
engine
);
virtual
std
::
vector
<
std
::
string
>
get_engine_vparams
(
SrsConfDirective
*
conf
);
/**
* get the acodec of engine,
* the audio codec can be an, copy or libfdk_aac
*/
virtual
std
::
string
get_engine_acodec
(
SrsConfDirective
*
engine
);
virtual
std
::
string
get_engine_acodec
(
SrsConfDirective
*
conf
);
/**
* get the abitrate of engine,
* the audio bitrate in kbps, for instance, 64kbps.
*/
virtual
int
get_engine_abitrate
(
SrsConfDirective
*
engine
);
virtual
int
get_engine_abitrate
(
SrsConfDirective
*
conf
);
/**
* get the asample_rate of engine,
* the audio sample_rate, for instance, 44100HZ
*/
virtual
int
get_engine_asample_rate
(
SrsConfDirective
*
engine
);
virtual
int
get_engine_asample_rate
(
SrsConfDirective
*
conf
);
/**
* get the achannels of engine,
* the audio channel, for instance, 1 for mono, 2 for stereo.
*/
virtual
int
get_engine_achannels
(
SrsConfDirective
*
engine
);
virtual
int
get_engine_achannels
(
SrsConfDirective
*
conf
);
/**
* get the aparams of engine,
* the audio additional params.
*/
virtual
std
::
vector
<
std
::
string
>
get_engine_aparams
(
SrsConfDirective
*
engine
);
virtual
std
::
vector
<
std
::
string
>
get_engine_aparams
(
SrsConfDirective
*
conf
);
/**
* get the oformat of engine
*/
virtual
std
::
string
get_engine_oformat
(
SrsConfDirective
*
engine
);
virtual
std
::
string
get_engine_oformat
(
SrsConfDirective
*
conf
);
/**
* get the output of engine, for example, rtmp://localhost/live/livestream,
* @remark, we will use some variable, for instance, [vhost] to substitude with vhost.
*/
virtual
std
::
string
get_engine_output
(
SrsConfDirective
*
engine
);
virtual
std
::
string
get_engine_output
(
SrsConfDirective
*
conf
);
// vhost exec secion
private:
/**
...
...
@@ -871,19 +870,19 @@ public:
/**
* whether ingest is enalbed.
*/
virtual
bool
get_ingest_enabled
(
SrsConfDirective
*
ingest
);
virtual
bool
get_ingest_enabled
(
SrsConfDirective
*
conf
);
/**
* get the ingest ffmpeg tool
*/
virtual
std
::
string
get_ingest_ffmpeg
(
SrsConfDirective
*
ingest
);
virtual
std
::
string
get_ingest_ffmpeg
(
SrsConfDirective
*
conf
);
/**
* get the ingest input type, file or stream.
*/
virtual
std
::
string
get_ingest_input_type
(
SrsConfDirective
*
ingest
);
virtual
std
::
string
get_ingest_input_type
(
SrsConfDirective
*
conf
);
/**
* get the ingest input url.
*/
virtual
std
::
string
get_ingest_input_url
(
SrsConfDirective
*
ingest
);
virtual
std
::
string
get_ingest_input_url
(
SrsConfDirective
*
conf
);
// log section
public:
/**
...
...
trunk/src/app/srs_app_rtmp_conn.cpp
查看文件 @
bc100c2
...
...
@@ -580,7 +580,7 @@ int SrsRtmpConn::check_vhost()
}
if
(
_srs_config
->
get_refer_enabled
(
req
->
vhost
))
{
if
((
ret
=
refer
->
check
(
req
->
pageUrl
,
_srs_config
->
get_refer
(
req
->
vhost
)))
!=
ERROR_SUCCESS
)
{
if
((
ret
=
refer
->
check
(
req
->
pageUrl
,
_srs_config
->
get_refer
_all
(
req
->
vhost
)))
!=
ERROR_SUCCESS
)
{
srs_error
(
"check refer failed. ret=%d"
,
ret
);
return
ret
;
}
...
...
请
注册
或
登录
后发表评论