winlin

refine code, use json integter rather than number.

@@ -539,7 +539,7 @@ int srs_config_dumps_engine(SrsConfDirective* dir, SrsJsonObject* engine) @@ -539,7 +539,7 @@ int srs_config_dumps_engine(SrsConfDirective* dir, SrsJsonObject* engine)
539 } 539 }
540 540
541 if ((conf = dir->get("vbitrate")) != NULL) { 541 if ((conf = dir->get("vbitrate")) != NULL) {
542 - engine->set("vbitrate", conf->dumps_arg0_to_number()); 542 + engine->set("vbitrate", conf->dumps_arg0_to_integer());
543 } 543 }
544 544
545 if ((conf = dir->get("vfps")) != NULL) { 545 if ((conf = dir->get("vfps")) != NULL) {
@@ -547,15 +547,15 @@ int srs_config_dumps_engine(SrsConfDirective* dir, SrsJsonObject* engine) @@ -547,15 +547,15 @@ int srs_config_dumps_engine(SrsConfDirective* dir, SrsJsonObject* engine)
547 } 547 }
548 548
549 if ((conf = dir->get("vwidth")) != NULL) { 549 if ((conf = dir->get("vwidth")) != NULL) {
550 - engine->set("vwidth", conf->dumps_arg0_to_number()); 550 + engine->set("vwidth", conf->dumps_arg0_to_integer());
551 } 551 }
552 552
553 if ((conf = dir->get("vheight")) != NULL) { 553 if ((conf = dir->get("vheight")) != NULL) {
554 - engine->set("vheight", conf->dumps_arg0_to_number()); 554 + engine->set("vheight", conf->dumps_arg0_to_integer());
555 } 555 }
556 556
557 if ((conf = dir->get("vthreads")) != NULL) { 557 if ((conf = dir->get("vthreads")) != NULL) {
558 - engine->set("vthreads", conf->dumps_arg0_to_number()); 558 + engine->set("vthreads", conf->dumps_arg0_to_integer());
559 } 559 }
560 560
561 if ((conf = dir->get("vprofile")) != NULL) { 561 if ((conf = dir->get("vprofile")) != NULL) {
@@ -581,15 +581,15 @@ int srs_config_dumps_engine(SrsConfDirective* dir, SrsJsonObject* engine) @@ -581,15 +581,15 @@ int srs_config_dumps_engine(SrsConfDirective* dir, SrsJsonObject* engine)
581 } 581 }
582 582
583 if ((conf = dir->get("abitrate")) != NULL) { 583 if ((conf = dir->get("abitrate")) != NULL) {
584 - engine->set("abitrate", conf->dumps_arg0_to_number()); 584 + engine->set("abitrate", conf->dumps_arg0_to_integer());
585 } 585 }
586 586
587 if ((conf = dir->get("asample_rate")) != NULL) { 587 if ((conf = dir->get("asample_rate")) != NULL) {
588 - engine->set("asample_rate", conf->dumps_arg0_to_number()); 588 + engine->set("asample_rate", conf->dumps_arg0_to_integer());
589 } 589 }
590 590
591 if ((conf = dir->get("achannels")) != NULL) { 591 if ((conf = dir->get("achannels")) != NULL) {
592 - engine->set("achannels", conf->dumps_arg0_to_number()); 592 + engine->set("achannels", conf->dumps_arg0_to_integer());
593 } 593 }
594 594
595 if ((conf = dir->get("aparams")) != NULL) { 595 if ((conf = dir->get("aparams")) != NULL) {
@@ -883,6 +883,11 @@ SrsJsonAny* SrsConfDirective::dumps_arg0_to_str() @@ -883,6 +883,11 @@ SrsJsonAny* SrsConfDirective::dumps_arg0_to_str()
883 return SrsJsonAny::str(arg0().c_str()); 883 return SrsJsonAny::str(arg0().c_str());
884 } 884 }
885 885
  886 +SrsJsonAny* SrsConfDirective::dumps_arg0_to_integer()
  887 +{
  888 + return SrsJsonAny::integer(::atol(arg0().c_str()));
  889 +}
  890 +
886 SrsJsonAny* SrsConfDirective::dumps_arg0_to_number() 891 SrsJsonAny* SrsConfDirective::dumps_arg0_to_number()
887 { 892 {
888 return SrsJsonAny::number(::atof(arg0().c_str())); 893 return SrsJsonAny::number(::atof(arg0().c_str()));
@@ -2027,7 +2032,7 @@ int SrsConfig::global_to_json(SrsJsonObject* obj) @@ -2027,7 +2032,7 @@ int SrsConfig::global_to_json(SrsJsonObject* obj)
2027 } else if (dir->name == "pid") { 2032 } else if (dir->name == "pid") {
2028 obj->set(dir->name, dir->dumps_arg0_to_str()); 2033 obj->set(dir->name, dir->dumps_arg0_to_str());
2029 } else if (dir->name == "chunk_size") { 2034 } else if (dir->name == "chunk_size") {
2030 - obj->set(dir->name, dir->dumps_arg0_to_number()); 2035 + obj->set(dir->name, dir->dumps_arg0_to_integer());
2031 } else if (dir->name == "ff_log_dir") { 2036 } else if (dir->name == "ff_log_dir") {
2032 obj->set(dir->name, dir->dumps_arg0_to_str()); 2037 obj->set(dir->name, dir->dumps_arg0_to_str());
2033 } else if (dir->name == "srs_log_tank") { 2038 } else if (dir->name == "srs_log_tank") {
@@ -2037,13 +2042,13 @@ int SrsConfig::global_to_json(SrsJsonObject* obj) @@ -2037,13 +2042,13 @@ int SrsConfig::global_to_json(SrsJsonObject* obj)
2037 } else if (dir->name == "srs_log_file") { 2042 } else if (dir->name == "srs_log_file") {
2038 obj->set(dir->name, dir->dumps_arg0_to_str()); 2043 obj->set(dir->name, dir->dumps_arg0_to_str());
2039 } else if (dir->name == "max_connections") { 2044 } else if (dir->name == "max_connections") {
2040 - obj->set(dir->name, dir->dumps_arg0_to_number()); 2045 + obj->set(dir->name, dir->dumps_arg0_to_integer());
2041 } else if (dir->name == "daemon") { 2046 } else if (dir->name == "daemon") {
2042 obj->set(dir->name, dir->dumps_arg0_to_boolean()); 2047 obj->set(dir->name, dir->dumps_arg0_to_boolean());
2043 } else if (dir->name == "utc_time") { 2048 } else if (dir->name == "utc_time") {
2044 obj->set(dir->name, dir->dumps_arg0_to_boolean()); 2049 obj->set(dir->name, dir->dumps_arg0_to_boolean());
2045 } else if (dir->name == "pithy_print_ms") { 2050 } else if (dir->name == "pithy_print_ms") {
2046 - obj->set(dir->name, dir->dumps_arg0_to_number()); 2051 + obj->set(dir->name, dir->dumps_arg0_to_integer());
2047 } else if (dir->name == "heartbeat") { 2052 } else if (dir->name == "heartbeat") {
2048 SrsJsonObject* sobj = SrsJsonAny::object(); 2053 SrsJsonObject* sobj = SrsJsonAny::object();
2049 for (int j = 0; j < (int)dir->directives.size(); j++) { 2054 for (int j = 0; j < (int)dir->directives.size(); j++) {
@@ -2051,7 +2056,7 @@ int SrsConfig::global_to_json(SrsJsonObject* obj) @@ -2051,7 +2056,7 @@ int SrsConfig::global_to_json(SrsJsonObject* obj)
2051 if (sdir->name == "enabled") { 2056 if (sdir->name == "enabled") {
2052 sobj->set(sdir->name, sdir->dumps_arg0_to_boolean()); 2057 sobj->set(sdir->name, sdir->dumps_arg0_to_boolean());
2053 } else if (sdir->name == "interval") { 2058 } else if (sdir->name == "interval") {
2054 - sobj->set(sdir->name, sdir->dumps_arg0_to_number()); 2059 + sobj->set(sdir->name, sdir->dumps_arg0_to_integer());
2055 } else if (sdir->name == "url") { 2060 } else if (sdir->name == "url") {
2056 sobj->set(sdir->name, sdir->dumps_arg0_to_str()); 2061 sobj->set(sdir->name, sdir->dumps_arg0_to_str());
2057 } else if (sdir->name == "device_id") { 2062 } else if (sdir->name == "device_id") {
@@ -2066,7 +2071,7 @@ int SrsConfig::global_to_json(SrsJsonObject* obj) @@ -2066,7 +2071,7 @@ int SrsConfig::global_to_json(SrsJsonObject* obj)
2066 for (int j = 0; j < (int)dir->directives.size(); j++) { 2071 for (int j = 0; j < (int)dir->directives.size(); j++) {
2067 SrsConfDirective* sdir = dir->directives.at(j); 2072 SrsConfDirective* sdir = dir->directives.at(j);
2068 if (sdir->name == "network") { 2073 if (sdir->name == "network") {
2069 - sobj->set(sdir->name, sdir->dumps_arg0_to_number()); 2074 + sobj->set(sdir->name, sdir->dumps_arg0_to_integer());
2070 } else if (sdir->name == "disk") { 2075 } else if (sdir->name == "disk") {
2071 sobj->set(sdir->name, sdir->dumps_args()); 2076 sobj->set(sdir->name, sdir->dumps_args());
2072 } 2077 }
@@ -2127,9 +2132,9 @@ int SrsConfig::global_to_json(SrsJsonObject* obj) @@ -2127,9 +2132,9 @@ int SrsConfig::global_to_json(SrsJsonObject* obj)
2127 } else if (sdir->name == "listen") { 2132 } else if (sdir->name == "listen") {
2128 sobj->set(sdir->name, sdir->dumps_arg0_to_str()); 2133 sobj->set(sdir->name, sdir->dumps_arg0_to_str());
2129 } else if (sdir->name == "rtp_port_min") { 2134 } else if (sdir->name == "rtp_port_min") {
2130 - sobj->set(sdir->name, sdir->dumps_arg0_to_number()); 2135 + sobj->set(sdir->name, sdir->dumps_arg0_to_integer());
2131 } else if (sdir->name == "rtp_port_max") { 2136 } else if (sdir->name == "rtp_port_max") {
2132 - sobj->set(sdir->name, sdir->dumps_arg0_to_number()); 2137 + sobj->set(sdir->name, sdir->dumps_arg0_to_integer());
2133 } 2138 }
2134 } 2139 }
2135 obj->set(dir->name, sobj); 2140 obj->set(dir->name, sobj);
@@ -2153,7 +2158,7 @@ int SrsConfig::global_to_json(SrsJsonObject* obj) @@ -2153,7 +2158,7 @@ int SrsConfig::global_to_json(SrsJsonObject* obj)
2153 sobjs->set(dir->arg0(), sobj); 2158 sobjs->set(dir->arg0(), sobj);
2154 2159
2155 SrsStatisticVhost* svhost = stat->find_vhost(dir->arg0()); 2160 SrsStatisticVhost* svhost = stat->find_vhost(dir->arg0());
2156 - sobj->set("id", SrsJsonAny::number(svhost? (double)svhost->id : 0)); 2161 + sobj->set("id", SrsJsonAny::integer(svhost? (double)svhost->id : 0));
2157 sobj->set("name", dir->dumps_arg0_to_str()); 2162 sobj->set("name", dir->dumps_arg0_to_str());
2158 sobj->set("enabled", SrsJsonAny::boolean(get_vhost_enabled(dir->arg0()))); 2163 sobj->set("enabled", SrsJsonAny::boolean(get_vhost_enabled(dir->arg0())));
2159 2164
@@ -2262,7 +2267,7 @@ int SrsConfig::global_to_json(SrsJsonObject* obj) @@ -2262,7 +2267,7 @@ int SrsConfig::global_to_json(SrsJsonObject* obj)
2262 } 2267 }
2263 } 2268 }
2264 2269
2265 - obj->set("nb_vhosts", SrsJsonAny::number(nb_vhosts)); 2270 + obj->set("nb_vhosts", SrsJsonAny::integer(nb_vhosts));
2266 obj->set("vhosts", sobjs); 2271 obj->set("vhosts", sobjs);
2267 2272
2268 return ret; 2273 return ret;
@@ -2278,14 +2283,14 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsJsonObject* obj) @@ -2278,14 +2283,14 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsJsonObject* obj)
2278 SrsStatistic* stat = SrsStatistic::instance(); 2283 SrsStatistic* stat = SrsStatistic::instance();
2279 2284
2280 SrsStatisticVhost* svhost = stat->find_vhost(vhost->arg0()); 2285 SrsStatisticVhost* svhost = stat->find_vhost(vhost->arg0());
2281 - obj->set("id", SrsJsonAny::number(svhost? (double)svhost->id : 0)); 2286 + obj->set("id", SrsJsonAny::integer(svhost? (double)svhost->id : 0));
2282 2287
2283 obj->set("name", vhost->dumps_arg0_to_str()); 2288 obj->set("name", vhost->dumps_arg0_to_str());
2284 obj->set("enabled", SrsJsonAny::boolean(get_vhost_enabled(vhost))); 2289 obj->set("enabled", SrsJsonAny::boolean(get_vhost_enabled(vhost)));
2285 2290
2286 // vhost scope configs. 2291 // vhost scope configs.
2287 if ((dir = vhost->get("chunk_size")) != NULL) { 2292 if ((dir = vhost->get("chunk_size")) != NULL) {
2288 - obj->set("chunk_size", dir->dumps_arg0_to_number()); 2293 + obj->set("chunk_size", dir->dumps_arg0_to_integer());
2289 } 2294 }
2290 if ((dir = vhost->get("min_latency")) != NULL) { 2295 if ((dir = vhost->get("min_latency")) != NULL) {
2291 obj->set("min_latency", dir->dumps_arg0_to_boolean()); 2296 obj->set("min_latency", dir->dumps_arg0_to_boolean());
@@ -2349,15 +2354,15 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsJsonObject* obj) @@ -2349,15 +2354,15 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsJsonObject* obj)
2349 } else if (sdir->name == "atc_auto") { 2354 } else if (sdir->name == "atc_auto") {
2350 play->set("atc_auto", sdir->dumps_arg0_to_boolean()); 2355 play->set("atc_auto", sdir->dumps_arg0_to_boolean());
2351 } else if (sdir->name == "mw_latency") { 2356 } else if (sdir->name == "mw_latency") {
2352 - play->set("mw_latency", sdir->dumps_arg0_to_number()); 2357 + play->set("mw_latency", sdir->dumps_arg0_to_integer());
2353 } else if (sdir->name == "gop_cache") { 2358 } else if (sdir->name == "gop_cache") {
2354 play->set("gop_cache", sdir->dumps_arg0_to_boolean()); 2359 play->set("gop_cache", sdir->dumps_arg0_to_boolean());
2355 } else if (sdir->name == "queue_length") { 2360 } else if (sdir->name == "queue_length") {
2356 - play->set("queue_length", sdir->dumps_arg0_to_number()); 2361 + play->set("queue_length", sdir->dumps_arg0_to_integer());
2357 } else if (sdir->name == "reduce_sequence_header") { 2362 } else if (sdir->name == "reduce_sequence_header") {
2358 play->set("reduce_sequence_header", sdir->dumps_arg0_to_boolean()); 2363 play->set("reduce_sequence_header", sdir->dumps_arg0_to_boolean());
2359 } else if (sdir->name == "send_min_interval") { 2364 } else if (sdir->name == "send_min_interval") {
2360 - play->set("send_min_interval", sdir->dumps_arg0_to_number()); 2365 + play->set("send_min_interval", sdir->dumps_arg0_to_integer());
2361 } 2366 }
2362 } 2367 }
2363 } 2368 }
@@ -2373,11 +2378,11 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsJsonObject* obj) @@ -2373,11 +2378,11 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsJsonObject* obj)
2373 if (sdir->name == "mr") { 2378 if (sdir->name == "mr") {
2374 publish->set("mr", sdir->dumps_arg0_to_boolean()); 2379 publish->set("mr", sdir->dumps_arg0_to_boolean());
2375 } else if (sdir->name == "mr_latency") { 2380 } else if (sdir->name == "mr_latency") {
2376 - publish->set("mr_latency", sdir->dumps_arg0_to_number()); 2381 + publish->set("mr_latency", sdir->dumps_arg0_to_integer());
2377 } else if (sdir->name == "firstpkt_timeout") { 2382 } else if (sdir->name == "firstpkt_timeout") {
2378 - publish->set("firstpkt_timeout", sdir->dumps_arg0_to_number()); 2383 + publish->set("firstpkt_timeout", sdir->dumps_arg0_to_integer());
2379 } else if (sdir->name == "normal_timeout") { 2384 } else if (sdir->name == "normal_timeout") {
2380 - publish->set("normal_timeout", sdir->dumps_arg0_to_number()); 2385 + publish->set("normal_timeout", sdir->dumps_arg0_to_integer());
2381 } 2386 }
2382 } 2387 }
2383 } 2388 }
@@ -2415,9 +2420,9 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsJsonObject* obj) @@ -2415,9 +2420,9 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsJsonObject* obj)
2415 if (sdir->name == "key") { 2420 if (sdir->name == "key") {
2416 bandcheck->set("key", sdir->dumps_arg0_to_str()); 2421 bandcheck->set("key", sdir->dumps_arg0_to_str());
2417 } else if (sdir->name == "interval") { 2422 } else if (sdir->name == "interval") {
2418 - bandcheck->set("interval", sdir->dumps_arg0_to_number()); 2423 + bandcheck->set("interval", sdir->dumps_arg0_to_integer());
2419 } else if (sdir->name == "limit_kbps") { 2424 } else if (sdir->name == "limit_kbps") {
2420 - bandcheck->set("limit_kbps", sdir->dumps_arg0_to_number()); 2425 + bandcheck->set("limit_kbps", sdir->dumps_arg0_to_integer());
2421 } 2426 }
2422 } 2427 }
2423 } 2428 }
@@ -2483,7 +2488,7 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsJsonObject* obj) @@ -2483,7 +2488,7 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsJsonObject* obj)
2483 SrsConfDirective* sdir = dir->directives.at(i); 2488 SrsConfDirective* sdir = dir->directives.at(i);
2484 2489
2485 if (sdir->name == "fast_cache") { 2490 if (sdir->name == "fast_cache") {
2486 - http_remux->set("fast_cache", sdir->dumps_arg0_to_number()); 2491 + http_remux->set("fast_cache", sdir->dumps_arg0_to_integer());
2487 } else if (sdir->name == "mount") { 2492 } else if (sdir->name == "mount") {
2488 http_remux->set("mount", sdir->dumps_arg0_to_str()); 2493 http_remux->set("mount", sdir->dumps_arg0_to_str());
2489 } else if (sdir->name == "hstrs") { 2494 } else if (sdir->name == "hstrs") {
@@ -2567,7 +2572,7 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsJsonObject* obj) @@ -2567,7 +2572,7 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsJsonObject* obj)
2567 } else if (sdir->name == "hls_dispose") { 2572 } else if (sdir->name == "hls_dispose") {
2568 hls->set("hls_dispose", sdir->dumps_arg0_to_number()); 2573 hls->set("hls_dispose", sdir->dumps_arg0_to_number());
2569 } else if (sdir->name == "hls_nb_notify") { 2574 } else if (sdir->name == "hls_nb_notify") {
2570 - hls->set("hls_nb_notify", sdir->dumps_arg0_to_number()); 2575 + hls->set("hls_nb_notify", sdir->dumps_arg0_to_integer());
2571 } else if (sdir->name == "hls_wait_keyframe") { 2576 } else if (sdir->name == "hls_wait_keyframe") {
2572 hls->set("hls_wait_keyframe", sdir->dumps_arg0_to_boolean()); 2577 hls->set("hls_wait_keyframe", sdir->dumps_arg0_to_boolean());
2573 } 2578 }
@@ -255,6 +255,7 @@ public: @@ -255,6 +255,7 @@ public:
255 * dumps arg0 to str, number or boolean. 255 * dumps arg0 to str, number or boolean.
256 */ 256 */
257 virtual SrsJsonAny* dumps_arg0_to_str(); 257 virtual SrsJsonAny* dumps_arg0_to_str();
  258 + virtual SrsJsonAny* dumps_arg0_to_integer();
258 virtual SrsJsonAny* dumps_arg0_to_number(); 259 virtual SrsJsonAny* dumps_arg0_to_number();
259 virtual SrsJsonAny* dumps_arg0_to_boolean(); 260 virtual SrsJsonAny* dumps_arg0_to_boolean();
260 // private parse. 261 // private parse.
@@ -145,8 +145,8 @@ int SrsGoApiRoot::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r) @@ -145,8 +145,8 @@ int SrsGoApiRoot::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r)
145 SrsJsonObject* obj = SrsJsonAny::object(); 145 SrsJsonObject* obj = SrsJsonAny::object();
146 SrsAutoFree(SrsJsonObject, obj); 146 SrsAutoFree(SrsJsonObject, obj);
147 147
148 - obj->set("code", SrsJsonAny::number(ERROR_SUCCESS));  
149 - obj->set("server", SrsJsonAny::number(stat->server_id())); 148 + obj->set("code", SrsJsonAny::integer(ERROR_SUCCESS));
  149 + obj->set("server", SrsJsonAny::integer(stat->server_id()));
150 150
151 SrsJsonObject* urls = SrsJsonAny::object(); 151 SrsJsonObject* urls = SrsJsonAny::object();
152 obj->set("urls", urls); 152 obj->set("urls", urls);
@@ -171,8 +171,8 @@ int SrsGoApiApi::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r) @@ -171,8 +171,8 @@ int SrsGoApiApi::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r)
171 SrsJsonObject* obj = SrsJsonAny::object(); 171 SrsJsonObject* obj = SrsJsonAny::object();
172 SrsAutoFree(SrsJsonObject, obj); 172 SrsAutoFree(SrsJsonObject, obj);
173 173
174 - obj->set("code", SrsJsonAny::number(ERROR_SUCCESS));  
175 - obj->set("server", SrsJsonAny::number(stat->server_id())); 174 + obj->set("code", SrsJsonAny::integer(ERROR_SUCCESS));
  175 + obj->set("server", SrsJsonAny::integer(stat->server_id()));
176 176
177 SrsJsonObject* urls = SrsJsonAny::object(); 177 SrsJsonObject* urls = SrsJsonAny::object();
178 obj->set("urls", urls); 178 obj->set("urls", urls);
@@ -197,8 +197,8 @@ int SrsGoApiV1::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r) @@ -197,8 +197,8 @@ int SrsGoApiV1::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r)
197 SrsJsonObject* obj = SrsJsonAny::object(); 197 SrsJsonObject* obj = SrsJsonAny::object();
198 SrsAutoFree(SrsJsonObject, obj); 198 SrsAutoFree(SrsJsonObject, obj);
199 199
200 - obj->set("code", SrsJsonAny::number(ERROR_SUCCESS));  
201 - obj->set("server", SrsJsonAny::number(stat->server_id())); 200 + obj->set("code", SrsJsonAny::integer(ERROR_SUCCESS));
  201 + obj->set("server", SrsJsonAny::integer(stat->server_id()));
202 202
203 SrsJsonObject* urls = SrsJsonAny::object(); 203 SrsJsonObject* urls = SrsJsonAny::object();
204 obj->set("urls", urls); 204 obj->set("urls", urls);
@@ -243,15 +243,15 @@ int SrsGoApiVersion::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r) @@ -243,15 +243,15 @@ int SrsGoApiVersion::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r)
243 SrsJsonObject* obj = SrsJsonAny::object(); 243 SrsJsonObject* obj = SrsJsonAny::object();
244 SrsAutoFree(SrsJsonObject, obj); 244 SrsAutoFree(SrsJsonObject, obj);
245 245
246 - obj->set("code", SrsJsonAny::number(ERROR_SUCCESS));  
247 - obj->set("server", SrsJsonAny::number(stat->server_id())); 246 + obj->set("code", SrsJsonAny::integer(ERROR_SUCCESS));
  247 + obj->set("server", SrsJsonAny::integer(stat->server_id()));
248 248
249 SrsJsonObject* data = SrsJsonAny::object(); 249 SrsJsonObject* data = SrsJsonAny::object();
250 obj->set("data", data); 250 obj->set("data", data);
251 251
252 - data->set("major", SrsJsonAny::number(VERSION_MAJOR));  
253 - data->set("minor", SrsJsonAny::number(VERSION_MINOR));  
254 - data->set("revision", SrsJsonAny::number(VERSION_REVISION)); 252 + data->set("major", SrsJsonAny::integer(VERSION_MAJOR));
  253 + data->set("minor", SrsJsonAny::integer(VERSION_MINOR));
  254 + data->set("revision", SrsJsonAny::integer(VERSION_REVISION));
255 data->set("version", SrsJsonAny::str(RTMP_SIG_SRS_VERSION)); 255 data->set("version", SrsJsonAny::str(RTMP_SIG_SRS_VERSION));
256 256
257 return srs_api_response(w, r, obj->dumps()); 257 return srs_api_response(w, r, obj->dumps());
@@ -290,8 +290,8 @@ int SrsGoApiRusages::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r) @@ -290,8 +290,8 @@ int SrsGoApiRusages::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r)
290 SrsJsonObject* obj = SrsJsonAny::object(); 290 SrsJsonObject* obj = SrsJsonAny::object();
291 SrsAutoFree(SrsJsonObject, obj); 291 SrsAutoFree(SrsJsonObject, obj);
292 292
293 - obj->set("code", SrsJsonAny::number(ERROR_SUCCESS));  
294 - obj->set("server", SrsJsonAny::number(stat->server_id())); 293 + obj->set("code", SrsJsonAny::integer(ERROR_SUCCESS));
  294 + obj->set("server", SrsJsonAny::integer(stat->server_id()));
295 295
296 SrsJsonObject* data = SrsJsonAny::object(); 296 SrsJsonObject* data = SrsJsonAny::object();
297 obj->set("data", data); 297 obj->set("data", data);
@@ -299,23 +299,23 @@ int SrsGoApiRusages::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r) @@ -299,23 +299,23 @@ int SrsGoApiRusages::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r)
299 SrsRusage* ru = srs_get_system_rusage(); 299 SrsRusage* ru = srs_get_system_rusage();
300 300
301 data->set("ok", SrsJsonAny::boolean(ru->ok)); 301 data->set("ok", SrsJsonAny::boolean(ru->ok));
302 - data->set("sample_time", SrsJsonAny::number(ru->sample_time));  
303 - data->set("ru_utime", SrsJsonAny::number(ru->r.ru_utime.tv_sec));  
304 - data->set("ru_stime", SrsJsonAny::number(ru->r.ru_stime.tv_sec));  
305 - data->set("ru_maxrss", SrsJsonAny::number(ru->r.ru_maxrss));  
306 - data->set("ru_ixrss", SrsJsonAny::number(ru->r.ru_ixrss));  
307 - data->set("ru_idrss", SrsJsonAny::number(ru->r.ru_idrss));  
308 - data->set("ru_isrss", SrsJsonAny::number(ru->r.ru_isrss));  
309 - data->set("ru_minflt", SrsJsonAny::number(ru->r.ru_minflt));  
310 - data->set("ru_majflt", SrsJsonAny::number(ru->r.ru_majflt));  
311 - data->set("ru_nswap", SrsJsonAny::number(ru->r.ru_nswap));  
312 - data->set("ru_inblock", SrsJsonAny::number(ru->r.ru_inblock));  
313 - data->set("ru_oublock", SrsJsonAny::number(ru->r.ru_oublock));  
314 - data->set("ru_msgsnd", SrsJsonAny::number(ru->r.ru_msgsnd));  
315 - data->set("ru_msgrcv", SrsJsonAny::number(ru->r.ru_msgrcv));  
316 - data->set("ru_nsignals", SrsJsonAny::number(ru->r.ru_nsignals));  
317 - data->set("ru_nvcsw", SrsJsonAny::number(ru->r.ru_nvcsw));  
318 - data->set("ru_nivcsw", SrsJsonAny::number(ru->r.ru_nivcsw)); 302 + data->set("sample_time", SrsJsonAny::integer(ru->sample_time));
  303 + data->set("ru_utime", SrsJsonAny::integer(ru->r.ru_utime.tv_sec));
  304 + data->set("ru_stime", SrsJsonAny::integer(ru->r.ru_stime.tv_sec));
  305 + data->set("ru_maxrss", SrsJsonAny::integer(ru->r.ru_maxrss));
  306 + data->set("ru_ixrss", SrsJsonAny::integer(ru->r.ru_ixrss));
  307 + data->set("ru_idrss", SrsJsonAny::integer(ru->r.ru_idrss));
  308 + data->set("ru_isrss", SrsJsonAny::integer(ru->r.ru_isrss));
  309 + data->set("ru_minflt", SrsJsonAny::integer(ru->r.ru_minflt));
  310 + data->set("ru_majflt", SrsJsonAny::integer(ru->r.ru_majflt));
  311 + data->set("ru_nswap", SrsJsonAny::integer(ru->r.ru_nswap));
  312 + data->set("ru_inblock", SrsJsonAny::integer(ru->r.ru_inblock));
  313 + data->set("ru_oublock", SrsJsonAny::integer(ru->r.ru_oublock));
  314 + data->set("ru_msgsnd", SrsJsonAny::integer(ru->r.ru_msgsnd));
  315 + data->set("ru_msgrcv", SrsJsonAny::integer(ru->r.ru_msgrcv));
  316 + data->set("ru_nsignals", SrsJsonAny::integer(ru->r.ru_nsignals));
  317 + data->set("ru_nvcsw", SrsJsonAny::integer(ru->r.ru_nvcsw));
  318 + data->set("ru_nivcsw", SrsJsonAny::integer(ru->r.ru_nivcsw));
319 319
320 return srs_api_response(w, r, obj->dumps()); 320 return srs_api_response(w, r, obj->dumps());
321 } 321 }
@@ -335,8 +335,8 @@ int SrsGoApiSelfProcStats::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage @@ -335,8 +335,8 @@ int SrsGoApiSelfProcStats::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage
335 SrsJsonObject* obj = SrsJsonAny::object(); 335 SrsJsonObject* obj = SrsJsonAny::object();
336 SrsAutoFree(SrsJsonObject, obj); 336 SrsAutoFree(SrsJsonObject, obj);
337 337
338 - obj->set("code", SrsJsonAny::number(ERROR_SUCCESS));  
339 - obj->set("server", SrsJsonAny::number(stat->server_id())); 338 + obj->set("code", SrsJsonAny::integer(ERROR_SUCCESS));
  339 + obj->set("server", SrsJsonAny::integer(stat->server_id()));
340 340
341 SrsJsonObject* data = SrsJsonAny::object(); 341 SrsJsonObject* data = SrsJsonAny::object();
342 obj->set("data", data); 342 obj->set("data", data);
@@ -347,52 +347,52 @@ int SrsGoApiSelfProcStats::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage @@ -347,52 +347,52 @@ int SrsGoApiSelfProcStats::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage
347 state += (char)u->state; 347 state += (char)u->state;
348 348
349 data->set("ok", SrsJsonAny::boolean(u->ok)); 349 data->set("ok", SrsJsonAny::boolean(u->ok));
350 - data->set("sample_time", SrsJsonAny::number(u->sample_time)); 350 + data->set("sample_time", SrsJsonAny::integer(u->sample_time));
351 data->set("percent", SrsJsonAny::number(u->percent)); 351 data->set("percent", SrsJsonAny::number(u->percent));
352 - data->set("pid", SrsJsonAny::number(u->pid)); 352 + data->set("pid", SrsJsonAny::integer(u->pid));
353 data->set("comm", SrsJsonAny::str(u->comm)); 353 data->set("comm", SrsJsonAny::str(u->comm));
354 data->set("state", SrsJsonAny::str(state.c_str())); 354 data->set("state", SrsJsonAny::str(state.c_str()));
355 - data->set("ppid", SrsJsonAny::number(u->ppid));  
356 - data->set("pgrp", SrsJsonAny::number(u->pgrp));  
357 - data->set("session", SrsJsonAny::number(u->session));  
358 - data->set("tty_nr", SrsJsonAny::number(u->tty_nr));  
359 - data->set("tpgid", SrsJsonAny::number(u->tpgid));  
360 - data->set("flags", SrsJsonAny::number(u->flags));  
361 - data->set("minflt", SrsJsonAny::number(u->minflt));  
362 - data->set("cminflt", SrsJsonAny::number(u->cminflt));  
363 - data->set("majflt", SrsJsonAny::number(u->majflt));  
364 - data->set("cmajflt", SrsJsonAny::number(u->cmajflt));  
365 - data->set("utime", SrsJsonAny::number(u->utime));  
366 - data->set("stime", SrsJsonAny::number(u->stime));  
367 - data->set("cutime", SrsJsonAny::number(u->cutime));  
368 - data->set("cstime", SrsJsonAny::number(u->cstime));  
369 - data->set("priority", SrsJsonAny::number(u->priority));  
370 - data->set("nice", SrsJsonAny::number(u->nice));  
371 - data->set("num_threads", SrsJsonAny::number(u->num_threads));  
372 - data->set("itrealvalue", SrsJsonAny::number(u->itrealvalue));  
373 - data->set("starttime", SrsJsonAny::number(u->starttime));  
374 - data->set("vsize", SrsJsonAny::number(u->vsize));  
375 - data->set("rss", SrsJsonAny::number(u->rss));  
376 - data->set("rsslim", SrsJsonAny::number(u->rsslim));  
377 - data->set("startcode", SrsJsonAny::number(u->startcode));  
378 - data->set("endcode", SrsJsonAny::number(u->endcode));  
379 - data->set("startstack", SrsJsonAny::number(u->startstack));  
380 - data->set("kstkesp", SrsJsonAny::number(u->kstkesp));  
381 - data->set("kstkeip", SrsJsonAny::number(u->kstkeip));  
382 - data->set("signal", SrsJsonAny::number(u->signal));  
383 - data->set("blocked", SrsJsonAny::number(u->blocked));  
384 - data->set("sigignore", SrsJsonAny::number(u->sigignore));  
385 - data->set("sigcatch", SrsJsonAny::number(u->sigcatch));  
386 - data->set("wchan", SrsJsonAny::number(u->wchan));  
387 - data->set("nswap", SrsJsonAny::number(u->nswap));  
388 - data->set("cnswap", SrsJsonAny::number(u->cnswap));  
389 - data->set("exit_signal", SrsJsonAny::number(u->exit_signal));  
390 - data->set("processor", SrsJsonAny::number(u->processor));  
391 - data->set("rt_priority", SrsJsonAny::number(u->rt_priority));  
392 - data->set("policy", SrsJsonAny::number(u->policy));  
393 - data->set("delayacct_blkio_ticks", SrsJsonAny::number(u->delayacct_blkio_ticks));  
394 - data->set("guest_time", SrsJsonAny::number(u->guest_time));  
395 - data->set("cguest_time", SrsJsonAny::number(u->cguest_time)); 355 + data->set("ppid", SrsJsonAny::integer(u->ppid));
  356 + data->set("pgrp", SrsJsonAny::integer(u->pgrp));
  357 + data->set("session", SrsJsonAny::integer(u->session));
  358 + data->set("tty_nr", SrsJsonAny::integer(u->tty_nr));
  359 + data->set("tpgid", SrsJsonAny::integer(u->tpgid));
  360 + data->set("flags", SrsJsonAny::integer(u->flags));
  361 + data->set("minflt", SrsJsonAny::integer(u->minflt));
  362 + data->set("cminflt", SrsJsonAny::integer(u->cminflt));
  363 + data->set("majflt", SrsJsonAny::integer(u->majflt));
  364 + data->set("cmajflt", SrsJsonAny::integer(u->cmajflt));
  365 + data->set("utime", SrsJsonAny::integer(u->utime));
  366 + data->set("stime", SrsJsonAny::integer(u->stime));
  367 + data->set("cutime", SrsJsonAny::integer(u->cutime));
  368 + data->set("cstime", SrsJsonAny::integer(u->cstime));
  369 + data->set("priority", SrsJsonAny::integer(u->priority));
  370 + data->set("nice", SrsJsonAny::integer(u->nice));
  371 + data->set("num_threads", SrsJsonAny::integer(u->num_threads));
  372 + data->set("itrealvalue", SrsJsonAny::integer(u->itrealvalue));
  373 + data->set("starttime", SrsJsonAny::integer(u->starttime));
  374 + data->set("vsize", SrsJsonAny::integer(u->vsize));
  375 + data->set("rss", SrsJsonAny::integer(u->rss));
  376 + data->set("rsslim", SrsJsonAny::integer(u->rsslim));
  377 + data->set("startcode", SrsJsonAny::integer(u->startcode));
  378 + data->set("endcode", SrsJsonAny::integer(u->endcode));
  379 + data->set("startstack", SrsJsonAny::integer(u->startstack));
  380 + data->set("kstkesp", SrsJsonAny::integer(u->kstkesp));
  381 + data->set("kstkeip", SrsJsonAny::integer(u->kstkeip));
  382 + data->set("signal", SrsJsonAny::integer(u->signal));
  383 + data->set("blocked", SrsJsonAny::integer(u->blocked));
  384 + data->set("sigignore", SrsJsonAny::integer(u->sigignore));
  385 + data->set("sigcatch", SrsJsonAny::integer(u->sigcatch));
  386 + data->set("wchan", SrsJsonAny::integer(u->wchan));
  387 + data->set("nswap", SrsJsonAny::integer(u->nswap));
  388 + data->set("cnswap", SrsJsonAny::integer(u->cnswap));
  389 + data->set("exit_signal", SrsJsonAny::integer(u->exit_signal));
  390 + data->set("processor", SrsJsonAny::integer(u->processor));
  391 + data->set("rt_priority", SrsJsonAny::integer(u->rt_priority));
  392 + data->set("policy", SrsJsonAny::integer(u->policy));
  393 + data->set("delayacct_blkio_ticks", SrsJsonAny::integer(u->delayacct_blkio_ticks));
  394 + data->set("guest_time", SrsJsonAny::integer(u->guest_time));
  395 + data->set("cguest_time", SrsJsonAny::integer(u->cguest_time));
396 396
397 return srs_api_response(w, r, obj->dumps()); 397 return srs_api_response(w, r, obj->dumps());
398 } 398 }
@@ -412,8 +412,8 @@ int SrsGoApiSystemProcStats::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessa @@ -412,8 +412,8 @@ int SrsGoApiSystemProcStats::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessa
412 SrsJsonObject* obj = SrsJsonAny::object(); 412 SrsJsonObject* obj = SrsJsonAny::object();
413 SrsAutoFree(SrsJsonObject, obj); 413 SrsAutoFree(SrsJsonObject, obj);
414 414
415 - obj->set("code", SrsJsonAny::number(ERROR_SUCCESS));  
416 - obj->set("server", SrsJsonAny::number(stat->server_id())); 415 + obj->set("code", SrsJsonAny::integer(ERROR_SUCCESS));
  416 + obj->set("server", SrsJsonAny::integer(stat->server_id()));
417 417
418 SrsJsonObject* data = SrsJsonAny::object(); 418 SrsJsonObject* data = SrsJsonAny::object();
419 obj->set("data", data); 419 obj->set("data", data);
@@ -421,17 +421,17 @@ int SrsGoApiSystemProcStats::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessa @@ -421,17 +421,17 @@ int SrsGoApiSystemProcStats::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessa
421 SrsProcSystemStat* s = srs_get_system_proc_stat(); 421 SrsProcSystemStat* s = srs_get_system_proc_stat();
422 422
423 data->set("ok", SrsJsonAny::boolean(s->ok)); 423 data->set("ok", SrsJsonAny::boolean(s->ok));
424 - data->set("sample_time", SrsJsonAny::number(s->sample_time)); 424 + data->set("sample_time", SrsJsonAny::integer(s->sample_time));
425 data->set("percent", SrsJsonAny::number(s->percent)); 425 data->set("percent", SrsJsonAny::number(s->percent));
426 - data->set("user", SrsJsonAny::number(s->user));  
427 - data->set("nice", SrsJsonAny::number(s->nice));  
428 - data->set("sys", SrsJsonAny::number(s->sys));  
429 - data->set("idle", SrsJsonAny::number(s->idle));  
430 - data->set("iowait", SrsJsonAny::number(s->iowait));  
431 - data->set("irq", SrsJsonAny::number(s->irq));  
432 - data->set("softirq", SrsJsonAny::number(s->softirq));  
433 - data->set("steal", SrsJsonAny::number(s->steal));  
434 - data->set("guest", SrsJsonAny::number(s->guest)); 426 + data->set("user", SrsJsonAny::integer(s->user));
  427 + data->set("nice", SrsJsonAny::integer(s->nice));
  428 + data->set("sys", SrsJsonAny::integer(s->sys));
  429 + data->set("idle", SrsJsonAny::integer(s->idle));
  430 + data->set("iowait", SrsJsonAny::integer(s->iowait));
  431 + data->set("irq", SrsJsonAny::integer(s->irq));
  432 + data->set("softirq", SrsJsonAny::integer(s->softirq));
  433 + data->set("steal", SrsJsonAny::integer(s->steal));
  434 + data->set("guest", SrsJsonAny::integer(s->guest));
435 435
436 return srs_api_response(w, r, obj->dumps()); 436 return srs_api_response(w, r, obj->dumps());
437 } 437 }
@@ -451,8 +451,8 @@ int SrsGoApiMemInfos::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r) @@ -451,8 +451,8 @@ int SrsGoApiMemInfos::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r)
451 SrsJsonObject* obj = SrsJsonAny::object(); 451 SrsJsonObject* obj = SrsJsonAny::object();
452 SrsAutoFree(SrsJsonObject, obj); 452 SrsAutoFree(SrsJsonObject, obj);
453 453
454 - obj->set("code", SrsJsonAny::number(ERROR_SUCCESS));  
455 - obj->set("server", SrsJsonAny::number(stat->server_id())); 454 + obj->set("code", SrsJsonAny::integer(ERROR_SUCCESS));
  455 + obj->set("server", SrsJsonAny::integer(stat->server_id()));
456 456
457 SrsJsonObject* data = SrsJsonAny::object(); 457 SrsJsonObject* data = SrsJsonAny::object();
458 obj->set("data", data); 458 obj->set("data", data);
@@ -460,18 +460,18 @@ int SrsGoApiMemInfos::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r) @@ -460,18 +460,18 @@ int SrsGoApiMemInfos::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r)
460 SrsMemInfo* m = srs_get_meminfo(); 460 SrsMemInfo* m = srs_get_meminfo();
461 461
462 data->set("ok", SrsJsonAny::boolean(m->ok)); 462 data->set("ok", SrsJsonAny::boolean(m->ok));
463 - data->set("sample_time", SrsJsonAny::number(m->sample_time)); 463 + data->set("sample_time", SrsJsonAny::integer(m->sample_time));
464 data->set("percent_ram", SrsJsonAny::number(m->percent_ram)); 464 data->set("percent_ram", SrsJsonAny::number(m->percent_ram));
465 data->set("percent_swap", SrsJsonAny::number(m->percent_swap)); 465 data->set("percent_swap", SrsJsonAny::number(m->percent_swap));
466 - data->set("MemActive", SrsJsonAny::number(m->MemActive));  
467 - data->set("RealInUse", SrsJsonAny::number(m->RealInUse));  
468 - data->set("NotInUse", SrsJsonAny::number(m->NotInUse));  
469 - data->set("MemTotal", SrsJsonAny::number(m->MemTotal));  
470 - data->set("MemFree", SrsJsonAny::number(m->MemFree));  
471 - data->set("Buffers", SrsJsonAny::number(m->Buffers));  
472 - data->set("Cached", SrsJsonAny::number(m->Cached));  
473 - data->set("SwapTotal", SrsJsonAny::number(m->SwapTotal));  
474 - data->set("SwapFree", SrsJsonAny::number(m->SwapFree)); 466 + data->set("MemActive", SrsJsonAny::integer(m->MemActive));
  467 + data->set("RealInUse", SrsJsonAny::integer(m->RealInUse));
  468 + data->set("NotInUse", SrsJsonAny::integer(m->NotInUse));
  469 + data->set("MemTotal", SrsJsonAny::integer(m->MemTotal));
  470 + data->set("MemFree", SrsJsonAny::integer(m->MemFree));
  471 + data->set("Buffers", SrsJsonAny::integer(m->Buffers));
  472 + data->set("Cached", SrsJsonAny::integer(m->Cached));
  473 + data->set("SwapTotal", SrsJsonAny::integer(m->SwapTotal));
  474 + data->set("SwapFree", SrsJsonAny::integer(m->SwapFree));
475 475
476 return srs_api_response(w, r, obj->dumps()); 476 return srs_api_response(w, r, obj->dumps());
477 } 477 }
@@ -491,8 +491,8 @@ int SrsGoApiAuthors::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r) @@ -491,8 +491,8 @@ int SrsGoApiAuthors::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r)
491 SrsJsonObject* obj = SrsJsonAny::object(); 491 SrsJsonObject* obj = SrsJsonAny::object();
492 SrsAutoFree(SrsJsonObject, obj); 492 SrsAutoFree(SrsJsonObject, obj);
493 493
494 - obj->set("code", SrsJsonAny::number(ERROR_SUCCESS));  
495 - obj->set("server", SrsJsonAny::number(stat->server_id())); 494 + obj->set("code", SrsJsonAny::integer(ERROR_SUCCESS));
  495 + obj->set("server", SrsJsonAny::integer(stat->server_id()));
496 496
497 SrsJsonObject* data = SrsJsonAny::object(); 497 SrsJsonObject* data = SrsJsonAny::object();
498 obj->set("data", data); 498 obj->set("data", data);
@@ -522,8 +522,8 @@ int SrsGoApiFeatures::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r) @@ -522,8 +522,8 @@ int SrsGoApiFeatures::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r)
522 SrsJsonObject* obj = SrsJsonAny::object(); 522 SrsJsonObject* obj = SrsJsonAny::object();
523 SrsAutoFree(SrsJsonObject, obj); 523 SrsAutoFree(SrsJsonObject, obj);
524 524
525 - obj->set("code", SrsJsonAny::number(ERROR_SUCCESS));  
526 - obj->set("server", SrsJsonAny::number(stat->server_id())); 525 + obj->set("code", SrsJsonAny::integer(ERROR_SUCCESS));
  526 + obj->set("server", SrsJsonAny::integer(stat->server_id()));
527 527
528 SrsJsonObject* data = SrsJsonAny::object(); 528 SrsJsonObject* data = SrsJsonAny::object();
529 obj->set("data", data); 529 obj->set("data", data);
@@ -640,8 +640,8 @@ int SrsGoApiRequests::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r) @@ -640,8 +640,8 @@ int SrsGoApiRequests::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r)
640 SrsJsonObject* obj = SrsJsonAny::object(); 640 SrsJsonObject* obj = SrsJsonAny::object();
641 SrsAutoFree(SrsJsonObject, obj); 641 SrsAutoFree(SrsJsonObject, obj);
642 642
643 - obj->set("code", SrsJsonAny::number(ERROR_SUCCESS));  
644 - obj->set("server", SrsJsonAny::number(stat->server_id())); 643 + obj->set("code", SrsJsonAny::integer(ERROR_SUCCESS));
  644 + obj->set("server", SrsJsonAny::integer(stat->server_id()));
645 645
646 SrsJsonObject* data = SrsJsonAny::object(); 646 SrsJsonObject* data = SrsJsonAny::object();
647 obj->set("data", data); 647 obj->set("data", data);
@@ -670,7 +670,7 @@ int SrsGoApiRequests::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r) @@ -670,7 +670,7 @@ int SrsGoApiRequests::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r)
670 server->set("name", SrsJsonAny::str(RTMP_SIG_SRS_NAME)); 670 server->set("name", SrsJsonAny::str(RTMP_SIG_SRS_NAME));
671 server->set("version", SrsJsonAny::str(RTMP_SIG_SRS_VERSION)); 671 server->set("version", SrsJsonAny::str(RTMP_SIG_SRS_VERSION));
672 server->set("link", SrsJsonAny::str(RTMP_SIG_SRS_URL)); 672 server->set("link", SrsJsonAny::str(RTMP_SIG_SRS_URL));
673 - server->set("time", SrsJsonAny::number(srs_get_system_time_ms())); 673 + server->set("time", SrsJsonAny::integer(srs_get_system_time_ms()));
674 674
675 return srs_api_response(w, r, obj->dumps()); 675 return srs_api_response(w, r, obj->dumps());
676 } 676 }
@@ -703,8 +703,8 @@ int SrsGoApiVhosts::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r) @@ -703,8 +703,8 @@ int SrsGoApiVhosts::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r)
703 SrsJsonObject* obj = SrsJsonAny::object(); 703 SrsJsonObject* obj = SrsJsonAny::object();
704 SrsAutoFree(SrsJsonObject, obj); 704 SrsAutoFree(SrsJsonObject, obj);
705 705
706 - obj->set("code", SrsJsonAny::number(ERROR_SUCCESS));  
707 - obj->set("server", SrsJsonAny::number(stat->server_id())); 706 + obj->set("code", SrsJsonAny::integer(ERROR_SUCCESS));
  707 + obj->set("server", SrsJsonAny::integer(stat->server_id()));
708 708
709 if (r->is_http_get()) { 709 if (r->is_http_get()) {
710 if (!vhost) { 710 if (!vhost) {
@@ -757,8 +757,8 @@ int SrsGoApiStreams::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r) @@ -757,8 +757,8 @@ int SrsGoApiStreams::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r)
757 SrsJsonObject* obj = SrsJsonAny::object(); 757 SrsJsonObject* obj = SrsJsonAny::object();
758 SrsAutoFree(SrsJsonObject, obj); 758 SrsAutoFree(SrsJsonObject, obj);
759 759
760 - obj->set("code", SrsJsonAny::number(ERROR_SUCCESS));  
761 - obj->set("server", SrsJsonAny::number(stat->server_id())); 760 + obj->set("code", SrsJsonAny::integer(ERROR_SUCCESS));
  761 + obj->set("server", SrsJsonAny::integer(stat->server_id()));
762 762
763 if (r->is_http_get()) { 763 if (r->is_http_get()) {
764 if (!stream) { 764 if (!stream) {
@@ -811,8 +811,8 @@ int SrsGoApiClients::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r) @@ -811,8 +811,8 @@ int SrsGoApiClients::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r)
811 SrsJsonObject* obj = SrsJsonAny::object(); 811 SrsJsonObject* obj = SrsJsonAny::object();
812 SrsAutoFree(SrsJsonObject, obj); 812 SrsAutoFree(SrsJsonObject, obj);
813 813
814 - obj->set("code", SrsJsonAny::number(ERROR_SUCCESS));  
815 - obj->set("server", SrsJsonAny::number(stat->server_id())); 814 + obj->set("code", SrsJsonAny::integer(ERROR_SUCCESS));
  815 + obj->set("server", SrsJsonAny::integer(stat->server_id()));
816 816
817 if (r->is_http_get()) { 817 if (r->is_http_get()) {
818 if (!client) { 818 if (!client) {
@@ -872,7 +872,7 @@ int SrsGoApiRaw::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r) @@ -872,7 +872,7 @@ int SrsGoApiRaw::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r)
872 // the object to return for request. 872 // the object to return for request.
873 SrsJsonObject* obj = SrsJsonAny::object(); 873 SrsJsonObject* obj = SrsJsonAny::object();
874 SrsAutoFree(SrsJsonObject, obj); 874 SrsAutoFree(SrsJsonObject, obj);
875 - obj->set("code", SrsJsonAny::number(ERROR_SUCCESS)); 875 + obj->set("code", SrsJsonAny::integer(ERROR_SUCCESS));
876 876
877 // for rpc=raw, to query the raw api config for http api. 877 // for rpc=raw, to query the raw api config for http api.
878 if (rpc == "raw") { 878 if (rpc == "raw") {
@@ -67,7 +67,7 @@ int SrsHttpHooks::on_connect(string url, SrsRequest* req) @@ -67,7 +67,7 @@ int SrsHttpHooks::on_connect(string url, SrsRequest* req)
67 SrsAutoFree(SrsJsonObject, obj); 67 SrsAutoFree(SrsJsonObject, obj);
68 68
69 obj->set("action", SrsJsonAny::str("on_connect")); 69 obj->set("action", SrsJsonAny::str("on_connect"));
70 - obj->set("client_id", SrsJsonAny::number(client_id)); 70 + obj->set("client_id", SrsJsonAny::integer(client_id));
71 obj->set("ip", SrsJsonAny::str(req->ip.c_str())); 71 obj->set("ip", SrsJsonAny::str(req->ip.c_str()));
72 obj->set("vhost", SrsJsonAny::str(req->vhost.c_str())); 72 obj->set("vhost", SrsJsonAny::str(req->vhost.c_str()));
73 obj->set("app", SrsJsonAny::str(req->app.c_str())); 73 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 @@ -103,12 +103,12 @@ void SrsHttpHooks::on_close(string url, SrsRequest* req, int64_t send_bytes, int
103 SrsAutoFree(SrsJsonObject, obj); 103 SrsAutoFree(SrsJsonObject, obj);
104 104
105 obj->set("action", SrsJsonAny::str("on_close")); 105 obj->set("action", SrsJsonAny::str("on_close"));
106 - obj->set("client_id", SrsJsonAny::number(client_id)); 106 + obj->set("client_id", SrsJsonAny::integer(client_id));
107 obj->set("ip", SrsJsonAny::str(req->ip.c_str())); 107 obj->set("ip", SrsJsonAny::str(req->ip.c_str()));
108 obj->set("vhost", SrsJsonAny::str(req->vhost.c_str())); 108 obj->set("vhost", SrsJsonAny::str(req->vhost.c_str()));
109 obj->set("app", SrsJsonAny::str(req->app.c_str())); 109 obj->set("app", SrsJsonAny::str(req->app.c_str()));
110 - obj->set("send_bytes", SrsJsonAny::number(send_bytes));  
111 - obj->set("recv_bytes", SrsJsonAny::number(recv_bytes)); 110 + obj->set("send_bytes", SrsJsonAny::integer(send_bytes));
  111 + obj->set("recv_bytes", SrsJsonAny::integer(recv_bytes));
112 112
113 std::string data = obj->dumps(); 113 std::string data = obj->dumps();
114 std::string res; 114 std::string res;
@@ -139,7 +139,7 @@ int SrsHttpHooks::on_publish(string url, SrsRequest* req) @@ -139,7 +139,7 @@ int SrsHttpHooks::on_publish(string url, SrsRequest* req)
139 SrsAutoFree(SrsJsonObject, obj); 139 SrsAutoFree(SrsJsonObject, obj);
140 140
141 obj->set("action", SrsJsonAny::str("on_publish")); 141 obj->set("action", SrsJsonAny::str("on_publish"));
142 - obj->set("client_id", SrsJsonAny::number(client_id)); 142 + obj->set("client_id", SrsJsonAny::integer(client_id));
143 obj->set("ip", SrsJsonAny::str(req->ip.c_str())); 143 obj->set("ip", SrsJsonAny::str(req->ip.c_str()));
144 obj->set("vhost", SrsJsonAny::str(req->vhost.c_str())); 144 obj->set("vhost", SrsJsonAny::str(req->vhost.c_str()));
145 obj->set("app", SrsJsonAny::str(req->app.c_str())); 145 obj->set("app", SrsJsonAny::str(req->app.c_str()));
@@ -174,7 +174,7 @@ void SrsHttpHooks::on_unpublish(string url, SrsRequest* req) @@ -174,7 +174,7 @@ void SrsHttpHooks::on_unpublish(string url, SrsRequest* req)
174 SrsAutoFree(SrsJsonObject, obj); 174 SrsAutoFree(SrsJsonObject, obj);
175 175
176 obj->set("action", SrsJsonAny::str("on_unpublish")); 176 obj->set("action", SrsJsonAny::str("on_unpublish"));
177 - obj->set("client_id", SrsJsonAny::number(client_id)); 177 + obj->set("client_id", SrsJsonAny::integer(client_id));
178 obj->set("ip", SrsJsonAny::str(req->ip.c_str())); 178 obj->set("ip", SrsJsonAny::str(req->ip.c_str()));
179 obj->set("vhost", SrsJsonAny::str(req->vhost.c_str())); 179 obj->set("vhost", SrsJsonAny::str(req->vhost.c_str()));
180 obj->set("app", SrsJsonAny::str(req->app.c_str())); 180 obj->set("app", SrsJsonAny::str(req->app.c_str()));
@@ -209,7 +209,7 @@ int SrsHttpHooks::on_play(string url, SrsRequest* req) @@ -209,7 +209,7 @@ int SrsHttpHooks::on_play(string url, SrsRequest* req)
209 SrsAutoFree(SrsJsonObject, obj); 209 SrsAutoFree(SrsJsonObject, obj);
210 210
211 obj->set("action", SrsJsonAny::str("on_play")); 211 obj->set("action", SrsJsonAny::str("on_play"));
212 - obj->set("client_id", SrsJsonAny::number(client_id)); 212 + obj->set("client_id", SrsJsonAny::integer(client_id));
213 obj->set("ip", SrsJsonAny::str(req->ip.c_str())); 213 obj->set("ip", SrsJsonAny::str(req->ip.c_str()));
214 obj->set("vhost", SrsJsonAny::str(req->vhost.c_str())); 214 obj->set("vhost", SrsJsonAny::str(req->vhost.c_str()));
215 obj->set("app", SrsJsonAny::str(req->app.c_str())); 215 obj->set("app", SrsJsonAny::str(req->app.c_str()));
@@ -245,7 +245,7 @@ void SrsHttpHooks::on_stop(string url, SrsRequest* req) @@ -245,7 +245,7 @@ void SrsHttpHooks::on_stop(string url, SrsRequest* req)
245 SrsAutoFree(SrsJsonObject, obj); 245 SrsAutoFree(SrsJsonObject, obj);
246 246
247 obj->set("action", SrsJsonAny::str("on_stop")); 247 obj->set("action", SrsJsonAny::str("on_stop"));
248 - obj->set("client_id", SrsJsonAny::number(client_id)); 248 + obj->set("client_id", SrsJsonAny::integer(client_id));
249 obj->set("ip", SrsJsonAny::str(req->ip.c_str())); 249 obj->set("ip", SrsJsonAny::str(req->ip.c_str()));
250 obj->set("vhost", SrsJsonAny::str(req->vhost.c_str())); 250 obj->set("vhost", SrsJsonAny::str(req->vhost.c_str()));
251 obj->set("app", SrsJsonAny::str(req->app.c_str())); 251 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) @@ -281,7 +281,7 @@ int SrsHttpHooks::on_dvr(int cid, string url, SrsRequest* req, string file)
281 SrsAutoFree(SrsJsonObject, obj); 281 SrsAutoFree(SrsJsonObject, obj);
282 282
283 obj->set("action", SrsJsonAny::str("on_dvr")); 283 obj->set("action", SrsJsonAny::str("on_dvr"));
284 - obj->set("client_id", SrsJsonAny::number(client_id)); 284 + obj->set("client_id", SrsJsonAny::integer(client_id));
285 obj->set("ip", SrsJsonAny::str(req->ip.c_str())); 285 obj->set("ip", SrsJsonAny::str(req->ip.c_str()));
286 obj->set("vhost", SrsJsonAny::str(req->vhost.c_str())); 286 obj->set("vhost", SrsJsonAny::str(req->vhost.c_str()));
287 obj->set("app", SrsJsonAny::str(req->app.c_str())); 287 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 @@ -319,7 +319,7 @@ int SrsHttpHooks::on_hls(int cid, string url, SrsRequest* req, string file, stri
319 SrsAutoFree(SrsJsonObject, obj); 319 SrsAutoFree(SrsJsonObject, obj);
320 320
321 obj->set("action", SrsJsonAny::str("on_hls")); 321 obj->set("action", SrsJsonAny::str("on_hls"));
322 - obj->set("client_id", SrsJsonAny::number(client_id)); 322 + obj->set("client_id", SrsJsonAny::integer(client_id));
323 obj->set("ip", SrsJsonAny::str(req->ip.c_str())); 323 obj->set("ip", SrsJsonAny::str(req->ip.c_str()));
324 obj->set("vhost", SrsJsonAny::str(req->vhost.c_str())); 324 obj->set("vhost", SrsJsonAny::str(req->vhost.c_str()));
325 obj->set("app", SrsJsonAny::str(req->app.c_str())); 325 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 @@ -330,7 +330,7 @@ int SrsHttpHooks::on_hls(int cid, string url, SrsRequest* req, string file, stri
330 obj->set("url", SrsJsonAny::str(url.c_str())); 330 obj->set("url", SrsJsonAny::str(url.c_str()));
331 obj->set("m3u8", SrsJsonAny::str(m3u8.c_str())); 331 obj->set("m3u8", SrsJsonAny::str(m3u8.c_str()));
332 obj->set("m3u8_url", SrsJsonAny::str(m3u8_url.c_str())); 332 obj->set("m3u8_url", SrsJsonAny::str(m3u8_url.c_str()));
333 - obj->set("seq_no", SrsJsonAny::number(sn)); 333 + obj->set("seq_no", SrsJsonAny::integer(sn));
334 334
335 std::string data = obj->dumps(); 335 std::string data = obj->dumps();
336 std::string res; 336 std::string res;
@@ -66,19 +66,19 @@ int SrsStatisticVhost::dumps(SrsJsonObject* obj) @@ -66,19 +66,19 @@ int SrsStatisticVhost::dumps(SrsJsonObject* obj)
66 bool hls_enabled = _srs_config->get_hls_enabled(vhost); 66 bool hls_enabled = _srs_config->get_hls_enabled(vhost);
67 bool enabled = _srs_config->get_vhost_enabled(vhost); 67 bool enabled = _srs_config->get_vhost_enabled(vhost);
68 68
69 - obj->set("id", SrsJsonAny::number(id)); 69 + obj->set("id", SrsJsonAny::integer(id));
70 obj->set("name", SrsJsonAny::str(vhost.c_str())); 70 obj->set("name", SrsJsonAny::str(vhost.c_str()));
71 obj->set("enabled", SrsJsonAny::boolean(enabled)); 71 obj->set("enabled", SrsJsonAny::boolean(enabled));
72 - obj->set("clients", SrsJsonAny::number(nb_clients));  
73 - obj->set("streams", SrsJsonAny::number(nb_streams));  
74 - obj->set("send_bytes", SrsJsonAny::number(kbps->get_send_bytes()));  
75 - obj->set("recv_bytes", SrsJsonAny::number(kbps->get_recv_bytes())); 72 + obj->set("clients", SrsJsonAny::integer(nb_clients));
  73 + obj->set("streams", SrsJsonAny::integer(nb_streams));
  74 + obj->set("send_bytes", SrsJsonAny::integer(kbps->get_send_bytes()));
  75 + obj->set("recv_bytes", SrsJsonAny::integer(kbps->get_recv_bytes()));
76 76
77 SrsJsonObject* okbps = SrsJsonAny::object(); 77 SrsJsonObject* okbps = SrsJsonAny::object();
78 obj->set("kbps", okbps); 78 obj->set("kbps", okbps);
79 79
80 - okbps->set("recv_30s", SrsJsonAny::number(kbps->get_recv_kbps_30s()));  
81 - okbps->set("send_30s", SrsJsonAny::number(kbps->get_send_kbps_30s())); 80 + okbps->set("recv_30s", SrsJsonAny::integer(kbps->get_recv_kbps_30s()));
  81 + okbps->set("send_30s", SrsJsonAny::integer(kbps->get_send_kbps_30s()));
82 82
83 SrsJsonObject* hls = SrsJsonAny::object(); 83 SrsJsonObject* hls = SrsJsonAny::object();
84 obj->set("hls", hls); 84 obj->set("hls", hls);
@@ -126,26 +126,26 @@ int SrsStatisticStream::dumps(SrsJsonObject* obj) @@ -126,26 +126,26 @@ int SrsStatisticStream::dumps(SrsJsonObject* obj)
126 { 126 {
127 int ret = ERROR_SUCCESS; 127 int ret = ERROR_SUCCESS;
128 128
129 - obj->set("id", SrsJsonAny::number(id)); 129 + obj->set("id", SrsJsonAny::integer(id));
130 obj->set("name", SrsJsonAny::str(stream.c_str())); 130 obj->set("name", SrsJsonAny::str(stream.c_str()));
131 - obj->set("vhost", SrsJsonAny::number(vhost->id)); 131 + obj->set("vhost", SrsJsonAny::integer(vhost->id));
132 obj->set("app", SrsJsonAny::str(app.c_str())); 132 obj->set("app", SrsJsonAny::str(app.c_str()));
133 - obj->set("live_ms", SrsJsonAny::number(srs_get_system_time_ms()));  
134 - obj->set("clients", SrsJsonAny::number(nb_clients));  
135 - obj->set("send_bytes", SrsJsonAny::number(kbps->get_send_bytes()));  
136 - obj->set("recv_bytes", SrsJsonAny::number(kbps->get_recv_bytes())); 133 + obj->set("live_ms", SrsJsonAny::integer(srs_get_system_time_ms()));
  134 + obj->set("clients", SrsJsonAny::integer(nb_clients));
  135 + obj->set("send_bytes", SrsJsonAny::integer(kbps->get_send_bytes()));
  136 + obj->set("recv_bytes", SrsJsonAny::integer(kbps->get_recv_bytes()));
137 137
138 SrsJsonObject* okbps = SrsJsonAny::object(); 138 SrsJsonObject* okbps = SrsJsonAny::object();
139 obj->set("kbps", okbps); 139 obj->set("kbps", okbps);
140 140
141 - okbps->set("recv_30s", SrsJsonAny::number(kbps->get_recv_kbps_30s()));  
142 - okbps->set("send_30s", SrsJsonAny::number(kbps->get_send_kbps_30s())); 141 + okbps->set("recv_30s", SrsJsonAny::integer(kbps->get_recv_kbps_30s()));
  142 + okbps->set("send_30s", SrsJsonAny::integer(kbps->get_send_kbps_30s()));
143 143
144 SrsJsonObject* publish = SrsJsonAny::object(); 144 SrsJsonObject* publish = SrsJsonAny::object();
145 obj->set("publish", publish); 145 obj->set("publish", publish);
146 146
147 publish->set("active", SrsJsonAny::boolean(active)); 147 publish->set("active", SrsJsonAny::boolean(active));
148 - publish->set("cid", SrsJsonAny::number(connection_cid)); 148 + publish->set("cid", SrsJsonAny::integer(connection_cid));
149 149
150 if (!has_video) { 150 if (!has_video) {
151 obj->set("video", SrsJsonAny::null()); 151 obj->set("video", SrsJsonAny::null());
@@ -156,8 +156,8 @@ int SrsStatisticStream::dumps(SrsJsonObject* obj) @@ -156,8 +156,8 @@ int SrsStatisticStream::dumps(SrsJsonObject* obj)
156 video->set("codec", SrsJsonAny::str(srs_codec_video2str(vcodec).c_str())); 156 video->set("codec", SrsJsonAny::str(srs_codec_video2str(vcodec).c_str()));
157 video->set("profile", SrsJsonAny::str(srs_codec_avc_profile2str(avc_profile).c_str())); 157 video->set("profile", SrsJsonAny::str(srs_codec_avc_profile2str(avc_profile).c_str()));
158 video->set("level", SrsJsonAny::str(srs_codec_avc_level2str(avc_level).c_str())); 158 video->set("level", SrsJsonAny::str(srs_codec_avc_level2str(avc_level).c_str()));
159 - video->set("width", SrsJsonAny::number(width));  
160 - video->set("height", SrsJsonAny::number(height)); 159 + video->set("width", SrsJsonAny::integer(width));
  160 + video->set("height", SrsJsonAny::integer(height));
161 } 161 }
162 162
163 if (!has_audio) { 163 if (!has_audio) {
@@ -167,8 +167,8 @@ int SrsStatisticStream::dumps(SrsJsonObject* obj) @@ -167,8 +167,8 @@ int SrsStatisticStream::dumps(SrsJsonObject* obj)
167 obj->set("audio", audio); 167 obj->set("audio", audio);
168 168
169 audio->set("codec", SrsJsonAny::str(srs_codec_audio2str(acodec).c_str())); 169 audio->set("codec", SrsJsonAny::str(srs_codec_audio2str(acodec).c_str()));
170 - audio->set("sample_rate", SrsJsonAny::number(flv_sample_rates[asample_rate]));  
171 - audio->set("channel", SrsJsonAny::number(asound_type + 1)); 170 + audio->set("sample_rate", SrsJsonAny::integer(flv_sample_rates[asample_rate]));
  171 + audio->set("channel", SrsJsonAny::integer(asound_type + 1));
172 audio->set("profile", SrsJsonAny::str(srs_codec_aac_object2str(aac_object).c_str())); 172 audio->set("profile", SrsJsonAny::str(srs_codec_aac_object2str(aac_object).c_str()));
173 } 173 }
174 174
@@ -210,9 +210,9 @@ int SrsStatisticClient::dumps(SrsJsonObject* obj) @@ -210,9 +210,9 @@ int SrsStatisticClient::dumps(SrsJsonObject* obj)
210 { 210 {
211 int ret = ERROR_SUCCESS; 211 int ret = ERROR_SUCCESS;
212 212
213 - obj->set("id", SrsJsonAny::number(id));  
214 - obj->set("vhost", SrsJsonAny::number(stream->vhost->id));  
215 - obj->set("stream", SrsJsonAny::number(stream->id)); 213 + obj->set("id", SrsJsonAny::integer(id));
  214 + obj->set("vhost", SrsJsonAny::integer(stream->vhost->id));
  215 + obj->set("stream", SrsJsonAny::integer(stream->id));
216 obj->set("ip", SrsJsonAny::str(req->ip.c_str())); 216 obj->set("ip", SrsJsonAny::str(req->ip.c_str()));
217 obj->set("pageUrl", SrsJsonAny::str(req->pageUrl.c_str())); 217 obj->set("pageUrl", SrsJsonAny::str(req->pageUrl.c_str()));
218 obj->set("swfUrl", SrsJsonAny::str(req->swfUrl.c_str())); 218 obj->set("swfUrl", SrsJsonAny::str(req->swfUrl.c_str()));
@@ -1429,58 +1429,58 @@ void srs_api_dump_summaries(SrsJsonObject* obj) @@ -1429,58 +1429,58 @@ void srs_api_dump_summaries(SrsJsonObject* obj)
1429 obj->set("data", data); 1429 obj->set("data", data);
1430 1430
1431 data->set("ok", SrsJsonAny::boolean(ok)); 1431 data->set("ok", SrsJsonAny::boolean(ok));
1432 - data->set("now_ms", SrsJsonAny::number(now)); 1432 + data->set("now_ms", SrsJsonAny::integer(now));
1433 1433
1434 // self 1434 // self
1435 SrsJsonObject* self = SrsJsonAny::object(); 1435 SrsJsonObject* self = SrsJsonAny::object();
1436 data->set("self", self); 1436 data->set("self", self);
1437 1437
1438 self->set("version", SrsJsonAny::str(RTMP_SIG_SRS_VERSION)); 1438 self->set("version", SrsJsonAny::str(RTMP_SIG_SRS_VERSION));
1439 - self->set("pid", SrsJsonAny::number(getpid()));  
1440 - self->set("ppid", SrsJsonAny::number(u->ppid)); 1439 + self->set("pid", SrsJsonAny::integer(getpid()));
  1440 + self->set("ppid", SrsJsonAny::integer(u->ppid));
1441 self->set("argv", SrsJsonAny::str(_srs_config->argv().c_str())); 1441 self->set("argv", SrsJsonAny::str(_srs_config->argv().c_str()));
1442 self->set("cwd", SrsJsonAny::str(_srs_config->cwd().c_str())); 1442 self->set("cwd", SrsJsonAny::str(_srs_config->cwd().c_str()));
1443 - self->set("mem_kbyte", SrsJsonAny::number(r->r.ru_maxrss)); 1443 + self->set("mem_kbyte", SrsJsonAny::integer(r->r.ru_maxrss));
1444 self->set("mem_percent", SrsJsonAny::number(self_mem_percent)); 1444 self->set("mem_percent", SrsJsonAny::number(self_mem_percent));
1445 self->set("cpu_percent", SrsJsonAny::number(u->percent)); 1445 self->set("cpu_percent", SrsJsonAny::number(u->percent));
1446 - self->set("srs_uptime", SrsJsonAny::number(srs_uptime)); 1446 + self->set("srs_uptime", SrsJsonAny::integer(srs_uptime));
1447 1447
1448 // system 1448 // system
1449 SrsJsonObject* sys = SrsJsonAny::object(); 1449 SrsJsonObject* sys = SrsJsonAny::object();
1450 data->set("system", sys); 1450 data->set("system", sys);
1451 1451
1452 sys->set("cpu_percent", SrsJsonAny::number(s->percent)); 1452 sys->set("cpu_percent", SrsJsonAny::number(s->percent));
1453 - sys->set("disk_read_KBps", SrsJsonAny::number(d->in_KBps));  
1454 - sys->set("disk_write_KBps", SrsJsonAny::number(d->out_KBps)); 1453 + sys->set("disk_read_KBps", SrsJsonAny::integer(d->in_KBps));
  1454 + sys->set("disk_write_KBps", SrsJsonAny::integer(d->out_KBps));
1455 sys->set("disk_busy_percent", SrsJsonAny::number(d->busy)); 1455 sys->set("disk_busy_percent", SrsJsonAny::number(d->busy));
1456 - sys->set("mem_ram_kbyte", SrsJsonAny::number(m->MemTotal)); 1456 + sys->set("mem_ram_kbyte", SrsJsonAny::integer(m->MemTotal));
1457 sys->set("mem_ram_percent", SrsJsonAny::number(m->percent_ram)); 1457 sys->set("mem_ram_percent", SrsJsonAny::number(m->percent_ram));
1458 - sys->set("mem_swap_kbyte", SrsJsonAny::number(m->SwapTotal)); 1458 + sys->set("mem_swap_kbyte", SrsJsonAny::integer(m->SwapTotal));
1459 sys->set("mem_swap_percent", SrsJsonAny::number(m->percent_swap)); 1459 sys->set("mem_swap_percent", SrsJsonAny::number(m->percent_swap));
1460 - sys->set("cpus", SrsJsonAny::number(c->nb_processors));  
1461 - sys->set("cpus_online", SrsJsonAny::number(c->nb_processors_online)); 1460 + sys->set("cpus", SrsJsonAny::integer(c->nb_processors));
  1461 + sys->set("cpus_online", SrsJsonAny::integer(c->nb_processors_online));
1462 sys->set("uptime", SrsJsonAny::number(p->os_uptime)); 1462 sys->set("uptime", SrsJsonAny::number(p->os_uptime));
1463 sys->set("ilde_time", SrsJsonAny::number(p->os_ilde_time)); 1463 sys->set("ilde_time", SrsJsonAny::number(p->os_ilde_time));
1464 sys->set("load_1m", SrsJsonAny::number(p->load_one_minutes)); 1464 sys->set("load_1m", SrsJsonAny::number(p->load_one_minutes));
1465 sys->set("load_5m", SrsJsonAny::number(p->load_five_minutes)); 1465 sys->set("load_5m", SrsJsonAny::number(p->load_five_minutes));
1466 sys->set("load_15m", SrsJsonAny::number(p->load_fifteen_minutes)); 1466 sys->set("load_15m", SrsJsonAny::number(p->load_fifteen_minutes));
1467 // system network bytes stat. 1467 // system network bytes stat.
1468 - sys->set("net_sample_time", SrsJsonAny::number(n_sample_time)); 1468 + sys->set("net_sample_time", SrsJsonAny::integer(n_sample_time));
1469 // internet public address network device bytes. 1469 // internet public address network device bytes.
1470 - sys->set("net_recv_bytes", SrsJsonAny::number(nr_bytes));  
1471 - sys->set("net_send_bytes", SrsJsonAny::number(ns_bytes)); 1470 + sys->set("net_recv_bytes", SrsJsonAny::integer(nr_bytes));
  1471 + sys->set("net_send_bytes", SrsJsonAny::integer(ns_bytes));
1472 // intranet private address network device bytes. 1472 // intranet private address network device bytes.
1473 - sys->set("net_recvi_bytes", SrsJsonAny::number(nri_bytes));  
1474 - sys->set("net_sendi_bytes", SrsJsonAny::number(nsi_bytes)); 1473 + sys->set("net_recvi_bytes", SrsJsonAny::integer(nri_bytes));
  1474 + sys->set("net_sendi_bytes", SrsJsonAny::integer(nsi_bytes));
1475 // srs network bytes stat. 1475 // srs network bytes stat.
1476 - sys->set("srs_sample_time", SrsJsonAny::number(nrs->sample_time));  
1477 - sys->set("srs_recv_bytes", SrsJsonAny::number(nrs->rbytes));  
1478 - sys->set("srs_send_bytes", SrsJsonAny::number(nrs->sbytes));  
1479 - sys->set("conn_sys", SrsJsonAny::number(nrs->nb_conn_sys));  
1480 - sys->set("conn_sys_et", SrsJsonAny::number(nrs->nb_conn_sys_et));  
1481 - sys->set("conn_sys_tw", SrsJsonAny::number(nrs->nb_conn_sys_tw));  
1482 - sys->set("conn_sys_udp", SrsJsonAny::number(nrs->nb_conn_sys_udp));  
1483 - sys->set("conn_srs", SrsJsonAny::number(nrs->nb_conn_srs)); 1476 + sys->set("srs_sample_time", SrsJsonAny::integer(nrs->sample_time));
  1477 + sys->set("srs_recv_bytes", SrsJsonAny::integer(nrs->rbytes));
  1478 + sys->set("srs_send_bytes", SrsJsonAny::integer(nrs->sbytes));
  1479 + sys->set("conn_sys", SrsJsonAny::integer(nrs->nb_conn_sys));
  1480 + sys->set("conn_sys_et", SrsJsonAny::integer(nrs->nb_conn_sys_et));
  1481 + sys->set("conn_sys_tw", SrsJsonAny::integer(nrs->nb_conn_sys_tw));
  1482 + sys->set("conn_sys_udp", SrsJsonAny::integer(nrs->nb_conn_sys_udp));
  1483 + sys->set("conn_srs", SrsJsonAny::integer(nrs->nb_conn_srs));
1484 } 1484 }
1485 1485
1486 string srs_join_vector_string(vector<string>& vs, string separator) 1486 string srs_join_vector_string(vector<string>& vs, string separator)