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-09-19 14:40:32 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
b471c6e61cdb55f130b2254263689efa21c1ca76
b471c6e6
1 parent
c5cd5876
refine code, use json integter rather than number.
隐藏空白字符变更
内嵌
并排对比
正在显示
6 个修改的文件
包含
205 行增加
和
199 行删除
trunk/src/app/srs_app_config.cpp
trunk/src/app/srs_app_config.hpp
trunk/src/app/srs_app_http_api.cpp
trunk/src/app/srs_app_http_hooks.cpp
trunk/src/app/srs_app_statistic.cpp
trunk/src/app/srs_app_utility.cpp
trunk/src/app/srs_app_config.cpp
查看文件 @
b471c6e
...
...
@@ -539,7 +539,7 @@ int srs_config_dumps_engine(SrsConfDirective* dir, SrsJsonObject* engine)
}
if
((
conf
=
dir
->
get
(
"vbitrate"
))
!=
NULL
)
{
engine
->
set
(
"vbitrate"
,
conf
->
dumps_arg0_to_
numb
er
());
engine
->
set
(
"vbitrate"
,
conf
->
dumps_arg0_to_
integ
er
());
}
if
((
conf
=
dir
->
get
(
"vfps"
))
!=
NULL
)
{
...
...
@@ -547,15 +547,15 @@ int srs_config_dumps_engine(SrsConfDirective* dir, SrsJsonObject* engine)
}
if
((
conf
=
dir
->
get
(
"vwidth"
))
!=
NULL
)
{
engine
->
set
(
"vwidth"
,
conf
->
dumps_arg0_to_
numb
er
());
engine
->
set
(
"vwidth"
,
conf
->
dumps_arg0_to_
integ
er
());
}
if
((
conf
=
dir
->
get
(
"vheight"
))
!=
NULL
)
{
engine
->
set
(
"vheight"
,
conf
->
dumps_arg0_to_
numb
er
());
engine
->
set
(
"vheight"
,
conf
->
dumps_arg0_to_
integ
er
());
}
if
((
conf
=
dir
->
get
(
"vthreads"
))
!=
NULL
)
{
engine
->
set
(
"vthreads"
,
conf
->
dumps_arg0_to_
numb
er
());
engine
->
set
(
"vthreads"
,
conf
->
dumps_arg0_to_
integ
er
());
}
if
((
conf
=
dir
->
get
(
"vprofile"
))
!=
NULL
)
{
...
...
@@ -581,15 +581,15 @@ int srs_config_dumps_engine(SrsConfDirective* dir, SrsJsonObject* engine)
}
if
((
conf
=
dir
->
get
(
"abitrate"
))
!=
NULL
)
{
engine
->
set
(
"abitrate"
,
conf
->
dumps_arg0_to_
numb
er
());
engine
->
set
(
"abitrate"
,
conf
->
dumps_arg0_to_
integ
er
());
}
if
((
conf
=
dir
->
get
(
"asample_rate"
))
!=
NULL
)
{
engine
->
set
(
"asample_rate"
,
conf
->
dumps_arg0_to_
numb
er
());
engine
->
set
(
"asample_rate"
,
conf
->
dumps_arg0_to_
integ
er
());
}
if
((
conf
=
dir
->
get
(
"achannels"
))
!=
NULL
)
{
engine
->
set
(
"achannels"
,
conf
->
dumps_arg0_to_
numb
er
());
engine
->
set
(
"achannels"
,
conf
->
dumps_arg0_to_
integ
er
());
}
if
((
conf
=
dir
->
get
(
"aparams"
))
!=
NULL
)
{
...
...
@@ -883,6 +883,11 @@ SrsJsonAny* SrsConfDirective::dumps_arg0_to_str()
return
SrsJsonAny
::
str
(
arg0
().
c_str
());
}
SrsJsonAny
*
SrsConfDirective
::
dumps_arg0_to_integer
()
{
return
SrsJsonAny
::
integer
(
::
atol
(
arg0
().
c_str
()));
}
SrsJsonAny
*
SrsConfDirective
::
dumps_arg0_to_number
()
{
return
SrsJsonAny
::
number
(
::
atof
(
arg0
().
c_str
()));
...
...
@@ -2027,7 +2032,7 @@ int SrsConfig::global_to_json(SrsJsonObject* obj)
}
else
if
(
dir
->
name
==
"pid"
)
{
obj
->
set
(
dir
->
name
,
dir
->
dumps_arg0_to_str
());
}
else
if
(
dir
->
name
==
"chunk_size"
)
{
obj
->
set
(
dir
->
name
,
dir
->
dumps_arg0_to_
numb
er
());
obj
->
set
(
dir
->
name
,
dir
->
dumps_arg0_to_
integ
er
());
}
else
if
(
dir
->
name
==
"ff_log_dir"
)
{
obj
->
set
(
dir
->
name
,
dir
->
dumps_arg0_to_str
());
}
else
if
(
dir
->
name
==
"srs_log_tank"
)
{
...
...
@@ -2037,13 +2042,13 @@ int SrsConfig::global_to_json(SrsJsonObject* obj)
}
else
if
(
dir
->
name
==
"srs_log_file"
)
{
obj
->
set
(
dir
->
name
,
dir
->
dumps_arg0_to_str
());
}
else
if
(
dir
->
name
==
"max_connections"
)
{
obj
->
set
(
dir
->
name
,
dir
->
dumps_arg0_to_
numb
er
());
obj
->
set
(
dir
->
name
,
dir
->
dumps_arg0_to_
integ
er
());
}
else
if
(
dir
->
name
==
"daemon"
)
{
obj
->
set
(
dir
->
name
,
dir
->
dumps_arg0_to_boolean
());
}
else
if
(
dir
->
name
==
"utc_time"
)
{
obj
->
set
(
dir
->
name
,
dir
->
dumps_arg0_to_boolean
());
}
else
if
(
dir
->
name
==
"pithy_print_ms"
)
{
obj
->
set
(
dir
->
name
,
dir
->
dumps_arg0_to_
numb
er
());
obj
->
set
(
dir
->
name
,
dir
->
dumps_arg0_to_
integ
er
());
}
else
if
(
dir
->
name
==
"heartbeat"
)
{
SrsJsonObject
*
sobj
=
SrsJsonAny
::
object
();
for
(
int
j
=
0
;
j
<
(
int
)
dir
->
directives
.
size
();
j
++
)
{
...
...
@@ -2051,7 +2056,7 @@ int SrsConfig::global_to_json(SrsJsonObject* obj)
if
(
sdir
->
name
==
"enabled"
)
{
sobj
->
set
(
sdir
->
name
,
sdir
->
dumps_arg0_to_boolean
());
}
else
if
(
sdir
->
name
==
"interval"
)
{
sobj
->
set
(
sdir
->
name
,
sdir
->
dumps_arg0_to_
numb
er
());
sobj
->
set
(
sdir
->
name
,
sdir
->
dumps_arg0_to_
integ
er
());
}
else
if
(
sdir
->
name
==
"url"
)
{
sobj
->
set
(
sdir
->
name
,
sdir
->
dumps_arg0_to_str
());
}
else
if
(
sdir
->
name
==
"device_id"
)
{
...
...
@@ -2066,7 +2071,7 @@ int SrsConfig::global_to_json(SrsJsonObject* obj)
for
(
int
j
=
0
;
j
<
(
int
)
dir
->
directives
.
size
();
j
++
)
{
SrsConfDirective
*
sdir
=
dir
->
directives
.
at
(
j
);
if
(
sdir
->
name
==
"network"
)
{
sobj
->
set
(
sdir
->
name
,
sdir
->
dumps_arg0_to_
numb
er
());
sobj
->
set
(
sdir
->
name
,
sdir
->
dumps_arg0_to_
integ
er
());
}
else
if
(
sdir
->
name
==
"disk"
)
{
sobj
->
set
(
sdir
->
name
,
sdir
->
dumps_args
());
}
...
...
@@ -2127,9 +2132,9 @@ int SrsConfig::global_to_json(SrsJsonObject* obj)
}
else
if
(
sdir
->
name
==
"listen"
)
{
sobj
->
set
(
sdir
->
name
,
sdir
->
dumps_arg0_to_str
());
}
else
if
(
sdir
->
name
==
"rtp_port_min"
)
{
sobj
->
set
(
sdir
->
name
,
sdir
->
dumps_arg0_to_
numb
er
());
sobj
->
set
(
sdir
->
name
,
sdir
->
dumps_arg0_to_
integ
er
());
}
else
if
(
sdir
->
name
==
"rtp_port_max"
)
{
sobj
->
set
(
sdir
->
name
,
sdir
->
dumps_arg0_to_
numb
er
());
sobj
->
set
(
sdir
->
name
,
sdir
->
dumps_arg0_to_
integ
er
());
}
}
obj
->
set
(
dir
->
name
,
sobj
);
...
...
@@ -2153,7 +2158,7 @@ int SrsConfig::global_to_json(SrsJsonObject* obj)
sobjs
->
set
(
dir
->
arg0
(),
sobj
);
SrsStatisticVhost
*
svhost
=
stat
->
find_vhost
(
dir
->
arg0
());
sobj
->
set
(
"id"
,
SrsJsonAny
::
numb
er
(
svhost
?
(
double
)
svhost
->
id
:
0
));
sobj
->
set
(
"id"
,
SrsJsonAny
::
integ
er
(
svhost
?
(
double
)
svhost
->
id
:
0
));
sobj
->
set
(
"name"
,
dir
->
dumps_arg0_to_str
());
sobj
->
set
(
"enabled"
,
SrsJsonAny
::
boolean
(
get_vhost_enabled
(
dir
->
arg0
())));
...
...
@@ -2262,7 +2267,7 @@ int SrsConfig::global_to_json(SrsJsonObject* obj)
}
}
obj
->
set
(
"nb_vhosts"
,
SrsJsonAny
::
numb
er
(
nb_vhosts
));
obj
->
set
(
"nb_vhosts"
,
SrsJsonAny
::
integ
er
(
nb_vhosts
));
obj
->
set
(
"vhosts"
,
sobjs
);
return
ret
;
...
...
@@ -2278,14 +2283,14 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsJsonObject* obj)
SrsStatistic
*
stat
=
SrsStatistic
::
instance
();
SrsStatisticVhost
*
svhost
=
stat
->
find_vhost
(
vhost
->
arg0
());
obj
->
set
(
"id"
,
SrsJsonAny
::
numb
er
(
svhost
?
(
double
)
svhost
->
id
:
0
));
obj
->
set
(
"id"
,
SrsJsonAny
::
integ
er
(
svhost
?
(
double
)
svhost
->
id
:
0
));
obj
->
set
(
"name"
,
vhost
->
dumps_arg0_to_str
());
obj
->
set
(
"enabled"
,
SrsJsonAny
::
boolean
(
get_vhost_enabled
(
vhost
)));
// vhost scope configs.
if
((
dir
=
vhost
->
get
(
"chunk_size"
))
!=
NULL
)
{
obj
->
set
(
"chunk_size"
,
dir
->
dumps_arg0_to_
numb
er
());
obj
->
set
(
"chunk_size"
,
dir
->
dumps_arg0_to_
integ
er
());
}
if
((
dir
=
vhost
->
get
(
"min_latency"
))
!=
NULL
)
{
obj
->
set
(
"min_latency"
,
dir
->
dumps_arg0_to_boolean
());
...
...
@@ -2349,15 +2354,15 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsJsonObject* obj)
}
else
if
(
sdir
->
name
==
"atc_auto"
)
{
play
->
set
(
"atc_auto"
,
sdir
->
dumps_arg0_to_boolean
());
}
else
if
(
sdir
->
name
==
"mw_latency"
)
{
play
->
set
(
"mw_latency"
,
sdir
->
dumps_arg0_to_
numb
er
());
play
->
set
(
"mw_latency"
,
sdir
->
dumps_arg0_to_
integ
er
());
}
else
if
(
sdir
->
name
==
"gop_cache"
)
{
play
->
set
(
"gop_cache"
,
sdir
->
dumps_arg0_to_boolean
());
}
else
if
(
sdir
->
name
==
"queue_length"
)
{
play
->
set
(
"queue_length"
,
sdir
->
dumps_arg0_to_
numb
er
());
play
->
set
(
"queue_length"
,
sdir
->
dumps_arg0_to_
integ
er
());
}
else
if
(
sdir
->
name
==
"reduce_sequence_header"
)
{
play
->
set
(
"reduce_sequence_header"
,
sdir
->
dumps_arg0_to_boolean
());
}
else
if
(
sdir
->
name
==
"send_min_interval"
)
{
play
->
set
(
"send_min_interval"
,
sdir
->
dumps_arg0_to_
numb
er
());
play
->
set
(
"send_min_interval"
,
sdir
->
dumps_arg0_to_
integ
er
());
}
}
}
...
...
@@ -2373,11 +2378,11 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsJsonObject* obj)
if
(
sdir
->
name
==
"mr"
)
{
publish
->
set
(
"mr"
,
sdir
->
dumps_arg0_to_boolean
());
}
else
if
(
sdir
->
name
==
"mr_latency"
)
{
publish
->
set
(
"mr_latency"
,
sdir
->
dumps_arg0_to_
numb
er
());
publish
->
set
(
"mr_latency"
,
sdir
->
dumps_arg0_to_
integ
er
());
}
else
if
(
sdir
->
name
==
"firstpkt_timeout"
)
{
publish
->
set
(
"firstpkt_timeout"
,
sdir
->
dumps_arg0_to_
numb
er
());
publish
->
set
(
"firstpkt_timeout"
,
sdir
->
dumps_arg0_to_
integ
er
());
}
else
if
(
sdir
->
name
==
"normal_timeout"
)
{
publish
->
set
(
"normal_timeout"
,
sdir
->
dumps_arg0_to_
numb
er
());
publish
->
set
(
"normal_timeout"
,
sdir
->
dumps_arg0_to_
integ
er
());
}
}
}
...
...
@@ -2415,9 +2420,9 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsJsonObject* obj)
if
(
sdir
->
name
==
"key"
)
{
bandcheck
->
set
(
"key"
,
sdir
->
dumps_arg0_to_str
());
}
else
if
(
sdir
->
name
==
"interval"
)
{
bandcheck
->
set
(
"interval"
,
sdir
->
dumps_arg0_to_
numb
er
());
bandcheck
->
set
(
"interval"
,
sdir
->
dumps_arg0_to_
integ
er
());
}
else
if
(
sdir
->
name
==
"limit_kbps"
)
{
bandcheck
->
set
(
"limit_kbps"
,
sdir
->
dumps_arg0_to_
numb
er
());
bandcheck
->
set
(
"limit_kbps"
,
sdir
->
dumps_arg0_to_
integ
er
());
}
}
}
...
...
@@ -2483,7 +2488,7 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsJsonObject* obj)
SrsConfDirective
*
sdir
=
dir
->
directives
.
at
(
i
);
if
(
sdir
->
name
==
"fast_cache"
)
{
http_remux
->
set
(
"fast_cache"
,
sdir
->
dumps_arg0_to_
numb
er
());
http_remux
->
set
(
"fast_cache"
,
sdir
->
dumps_arg0_to_
integ
er
());
}
else
if
(
sdir
->
name
==
"mount"
)
{
http_remux
->
set
(
"mount"
,
sdir
->
dumps_arg0_to_str
());
}
else
if
(
sdir
->
name
==
"hstrs"
)
{
...
...
@@ -2567,7 +2572,7 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsJsonObject* obj)
}
else
if
(
sdir
->
name
==
"hls_dispose"
)
{
hls
->
set
(
"hls_dispose"
,
sdir
->
dumps_arg0_to_number
());
}
else
if
(
sdir
->
name
==
"hls_nb_notify"
)
{
hls
->
set
(
"hls_nb_notify"
,
sdir
->
dumps_arg0_to_
numb
er
());
hls
->
set
(
"hls_nb_notify"
,
sdir
->
dumps_arg0_to_
integ
er
());
}
else
if
(
sdir
->
name
==
"hls_wait_keyframe"
)
{
hls
->
set
(
"hls_wait_keyframe"
,
sdir
->
dumps_arg0_to_boolean
());
}
...
...
trunk/src/app/srs_app_config.hpp
查看文件 @
b471c6e
...
...
@@ -255,6 +255,7 @@ public:
* dumps arg0 to str, number or boolean.
*/
virtual
SrsJsonAny
*
dumps_arg0_to_str
();
virtual
SrsJsonAny
*
dumps_arg0_to_integer
();
virtual
SrsJsonAny
*
dumps_arg0_to_number
();
virtual
SrsJsonAny
*
dumps_arg0_to_boolean
();
// private parse.
...
...
trunk/src/app/srs_app_http_api.cpp
查看文件 @
b471c6e
...
...
@@ -145,8 +145,8 @@ int SrsGoApiRoot::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r)
SrsJsonObject
*
obj
=
SrsJsonAny
::
object
();
SrsAutoFree
(
SrsJsonObject
,
obj
);
obj
->
set
(
"code"
,
SrsJsonAny
::
number
(
ERROR_SUCCESS
));
obj
->
set
(
"server"
,
SrsJsonAny
::
number
(
stat
->
server_id
()));
obj
->
set
(
"code"
,
SrsJsonAny
::
integer
(
ERROR_SUCCESS
));
obj
->
set
(
"server"
,
SrsJsonAny
::
integer
(
stat
->
server_id
()));
SrsJsonObject
*
urls
=
SrsJsonAny
::
object
();
obj
->
set
(
"urls"
,
urls
);
...
...
@@ -171,8 +171,8 @@ int SrsGoApiApi::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r)
SrsJsonObject
*
obj
=
SrsJsonAny
::
object
();
SrsAutoFree
(
SrsJsonObject
,
obj
);
obj
->
set
(
"code"
,
SrsJsonAny
::
number
(
ERROR_SUCCESS
));
obj
->
set
(
"server"
,
SrsJsonAny
::
number
(
stat
->
server_id
()));
obj
->
set
(
"code"
,
SrsJsonAny
::
integer
(
ERROR_SUCCESS
));
obj
->
set
(
"server"
,
SrsJsonAny
::
integer
(
stat
->
server_id
()));
SrsJsonObject
*
urls
=
SrsJsonAny
::
object
();
obj
->
set
(
"urls"
,
urls
);
...
...
@@ -197,8 +197,8 @@ int SrsGoApiV1::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r)
SrsJsonObject
*
obj
=
SrsJsonAny
::
object
();
SrsAutoFree
(
SrsJsonObject
,
obj
);
obj
->
set
(
"code"
,
SrsJsonAny
::
number
(
ERROR_SUCCESS
));
obj
->
set
(
"server"
,
SrsJsonAny
::
number
(
stat
->
server_id
()));
obj
->
set
(
"code"
,
SrsJsonAny
::
integer
(
ERROR_SUCCESS
));
obj
->
set
(
"server"
,
SrsJsonAny
::
integer
(
stat
->
server_id
()));
SrsJsonObject
*
urls
=
SrsJsonAny
::
object
();
obj
->
set
(
"urls"
,
urls
);
...
...
@@ -243,15 +243,15 @@ int SrsGoApiVersion::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r)
SrsJsonObject
*
obj
=
SrsJsonAny
::
object
();
SrsAutoFree
(
SrsJsonObject
,
obj
);
obj
->
set
(
"code"
,
SrsJsonAny
::
number
(
ERROR_SUCCESS
));
obj
->
set
(
"server"
,
SrsJsonAny
::
number
(
stat
->
server_id
()));
obj
->
set
(
"code"
,
SrsJsonAny
::
integer
(
ERROR_SUCCESS
));
obj
->
set
(
"server"
,
SrsJsonAny
::
integer
(
stat
->
server_id
()));
SrsJsonObject
*
data
=
SrsJsonAny
::
object
();
obj
->
set
(
"data"
,
data
);
data
->
set
(
"major"
,
SrsJsonAny
::
number
(
VERSION_MAJOR
));
data
->
set
(
"minor"
,
SrsJsonAny
::
number
(
VERSION_MINOR
));
data
->
set
(
"revision"
,
SrsJsonAny
::
number
(
VERSION_REVISION
));
data
->
set
(
"major"
,
SrsJsonAny
::
integer
(
VERSION_MAJOR
));
data
->
set
(
"minor"
,
SrsJsonAny
::
integer
(
VERSION_MINOR
));
data
->
set
(
"revision"
,
SrsJsonAny
::
integer
(
VERSION_REVISION
));
data
->
set
(
"version"
,
SrsJsonAny
::
str
(
RTMP_SIG_SRS_VERSION
));
return
srs_api_response
(
w
,
r
,
obj
->
dumps
());
...
...
@@ -290,8 +290,8 @@ int SrsGoApiRusages::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r)
SrsJsonObject
*
obj
=
SrsJsonAny
::
object
();
SrsAutoFree
(
SrsJsonObject
,
obj
);
obj
->
set
(
"code"
,
SrsJsonAny
::
number
(
ERROR_SUCCESS
));
obj
->
set
(
"server"
,
SrsJsonAny
::
number
(
stat
->
server_id
()));
obj
->
set
(
"code"
,
SrsJsonAny
::
integer
(
ERROR_SUCCESS
));
obj
->
set
(
"server"
,
SrsJsonAny
::
integer
(
stat
->
server_id
()));
SrsJsonObject
*
data
=
SrsJsonAny
::
object
();
obj
->
set
(
"data"
,
data
);
...
...
@@ -299,23 +299,23 @@ int SrsGoApiRusages::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r)
SrsRusage
*
ru
=
srs_get_system_rusage
();
data
->
set
(
"ok"
,
SrsJsonAny
::
boolean
(
ru
->
ok
));
data
->
set
(
"sample_time"
,
SrsJsonAny
::
number
(
ru
->
sample_time
));
data
->
set
(
"ru_utime"
,
SrsJsonAny
::
number
(
ru
->
r
.
ru_utime
.
tv_sec
));
data
->
set
(
"ru_stime"
,
SrsJsonAny
::
number
(
ru
->
r
.
ru_stime
.
tv_sec
));
data
->
set
(
"ru_maxrss"
,
SrsJsonAny
::
number
(
ru
->
r
.
ru_maxrss
));
data
->
set
(
"ru_ixrss"
,
SrsJsonAny
::
number
(
ru
->
r
.
ru_ixrss
));
data
->
set
(
"ru_idrss"
,
SrsJsonAny
::
number
(
ru
->
r
.
ru_idrss
));
data
->
set
(
"ru_isrss"
,
SrsJsonAny
::
number
(
ru
->
r
.
ru_isrss
));
data
->
set
(
"ru_minflt"
,
SrsJsonAny
::
number
(
ru
->
r
.
ru_minflt
));
data
->
set
(
"ru_majflt"
,
SrsJsonAny
::
number
(
ru
->
r
.
ru_majflt
));
data
->
set
(
"ru_nswap"
,
SrsJsonAny
::
number
(
ru
->
r
.
ru_nswap
));
data
->
set
(
"ru_inblock"
,
SrsJsonAny
::
number
(
ru
->
r
.
ru_inblock
));
data
->
set
(
"ru_oublock"
,
SrsJsonAny
::
number
(
ru
->
r
.
ru_oublock
));
data
->
set
(
"ru_msgsnd"
,
SrsJsonAny
::
number
(
ru
->
r
.
ru_msgsnd
));
data
->
set
(
"ru_msgrcv"
,
SrsJsonAny
::
number
(
ru
->
r
.
ru_msgrcv
));
data
->
set
(
"ru_nsignals"
,
SrsJsonAny
::
number
(
ru
->
r
.
ru_nsignals
));
data
->
set
(
"ru_nvcsw"
,
SrsJsonAny
::
number
(
ru
->
r
.
ru_nvcsw
));
data
->
set
(
"ru_nivcsw"
,
SrsJsonAny
::
number
(
ru
->
r
.
ru_nivcsw
));
data
->
set
(
"sample_time"
,
SrsJsonAny
::
integer
(
ru
->
sample_time
));
data
->
set
(
"ru_utime"
,
SrsJsonAny
::
integer
(
ru
->
r
.
ru_utime
.
tv_sec
));
data
->
set
(
"ru_stime"
,
SrsJsonAny
::
integer
(
ru
->
r
.
ru_stime
.
tv_sec
));
data
->
set
(
"ru_maxrss"
,
SrsJsonAny
::
integer
(
ru
->
r
.
ru_maxrss
));
data
->
set
(
"ru_ixrss"
,
SrsJsonAny
::
integer
(
ru
->
r
.
ru_ixrss
));
data
->
set
(
"ru_idrss"
,
SrsJsonAny
::
integer
(
ru
->
r
.
ru_idrss
));
data
->
set
(
"ru_isrss"
,
SrsJsonAny
::
integer
(
ru
->
r
.
ru_isrss
));
data
->
set
(
"ru_minflt"
,
SrsJsonAny
::
integer
(
ru
->
r
.
ru_minflt
));
data
->
set
(
"ru_majflt"
,
SrsJsonAny
::
integer
(
ru
->
r
.
ru_majflt
));
data
->
set
(
"ru_nswap"
,
SrsJsonAny
::
integer
(
ru
->
r
.
ru_nswap
));
data
->
set
(
"ru_inblock"
,
SrsJsonAny
::
integer
(
ru
->
r
.
ru_inblock
));
data
->
set
(
"ru_oublock"
,
SrsJsonAny
::
integer
(
ru
->
r
.
ru_oublock
));
data
->
set
(
"ru_msgsnd"
,
SrsJsonAny
::
integer
(
ru
->
r
.
ru_msgsnd
));
data
->
set
(
"ru_msgrcv"
,
SrsJsonAny
::
integer
(
ru
->
r
.
ru_msgrcv
));
data
->
set
(
"ru_nsignals"
,
SrsJsonAny
::
integer
(
ru
->
r
.
ru_nsignals
));
data
->
set
(
"ru_nvcsw"
,
SrsJsonAny
::
integer
(
ru
->
r
.
ru_nvcsw
));
data
->
set
(
"ru_nivcsw"
,
SrsJsonAny
::
integer
(
ru
->
r
.
ru_nivcsw
));
return
srs_api_response
(
w
,
r
,
obj
->
dumps
());
}
...
...
@@ -335,8 +335,8 @@ int SrsGoApiSelfProcStats::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage
SrsJsonObject
*
obj
=
SrsJsonAny
::
object
();
SrsAutoFree
(
SrsJsonObject
,
obj
);
obj
->
set
(
"code"
,
SrsJsonAny
::
number
(
ERROR_SUCCESS
));
obj
->
set
(
"server"
,
SrsJsonAny
::
number
(
stat
->
server_id
()));
obj
->
set
(
"code"
,
SrsJsonAny
::
integer
(
ERROR_SUCCESS
));
obj
->
set
(
"server"
,
SrsJsonAny
::
integer
(
stat
->
server_id
()));
SrsJsonObject
*
data
=
SrsJsonAny
::
object
();
obj
->
set
(
"data"
,
data
);
...
...
@@ -347,52 +347,52 @@ int SrsGoApiSelfProcStats::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage
state
+=
(
char
)
u
->
state
;
data
->
set
(
"ok"
,
SrsJsonAny
::
boolean
(
u
->
ok
));
data
->
set
(
"sample_time"
,
SrsJsonAny
::
numb
er
(
u
->
sample_time
));
data
->
set
(
"sample_time"
,
SrsJsonAny
::
integ
er
(
u
->
sample_time
));
data
->
set
(
"percent"
,
SrsJsonAny
::
number
(
u
->
percent
));
data
->
set
(
"pid"
,
SrsJsonAny
::
numb
er
(
u
->
pid
));
data
->
set
(
"pid"
,
SrsJsonAny
::
integ
er
(
u
->
pid
));
data
->
set
(
"comm"
,
SrsJsonAny
::
str
(
u
->
comm
));
data
->
set
(
"state"
,
SrsJsonAny
::
str
(
state
.
c_str
()));
data
->
set
(
"ppid"
,
SrsJsonAny
::
number
(
u
->
ppid
));
data
->
set
(
"pgrp"
,
SrsJsonAny
::
number
(
u
->
pgrp
));
data
->
set
(
"session"
,
SrsJsonAny
::
number
(
u
->
session
));
data
->
set
(
"tty_nr"
,
SrsJsonAny
::
number
(
u
->
tty_nr
));
data
->
set
(
"tpgid"
,
SrsJsonAny
::
number
(
u
->
tpgid
));
data
->
set
(
"flags"
,
SrsJsonAny
::
number
(
u
->
flags
));
data
->
set
(
"minflt"
,
SrsJsonAny
::
number
(
u
->
minflt
));
data
->
set
(
"cminflt"
,
SrsJsonAny
::
number
(
u
->
cminflt
));
data
->
set
(
"majflt"
,
SrsJsonAny
::
number
(
u
->
majflt
));
data
->
set
(
"cmajflt"
,
SrsJsonAny
::
number
(
u
->
cmajflt
));
data
->
set
(
"utime"
,
SrsJsonAny
::
number
(
u
->
utime
));
data
->
set
(
"stime"
,
SrsJsonAny
::
number
(
u
->
stime
));
data
->
set
(
"cutime"
,
SrsJsonAny
::
number
(
u
->
cutime
));
data
->
set
(
"cstime"
,
SrsJsonAny
::
number
(
u
->
cstime
));
data
->
set
(
"priority"
,
SrsJsonAny
::
number
(
u
->
priority
));
data
->
set
(
"nice"
,
SrsJsonAny
::
number
(
u
->
nice
));
data
->
set
(
"num_threads"
,
SrsJsonAny
::
number
(
u
->
num_threads
));
data
->
set
(
"itrealvalue"
,
SrsJsonAny
::
number
(
u
->
itrealvalue
));
data
->
set
(
"starttime"
,
SrsJsonAny
::
number
(
u
->
starttime
));
data
->
set
(
"vsize"
,
SrsJsonAny
::
number
(
u
->
vsize
));
data
->
set
(
"rss"
,
SrsJsonAny
::
number
(
u
->
rss
));
data
->
set
(
"rsslim"
,
SrsJsonAny
::
number
(
u
->
rsslim
));
data
->
set
(
"startcode"
,
SrsJsonAny
::
number
(
u
->
startcode
));
data
->
set
(
"endcode"
,
SrsJsonAny
::
number
(
u
->
endcode
));
data
->
set
(
"startstack"
,
SrsJsonAny
::
number
(
u
->
startstack
));
data
->
set
(
"kstkesp"
,
SrsJsonAny
::
number
(
u
->
kstkesp
));
data
->
set
(
"kstkeip"
,
SrsJsonAny
::
number
(
u
->
kstkeip
));
data
->
set
(
"signal"
,
SrsJsonAny
::
number
(
u
->
signal
));
data
->
set
(
"blocked"
,
SrsJsonAny
::
number
(
u
->
blocked
));
data
->
set
(
"sigignore"
,
SrsJsonAny
::
number
(
u
->
sigignore
));
data
->
set
(
"sigcatch"
,
SrsJsonAny
::
number
(
u
->
sigcatch
));
data
->
set
(
"wchan"
,
SrsJsonAny
::
number
(
u
->
wchan
));
data
->
set
(
"nswap"
,
SrsJsonAny
::
number
(
u
->
nswap
));
data
->
set
(
"cnswap"
,
SrsJsonAny
::
number
(
u
->
cnswap
));
data
->
set
(
"exit_signal"
,
SrsJsonAny
::
number
(
u
->
exit_signal
));
data
->
set
(
"processor"
,
SrsJsonAny
::
number
(
u
->
processor
));
data
->
set
(
"rt_priority"
,
SrsJsonAny
::
number
(
u
->
rt_priority
));
data
->
set
(
"policy"
,
SrsJsonAny
::
number
(
u
->
policy
));
data
->
set
(
"delayacct_blkio_ticks"
,
SrsJsonAny
::
number
(
u
->
delayacct_blkio_ticks
));
data
->
set
(
"guest_time"
,
SrsJsonAny
::
number
(
u
->
guest_time
));
data
->
set
(
"cguest_time"
,
SrsJsonAny
::
number
(
u
->
cguest_time
));
data
->
set
(
"ppid"
,
SrsJsonAny
::
integer
(
u
->
ppid
));
data
->
set
(
"pgrp"
,
SrsJsonAny
::
integer
(
u
->
pgrp
));
data
->
set
(
"session"
,
SrsJsonAny
::
integer
(
u
->
session
));
data
->
set
(
"tty_nr"
,
SrsJsonAny
::
integer
(
u
->
tty_nr
));
data
->
set
(
"tpgid"
,
SrsJsonAny
::
integer
(
u
->
tpgid
));
data
->
set
(
"flags"
,
SrsJsonAny
::
integer
(
u
->
flags
));
data
->
set
(
"minflt"
,
SrsJsonAny
::
integer
(
u
->
minflt
));
data
->
set
(
"cminflt"
,
SrsJsonAny
::
integer
(
u
->
cminflt
));
data
->
set
(
"majflt"
,
SrsJsonAny
::
integer
(
u
->
majflt
));
data
->
set
(
"cmajflt"
,
SrsJsonAny
::
integer
(
u
->
cmajflt
));
data
->
set
(
"utime"
,
SrsJsonAny
::
integer
(
u
->
utime
));
data
->
set
(
"stime"
,
SrsJsonAny
::
integer
(
u
->
stime
));
data
->
set
(
"cutime"
,
SrsJsonAny
::
integer
(
u
->
cutime
));
data
->
set
(
"cstime"
,
SrsJsonAny
::
integer
(
u
->
cstime
));
data
->
set
(
"priority"
,
SrsJsonAny
::
integer
(
u
->
priority
));
data
->
set
(
"nice"
,
SrsJsonAny
::
integer
(
u
->
nice
));
data
->
set
(
"num_threads"
,
SrsJsonAny
::
integer
(
u
->
num_threads
));
data
->
set
(
"itrealvalue"
,
SrsJsonAny
::
integer
(
u
->
itrealvalue
));
data
->
set
(
"starttime"
,
SrsJsonAny
::
integer
(
u
->
starttime
));
data
->
set
(
"vsize"
,
SrsJsonAny
::
integer
(
u
->
vsize
));
data
->
set
(
"rss"
,
SrsJsonAny
::
integer
(
u
->
rss
));
data
->
set
(
"rsslim"
,
SrsJsonAny
::
integer
(
u
->
rsslim
));
data
->
set
(
"startcode"
,
SrsJsonAny
::
integer
(
u
->
startcode
));
data
->
set
(
"endcode"
,
SrsJsonAny
::
integer
(
u
->
endcode
));
data
->
set
(
"startstack"
,
SrsJsonAny
::
integer
(
u
->
startstack
));
data
->
set
(
"kstkesp"
,
SrsJsonAny
::
integer
(
u
->
kstkesp
));
data
->
set
(
"kstkeip"
,
SrsJsonAny
::
integer
(
u
->
kstkeip
));
data
->
set
(
"signal"
,
SrsJsonAny
::
integer
(
u
->
signal
));
data
->
set
(
"blocked"
,
SrsJsonAny
::
integer
(
u
->
blocked
));
data
->
set
(
"sigignore"
,
SrsJsonAny
::
integer
(
u
->
sigignore
));
data
->
set
(
"sigcatch"
,
SrsJsonAny
::
integer
(
u
->
sigcatch
));
data
->
set
(
"wchan"
,
SrsJsonAny
::
integer
(
u
->
wchan
));
data
->
set
(
"nswap"
,
SrsJsonAny
::
integer
(
u
->
nswap
));
data
->
set
(
"cnswap"
,
SrsJsonAny
::
integer
(
u
->
cnswap
));
data
->
set
(
"exit_signal"
,
SrsJsonAny
::
integer
(
u
->
exit_signal
));
data
->
set
(
"processor"
,
SrsJsonAny
::
integer
(
u
->
processor
));
data
->
set
(
"rt_priority"
,
SrsJsonAny
::
integer
(
u
->
rt_priority
));
data
->
set
(
"policy"
,
SrsJsonAny
::
integer
(
u
->
policy
));
data
->
set
(
"delayacct_blkio_ticks"
,
SrsJsonAny
::
integer
(
u
->
delayacct_blkio_ticks
));
data
->
set
(
"guest_time"
,
SrsJsonAny
::
integer
(
u
->
guest_time
));
data
->
set
(
"cguest_time"
,
SrsJsonAny
::
integer
(
u
->
cguest_time
));
return
srs_api_response
(
w
,
r
,
obj
->
dumps
());
}
...
...
@@ -412,8 +412,8 @@ int SrsGoApiSystemProcStats::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessa
SrsJsonObject
*
obj
=
SrsJsonAny
::
object
();
SrsAutoFree
(
SrsJsonObject
,
obj
);
obj
->
set
(
"code"
,
SrsJsonAny
::
number
(
ERROR_SUCCESS
));
obj
->
set
(
"server"
,
SrsJsonAny
::
number
(
stat
->
server_id
()));
obj
->
set
(
"code"
,
SrsJsonAny
::
integer
(
ERROR_SUCCESS
));
obj
->
set
(
"server"
,
SrsJsonAny
::
integer
(
stat
->
server_id
()));
SrsJsonObject
*
data
=
SrsJsonAny
::
object
();
obj
->
set
(
"data"
,
data
);
...
...
@@ -421,17 +421,17 @@ int SrsGoApiSystemProcStats::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessa
SrsProcSystemStat
*
s
=
srs_get_system_proc_stat
();
data
->
set
(
"ok"
,
SrsJsonAny
::
boolean
(
s
->
ok
));
data
->
set
(
"sample_time"
,
SrsJsonAny
::
numb
er
(
s
->
sample_time
));
data
->
set
(
"sample_time"
,
SrsJsonAny
::
integ
er
(
s
->
sample_time
));
data
->
set
(
"percent"
,
SrsJsonAny
::
number
(
s
->
percent
));
data
->
set
(
"user"
,
SrsJsonAny
::
number
(
s
->
user
));
data
->
set
(
"nice"
,
SrsJsonAny
::
number
(
s
->
nice
));
data
->
set
(
"sys"
,
SrsJsonAny
::
number
(
s
->
sys
));
data
->
set
(
"idle"
,
SrsJsonAny
::
number
(
s
->
idle
));
data
->
set
(
"iowait"
,
SrsJsonAny
::
number
(
s
->
iowait
));
data
->
set
(
"irq"
,
SrsJsonAny
::
number
(
s
->
irq
));
data
->
set
(
"softirq"
,
SrsJsonAny
::
number
(
s
->
softirq
));
data
->
set
(
"steal"
,
SrsJsonAny
::
number
(
s
->
steal
));
data
->
set
(
"guest"
,
SrsJsonAny
::
number
(
s
->
guest
));
data
->
set
(
"user"
,
SrsJsonAny
::
integer
(
s
->
user
));
data
->
set
(
"nice"
,
SrsJsonAny
::
integer
(
s
->
nice
));
data
->
set
(
"sys"
,
SrsJsonAny
::
integer
(
s
->
sys
));
data
->
set
(
"idle"
,
SrsJsonAny
::
integer
(
s
->
idle
));
data
->
set
(
"iowait"
,
SrsJsonAny
::
integer
(
s
->
iowait
));
data
->
set
(
"irq"
,
SrsJsonAny
::
integer
(
s
->
irq
));
data
->
set
(
"softirq"
,
SrsJsonAny
::
integer
(
s
->
softirq
));
data
->
set
(
"steal"
,
SrsJsonAny
::
integer
(
s
->
steal
));
data
->
set
(
"guest"
,
SrsJsonAny
::
integer
(
s
->
guest
));
return
srs_api_response
(
w
,
r
,
obj
->
dumps
());
}
...
...
@@ -451,8 +451,8 @@ int SrsGoApiMemInfos::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r)
SrsJsonObject
*
obj
=
SrsJsonAny
::
object
();
SrsAutoFree
(
SrsJsonObject
,
obj
);
obj
->
set
(
"code"
,
SrsJsonAny
::
number
(
ERROR_SUCCESS
));
obj
->
set
(
"server"
,
SrsJsonAny
::
number
(
stat
->
server_id
()));
obj
->
set
(
"code"
,
SrsJsonAny
::
integer
(
ERROR_SUCCESS
));
obj
->
set
(
"server"
,
SrsJsonAny
::
integer
(
stat
->
server_id
()));
SrsJsonObject
*
data
=
SrsJsonAny
::
object
();
obj
->
set
(
"data"
,
data
);
...
...
@@ -460,18 +460,18 @@ int SrsGoApiMemInfos::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r)
SrsMemInfo
*
m
=
srs_get_meminfo
();
data
->
set
(
"ok"
,
SrsJsonAny
::
boolean
(
m
->
ok
));
data
->
set
(
"sample_time"
,
SrsJsonAny
::
numb
er
(
m
->
sample_time
));
data
->
set
(
"sample_time"
,
SrsJsonAny
::
integ
er
(
m
->
sample_time
));
data
->
set
(
"percent_ram"
,
SrsJsonAny
::
number
(
m
->
percent_ram
));
data
->
set
(
"percent_swap"
,
SrsJsonAny
::
number
(
m
->
percent_swap
));
data
->
set
(
"MemActive"
,
SrsJsonAny
::
number
(
m
->
MemActive
));
data
->
set
(
"RealInUse"
,
SrsJsonAny
::
number
(
m
->
RealInUse
));
data
->
set
(
"NotInUse"
,
SrsJsonAny
::
number
(
m
->
NotInUse
));
data
->
set
(
"MemTotal"
,
SrsJsonAny
::
number
(
m
->
MemTotal
));
data
->
set
(
"MemFree"
,
SrsJsonAny
::
number
(
m
->
MemFree
));
data
->
set
(
"Buffers"
,
SrsJsonAny
::
number
(
m
->
Buffers
));
data
->
set
(
"Cached"
,
SrsJsonAny
::
number
(
m
->
Cached
));
data
->
set
(
"SwapTotal"
,
SrsJsonAny
::
number
(
m
->
SwapTotal
));
data
->
set
(
"SwapFree"
,
SrsJsonAny
::
number
(
m
->
SwapFree
));
data
->
set
(
"MemActive"
,
SrsJsonAny
::
integer
(
m
->
MemActive
));
data
->
set
(
"RealInUse"
,
SrsJsonAny
::
integer
(
m
->
RealInUse
));
data
->
set
(
"NotInUse"
,
SrsJsonAny
::
integer
(
m
->
NotInUse
));
data
->
set
(
"MemTotal"
,
SrsJsonAny
::
integer
(
m
->
MemTotal
));
data
->
set
(
"MemFree"
,
SrsJsonAny
::
integer
(
m
->
MemFree
));
data
->
set
(
"Buffers"
,
SrsJsonAny
::
integer
(
m
->
Buffers
));
data
->
set
(
"Cached"
,
SrsJsonAny
::
integer
(
m
->
Cached
));
data
->
set
(
"SwapTotal"
,
SrsJsonAny
::
integer
(
m
->
SwapTotal
));
data
->
set
(
"SwapFree"
,
SrsJsonAny
::
integer
(
m
->
SwapFree
));
return
srs_api_response
(
w
,
r
,
obj
->
dumps
());
}
...
...
@@ -491,8 +491,8 @@ int SrsGoApiAuthors::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r)
SrsJsonObject
*
obj
=
SrsJsonAny
::
object
();
SrsAutoFree
(
SrsJsonObject
,
obj
);
obj
->
set
(
"code"
,
SrsJsonAny
::
number
(
ERROR_SUCCESS
));
obj
->
set
(
"server"
,
SrsJsonAny
::
number
(
stat
->
server_id
()));
obj
->
set
(
"code"
,
SrsJsonAny
::
integer
(
ERROR_SUCCESS
));
obj
->
set
(
"server"
,
SrsJsonAny
::
integer
(
stat
->
server_id
()));
SrsJsonObject
*
data
=
SrsJsonAny
::
object
();
obj
->
set
(
"data"
,
data
);
...
...
@@ -522,8 +522,8 @@ int SrsGoApiFeatures::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r)
SrsJsonObject
*
obj
=
SrsJsonAny
::
object
();
SrsAutoFree
(
SrsJsonObject
,
obj
);
obj
->
set
(
"code"
,
SrsJsonAny
::
number
(
ERROR_SUCCESS
));
obj
->
set
(
"server"
,
SrsJsonAny
::
number
(
stat
->
server_id
()));
obj
->
set
(
"code"
,
SrsJsonAny
::
integer
(
ERROR_SUCCESS
));
obj
->
set
(
"server"
,
SrsJsonAny
::
integer
(
stat
->
server_id
()));
SrsJsonObject
*
data
=
SrsJsonAny
::
object
();
obj
->
set
(
"data"
,
data
);
...
...
@@ -640,8 +640,8 @@ int SrsGoApiRequests::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r)
SrsJsonObject
*
obj
=
SrsJsonAny
::
object
();
SrsAutoFree
(
SrsJsonObject
,
obj
);
obj
->
set
(
"code"
,
SrsJsonAny
::
number
(
ERROR_SUCCESS
));
obj
->
set
(
"server"
,
SrsJsonAny
::
number
(
stat
->
server_id
()));
obj
->
set
(
"code"
,
SrsJsonAny
::
integer
(
ERROR_SUCCESS
));
obj
->
set
(
"server"
,
SrsJsonAny
::
integer
(
stat
->
server_id
()));
SrsJsonObject
*
data
=
SrsJsonAny
::
object
();
obj
->
set
(
"data"
,
data
);
...
...
@@ -670,7 +670,7 @@ int SrsGoApiRequests::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r)
server
->
set
(
"name"
,
SrsJsonAny
::
str
(
RTMP_SIG_SRS_NAME
));
server
->
set
(
"version"
,
SrsJsonAny
::
str
(
RTMP_SIG_SRS_VERSION
));
server
->
set
(
"link"
,
SrsJsonAny
::
str
(
RTMP_SIG_SRS_URL
));
server
->
set
(
"time"
,
SrsJsonAny
::
numb
er
(
srs_get_system_time_ms
()));
server
->
set
(
"time"
,
SrsJsonAny
::
integ
er
(
srs_get_system_time_ms
()));
return
srs_api_response
(
w
,
r
,
obj
->
dumps
());
}
...
...
@@ -703,8 +703,8 @@ int SrsGoApiVhosts::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r)
SrsJsonObject
*
obj
=
SrsJsonAny
::
object
();
SrsAutoFree
(
SrsJsonObject
,
obj
);
obj
->
set
(
"code"
,
SrsJsonAny
::
number
(
ERROR_SUCCESS
));
obj
->
set
(
"server"
,
SrsJsonAny
::
number
(
stat
->
server_id
()));
obj
->
set
(
"code"
,
SrsJsonAny
::
integer
(
ERROR_SUCCESS
));
obj
->
set
(
"server"
,
SrsJsonAny
::
integer
(
stat
->
server_id
()));
if
(
r
->
is_http_get
())
{
if
(
!
vhost
)
{
...
...
@@ -757,8 +757,8 @@ int SrsGoApiStreams::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r)
SrsJsonObject
*
obj
=
SrsJsonAny
::
object
();
SrsAutoFree
(
SrsJsonObject
,
obj
);
obj
->
set
(
"code"
,
SrsJsonAny
::
number
(
ERROR_SUCCESS
));
obj
->
set
(
"server"
,
SrsJsonAny
::
number
(
stat
->
server_id
()));
obj
->
set
(
"code"
,
SrsJsonAny
::
integer
(
ERROR_SUCCESS
));
obj
->
set
(
"server"
,
SrsJsonAny
::
integer
(
stat
->
server_id
()));
if
(
r
->
is_http_get
())
{
if
(
!
stream
)
{
...
...
@@ -811,8 +811,8 @@ int SrsGoApiClients::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r)
SrsJsonObject
*
obj
=
SrsJsonAny
::
object
();
SrsAutoFree
(
SrsJsonObject
,
obj
);
obj
->
set
(
"code"
,
SrsJsonAny
::
number
(
ERROR_SUCCESS
));
obj
->
set
(
"server"
,
SrsJsonAny
::
number
(
stat
->
server_id
()));
obj
->
set
(
"code"
,
SrsJsonAny
::
integer
(
ERROR_SUCCESS
));
obj
->
set
(
"server"
,
SrsJsonAny
::
integer
(
stat
->
server_id
()));
if
(
r
->
is_http_get
())
{
if
(
!
client
)
{
...
...
@@ -872,7 +872,7 @@ int SrsGoApiRaw::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r)
// the object to return for request.
SrsJsonObject
*
obj
=
SrsJsonAny
::
object
();
SrsAutoFree
(
SrsJsonObject
,
obj
);
obj
->
set
(
"code"
,
SrsJsonAny
::
numb
er
(
ERROR_SUCCESS
));
obj
->
set
(
"code"
,
SrsJsonAny
::
integ
er
(
ERROR_SUCCESS
));
// for rpc=raw, to query the raw api config for http api.
if
(
rpc
==
"raw"
)
{
...
...
trunk/src/app/srs_app_http_hooks.cpp
查看文件 @
b471c6e
...
...
@@ -67,7 +67,7 @@ int SrsHttpHooks::on_connect(string url, SrsRequest* req)
SrsAutoFree
(
SrsJsonObject
,
obj
);
obj
->
set
(
"action"
,
SrsJsonAny
::
str
(
"on_connect"
));
obj
->
set
(
"client_id"
,
SrsJsonAny
::
numb
er
(
client_id
));
obj
->
set
(
"client_id"
,
SrsJsonAny
::
integ
er
(
client_id
));
obj
->
set
(
"ip"
,
SrsJsonAny
::
str
(
req
->
ip
.
c_str
()));
obj
->
set
(
"vhost"
,
SrsJsonAny
::
str
(
req
->
vhost
.
c_str
()));
obj
->
set
(
"app"
,
SrsJsonAny
::
str
(
req
->
app
.
c_str
()));
...
...
@@ -103,12 +103,12 @@ void SrsHttpHooks::on_close(string url, SrsRequest* req, int64_t send_bytes, int
SrsAutoFree
(
SrsJsonObject
,
obj
);
obj
->
set
(
"action"
,
SrsJsonAny
::
str
(
"on_close"
));
obj
->
set
(
"client_id"
,
SrsJsonAny
::
numb
er
(
client_id
));
obj
->
set
(
"client_id"
,
SrsJsonAny
::
integ
er
(
client_id
));
obj
->
set
(
"ip"
,
SrsJsonAny
::
str
(
req
->
ip
.
c_str
()));
obj
->
set
(
"vhost"
,
SrsJsonAny
::
str
(
req
->
vhost
.
c_str
()));
obj
->
set
(
"app"
,
SrsJsonAny
::
str
(
req
->
app
.
c_str
()));
obj
->
set
(
"send_bytes"
,
SrsJsonAny
::
number
(
send_bytes
));
obj
->
set
(
"recv_bytes"
,
SrsJsonAny
::
number
(
recv_bytes
));
obj
->
set
(
"send_bytes"
,
SrsJsonAny
::
integer
(
send_bytes
));
obj
->
set
(
"recv_bytes"
,
SrsJsonAny
::
integer
(
recv_bytes
));
std
::
string
data
=
obj
->
dumps
();
std
::
string
res
;
...
...
@@ -139,7 +139,7 @@ int SrsHttpHooks::on_publish(string url, SrsRequest* req)
SrsAutoFree
(
SrsJsonObject
,
obj
);
obj
->
set
(
"action"
,
SrsJsonAny
::
str
(
"on_publish"
));
obj
->
set
(
"client_id"
,
SrsJsonAny
::
numb
er
(
client_id
));
obj
->
set
(
"client_id"
,
SrsJsonAny
::
integ
er
(
client_id
));
obj
->
set
(
"ip"
,
SrsJsonAny
::
str
(
req
->
ip
.
c_str
()));
obj
->
set
(
"vhost"
,
SrsJsonAny
::
str
(
req
->
vhost
.
c_str
()));
obj
->
set
(
"app"
,
SrsJsonAny
::
str
(
req
->
app
.
c_str
()));
...
...
@@ -174,7 +174,7 @@ void SrsHttpHooks::on_unpublish(string url, SrsRequest* req)
SrsAutoFree
(
SrsJsonObject
,
obj
);
obj
->
set
(
"action"
,
SrsJsonAny
::
str
(
"on_unpublish"
));
obj
->
set
(
"client_id"
,
SrsJsonAny
::
numb
er
(
client_id
));
obj
->
set
(
"client_id"
,
SrsJsonAny
::
integ
er
(
client_id
));
obj
->
set
(
"ip"
,
SrsJsonAny
::
str
(
req
->
ip
.
c_str
()));
obj
->
set
(
"vhost"
,
SrsJsonAny
::
str
(
req
->
vhost
.
c_str
()));
obj
->
set
(
"app"
,
SrsJsonAny
::
str
(
req
->
app
.
c_str
()));
...
...
@@ -209,7 +209,7 @@ int SrsHttpHooks::on_play(string url, SrsRequest* req)
SrsAutoFree
(
SrsJsonObject
,
obj
);
obj
->
set
(
"action"
,
SrsJsonAny
::
str
(
"on_play"
));
obj
->
set
(
"client_id"
,
SrsJsonAny
::
numb
er
(
client_id
));
obj
->
set
(
"client_id"
,
SrsJsonAny
::
integ
er
(
client_id
));
obj
->
set
(
"ip"
,
SrsJsonAny
::
str
(
req
->
ip
.
c_str
()));
obj
->
set
(
"vhost"
,
SrsJsonAny
::
str
(
req
->
vhost
.
c_str
()));
obj
->
set
(
"app"
,
SrsJsonAny
::
str
(
req
->
app
.
c_str
()));
...
...
@@ -245,7 +245,7 @@ void SrsHttpHooks::on_stop(string url, SrsRequest* req)
SrsAutoFree
(
SrsJsonObject
,
obj
);
obj
->
set
(
"action"
,
SrsJsonAny
::
str
(
"on_stop"
));
obj
->
set
(
"client_id"
,
SrsJsonAny
::
numb
er
(
client_id
));
obj
->
set
(
"client_id"
,
SrsJsonAny
::
integ
er
(
client_id
));
obj
->
set
(
"ip"
,
SrsJsonAny
::
str
(
req
->
ip
.
c_str
()));
obj
->
set
(
"vhost"
,
SrsJsonAny
::
str
(
req
->
vhost
.
c_str
()));
obj
->
set
(
"app"
,
SrsJsonAny
::
str
(
req
->
app
.
c_str
()));
...
...
@@ -281,7 +281,7 @@ int SrsHttpHooks::on_dvr(int cid, string url, SrsRequest* req, string file)
SrsAutoFree
(
SrsJsonObject
,
obj
);
obj
->
set
(
"action"
,
SrsJsonAny
::
str
(
"on_dvr"
));
obj
->
set
(
"client_id"
,
SrsJsonAny
::
numb
er
(
client_id
));
obj
->
set
(
"client_id"
,
SrsJsonAny
::
integ
er
(
client_id
));
obj
->
set
(
"ip"
,
SrsJsonAny
::
str
(
req
->
ip
.
c_str
()));
obj
->
set
(
"vhost"
,
SrsJsonAny
::
str
(
req
->
vhost
.
c_str
()));
obj
->
set
(
"app"
,
SrsJsonAny
::
str
(
req
->
app
.
c_str
()));
...
...
@@ -319,7 +319,7 @@ int SrsHttpHooks::on_hls(int cid, string url, SrsRequest* req, string file, stri
SrsAutoFree
(
SrsJsonObject
,
obj
);
obj
->
set
(
"action"
,
SrsJsonAny
::
str
(
"on_hls"
));
obj
->
set
(
"client_id"
,
SrsJsonAny
::
numb
er
(
client_id
));
obj
->
set
(
"client_id"
,
SrsJsonAny
::
integ
er
(
client_id
));
obj
->
set
(
"ip"
,
SrsJsonAny
::
str
(
req
->
ip
.
c_str
()));
obj
->
set
(
"vhost"
,
SrsJsonAny
::
str
(
req
->
vhost
.
c_str
()));
obj
->
set
(
"app"
,
SrsJsonAny
::
str
(
req
->
app
.
c_str
()));
...
...
@@ -330,7 +330,7 @@ int SrsHttpHooks::on_hls(int cid, string url, SrsRequest* req, string file, stri
obj
->
set
(
"url"
,
SrsJsonAny
::
str
(
url
.
c_str
()));
obj
->
set
(
"m3u8"
,
SrsJsonAny
::
str
(
m3u8
.
c_str
()));
obj
->
set
(
"m3u8_url"
,
SrsJsonAny
::
str
(
m3u8_url
.
c_str
()));
obj
->
set
(
"seq_no"
,
SrsJsonAny
::
numb
er
(
sn
));
obj
->
set
(
"seq_no"
,
SrsJsonAny
::
integ
er
(
sn
));
std
::
string
data
=
obj
->
dumps
();
std
::
string
res
;
...
...
trunk/src/app/srs_app_statistic.cpp
查看文件 @
b471c6e
...
...
@@ -66,19 +66,19 @@ int SrsStatisticVhost::dumps(SrsJsonObject* obj)
bool
hls_enabled
=
_srs_config
->
get_hls_enabled
(
vhost
);
bool
enabled
=
_srs_config
->
get_vhost_enabled
(
vhost
);
obj
->
set
(
"id"
,
SrsJsonAny
::
numb
er
(
id
));
obj
->
set
(
"id"
,
SrsJsonAny
::
integ
er
(
id
));
obj
->
set
(
"name"
,
SrsJsonAny
::
str
(
vhost
.
c_str
()));
obj
->
set
(
"enabled"
,
SrsJsonAny
::
boolean
(
enabled
));
obj
->
set
(
"clients"
,
SrsJsonAny
::
number
(
nb_clients
));
obj
->
set
(
"streams"
,
SrsJsonAny
::
number
(
nb_streams
));
obj
->
set
(
"send_bytes"
,
SrsJsonAny
::
number
(
kbps
->
get_send_bytes
()));
obj
->
set
(
"recv_bytes"
,
SrsJsonAny
::
number
(
kbps
->
get_recv_bytes
()));
obj
->
set
(
"clients"
,
SrsJsonAny
::
integer
(
nb_clients
));
obj
->
set
(
"streams"
,
SrsJsonAny
::
integer
(
nb_streams
));
obj
->
set
(
"send_bytes"
,
SrsJsonAny
::
integer
(
kbps
->
get_send_bytes
()));
obj
->
set
(
"recv_bytes"
,
SrsJsonAny
::
integer
(
kbps
->
get_recv_bytes
()));
SrsJsonObject
*
okbps
=
SrsJsonAny
::
object
();
obj
->
set
(
"kbps"
,
okbps
);
okbps
->
set
(
"recv_30s"
,
SrsJsonAny
::
number
(
kbps
->
get_recv_kbps_30s
()));
okbps
->
set
(
"send_30s"
,
SrsJsonAny
::
number
(
kbps
->
get_send_kbps_30s
()));
okbps
->
set
(
"recv_30s"
,
SrsJsonAny
::
integer
(
kbps
->
get_recv_kbps_30s
()));
okbps
->
set
(
"send_30s"
,
SrsJsonAny
::
integer
(
kbps
->
get_send_kbps_30s
()));
SrsJsonObject
*
hls
=
SrsJsonAny
::
object
();
obj
->
set
(
"hls"
,
hls
);
...
...
@@ -126,26 +126,26 @@ int SrsStatisticStream::dumps(SrsJsonObject* obj)
{
int
ret
=
ERROR_SUCCESS
;
obj
->
set
(
"id"
,
SrsJsonAny
::
numb
er
(
id
));
obj
->
set
(
"id"
,
SrsJsonAny
::
integ
er
(
id
));
obj
->
set
(
"name"
,
SrsJsonAny
::
str
(
stream
.
c_str
()));
obj
->
set
(
"vhost"
,
SrsJsonAny
::
numb
er
(
vhost
->
id
));
obj
->
set
(
"vhost"
,
SrsJsonAny
::
integ
er
(
vhost
->
id
));
obj
->
set
(
"app"
,
SrsJsonAny
::
str
(
app
.
c_str
()));
obj
->
set
(
"live_ms"
,
SrsJsonAny
::
number
(
srs_get_system_time_ms
()));
obj
->
set
(
"clients"
,
SrsJsonAny
::
number
(
nb_clients
));
obj
->
set
(
"send_bytes"
,
SrsJsonAny
::
number
(
kbps
->
get_send_bytes
()));
obj
->
set
(
"recv_bytes"
,
SrsJsonAny
::
number
(
kbps
->
get_recv_bytes
()));
obj
->
set
(
"live_ms"
,
SrsJsonAny
::
integer
(
srs_get_system_time_ms
()));
obj
->
set
(
"clients"
,
SrsJsonAny
::
integer
(
nb_clients
));
obj
->
set
(
"send_bytes"
,
SrsJsonAny
::
integer
(
kbps
->
get_send_bytes
()));
obj
->
set
(
"recv_bytes"
,
SrsJsonAny
::
integer
(
kbps
->
get_recv_bytes
()));
SrsJsonObject
*
okbps
=
SrsJsonAny
::
object
();
obj
->
set
(
"kbps"
,
okbps
);
okbps
->
set
(
"recv_30s"
,
SrsJsonAny
::
number
(
kbps
->
get_recv_kbps_30s
()));
okbps
->
set
(
"send_30s"
,
SrsJsonAny
::
number
(
kbps
->
get_send_kbps_30s
()));
okbps
->
set
(
"recv_30s"
,
SrsJsonAny
::
integer
(
kbps
->
get_recv_kbps_30s
()));
okbps
->
set
(
"send_30s"
,
SrsJsonAny
::
integer
(
kbps
->
get_send_kbps_30s
()));
SrsJsonObject
*
publish
=
SrsJsonAny
::
object
();
obj
->
set
(
"publish"
,
publish
);
publish
->
set
(
"active"
,
SrsJsonAny
::
boolean
(
active
));
publish
->
set
(
"cid"
,
SrsJsonAny
::
numb
er
(
connection_cid
));
publish
->
set
(
"cid"
,
SrsJsonAny
::
integ
er
(
connection_cid
));
if
(
!
has_video
)
{
obj
->
set
(
"video"
,
SrsJsonAny
::
null
());
...
...
@@ -156,8 +156,8 @@ int SrsStatisticStream::dumps(SrsJsonObject* obj)
video
->
set
(
"codec"
,
SrsJsonAny
::
str
(
srs_codec_video2str
(
vcodec
).
c_str
()));
video
->
set
(
"profile"
,
SrsJsonAny
::
str
(
srs_codec_avc_profile2str
(
avc_profile
).
c_str
()));
video
->
set
(
"level"
,
SrsJsonAny
::
str
(
srs_codec_avc_level2str
(
avc_level
).
c_str
()));
video
->
set
(
"width"
,
SrsJsonAny
::
number
(
width
));
video
->
set
(
"height"
,
SrsJsonAny
::
number
(
height
));
video
->
set
(
"width"
,
SrsJsonAny
::
integer
(
width
));
video
->
set
(
"height"
,
SrsJsonAny
::
integer
(
height
));
}
if
(
!
has_audio
)
{
...
...
@@ -167,8 +167,8 @@ int SrsStatisticStream::dumps(SrsJsonObject* obj)
obj
->
set
(
"audio"
,
audio
);
audio
->
set
(
"codec"
,
SrsJsonAny
::
str
(
srs_codec_audio2str
(
acodec
).
c_str
()));
audio
->
set
(
"sample_rate"
,
SrsJsonAny
::
number
(
flv_sample_rates
[
asample_rate
]));
audio
->
set
(
"channel"
,
SrsJsonAny
::
number
(
asound_type
+
1
));
audio
->
set
(
"sample_rate"
,
SrsJsonAny
::
integer
(
flv_sample_rates
[
asample_rate
]));
audio
->
set
(
"channel"
,
SrsJsonAny
::
integer
(
asound_type
+
1
));
audio
->
set
(
"profile"
,
SrsJsonAny
::
str
(
srs_codec_aac_object2str
(
aac_object
).
c_str
()));
}
...
...
@@ -210,9 +210,9 @@ int SrsStatisticClient::dumps(SrsJsonObject* obj)
{
int
ret
=
ERROR_SUCCESS
;
obj
->
set
(
"id"
,
SrsJsonAny
::
number
(
id
));
obj
->
set
(
"vhost"
,
SrsJsonAny
::
number
(
stream
->
vhost
->
id
));
obj
->
set
(
"stream"
,
SrsJsonAny
::
number
(
stream
->
id
));
obj
->
set
(
"id"
,
SrsJsonAny
::
integer
(
id
));
obj
->
set
(
"vhost"
,
SrsJsonAny
::
integer
(
stream
->
vhost
->
id
));
obj
->
set
(
"stream"
,
SrsJsonAny
::
integer
(
stream
->
id
));
obj
->
set
(
"ip"
,
SrsJsonAny
::
str
(
req
->
ip
.
c_str
()));
obj
->
set
(
"pageUrl"
,
SrsJsonAny
::
str
(
req
->
pageUrl
.
c_str
()));
obj
->
set
(
"swfUrl"
,
SrsJsonAny
::
str
(
req
->
swfUrl
.
c_str
()));
...
...
trunk/src/app/srs_app_utility.cpp
查看文件 @
b471c6e
...
...
@@ -1429,58 +1429,58 @@ void srs_api_dump_summaries(SrsJsonObject* obj)
obj
->
set
(
"data"
,
data
);
data
->
set
(
"ok"
,
SrsJsonAny
::
boolean
(
ok
));
data
->
set
(
"now_ms"
,
SrsJsonAny
::
numb
er
(
now
));
data
->
set
(
"now_ms"
,
SrsJsonAny
::
integ
er
(
now
));
// self
SrsJsonObject
*
self
=
SrsJsonAny
::
object
();
data
->
set
(
"self"
,
self
);
self
->
set
(
"version"
,
SrsJsonAny
::
str
(
RTMP_SIG_SRS_VERSION
));
self
->
set
(
"pid"
,
SrsJsonAny
::
number
(
getpid
()));
self
->
set
(
"ppid"
,
SrsJsonAny
::
number
(
u
->
ppid
));
self
->
set
(
"pid"
,
SrsJsonAny
::
integer
(
getpid
()));
self
->
set
(
"ppid"
,
SrsJsonAny
::
integer
(
u
->
ppid
));
self
->
set
(
"argv"
,
SrsJsonAny
::
str
(
_srs_config
->
argv
().
c_str
()));
self
->
set
(
"cwd"
,
SrsJsonAny
::
str
(
_srs_config
->
cwd
().
c_str
()));
self
->
set
(
"mem_kbyte"
,
SrsJsonAny
::
numb
er
(
r
->
r
.
ru_maxrss
));
self
->
set
(
"mem_kbyte"
,
SrsJsonAny
::
integ
er
(
r
->
r
.
ru_maxrss
));
self
->
set
(
"mem_percent"
,
SrsJsonAny
::
number
(
self_mem_percent
));
self
->
set
(
"cpu_percent"
,
SrsJsonAny
::
number
(
u
->
percent
));
self
->
set
(
"srs_uptime"
,
SrsJsonAny
::
numb
er
(
srs_uptime
));
self
->
set
(
"srs_uptime"
,
SrsJsonAny
::
integ
er
(
srs_uptime
));
// system
SrsJsonObject
*
sys
=
SrsJsonAny
::
object
();
data
->
set
(
"system"
,
sys
);
sys
->
set
(
"cpu_percent"
,
SrsJsonAny
::
number
(
s
->
percent
));
sys
->
set
(
"disk_read_KBps"
,
SrsJsonAny
::
number
(
d
->
in_KBps
));
sys
->
set
(
"disk_write_KBps"
,
SrsJsonAny
::
number
(
d
->
out_KBps
));
sys
->
set
(
"disk_read_KBps"
,
SrsJsonAny
::
integer
(
d
->
in_KBps
));
sys
->
set
(
"disk_write_KBps"
,
SrsJsonAny
::
integer
(
d
->
out_KBps
));
sys
->
set
(
"disk_busy_percent"
,
SrsJsonAny
::
number
(
d
->
busy
));
sys
->
set
(
"mem_ram_kbyte"
,
SrsJsonAny
::
numb
er
(
m
->
MemTotal
));
sys
->
set
(
"mem_ram_kbyte"
,
SrsJsonAny
::
integ
er
(
m
->
MemTotal
));
sys
->
set
(
"mem_ram_percent"
,
SrsJsonAny
::
number
(
m
->
percent_ram
));
sys
->
set
(
"mem_swap_kbyte"
,
SrsJsonAny
::
numb
er
(
m
->
SwapTotal
));
sys
->
set
(
"mem_swap_kbyte"
,
SrsJsonAny
::
integ
er
(
m
->
SwapTotal
));
sys
->
set
(
"mem_swap_percent"
,
SrsJsonAny
::
number
(
m
->
percent_swap
));
sys
->
set
(
"cpus"
,
SrsJsonAny
::
number
(
c
->
nb_processors
));
sys
->
set
(
"cpus_online"
,
SrsJsonAny
::
number
(
c
->
nb_processors_online
));
sys
->
set
(
"cpus"
,
SrsJsonAny
::
integer
(
c
->
nb_processors
));
sys
->
set
(
"cpus_online"
,
SrsJsonAny
::
integer
(
c
->
nb_processors_online
));
sys
->
set
(
"uptime"
,
SrsJsonAny
::
number
(
p
->
os_uptime
));
sys
->
set
(
"ilde_time"
,
SrsJsonAny
::
number
(
p
->
os_ilde_time
));
sys
->
set
(
"load_1m"
,
SrsJsonAny
::
number
(
p
->
load_one_minutes
));
sys
->
set
(
"load_5m"
,
SrsJsonAny
::
number
(
p
->
load_five_minutes
));
sys
->
set
(
"load_15m"
,
SrsJsonAny
::
number
(
p
->
load_fifteen_minutes
));
// system network bytes stat.
sys
->
set
(
"net_sample_time"
,
SrsJsonAny
::
numb
er
(
n_sample_time
));
sys
->
set
(
"net_sample_time"
,
SrsJsonAny
::
integ
er
(
n_sample_time
));
// internet public address network device bytes.
sys
->
set
(
"net_recv_bytes"
,
SrsJsonAny
::
number
(
nr_bytes
));
sys
->
set
(
"net_send_bytes"
,
SrsJsonAny
::
number
(
ns_bytes
));
sys
->
set
(
"net_recv_bytes"
,
SrsJsonAny
::
integer
(
nr_bytes
));
sys
->
set
(
"net_send_bytes"
,
SrsJsonAny
::
integer
(
ns_bytes
));
// intranet private address network device bytes.
sys
->
set
(
"net_recvi_bytes"
,
SrsJsonAny
::
number
(
nri_bytes
));
sys
->
set
(
"net_sendi_bytes"
,
SrsJsonAny
::
number
(
nsi_bytes
));
sys
->
set
(
"net_recvi_bytes"
,
SrsJsonAny
::
integer
(
nri_bytes
));
sys
->
set
(
"net_sendi_bytes"
,
SrsJsonAny
::
integer
(
nsi_bytes
));
// srs network bytes stat.
sys
->
set
(
"srs_sample_time"
,
SrsJsonAny
::
number
(
nrs
->
sample_time
));
sys
->
set
(
"srs_recv_bytes"
,
SrsJsonAny
::
number
(
nrs
->
rbytes
));
sys
->
set
(
"srs_send_bytes"
,
SrsJsonAny
::
number
(
nrs
->
sbytes
));
sys
->
set
(
"conn_sys"
,
SrsJsonAny
::
number
(
nrs
->
nb_conn_sys
));
sys
->
set
(
"conn_sys_et"
,
SrsJsonAny
::
number
(
nrs
->
nb_conn_sys_et
));
sys
->
set
(
"conn_sys_tw"
,
SrsJsonAny
::
number
(
nrs
->
nb_conn_sys_tw
));
sys
->
set
(
"conn_sys_udp"
,
SrsJsonAny
::
number
(
nrs
->
nb_conn_sys_udp
));
sys
->
set
(
"conn_srs"
,
SrsJsonAny
::
number
(
nrs
->
nb_conn_srs
));
sys
->
set
(
"srs_sample_time"
,
SrsJsonAny
::
integer
(
nrs
->
sample_time
));
sys
->
set
(
"srs_recv_bytes"
,
SrsJsonAny
::
integer
(
nrs
->
rbytes
));
sys
->
set
(
"srs_send_bytes"
,
SrsJsonAny
::
integer
(
nrs
->
sbytes
));
sys
->
set
(
"conn_sys"
,
SrsJsonAny
::
integer
(
nrs
->
nb_conn_sys
));
sys
->
set
(
"conn_sys_et"
,
SrsJsonAny
::
integer
(
nrs
->
nb_conn_sys_et
));
sys
->
set
(
"conn_sys_tw"
,
SrsJsonAny
::
integer
(
nrs
->
nb_conn_sys_tw
));
sys
->
set
(
"conn_sys_udp"
,
SrsJsonAny
::
integer
(
nrs
->
nb_conn_sys_udp
));
sys
->
set
(
"conn_srs"
,
SrsJsonAny
::
integer
(
nrs
->
nb_conn_srs
));
}
string
srs_join_vector_string
(
vector
<
string
>&
vs
,
string
separator
)
...
...
请
注册
或
登录
后发表评论