正在显示
14 个修改的文件
包含
733 行增加
和
765 行删除
| @@ -344,6 +344,7 @@ Remark: | @@ -344,6 +344,7 @@ Remark: | ||
| 344 | 344 | ||
| 345 | ## History | 345 | ## History |
| 346 | 346 | ||
| 347 | +* v3.0, 2015-09-19, json objects support dumps to string. | ||
| 347 | * v3.0, 2015-09-14, fix [#459][bug #459], support dvr raw api. 3.0.4 | 348 | * v3.0, 2015-09-14, fix [#459][bug #459], support dvr raw api. 3.0.4 |
| 348 | * v3.0, 2015-09-14, fix [#459][bug #459], dvr support apply filter for ng-control dvr module. | 349 | * v3.0, 2015-09-14, fix [#459][bug #459], dvr support apply filter for ng-control dvr module. |
| 349 | * v3.0, 2015-09-14, fix [#319][bug #319], http raw api support update global and vhost. 3.0.3 | 350 | * v3.0, 2015-09-14, fix [#319][bug #319], http raw api support update global and vhost. 3.0.3 |
| @@ -75,7 +75,7 @@ using namespace _srs_internal; | @@ -75,7 +75,7 @@ using namespace _srs_internal; | ||
| 75 | * @param dir the transcode or ingest config directive. | 75 | * @param dir the transcode or ingest config directive. |
| 76 | * @param engine the amf0 object to dumps to. | 76 | * @param engine the amf0 object to dumps to. |
| 77 | */ | 77 | */ |
| 78 | -int srs_config_dumps_engine(SrsConfDirective* dir, SrsAmf0Object* engine); | 78 | +int srs_config_dumps_engine(SrsConfDirective* dir, SrsJsonObject* engine); |
| 79 | 79 | ||
| 80 | /** | 80 | /** |
| 81 | * whether the two vector actual equals, for instance, | 81 | * whether the two vector actual equals, for instance, |
| @@ -511,21 +511,21 @@ int srs_config_transform_vhost(SrsConfDirective* root) | @@ -511,21 +511,21 @@ int srs_config_transform_vhost(SrsConfDirective* root) | ||
| 511 | return ret; | 511 | return ret; |
| 512 | } | 512 | } |
| 513 | 513 | ||
| 514 | -int srs_config_dumps_engine(SrsConfDirective* dir, SrsAmf0Object* engine) | 514 | +int srs_config_dumps_engine(SrsConfDirective* dir, SrsJsonObject* engine) |
| 515 | { | 515 | { |
| 516 | int ret = ERROR_SUCCESS; | 516 | int ret = ERROR_SUCCESS; |
| 517 | 517 | ||
| 518 | SrsConfDirective* conf = NULL; | 518 | SrsConfDirective* conf = NULL; |
| 519 | 519 | ||
| 520 | engine->set("id", dir->dumps_arg0_to_str()); | 520 | engine->set("id", dir->dumps_arg0_to_str()); |
| 521 | - engine->set("enabled", SrsAmf0Any::boolean(_srs_config->get_engine_enabled(dir))); | 521 | + engine->set("enabled", SrsJsonAny::boolean(_srs_config->get_engine_enabled(dir))); |
| 522 | 522 | ||
| 523 | if ((conf = dir->get("iformat")) != NULL) { | 523 | if ((conf = dir->get("iformat")) != NULL) { |
| 524 | engine->set("iformat", conf->dumps_arg0_to_str()); | 524 | engine->set("iformat", conf->dumps_arg0_to_str()); |
| 525 | } | 525 | } |
| 526 | 526 | ||
| 527 | if ((conf = dir->get("vfilter")) != NULL) { | 527 | if ((conf = dir->get("vfilter")) != NULL) { |
| 528 | - SrsAmf0Object* vfilter = SrsAmf0Any::object(); | 528 | + SrsJsonObject* vfilter = SrsJsonAny::object(); |
| 529 | engine->set("vfilter", vfilter); | 529 | engine->set("vfilter", vfilter); |
| 530 | 530 | ||
| 531 | for (int i = 0; i < (int)conf->directives.size(); i++) { | 531 | for (int i = 0; i < (int)conf->directives.size(); i++) { |
| @@ -567,7 +567,7 @@ int srs_config_dumps_engine(SrsConfDirective* dir, SrsAmf0Object* engine) | @@ -567,7 +567,7 @@ int srs_config_dumps_engine(SrsConfDirective* dir, SrsAmf0Object* engine) | ||
| 567 | } | 567 | } |
| 568 | 568 | ||
| 569 | if ((conf = dir->get("vparams")) != NULL) { | 569 | if ((conf = dir->get("vparams")) != NULL) { |
| 570 | - SrsAmf0Object* vparams = SrsAmf0Any::object(); | 570 | + SrsJsonObject* vparams = SrsJsonAny::object(); |
| 571 | engine->set("vparams", vparams); | 571 | engine->set("vparams", vparams); |
| 572 | 572 | ||
| 573 | for (int i = 0; i < (int)conf->directives.size(); i++) { | 573 | for (int i = 0; i < (int)conf->directives.size(); i++) { |
| @@ -593,7 +593,7 @@ int srs_config_dumps_engine(SrsConfDirective* dir, SrsAmf0Object* engine) | @@ -593,7 +593,7 @@ int srs_config_dumps_engine(SrsConfDirective* dir, SrsAmf0Object* engine) | ||
| 593 | } | 593 | } |
| 594 | 594 | ||
| 595 | if ((conf = dir->get("aparams")) != NULL) { | 595 | if ((conf = dir->get("aparams")) != NULL) { |
| 596 | - SrsAmf0Object* aparams = SrsAmf0Any::object(); | 596 | + SrsJsonObject* aparams = SrsJsonAny::object(); |
| 597 | engine->set("aparams", aparams); | 597 | engine->set("aparams", aparams); |
| 598 | 598 | ||
| 599 | for (int i = 0; i < (int)conf->directives.size(); i++) { | 599 | for (int i = 0; i < (int)conf->directives.size(); i++) { |
| @@ -868,29 +868,29 @@ int SrsConfDirective::persistence(SrsFileWriter* writer, int level) | @@ -868,29 +868,29 @@ int SrsConfDirective::persistence(SrsFileWriter* writer, int level) | ||
| 868 | return ret; | 868 | return ret; |
| 869 | } | 869 | } |
| 870 | 870 | ||
| 871 | -SrsAmf0StrictArray* SrsConfDirective::dumps_args() | 871 | +SrsJsonArray* SrsConfDirective::dumps_args() |
| 872 | { | 872 | { |
| 873 | - SrsAmf0StrictArray* arr = SrsAmf0Any::strict_array(); | 873 | + SrsJsonArray* arr = SrsJsonAny::array(); |
| 874 | for (int i = 0; i < (int)args.size(); i++) { | 874 | for (int i = 0; i < (int)args.size(); i++) { |
| 875 | string arg = args.at(i); | 875 | string arg = args.at(i); |
| 876 | - arr->append(SrsAmf0Any::str(arg.c_str())); | 876 | + arr->append(SrsJsonAny::str(arg.c_str())); |
| 877 | } | 877 | } |
| 878 | return arr; | 878 | return arr; |
| 879 | } | 879 | } |
| 880 | 880 | ||
| 881 | -SrsAmf0Any* SrsConfDirective::dumps_arg0_to_str() | 881 | +SrsJsonAny* SrsConfDirective::dumps_arg0_to_str() |
| 882 | { | 882 | { |
| 883 | - return SrsAmf0Any::str(arg0().c_str()); | 883 | + return SrsJsonAny::str(arg0().c_str()); |
| 884 | } | 884 | } |
| 885 | 885 | ||
| 886 | -SrsAmf0Any* SrsConfDirective::dumps_arg0_to_number() | 886 | +SrsJsonAny* SrsConfDirective::dumps_arg0_to_number() |
| 887 | { | 887 | { |
| 888 | - return SrsAmf0Any::number(::atof(arg0().c_str())); | 888 | + return SrsJsonAny::number(::atof(arg0().c_str())); |
| 889 | } | 889 | } |
| 890 | 890 | ||
| 891 | -SrsAmf0Any* SrsConfDirective::dumps_arg0_to_boolean() | 891 | +SrsJsonAny* SrsConfDirective::dumps_arg0_to_boolean() |
| 892 | { | 892 | { |
| 893 | - return SrsAmf0Any::boolean(arg0() == "on"); | 893 | + return SrsJsonAny::boolean(arg0() == "on"); |
| 894 | } | 894 | } |
| 895 | 895 | ||
| 896 | // see: ngx_conf_parse | 896 | // see: ngx_conf_parse |
| @@ -1994,7 +1994,7 @@ int SrsConfig::persistence() | @@ -1994,7 +1994,7 @@ int SrsConfig::persistence() | ||
| 1994 | return ret; | 1994 | return ret; |
| 1995 | } | 1995 | } |
| 1996 | 1996 | ||
| 1997 | -int SrsConfig::minimal_to_json(SrsAmf0Object* obj) | 1997 | +int SrsConfig::minimal_to_json(SrsJsonObject* obj) |
| 1998 | { | 1998 | { |
| 1999 | int ret = ERROR_SUCCESS; | 1999 | int ret = ERROR_SUCCESS; |
| 2000 | 2000 | ||
| @@ -2012,7 +2012,7 @@ int SrsConfig::minimal_to_json(SrsAmf0Object* obj) | @@ -2012,7 +2012,7 @@ int SrsConfig::minimal_to_json(SrsAmf0Object* obj) | ||
| 2012 | return ret; | 2012 | return ret; |
| 2013 | } | 2013 | } |
| 2014 | 2014 | ||
| 2015 | -int SrsConfig::global_to_json(SrsAmf0Object* obj) | 2015 | +int SrsConfig::global_to_json(SrsJsonObject* obj) |
| 2016 | { | 2016 | { |
| 2017 | int ret = ERROR_SUCCESS; | 2017 | int ret = ERROR_SUCCESS; |
| 2018 | 2018 | ||
| @@ -2045,7 +2045,7 @@ int SrsConfig::global_to_json(SrsAmf0Object* obj) | @@ -2045,7 +2045,7 @@ int SrsConfig::global_to_json(SrsAmf0Object* obj) | ||
| 2045 | } else if (dir->name == "pithy_print_ms") { | 2045 | } else if (dir->name == "pithy_print_ms") { |
| 2046 | obj->set(dir->name, dir->dumps_arg0_to_number()); | 2046 | obj->set(dir->name, dir->dumps_arg0_to_number()); |
| 2047 | } else if (dir->name == "heartbeat") { | 2047 | } else if (dir->name == "heartbeat") { |
| 2048 | - SrsAmf0Object* sobj = SrsAmf0Any::object(); | 2048 | + SrsJsonObject* sobj = SrsJsonAny::object(); |
| 2049 | for (int j = 0; j < (int)dir->directives.size(); j++) { | 2049 | for (int j = 0; j < (int)dir->directives.size(); j++) { |
| 2050 | SrsConfDirective* sdir = dir->directives.at(j); | 2050 | SrsConfDirective* sdir = dir->directives.at(j); |
| 2051 | if (sdir->name == "enabled") { | 2051 | if (sdir->name == "enabled") { |
| @@ -2062,7 +2062,7 @@ int SrsConfig::global_to_json(SrsAmf0Object* obj) | @@ -2062,7 +2062,7 @@ int SrsConfig::global_to_json(SrsAmf0Object* obj) | ||
| 2062 | } | 2062 | } |
| 2063 | obj->set(dir->name, sobj); | 2063 | obj->set(dir->name, sobj); |
| 2064 | } else if (dir->name == "stats") { | 2064 | } else if (dir->name == "stats") { |
| 2065 | - SrsAmf0Object* sobj = SrsAmf0Any::object(); | 2065 | + SrsJsonObject* sobj = SrsJsonAny::object(); |
| 2066 | for (int j = 0; j < (int)dir->directives.size(); j++) { | 2066 | for (int j = 0; j < (int)dir->directives.size(); j++) { |
| 2067 | SrsConfDirective* sdir = dir->directives.at(j); | 2067 | SrsConfDirective* sdir = dir->directives.at(j); |
| 2068 | if (sdir->name == "network") { | 2068 | if (sdir->name == "network") { |
| @@ -2073,7 +2073,7 @@ int SrsConfig::global_to_json(SrsAmf0Object* obj) | @@ -2073,7 +2073,7 @@ int SrsConfig::global_to_json(SrsAmf0Object* obj) | ||
| 2073 | } | 2073 | } |
| 2074 | obj->set(dir->name, sobj); | 2074 | obj->set(dir->name, sobj); |
| 2075 | } else if (dir->name == "http_api") { | 2075 | } else if (dir->name == "http_api") { |
| 2076 | - SrsAmf0Object* sobj = SrsAmf0Any::object(); | 2076 | + SrsJsonObject* sobj = SrsJsonAny::object(); |
| 2077 | for (int j = 0; j < (int)dir->directives.size(); j++) { | 2077 | for (int j = 0; j < (int)dir->directives.size(); j++) { |
| 2078 | SrsConfDirective* sdir = dir->directives.at(j); | 2078 | SrsConfDirective* sdir = dir->directives.at(j); |
| 2079 | if (sdir->name == "enabled") { | 2079 | if (sdir->name == "enabled") { |
| @@ -2083,7 +2083,7 @@ int SrsConfig::global_to_json(SrsAmf0Object* obj) | @@ -2083,7 +2083,7 @@ int SrsConfig::global_to_json(SrsAmf0Object* obj) | ||
| 2083 | } else if (sdir->name == "crossdomain") { | 2083 | } else if (sdir->name == "crossdomain") { |
| 2084 | sobj->set(sdir->name, sdir->dumps_arg0_to_boolean()); | 2084 | sobj->set(sdir->name, sdir->dumps_arg0_to_boolean()); |
| 2085 | } else if (sdir->name == "raw_api") { | 2085 | } else if (sdir->name == "raw_api") { |
| 2086 | - SrsAmf0Object* ssobj = SrsAmf0Any::object(); | 2086 | + SrsJsonObject* ssobj = SrsJsonAny::object(); |
| 2087 | sobj->set(sdir->name, ssobj); | 2087 | sobj->set(sdir->name, ssobj); |
| 2088 | 2088 | ||
| 2089 | for (int j = 0; j < (int)sdir->directives.size(); j++) { | 2089 | for (int j = 0; j < (int)sdir->directives.size(); j++) { |
| @@ -2102,7 +2102,7 @@ int SrsConfig::global_to_json(SrsAmf0Object* obj) | @@ -2102,7 +2102,7 @@ int SrsConfig::global_to_json(SrsAmf0Object* obj) | ||
| 2102 | } | 2102 | } |
| 2103 | obj->set(dir->name, sobj); | 2103 | obj->set(dir->name, sobj); |
| 2104 | } else if (dir->name == "http_server") { | 2104 | } else if (dir->name == "http_server") { |
| 2105 | - SrsAmf0Object* sobj = SrsAmf0Any::object(); | 2105 | + SrsJsonObject* sobj = SrsJsonAny::object(); |
| 2106 | for (int j = 0; j < (int)dir->directives.size(); j++) { | 2106 | for (int j = 0; j < (int)dir->directives.size(); j++) { |
| 2107 | SrsConfDirective* sdir = dir->directives.at(j); | 2107 | SrsConfDirective* sdir = dir->directives.at(j); |
| 2108 | if (sdir->name == "enabled") { | 2108 | if (sdir->name == "enabled") { |
| @@ -2115,7 +2115,7 @@ int SrsConfig::global_to_json(SrsAmf0Object* obj) | @@ -2115,7 +2115,7 @@ int SrsConfig::global_to_json(SrsAmf0Object* obj) | ||
| 2115 | } | 2115 | } |
| 2116 | obj->set(dir->name, sobj); | 2116 | obj->set(dir->name, sobj); |
| 2117 | } else if (dir->name == "stream_caster") { | 2117 | } else if (dir->name == "stream_caster") { |
| 2118 | - SrsAmf0Object* sobj = SrsAmf0Any::object(); | 2118 | + SrsJsonObject* sobj = SrsJsonAny::object(); |
| 2119 | for (int j = 0; j < (int)dir->directives.size(); j++) { | 2119 | for (int j = 0; j < (int)dir->directives.size(); j++) { |
| 2120 | SrsConfDirective* sdir = dir->directives.at(j); | 2120 | SrsConfDirective* sdir = dir->directives.at(j); |
| 2121 | if (sdir->name == "enabled") { | 2121 | if (sdir->name == "enabled") { |
| @@ -2138,7 +2138,7 @@ int SrsConfig::global_to_json(SrsAmf0Object* obj) | @@ -2138,7 +2138,7 @@ int SrsConfig::global_to_json(SrsAmf0Object* obj) | ||
| 2138 | } | 2138 | } |
| 2139 | } | 2139 | } |
| 2140 | 2140 | ||
| 2141 | - SrsAmf0Object* sobjs = SrsAmf0Any::object(); | 2141 | + SrsJsonObject* sobjs = SrsJsonAny::object(); |
| 2142 | int nb_vhosts = 0; | 2142 | int nb_vhosts = 0; |
| 2143 | 2143 | ||
| 2144 | SrsStatistic* stat = SrsStatistic::instance(); | 2144 | SrsStatistic* stat = SrsStatistic::instance(); |
| @@ -2149,73 +2149,73 @@ int SrsConfig::global_to_json(SrsAmf0Object* obj) | @@ -2149,73 +2149,73 @@ int SrsConfig::global_to_json(SrsAmf0Object* obj) | ||
| 2149 | } | 2149 | } |
| 2150 | 2150 | ||
| 2151 | nb_vhosts++; | 2151 | nb_vhosts++; |
| 2152 | - SrsAmf0Object* sobj = SrsAmf0Any::object(); | 2152 | + SrsJsonObject* sobj = SrsJsonAny::object(); |
| 2153 | sobjs->set(dir->arg0(), sobj); | 2153 | sobjs->set(dir->arg0(), sobj); |
| 2154 | 2154 | ||
| 2155 | SrsStatisticVhost* svhost = stat->find_vhost(dir->arg0()); | 2155 | SrsStatisticVhost* svhost = stat->find_vhost(dir->arg0()); |
| 2156 | - sobj->set("id", SrsAmf0Any::number(svhost? (double)svhost->id : 0)); | 2156 | + sobj->set("id", SrsJsonAny::number(svhost? (double)svhost->id : 0)); |
| 2157 | sobj->set("name", dir->dumps_arg0_to_str()); | 2157 | sobj->set("name", dir->dumps_arg0_to_str()); |
| 2158 | - sobj->set("enabled", SrsAmf0Any::boolean(get_vhost_enabled(dir->arg0()))); | 2158 | + sobj->set("enabled", SrsJsonAny::boolean(get_vhost_enabled(dir->arg0()))); |
| 2159 | 2159 | ||
| 2160 | if (get_dvr_enabled(dir->arg0())) { | 2160 | if (get_dvr_enabled(dir->arg0())) { |
| 2161 | - sobj->set("dvr", SrsAmf0Any::boolean(true)); | 2161 | + sobj->set("dvr", SrsJsonAny::boolean(true)); |
| 2162 | } | 2162 | } |
| 2163 | if (get_vhost_http_enabled(dir->arg0())) { | 2163 | if (get_vhost_http_enabled(dir->arg0())) { |
| 2164 | - sobj->set("http_static", SrsAmf0Any::boolean(true)); | 2164 | + sobj->set("http_static", SrsJsonAny::boolean(true)); |
| 2165 | } | 2165 | } |
| 2166 | if (get_vhost_http_remux_enabled(dir->arg0())) { | 2166 | if (get_vhost_http_remux_enabled(dir->arg0())) { |
| 2167 | - sobj->set("http_remux", SrsAmf0Any::boolean(true)); | 2167 | + sobj->set("http_remux", SrsJsonAny::boolean(true)); |
| 2168 | } | 2168 | } |
| 2169 | if (get_hls_enabled(dir->arg0())) { | 2169 | if (get_hls_enabled(dir->arg0())) { |
| 2170 | - sobj->set("hls", SrsAmf0Any::boolean(true)); | 2170 | + sobj->set("hls", SrsJsonAny::boolean(true)); |
| 2171 | } | 2171 | } |
| 2172 | if (get_hds_enabled(dir->arg0())) { | 2172 | if (get_hds_enabled(dir->arg0())) { |
| 2173 | - sobj->set("hds", SrsAmf0Any::boolean(true)); | 2173 | + sobj->set("hds", SrsJsonAny::boolean(true)); |
| 2174 | } | 2174 | } |
| 2175 | if (get_vhost_http_hooks(dir->arg0())) { | 2175 | if (get_vhost_http_hooks(dir->arg0())) { |
| 2176 | - sobj->set("http_hooks", SrsAmf0Any::boolean(true)); | 2176 | + sobj->set("http_hooks", SrsJsonAny::boolean(true)); |
| 2177 | } | 2177 | } |
| 2178 | if (get_exec_enabled(dir->arg0())) { | 2178 | if (get_exec_enabled(dir->arg0())) { |
| 2179 | - sobj->set("exec", SrsAmf0Any::boolean(true)); | 2179 | + sobj->set("exec", SrsJsonAny::boolean(true)); |
| 2180 | } | 2180 | } |
| 2181 | if (get_bw_check_enabled(dir->arg0())) { | 2181 | if (get_bw_check_enabled(dir->arg0())) { |
| 2182 | - sobj->set("bandcheck", SrsAmf0Any::boolean(true)); | 2182 | + sobj->set("bandcheck", SrsJsonAny::boolean(true)); |
| 2183 | } | 2183 | } |
| 2184 | if (!get_vhost_is_edge(dir->arg0())) { | 2184 | if (!get_vhost_is_edge(dir->arg0())) { |
| 2185 | - sobj->set("origin", SrsAmf0Any::boolean(true)); | 2185 | + sobj->set("origin", SrsJsonAny::boolean(true)); |
| 2186 | } | 2186 | } |
| 2187 | if (get_forward_enabled(dir->arg0())) { | 2187 | if (get_forward_enabled(dir->arg0())) { |
| 2188 | - sobj->set("forward", SrsAmf0Any::boolean(true)); | 2188 | + sobj->set("forward", SrsJsonAny::boolean(true)); |
| 2189 | } | 2189 | } |
| 2190 | 2190 | ||
| 2191 | if (get_security_enabled(dir->arg0())) { | 2191 | if (get_security_enabled(dir->arg0())) { |
| 2192 | - sobj->set("security", SrsAmf0Any::boolean(true)); | 2192 | + sobj->set("security", SrsJsonAny::boolean(true)); |
| 2193 | } | 2193 | } |
| 2194 | if (get_refer_enabled(dir->arg0())) { | 2194 | if (get_refer_enabled(dir->arg0())) { |
| 2195 | - sobj->set("refer", SrsAmf0Any::boolean(true)); | 2195 | + sobj->set("refer", SrsJsonAny::boolean(true)); |
| 2196 | } | 2196 | } |
| 2197 | 2197 | ||
| 2198 | if (get_mr_enabled(dir->arg0())) { | 2198 | if (get_mr_enabled(dir->arg0())) { |
| 2199 | - sobj->set("mr", SrsAmf0Any::boolean(true)); | 2199 | + sobj->set("mr", SrsJsonAny::boolean(true)); |
| 2200 | } | 2200 | } |
| 2201 | if (get_realtime_enabled(dir->arg0())) { | 2201 | if (get_realtime_enabled(dir->arg0())) { |
| 2202 | - sobj->set("min_latency", SrsAmf0Any::boolean(true)); | 2202 | + sobj->set("min_latency", SrsJsonAny::boolean(true)); |
| 2203 | } | 2203 | } |
| 2204 | if (get_gop_cache(dir->arg0())) { | 2204 | if (get_gop_cache(dir->arg0())) { |
| 2205 | - sobj->set("gop_cache", SrsAmf0Any::boolean(true)); | 2205 | + sobj->set("gop_cache", SrsJsonAny::boolean(true)); |
| 2206 | } | 2206 | } |
| 2207 | if (get_tcp_nodelay(dir->arg0())) { | 2207 | if (get_tcp_nodelay(dir->arg0())) { |
| 2208 | - sobj->set("tcp_nodelay", SrsAmf0Any::boolean(true)); | 2208 | + sobj->set("tcp_nodelay", SrsJsonAny::boolean(true)); |
| 2209 | } | 2209 | } |
| 2210 | 2210 | ||
| 2211 | if (get_mix_correct(dir->arg0())) { | 2211 | if (get_mix_correct(dir->arg0())) { |
| 2212 | - sobj->set("mix_correct", SrsAmf0Any::boolean(true)); | 2212 | + sobj->set("mix_correct", SrsJsonAny::boolean(true)); |
| 2213 | } | 2213 | } |
| 2214 | if (get_time_jitter(dir->arg0()) != SrsRtmpJitterAlgorithmOFF) { | 2214 | if (get_time_jitter(dir->arg0()) != SrsRtmpJitterAlgorithmOFF) { |
| 2215 | - sobj->set("time_jitter", SrsAmf0Any::boolean(true)); | 2215 | + sobj->set("time_jitter", SrsJsonAny::boolean(true)); |
| 2216 | } | 2216 | } |
| 2217 | if (get_atc(dir->arg0())) { | 2217 | if (get_atc(dir->arg0())) { |
| 2218 | - sobj->set("atc", SrsAmf0Any::boolean(true)); | 2218 | + sobj->set("atc", SrsJsonAny::boolean(true)); |
| 2219 | } | 2219 | } |
| 2220 | 2220 | ||
| 2221 | bool has_transcode = false; | 2221 | bool has_transcode = false; |
| @@ -2242,7 +2242,7 @@ int SrsConfig::global_to_json(SrsAmf0Object* obj) | @@ -2242,7 +2242,7 @@ int SrsConfig::global_to_json(SrsAmf0Object* obj) | ||
| 2242 | } | 2242 | } |
| 2243 | } | 2243 | } |
| 2244 | if (has_transcode) { | 2244 | if (has_transcode) { |
| 2245 | - sobj->set("transcode", SrsAmf0Any::boolean(has_transcode)); | 2245 | + sobj->set("transcode", SrsJsonAny::boolean(has_transcode)); |
| 2246 | } | 2246 | } |
| 2247 | 2247 | ||
| 2248 | bool has_ingest = false; | 2248 | bool has_ingest = false; |
| @@ -2258,17 +2258,17 @@ int SrsConfig::global_to_json(SrsAmf0Object* obj) | @@ -2258,17 +2258,17 @@ int SrsConfig::global_to_json(SrsAmf0Object* obj) | ||
| 2258 | } | 2258 | } |
| 2259 | } | 2259 | } |
| 2260 | if (has_ingest) { | 2260 | if (has_ingest) { |
| 2261 | - sobj->set("ingest", SrsAmf0Any::boolean(has_ingest)); | 2261 | + sobj->set("ingest", SrsJsonAny::boolean(has_ingest)); |
| 2262 | } | 2262 | } |
| 2263 | } | 2263 | } |
| 2264 | 2264 | ||
| 2265 | - obj->set("nb_vhosts", SrsAmf0Any::number(nb_vhosts)); | 2265 | + obj->set("nb_vhosts", SrsJsonAny::number(nb_vhosts)); |
| 2266 | obj->set("vhosts", sobjs); | 2266 | obj->set("vhosts", sobjs); |
| 2267 | 2267 | ||
| 2268 | return ret; | 2268 | return ret; |
| 2269 | } | 2269 | } |
| 2270 | 2270 | ||
| 2271 | -int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsAmf0Object* obj) | 2271 | +int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsJsonObject* obj) |
| 2272 | { | 2272 | { |
| 2273 | int ret = ERROR_SUCCESS; | 2273 | int ret = ERROR_SUCCESS; |
| 2274 | 2274 | ||
| @@ -2278,10 +2278,10 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsAmf0Object* obj) | @@ -2278,10 +2278,10 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsAmf0Object* obj) | ||
| 2278 | SrsStatistic* stat = SrsStatistic::instance(); | 2278 | SrsStatistic* stat = SrsStatistic::instance(); |
| 2279 | 2279 | ||
| 2280 | SrsStatisticVhost* svhost = stat->find_vhost(vhost->arg0()); | 2280 | SrsStatisticVhost* svhost = stat->find_vhost(vhost->arg0()); |
| 2281 | - obj->set("id", SrsAmf0Any::number(svhost? (double)svhost->id : 0)); | 2281 | + obj->set("id", SrsJsonAny::number(svhost? (double)svhost->id : 0)); |
| 2282 | 2282 | ||
| 2283 | obj->set("name", vhost->dumps_arg0_to_str()); | 2283 | obj->set("name", vhost->dumps_arg0_to_str()); |
| 2284 | - obj->set("enabled", SrsAmf0Any::boolean(get_vhost_enabled(vhost))); | 2284 | + obj->set("enabled", SrsJsonAny::boolean(get_vhost_enabled(vhost))); |
| 2285 | 2285 | ||
| 2286 | // vhost scope configs. | 2286 | // vhost scope configs. |
| 2287 | if ((dir = vhost->get("chunk_size")) != NULL) { | 2287 | if ((dir = vhost->get("chunk_size")) != NULL) { |
| @@ -2296,7 +2296,7 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsAmf0Object* obj) | @@ -2296,7 +2296,7 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsAmf0Object* obj) | ||
| 2296 | 2296 | ||
| 2297 | // cluster. | 2297 | // cluster. |
| 2298 | if ((dir = vhost->get("cluster")) != NULL) { | 2298 | if ((dir = vhost->get("cluster")) != NULL) { |
| 2299 | - SrsAmf0Object* cluster = SrsAmf0Any::object(); | 2299 | + SrsJsonObject* cluster = SrsJsonAny::object(); |
| 2300 | obj->set("cluster", cluster); | 2300 | obj->set("cluster", cluster); |
| 2301 | 2301 | ||
| 2302 | for (int i = 0; i < (int)dir->directives.size(); i++) { | 2302 | for (int i = 0; i < (int)dir->directives.size(); i++) { |
| @@ -2318,10 +2318,10 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsAmf0Object* obj) | @@ -2318,10 +2318,10 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsAmf0Object* obj) | ||
| 2318 | 2318 | ||
| 2319 | // forward | 2319 | // forward |
| 2320 | if ((dir = vhost->get("forward")) != NULL) { | 2320 | if ((dir = vhost->get("forward")) != NULL) { |
| 2321 | - SrsAmf0Object* forward = SrsAmf0Any::object(); | 2321 | + SrsJsonObject* forward = SrsJsonAny::object(); |
| 2322 | obj->set("forward", forward); | 2322 | obj->set("forward", forward); |
| 2323 | 2323 | ||
| 2324 | - forward->set("enabled", SrsAmf0Any::boolean(get_forward_enabled(vhost->name))); | 2324 | + forward->set("enabled", SrsJsonAny::boolean(get_forward_enabled(vhost->name))); |
| 2325 | 2325 | ||
| 2326 | for (int i = 0; i < (int)dir->directives.size(); i++) { | 2326 | for (int i = 0; i < (int)dir->directives.size(); i++) { |
| 2327 | SrsConfDirective* sdir = dir->directives.at(i); | 2327 | SrsConfDirective* sdir = dir->directives.at(i); |
| @@ -2334,7 +2334,7 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsAmf0Object* obj) | @@ -2334,7 +2334,7 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsAmf0Object* obj) | ||
| 2334 | 2334 | ||
| 2335 | // play | 2335 | // play |
| 2336 | if ((dir = vhost->get("play")) != NULL) { | 2336 | if ((dir = vhost->get("play")) != NULL) { |
| 2337 | - SrsAmf0Object* play = SrsAmf0Any::object(); | 2337 | + SrsJsonObject* play = SrsJsonAny::object(); |
| 2338 | obj->set("play", play); | 2338 | obj->set("play", play); |
| 2339 | 2339 | ||
| 2340 | for (int i = 0; i < (int)dir->directives.size(); i++) { | 2340 | for (int i = 0; i < (int)dir->directives.size(); i++) { |
| @@ -2364,7 +2364,7 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsAmf0Object* obj) | @@ -2364,7 +2364,7 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsAmf0Object* obj) | ||
| 2364 | 2364 | ||
| 2365 | // publish | 2365 | // publish |
| 2366 | if ((dir = vhost->get("publish")) != NULL) { | 2366 | if ((dir = vhost->get("publish")) != NULL) { |
| 2367 | - SrsAmf0Object* publish = SrsAmf0Any::object(); | 2367 | + SrsJsonObject* publish = SrsJsonAny::object(); |
| 2368 | obj->set("publish", publish); | 2368 | obj->set("publish", publish); |
| 2369 | 2369 | ||
| 2370 | for (int i = 0; i < (int)dir->directives.size(); i++) { | 2370 | for (int i = 0; i < (int)dir->directives.size(); i++) { |
| @@ -2384,10 +2384,10 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsAmf0Object* obj) | @@ -2384,10 +2384,10 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsAmf0Object* obj) | ||
| 2384 | 2384 | ||
| 2385 | // refer | 2385 | // refer |
| 2386 | if ((dir = vhost->get("refer")) != NULL) { | 2386 | if ((dir = vhost->get("refer")) != NULL) { |
| 2387 | - SrsAmf0Object* refer = SrsAmf0Any::object(); | 2387 | + SrsJsonObject* refer = SrsJsonAny::object(); |
| 2388 | obj->set("refer", refer); | 2388 | obj->set("refer", refer); |
| 2389 | 2389 | ||
| 2390 | - refer->set("enabled", SrsAmf0Any::boolean(get_refer_enabled(vhost->name))); | 2390 | + refer->set("enabled", SrsJsonAny::boolean(get_refer_enabled(vhost->name))); |
| 2391 | 2391 | ||
| 2392 | for (int i = 0; i < (int)dir->directives.size(); i++) { | 2392 | for (int i = 0; i < (int)dir->directives.size(); i++) { |
| 2393 | SrsConfDirective* sdir = dir->directives.at(i); | 2393 | SrsConfDirective* sdir = dir->directives.at(i); |
| @@ -2404,10 +2404,10 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsAmf0Object* obj) | @@ -2404,10 +2404,10 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsAmf0Object* obj) | ||
| 2404 | 2404 | ||
| 2405 | // bandcheck | 2405 | // bandcheck |
| 2406 | if ((dir = vhost->get("bandcheck")) != NULL) { | 2406 | if ((dir = vhost->get("bandcheck")) != NULL) { |
| 2407 | - SrsAmf0Object* bandcheck = SrsAmf0Any::object(); | 2407 | + SrsJsonObject* bandcheck = SrsJsonAny::object(); |
| 2408 | obj->set("bandcheck", bandcheck); | 2408 | obj->set("bandcheck", bandcheck); |
| 2409 | 2409 | ||
| 2410 | - bandcheck->set("enabled", SrsAmf0Any::boolean(get_bw_check_enabled(vhost->name))); | 2410 | + bandcheck->set("enabled", SrsJsonAny::boolean(get_bw_check_enabled(vhost->name))); |
| 2411 | 2411 | ||
| 2412 | for (int i = 0; i < (int)dir->directives.size(); i++) { | 2412 | for (int i = 0; i < (int)dir->directives.size(); i++) { |
| 2413 | SrsConfDirective* sdir = dir->directives.at(i); | 2413 | SrsConfDirective* sdir = dir->directives.at(i); |
| @@ -2424,31 +2424,31 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsAmf0Object* obj) | @@ -2424,31 +2424,31 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsAmf0Object* obj) | ||
| 2424 | 2424 | ||
| 2425 | // security | 2425 | // security |
| 2426 | if ((dir = vhost->get("security")) != NULL) { | 2426 | if ((dir = vhost->get("security")) != NULL) { |
| 2427 | - SrsAmf0Object* security = SrsAmf0Any::object(); | 2427 | + SrsJsonObject* security = SrsJsonAny::object(); |
| 2428 | obj->set("security", security); | 2428 | obj->set("security", security); |
| 2429 | 2429 | ||
| 2430 | - security->set("enabled", SrsAmf0Any::boolean(get_security_enabled(vhost->name))); | 2430 | + security->set("enabled", SrsJsonAny::boolean(get_security_enabled(vhost->name))); |
| 2431 | 2431 | ||
| 2432 | - SrsAmf0StrictArray* allows = SrsAmf0Any::strict_array(); | 2432 | + SrsJsonArray* allows = SrsJsonAny::array(); |
| 2433 | security->set("allows", allows); | 2433 | security->set("allows", allows); |
| 2434 | 2434 | ||
| 2435 | - SrsAmf0StrictArray* denies = SrsAmf0Any::strict_array(); | 2435 | + SrsJsonArray* denies = SrsJsonAny::array(); |
| 2436 | security->set("denies", denies); | 2436 | security->set("denies", denies); |
| 2437 | 2437 | ||
| 2438 | for (int i = 0; i < (int)dir->directives.size(); i++) { | 2438 | for (int i = 0; i < (int)dir->directives.size(); i++) { |
| 2439 | SrsConfDirective* sdir = dir->directives.at(i); | 2439 | SrsConfDirective* sdir = dir->directives.at(i); |
| 2440 | 2440 | ||
| 2441 | if (sdir->name == "allow") { | 2441 | if (sdir->name == "allow") { |
| 2442 | - SrsAmf0Object* allow = SrsAmf0Any::object(); | ||
| 2443 | - allow->set("action", SrsAmf0Any::str(sdir->name.c_str())); | ||
| 2444 | - allow->set("method", SrsAmf0Any::str(sdir->arg0().c_str())); | ||
| 2445 | - allow->set("entry", SrsAmf0Any::str(sdir->arg1().c_str())); | 2442 | + SrsJsonObject* allow = SrsJsonAny::object(); |
| 2443 | + allow->set("action", SrsJsonAny::str(sdir->name.c_str())); | ||
| 2444 | + allow->set("method", SrsJsonAny::str(sdir->arg0().c_str())); | ||
| 2445 | + allow->set("entry", SrsJsonAny::str(sdir->arg1().c_str())); | ||
| 2446 | allows->append(allow); | 2446 | allows->append(allow); |
| 2447 | } else if (sdir->name == "deny") { | 2447 | } else if (sdir->name == "deny") { |
| 2448 | - SrsAmf0Object* deny = SrsAmf0Any::object(); | ||
| 2449 | - deny->set("action", SrsAmf0Any::str(sdir->name.c_str())); | ||
| 2450 | - deny->set("method", SrsAmf0Any::str(sdir->arg0().c_str())); | ||
| 2451 | - deny->set("entry", SrsAmf0Any::str(sdir->arg1().c_str())); | 2448 | + SrsJsonObject* deny = SrsJsonAny::object(); |
| 2449 | + deny->set("action", SrsJsonAny::str(sdir->name.c_str())); | ||
| 2450 | + deny->set("method", SrsJsonAny::str(sdir->arg0().c_str())); | ||
| 2451 | + deny->set("entry", SrsJsonAny::str(sdir->arg1().c_str())); | ||
| 2452 | denies->append(deny); | 2452 | denies->append(deny); |
| 2453 | } | 2453 | } |
| 2454 | } | 2454 | } |
| @@ -2456,10 +2456,10 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsAmf0Object* obj) | @@ -2456,10 +2456,10 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsAmf0Object* obj) | ||
| 2456 | 2456 | ||
| 2457 | // http_static | 2457 | // http_static |
| 2458 | if ((dir = vhost->get("http_static")) != NULL) { | 2458 | if ((dir = vhost->get("http_static")) != NULL) { |
| 2459 | - SrsAmf0Object* http_static = SrsAmf0Any::object(); | 2459 | + SrsJsonObject* http_static = SrsJsonAny::object(); |
| 2460 | obj->set("http_static", http_static); | 2460 | obj->set("http_static", http_static); |
| 2461 | 2461 | ||
| 2462 | - http_static->set("enabled", SrsAmf0Any::boolean(get_vhost_http_enabled(vhost->name))); | 2462 | + http_static->set("enabled", SrsJsonAny::boolean(get_vhost_http_enabled(vhost->name))); |
| 2463 | 2463 | ||
| 2464 | for (int i = 0; i < (int)dir->directives.size(); i++) { | 2464 | for (int i = 0; i < (int)dir->directives.size(); i++) { |
| 2465 | SrsConfDirective* sdir = dir->directives.at(i); | 2465 | SrsConfDirective* sdir = dir->directives.at(i); |
| @@ -2474,10 +2474,10 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsAmf0Object* obj) | @@ -2474,10 +2474,10 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsAmf0Object* obj) | ||
| 2474 | 2474 | ||
| 2475 | // http_remux | 2475 | // http_remux |
| 2476 | if ((dir = vhost->get("http_remux")) != NULL) { | 2476 | if ((dir = vhost->get("http_remux")) != NULL) { |
| 2477 | - SrsAmf0Object* http_remux = SrsAmf0Any::object(); | 2477 | + SrsJsonObject* http_remux = SrsJsonAny::object(); |
| 2478 | obj->set("http_remux", http_remux); | 2478 | obj->set("http_remux", http_remux); |
| 2479 | 2479 | ||
| 2480 | - http_remux->set("enabled", SrsAmf0Any::boolean(get_vhost_http_remux_enabled(vhost->name))); | 2480 | + http_remux->set("enabled", SrsJsonAny::boolean(get_vhost_http_remux_enabled(vhost->name))); |
| 2481 | 2481 | ||
| 2482 | for (int i = 0; i < (int)dir->directives.size(); i++) { | 2482 | for (int i = 0; i < (int)dir->directives.size(); i++) { |
| 2483 | SrsConfDirective* sdir = dir->directives.at(i); | 2483 | SrsConfDirective* sdir = dir->directives.at(i); |
| @@ -2494,10 +2494,10 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsAmf0Object* obj) | @@ -2494,10 +2494,10 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsAmf0Object* obj) | ||
| 2494 | 2494 | ||
| 2495 | // http_hooks | 2495 | // http_hooks |
| 2496 | if ((dir = vhost->get("http_hooks")) != NULL) { | 2496 | if ((dir = vhost->get("http_hooks")) != NULL) { |
| 2497 | - SrsAmf0Object* http_hooks = SrsAmf0Any::object(); | 2497 | + SrsJsonObject* http_hooks = SrsJsonAny::object(); |
| 2498 | obj->set("http_hooks", http_hooks); | 2498 | obj->set("http_hooks", http_hooks); |
| 2499 | 2499 | ||
| 2500 | - http_hooks->set("enabled", SrsAmf0Any::boolean(get_vhost_http_hooks_enabled(vhost->name))); | 2500 | + http_hooks->set("enabled", SrsJsonAny::boolean(get_vhost_http_hooks_enabled(vhost->name))); |
| 2501 | 2501 | ||
| 2502 | for (int i = 0; i < (int)dir->directives.size(); i++) { | 2502 | for (int i = 0; i < (int)dir->directives.size(); i++) { |
| 2503 | SrsConfDirective* sdir = dir->directives.at(i); | 2503 | SrsConfDirective* sdir = dir->directives.at(i); |
| @@ -2526,10 +2526,10 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsAmf0Object* obj) | @@ -2526,10 +2526,10 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsAmf0Object* obj) | ||
| 2526 | 2526 | ||
| 2527 | // hls | 2527 | // hls |
| 2528 | if ((dir = vhost->get("hls")) != NULL) { | 2528 | if ((dir = vhost->get("hls")) != NULL) { |
| 2529 | - SrsAmf0Object* hls = SrsAmf0Any::object(); | 2529 | + SrsJsonObject* hls = SrsJsonAny::object(); |
| 2530 | obj->set("hls", hls); | 2530 | obj->set("hls", hls); |
| 2531 | 2531 | ||
| 2532 | - hls->set("enabled", SrsAmf0Any::boolean(get_hls_enabled(vhost->name))); | 2532 | + hls->set("enabled", SrsJsonAny::boolean(get_hls_enabled(vhost->name))); |
| 2533 | 2533 | ||
| 2534 | for (int i = 0; i < (int)dir->directives.size(); i++) { | 2534 | for (int i = 0; i < (int)dir->directives.size(); i++) { |
| 2535 | SrsConfDirective* sdir = dir->directives.at(i); | 2535 | SrsConfDirective* sdir = dir->directives.at(i); |
| @@ -2576,10 +2576,10 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsAmf0Object* obj) | @@ -2576,10 +2576,10 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsAmf0Object* obj) | ||
| 2576 | 2576 | ||
| 2577 | // hds | 2577 | // hds |
| 2578 | if ((dir = vhost->get("hds")) != NULL) { | 2578 | if ((dir = vhost->get("hds")) != NULL) { |
| 2579 | - SrsAmf0Object* hds = SrsAmf0Any::object(); | 2579 | + SrsJsonObject* hds = SrsJsonAny::object(); |
| 2580 | obj->set("hds", hds); | 2580 | obj->set("hds", hds); |
| 2581 | 2581 | ||
| 2582 | - hds->set("enabled", SrsAmf0Any::boolean(get_hds_enabled(vhost->name))); | 2582 | + hds->set("enabled", SrsJsonAny::boolean(get_hds_enabled(vhost->name))); |
| 2583 | 2583 | ||
| 2584 | for (int i = 0; i < (int)dir->directives.size(); i++) { | 2584 | for (int i = 0; i < (int)dir->directives.size(); i++) { |
| 2585 | SrsConfDirective* sdir = dir->directives.at(i); | 2585 | SrsConfDirective* sdir = dir->directives.at(i); |
| @@ -2596,10 +2596,10 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsAmf0Object* obj) | @@ -2596,10 +2596,10 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsAmf0Object* obj) | ||
| 2596 | 2596 | ||
| 2597 | // dvr | 2597 | // dvr |
| 2598 | if ((dir = vhost->get("dvr")) != NULL) { | 2598 | if ((dir = vhost->get("dvr")) != NULL) { |
| 2599 | - SrsAmf0Object* dvr = SrsAmf0Any::object(); | 2599 | + SrsJsonObject* dvr = SrsJsonAny::object(); |
| 2600 | obj->set("dvr", dvr); | 2600 | obj->set("dvr", dvr); |
| 2601 | 2601 | ||
| 2602 | - dvr->set("enabled", SrsAmf0Any::boolean(get_dvr_enabled(vhost->name))); | 2602 | + dvr->set("enabled", SrsJsonAny::boolean(get_dvr_enabled(vhost->name))); |
| 2603 | 2603 | ||
| 2604 | for (int i = 0; i < (int)dir->directives.size(); i++) { | 2604 | for (int i = 0; i < (int)dir->directives.size(); i++) { |
| 2605 | SrsConfDirective* sdir = dir->directives.at(i); | 2605 | SrsConfDirective* sdir = dir->directives.at(i); |
| @@ -2622,10 +2622,10 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsAmf0Object* obj) | @@ -2622,10 +2622,10 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsAmf0Object* obj) | ||
| 2622 | 2622 | ||
| 2623 | // exec | 2623 | // exec |
| 2624 | if ((dir = vhost->get("exec")) != NULL) { | 2624 | if ((dir = vhost->get("exec")) != NULL) { |
| 2625 | - SrsAmf0Object* ng_exec = SrsAmf0Any::object(); | 2625 | + SrsJsonObject* ng_exec = SrsJsonAny::object(); |
| 2626 | obj->set("exec", ng_exec); | 2626 | obj->set("exec", ng_exec); |
| 2627 | 2627 | ||
| 2628 | - ng_exec->set("enabled", SrsAmf0Any::boolean(get_exec_enabled(vhost->name))); | 2628 | + ng_exec->set("enabled", SrsJsonAny::boolean(get_exec_enabled(vhost->name))); |
| 2629 | 2629 | ||
| 2630 | for (int i = 0; i < (int)dir->directives.size(); i++) { | 2630 | for (int i = 0; i < (int)dir->directives.size(); i++) { |
| 2631 | SrsConfDirective* sdir = dir->directives.at(i); | 2631 | SrsConfDirective* sdir = dir->directives.at(i); |
| @@ -2637,7 +2637,7 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsAmf0Object* obj) | @@ -2637,7 +2637,7 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsAmf0Object* obj) | ||
| 2637 | } | 2637 | } |
| 2638 | 2638 | ||
| 2639 | // ingest | 2639 | // ingest |
| 2640 | - SrsAmf0StrictArray* ingests = NULL; | 2640 | + SrsJsonArray* ingests = NULL; |
| 2641 | for (int i = 0; i < (int)vhost->directives.size(); i++) { | 2641 | for (int i = 0; i < (int)vhost->directives.size(); i++) { |
| 2642 | dir = vhost->directives.at(i); | 2642 | dir = vhost->directives.at(i); |
| 2643 | if (dir->name != "ingest") { | 2643 | if (dir->name != "ingest") { |
| @@ -2645,20 +2645,20 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsAmf0Object* obj) | @@ -2645,20 +2645,20 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsAmf0Object* obj) | ||
| 2645 | } | 2645 | } |
| 2646 | 2646 | ||
| 2647 | if (!ingests) { | 2647 | if (!ingests) { |
| 2648 | - ingests = SrsAmf0Any::strict_array(); | 2648 | + ingests = SrsJsonAny::array(); |
| 2649 | obj->set("ingests", ingests); | 2649 | obj->set("ingests", ingests); |
| 2650 | } | 2650 | } |
| 2651 | 2651 | ||
| 2652 | - SrsAmf0Object* ingest = SrsAmf0Any::object(); | 2652 | + SrsJsonObject* ingest = SrsJsonAny::object(); |
| 2653 | ingest->set("id", dir->dumps_arg0_to_str()); | 2653 | ingest->set("id", dir->dumps_arg0_to_str()); |
| 2654 | - ingest->set("enabled", SrsAmf0Any::boolean(get_ingest_enabled(dir))); | 2654 | + ingest->set("enabled", SrsJsonAny::boolean(get_ingest_enabled(dir))); |
| 2655 | ingests->append(ingest); | 2655 | ingests->append(ingest); |
| 2656 | 2656 | ||
| 2657 | for (int j = 0; j < (int)dir->directives.size(); j++) { | 2657 | for (int j = 0; j < (int)dir->directives.size(); j++) { |
| 2658 | SrsConfDirective* sdir = dir->directives.at(j); | 2658 | SrsConfDirective* sdir = dir->directives.at(j); |
| 2659 | 2659 | ||
| 2660 | if (sdir->name == "input") { | 2660 | if (sdir->name == "input") { |
| 2661 | - SrsAmf0Object* input = SrsAmf0Any::object(); | 2661 | + SrsJsonObject* input = SrsJsonAny::object(); |
| 2662 | ingest->set("input", input); | 2662 | ingest->set("input", input); |
| 2663 | 2663 | ||
| 2664 | SrsConfDirective* type = sdir->get("type"); | 2664 | SrsConfDirective* type = sdir->get("type"); |
| @@ -2673,7 +2673,7 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsAmf0Object* obj) | @@ -2673,7 +2673,7 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsAmf0Object* obj) | ||
| 2673 | } else if (sdir->name == "ffmpeg") { | 2673 | } else if (sdir->name == "ffmpeg") { |
| 2674 | ingest->set("ffmpeg", sdir->dumps_arg0_to_str()); | 2674 | ingest->set("ffmpeg", sdir->dumps_arg0_to_str()); |
| 2675 | } else if (sdir->name == "engine") { | 2675 | } else if (sdir->name == "engine") { |
| 2676 | - SrsAmf0Object* engine = SrsAmf0Any::object(); | 2676 | + SrsJsonObject* engine = SrsJsonAny::object(); |
| 2677 | ingest->set("engine", engine); | 2677 | ingest->set("engine", engine); |
| 2678 | 2678 | ||
| 2679 | if ((ret = srs_config_dumps_engine(sdir, engine)) != ERROR_SUCCESS) { | 2679 | if ((ret = srs_config_dumps_engine(sdir, engine)) != ERROR_SUCCESS) { |
| @@ -2684,7 +2684,7 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsAmf0Object* obj) | @@ -2684,7 +2684,7 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsAmf0Object* obj) | ||
| 2684 | } | 2684 | } |
| 2685 | 2685 | ||
| 2686 | // transcode | 2686 | // transcode |
| 2687 | - SrsAmf0StrictArray* transcodes = NULL; | 2687 | + SrsJsonArray* transcodes = NULL; |
| 2688 | for (int i = 0; i < (int)vhost->directives.size(); i++) { | 2688 | for (int i = 0; i < (int)vhost->directives.size(); i++) { |
| 2689 | dir = vhost->directives.at(i); | 2689 | dir = vhost->directives.at(i); |
| 2690 | if (dir->name != "transcode") { | 2690 | if (dir->name != "transcode") { |
| @@ -2692,17 +2692,17 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsAmf0Object* obj) | @@ -2692,17 +2692,17 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsAmf0Object* obj) | ||
| 2692 | } | 2692 | } |
| 2693 | 2693 | ||
| 2694 | if (!transcodes) { | 2694 | if (!transcodes) { |
| 2695 | - transcodes = SrsAmf0Any::strict_array(); | 2695 | + transcodes = SrsJsonAny::array(); |
| 2696 | obj->set("transcodes", transcodes); | 2696 | obj->set("transcodes", transcodes); |
| 2697 | } | 2697 | } |
| 2698 | 2698 | ||
| 2699 | - SrsAmf0Object* transcode = SrsAmf0Any::object(); | 2699 | + SrsJsonObject* transcode = SrsJsonAny::object(); |
| 2700 | transcodes->append(transcode); | 2700 | transcodes->append(transcode); |
| 2701 | 2701 | ||
| 2702 | transcode->set("apply", dir->dumps_arg0_to_str()); | 2702 | transcode->set("apply", dir->dumps_arg0_to_str()); |
| 2703 | - transcode->set("enabled", SrsAmf0Any::boolean(get_transcode_enabled(dir))); | 2703 | + transcode->set("enabled", SrsJsonAny::boolean(get_transcode_enabled(dir))); |
| 2704 | 2704 | ||
| 2705 | - SrsAmf0StrictArray* engines = SrsAmf0Any::strict_array(); | 2705 | + SrsJsonArray* engines = SrsJsonAny::array(); |
| 2706 | transcode->set("engines", engines); | 2706 | transcode->set("engines", engines); |
| 2707 | 2707 | ||
| 2708 | for (int i = 0; i < (int)dir->directives.size(); i++) { | 2708 | for (int i = 0; i < (int)dir->directives.size(); i++) { |
| @@ -2711,7 +2711,7 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsAmf0Object* obj) | @@ -2711,7 +2711,7 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsAmf0Object* obj) | ||
| 2711 | if (sdir->name == "ffmpeg") { | 2711 | if (sdir->name == "ffmpeg") { |
| 2712 | transcode->set("ffmpeg", sdir->dumps_arg0_to_str()); | 2712 | transcode->set("ffmpeg", sdir->dumps_arg0_to_str()); |
| 2713 | } else if (sdir->name == "engine") { | 2713 | } else if (sdir->name == "engine") { |
| 2714 | - SrsAmf0Object* engine = SrsAmf0Any::object(); | 2714 | + SrsJsonObject* engine = SrsJsonAny::object(); |
| 2715 | engines->append(engine); | 2715 | engines->append(engine); |
| 2716 | 2716 | ||
| 2717 | if ((ret = srs_config_dumps_engine(sdir, engine)) != ERROR_SUCCESS) { | 2717 | if ((ret = srs_config_dumps_engine(sdir, engine)) != ERROR_SUCCESS) { |
| @@ -2724,24 +2724,24 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsAmf0Object* obj) | @@ -2724,24 +2724,24 @@ int SrsConfig::vhost_to_json(SrsConfDirective* vhost, SrsAmf0Object* obj) | ||
| 2724 | return ret; | 2724 | return ret; |
| 2725 | } | 2725 | } |
| 2726 | 2726 | ||
| 2727 | -int SrsConfig::raw_to_json(SrsAmf0Object* obj) | 2727 | +int SrsConfig::raw_to_json(SrsJsonObject* obj) |
| 2728 | { | 2728 | { |
| 2729 | int ret = ERROR_SUCCESS; | 2729 | int ret = ERROR_SUCCESS; |
| 2730 | 2730 | ||
| 2731 | - SrsAmf0Object* sobj = SrsAmf0Any::object(); | 2731 | + SrsJsonObject* sobj = SrsJsonAny::object(); |
| 2732 | obj->set("http_api", sobj); | 2732 | obj->set("http_api", sobj); |
| 2733 | 2733 | ||
| 2734 | - sobj->set("enabled", SrsAmf0Any::boolean(get_http_api_enabled())); | ||
| 2735 | - sobj->set("listen", SrsAmf0Any::str(get_http_api_listen().c_str())); | ||
| 2736 | - sobj->set("crossdomain", SrsAmf0Any::boolean(get_http_api_crossdomain())); | 2734 | + sobj->set("enabled", SrsJsonAny::boolean(get_http_api_enabled())); |
| 2735 | + sobj->set("listen", SrsJsonAny::str(get_http_api_listen().c_str())); | ||
| 2736 | + sobj->set("crossdomain", SrsJsonAny::boolean(get_http_api_crossdomain())); | ||
| 2737 | 2737 | ||
| 2738 | - SrsAmf0Object* ssobj = SrsAmf0Any::object(); | 2738 | + SrsJsonObject* ssobj = SrsJsonAny::object(); |
| 2739 | sobj->set("raw_api", ssobj); | 2739 | sobj->set("raw_api", ssobj); |
| 2740 | 2740 | ||
| 2741 | - ssobj->set("enabled", SrsAmf0Any::boolean(get_raw_api())); | ||
| 2742 | - ssobj->set("allow_reload", SrsAmf0Any::boolean(get_raw_api_allow_reload())); | ||
| 2743 | - ssobj->set("allow_query", SrsAmf0Any::boolean(get_raw_api_allow_query())); | ||
| 2744 | - ssobj->set("allow_update", SrsAmf0Any::boolean(get_raw_api_allow_update())); | 2741 | + ssobj->set("enabled", SrsJsonAny::boolean(get_raw_api())); |
| 2742 | + ssobj->set("allow_reload", SrsJsonAny::boolean(get_raw_api_allow_reload())); | ||
| 2743 | + ssobj->set("allow_query", SrsJsonAny::boolean(get_raw_api_allow_query())); | ||
| 2744 | + ssobj->set("allow_update", SrsJsonAny::boolean(get_raw_api_allow_update())); | ||
| 2745 | 2745 | ||
| 2746 | return ret; | 2746 | return ret; |
| 2747 | } | 2747 | } |
| @@ -40,9 +40,9 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | @@ -40,9 +40,9 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
| 40 | 40 | ||
| 41 | class SrsRequest; | 41 | class SrsRequest; |
| 42 | class SrsFileWriter; | 42 | class SrsFileWriter; |
| 43 | -class SrsAmf0Object; | ||
| 44 | -class SrsAmf0StrictArray; | ||
| 45 | -class SrsAmf0Any; | 43 | +class SrsJsonObject; |
| 44 | +class SrsJsonArray; | ||
| 45 | +class SrsJsonAny; | ||
| 46 | 46 | ||
| 47 | class SrsConfig; | 47 | class SrsConfig; |
| 48 | class SrsRequest; | 48 | class SrsRequest; |
| @@ -250,13 +250,13 @@ public: | @@ -250,13 +250,13 @@ public: | ||
| 250 | /** | 250 | /** |
| 251 | * dumps the args[0-N] to array(string). | 251 | * dumps the args[0-N] to array(string). |
| 252 | */ | 252 | */ |
| 253 | - virtual SrsAmf0StrictArray* dumps_args(); | 253 | + virtual SrsJsonArray* dumps_args(); |
| 254 | /** | 254 | /** |
| 255 | * dumps arg0 to str, number or boolean. | 255 | * dumps arg0 to str, number or boolean. |
| 256 | */ | 256 | */ |
| 257 | - virtual SrsAmf0Any* dumps_arg0_to_str(); | ||
| 258 | - virtual SrsAmf0Any* dumps_arg0_to_number(); | ||
| 259 | - virtual SrsAmf0Any* dumps_arg0_to_boolean(); | 257 | + virtual SrsJsonAny* dumps_arg0_to_str(); |
| 258 | + virtual SrsJsonAny* dumps_arg0_to_number(); | ||
| 259 | + virtual SrsJsonAny* dumps_arg0_to_boolean(); | ||
| 260 | // private parse. | 260 | // private parse. |
| 261 | private: | 261 | private: |
| 262 | /** | 262 | /** |
| @@ -416,19 +416,19 @@ public: | @@ -416,19 +416,19 @@ public: | ||
| 416 | /** | 416 | /** |
| 417 | * dumps the global sections to json. | 417 | * dumps the global sections to json. |
| 418 | */ | 418 | */ |
| 419 | - virtual int global_to_json(SrsAmf0Object* obj); | 419 | + virtual int global_to_json(SrsJsonObject* obj); |
| 420 | /** | 420 | /** |
| 421 | * dumps the minimal sections to json. | 421 | * dumps the minimal sections to json. |
| 422 | */ | 422 | */ |
| 423 | - virtual int minimal_to_json(SrsAmf0Object* obj); | 423 | + virtual int minimal_to_json(SrsJsonObject* obj); |
| 424 | /** | 424 | /** |
| 425 | * dumps the vhost section to json. | 425 | * dumps the vhost section to json. |
| 426 | */ | 426 | */ |
| 427 | - virtual int vhost_to_json(SrsConfDirective* vhost, SrsAmf0Object* obj); | 427 | + virtual int vhost_to_json(SrsConfDirective* vhost, SrsJsonObject* obj); |
| 428 | /** | 428 | /** |
| 429 | * dumps the http_api sections to json for raw api info. | 429 | * dumps the http_api sections to json for raw api info. |
| 430 | */ | 430 | */ |
| 431 | - virtual int raw_to_json(SrsAmf0Object* obj); | 431 | + virtual int raw_to_json(SrsJsonObject* obj); |
| 432 | /** | 432 | /** |
| 433 | * raw set the global listen. | 433 | * raw set the global listen. |
| 434 | */ | 434 | */ |
| @@ -66,14 +66,14 @@ void SrsHttpHeartbeat::heartbeat() | @@ -66,14 +66,14 @@ void SrsHttpHeartbeat::heartbeat() | ||
| 66 | ip = ips[_srs_config->get_stats_network() % (int)ips.size()]; | 66 | ip = ips[_srs_config->get_stats_network() % (int)ips.size()]; |
| 67 | } | 67 | } |
| 68 | 68 | ||
| 69 | - SrsAmf0Object* obj = SrsAmf0Any::object(); | ||
| 70 | - SrsAutoFree(SrsAmf0Object, obj); | 69 | + SrsJsonObject* obj = SrsJsonAny::object(); |
| 70 | + SrsAutoFree(SrsJsonObject, obj); | ||
| 71 | 71 | ||
| 72 | - obj->set("device_id", SrsAmf0Any::str(device_id.c_str())); | ||
| 73 | - obj->set("ip", SrsAmf0Any::str(ip.c_str())); | 72 | + obj->set("device_id", SrsJsonAny::str(device_id.c_str())); |
| 73 | + obj->set("ip", SrsJsonAny::str(ip.c_str())); | ||
| 74 | 74 | ||
| 75 | if (_srs_config->get_heartbeat_summaries()) { | 75 | if (_srs_config->get_heartbeat_summaries()) { |
| 76 | - SrsAmf0Object* summaries = SrsAmf0Any::object(); | 76 | + SrsJsonObject* summaries = SrsJsonAny::object(); |
| 77 | obj->set("summaries", summaries); | 77 | obj->set("summaries", summaries); |
| 78 | 78 | ||
| 79 | srs_api_dump_summaries(summaries); | 79 | srs_api_dump_summaries(summaries); |
| @@ -78,10 +78,10 @@ int srs_api_response_jsonp(ISrsHttpResponseWriter* w, string callback, string da | @@ -78,10 +78,10 @@ int srs_api_response_jsonp(ISrsHttpResponseWriter* w, string callback, string da | ||
| 78 | 78 | ||
| 79 | int srs_api_response_jsonp_code(ISrsHttpResponseWriter* w, string callback, int code) | 79 | int srs_api_response_jsonp_code(ISrsHttpResponseWriter* w, string callback, int code) |
| 80 | { | 80 | { |
| 81 | - SrsAmf0Object* obj = SrsAmf0Any::object(); | ||
| 82 | - SrsAutoFree(SrsAmf0Object, obj); | 81 | + SrsJsonObject* obj = SrsJsonAny::object(); |
| 82 | + SrsAutoFree(SrsJsonObject, obj); | ||
| 83 | 83 | ||
| 84 | - obj->set("code", SrsAmf0Any::number(code)); | 84 | + obj->set("code", SrsJsonAny::ingeter(code)); |
| 85 | 85 | ||
| 86 | return srs_api_response_jsonp(w, callback, obj->to_json()); | 86 | return srs_api_response_jsonp(w, callback, obj->to_json()); |
| 87 | } | 87 | } |
| @@ -98,10 +98,10 @@ int srs_api_response_json(ISrsHttpResponseWriter* w, string data) | @@ -98,10 +98,10 @@ int srs_api_response_json(ISrsHttpResponseWriter* w, string data) | ||
| 98 | 98 | ||
| 99 | int srs_api_response_json_code(ISrsHttpResponseWriter* w, int code) | 99 | int srs_api_response_json_code(ISrsHttpResponseWriter* w, int code) |
| 100 | { | 100 | { |
| 101 | - SrsAmf0Object* obj = SrsAmf0Any::object(); | ||
| 102 | - SrsAutoFree(SrsAmf0Object, obj); | 101 | + SrsJsonObject* obj = SrsJsonAny::object(); |
| 102 | + SrsAutoFree(SrsJsonObject, obj); | ||
| 103 | 103 | ||
| 104 | - obj->set("code", SrsAmf0Any::number(code)); | 104 | + obj->set("code", SrsJsonAny::ingeter(code)); |
| 105 | 105 | ||
| 106 | return srs_api_response_json(w, obj->to_json()); | 106 | return srs_api_response_json(w, obj->to_json()); |
| 107 | } | 107 | } |
| @@ -142,16 +142,16 @@ int SrsGoApiRoot::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r) | @@ -142,16 +142,16 @@ int SrsGoApiRoot::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r) | ||
| 142 | { | 142 | { |
| 143 | SrsStatistic* stat = SrsStatistic::instance(); | 143 | SrsStatistic* stat = SrsStatistic::instance(); |
| 144 | 144 | ||
| 145 | - SrsAmf0Object* obj = SrsAmf0Any::object(); | ||
| 146 | - SrsAutoFree(SrsAmf0Object, obj); | 145 | + SrsJsonObject* obj = SrsJsonAny::object(); |
| 146 | + SrsAutoFree(SrsJsonObject, obj); | ||
| 147 | 147 | ||
| 148 | - obj->set("code", SrsAmf0Any::number(ERROR_SUCCESS)); | ||
| 149 | - obj->set("server", SrsAmf0Any::number(stat->server_id())); | 148 | + obj->set("code", SrsJsonAny::number(ERROR_SUCCESS)); |
| 149 | + obj->set("server", SrsJsonAny::number(stat->server_id())); | ||
| 150 | 150 | ||
| 151 | - SrsAmf0Object* urls = SrsAmf0Any::object(); | 151 | + SrsJsonObject* urls = SrsJsonAny::object(); |
| 152 | obj->set("urls", urls); | 152 | obj->set("urls", urls); |
| 153 | 153 | ||
| 154 | - urls->set("api", SrsAmf0Any::str("the api root")); | 154 | + urls->set("api", SrsJsonAny::str("the api root")); |
| 155 | 155 | ||
| 156 | return srs_api_response(w, r, obj->to_json()); | 156 | return srs_api_response(w, r, obj->to_json()); |
| 157 | } | 157 | } |
| @@ -168,16 +168,16 @@ int SrsGoApiApi::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r) | @@ -168,16 +168,16 @@ int SrsGoApiApi::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r) | ||
| 168 | { | 168 | { |
| 169 | SrsStatistic* stat = SrsStatistic::instance(); | 169 | SrsStatistic* stat = SrsStatistic::instance(); |
| 170 | 170 | ||
| 171 | - SrsAmf0Object* obj = SrsAmf0Any::object(); | ||
| 172 | - SrsAutoFree(SrsAmf0Object, obj); | 171 | + SrsJsonObject* obj = SrsJsonAny::object(); |
| 172 | + SrsAutoFree(SrsJsonObject, obj); | ||
| 173 | 173 | ||
| 174 | - obj->set("code", SrsAmf0Any::number(ERROR_SUCCESS)); | ||
| 175 | - obj->set("server", SrsAmf0Any::number(stat->server_id())); | 174 | + obj->set("code", SrsJsonAny::number(ERROR_SUCCESS)); |
| 175 | + obj->set("server", SrsJsonAny::number(stat->server_id())); | ||
| 176 | 176 | ||
| 177 | - SrsAmf0Object* urls = SrsAmf0Any::object(); | 177 | + SrsJsonObject* urls = SrsJsonAny::object(); |
| 178 | obj->set("urls", urls); | 178 | obj->set("urls", urls); |
| 179 | 179 | ||
| 180 | - urls->set("v1", SrsAmf0Any::str("the api version 1.0")); | 180 | + urls->set("v1", SrsJsonAny::str("the api version 1.0")); |
| 181 | 181 | ||
| 182 | return srs_api_response(w, r, obj->to_json()); | 182 | return srs_api_response(w, r, obj->to_json()); |
| 183 | } | 183 | } |
| @@ -194,36 +194,36 @@ int SrsGoApiV1::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r) | @@ -194,36 +194,36 @@ int SrsGoApiV1::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r) | ||
| 194 | { | 194 | { |
| 195 | SrsStatistic* stat = SrsStatistic::instance(); | 195 | SrsStatistic* stat = SrsStatistic::instance(); |
| 196 | 196 | ||
| 197 | - SrsAmf0Object* obj = SrsAmf0Any::object(); | ||
| 198 | - SrsAutoFree(SrsAmf0Object, obj); | 197 | + SrsJsonObject* obj = SrsJsonAny::object(); |
| 198 | + SrsAutoFree(SrsJsonObject, obj); | ||
| 199 | 199 | ||
| 200 | - obj->set("code", SrsAmf0Any::number(ERROR_SUCCESS)); | ||
| 201 | - obj->set("server", SrsAmf0Any::number(stat->server_id())); | 200 | + obj->set("code", SrsJsonAny::number(ERROR_SUCCESS)); |
| 201 | + obj->set("server", SrsJsonAny::number(stat->server_id())); | ||
| 202 | 202 | ||
| 203 | - SrsAmf0Object* urls = SrsAmf0Any::object(); | 203 | + SrsJsonObject* urls = SrsJsonAny::object(); |
| 204 | obj->set("urls", urls); | 204 | obj->set("urls", urls); |
| 205 | 205 | ||
| 206 | - urls->set("versions", SrsAmf0Any::str("the version of SRS")); | ||
| 207 | - urls->set("summaries", SrsAmf0Any::str("the summary(pid, argv, pwd, cpu, mem) of SRS")); | ||
| 208 | - urls->set("rusages", SrsAmf0Any::str("the rusage of SRS")); | ||
| 209 | - urls->set("self_proc_stats", SrsAmf0Any::str("the self process stats")); | ||
| 210 | - urls->set("system_proc_stats", SrsAmf0Any::str("the system process stats")); | ||
| 211 | - urls->set("meminfos", SrsAmf0Any::str("the meminfo of system")); | ||
| 212 | - urls->set("authors", SrsAmf0Any::str("the license, copyright, authors and contributors")); | ||
| 213 | - urls->set("features", SrsAmf0Any::str("the supported features of SRS")); | ||
| 214 | - urls->set("requests", SrsAmf0Any::str("the request itself, for http debug")); | ||
| 215 | - urls->set("vhosts", SrsAmf0Any::str("manage all vhosts or specified vhost")); | ||
| 216 | - urls->set("streams", SrsAmf0Any::str("manage all streams or specified stream")); | ||
| 217 | - urls->set("clients", SrsAmf0Any::str("manage all clients or specified client, default query top 10 clients")); | ||
| 218 | - urls->set("raw", SrsAmf0Any::str("raw api for srs, support CUID srs for instance the config")); | ||
| 219 | - | ||
| 220 | - SrsAmf0Object* tests = SrsAmf0Any::object(); | 206 | + urls->set("versions", SrsJsonAny::str("the version of SRS")); |
| 207 | + urls->set("summaries", SrsJsonAny::str("the summary(pid, argv, pwd, cpu, mem) of SRS")); | ||
| 208 | + urls->set("rusages", SrsJsonAny::str("the rusage of SRS")); | ||
| 209 | + urls->set("self_proc_stats", SrsJsonAny::str("the self process stats")); | ||
| 210 | + urls->set("system_proc_stats", SrsJsonAny::str("the system process stats")); | ||
| 211 | + urls->set("meminfos", SrsJsonAny::str("the meminfo of system")); | ||
| 212 | + urls->set("authors", SrsJsonAny::str("the license, copyright, authors and contributors")); | ||
| 213 | + urls->set("features", SrsJsonAny::str("the supported features of SRS")); | ||
| 214 | + urls->set("requests", SrsJsonAny::str("the request itself, for http debug")); | ||
| 215 | + urls->set("vhosts", SrsJsonAny::str("manage all vhosts or specified vhost")); | ||
| 216 | + urls->set("streams", SrsJsonAny::str("manage all streams or specified stream")); | ||
| 217 | + urls->set("clients", SrsJsonAny::str("manage all clients or specified client, default query top 10 clients")); | ||
| 218 | + urls->set("raw", SrsJsonAny::str("raw api for srs, support CUID srs for instance the config")); | ||
| 219 | + | ||
| 220 | + SrsJsonObject* tests = SrsJsonAny::object(); | ||
| 221 | obj->set("tests", tests); | 221 | obj->set("tests", tests); |
| 222 | 222 | ||
| 223 | - tests->set("requests", SrsAmf0Any::str("show the request info")); | ||
| 224 | - tests->set("errors", SrsAmf0Any::str("always return an error 100")); | ||
| 225 | - tests->set("redirects", SrsAmf0Any::str("always redirect to /api/v1/test/errors")); | ||
| 226 | - tests->set("[vhost]", SrsAmf0Any::str("http vhost for http://error.srs.com:1985/api/v1/tests/errors")); | 223 | + tests->set("requests", SrsJsonAny::str("show the request info")); |
| 224 | + tests->set("errors", SrsJsonAny::str("always return an error 100")); | ||
| 225 | + tests->set("redirects", SrsJsonAny::str("always redirect to /api/v1/test/errors")); | ||
| 226 | + tests->set("[vhost]", SrsJsonAny::str("http vhost for http://error.srs.com:1985/api/v1/tests/errors")); | ||
| 227 | 227 | ||
| 228 | return srs_api_response(w, r, obj->to_json()); | 228 | return srs_api_response(w, r, obj->to_json()); |
| 229 | } | 229 | } |
| @@ -240,19 +240,19 @@ int SrsGoApiVersion::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r) | @@ -240,19 +240,19 @@ int SrsGoApiVersion::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r) | ||
| 240 | { | 240 | { |
| 241 | SrsStatistic* stat = SrsStatistic::instance(); | 241 | SrsStatistic* stat = SrsStatistic::instance(); |
| 242 | 242 | ||
| 243 | - SrsAmf0Object* obj = SrsAmf0Any::object(); | ||
| 244 | - SrsAutoFree(SrsAmf0Object, obj); | 243 | + SrsJsonObject* obj = SrsJsonAny::object(); |
| 244 | + SrsAutoFree(SrsJsonObject, obj); | ||
| 245 | 245 | ||
| 246 | - obj->set("code", SrsAmf0Any::number(ERROR_SUCCESS)); | ||
| 247 | - obj->set("server", SrsAmf0Any::number(stat->server_id())); | 246 | + obj->set("code", SrsJsonAny::number(ERROR_SUCCESS)); |
| 247 | + obj->set("server", SrsJsonAny::number(stat->server_id())); | ||
| 248 | 248 | ||
| 249 | - SrsAmf0Object* data = SrsAmf0Any::object(); | 249 | + SrsJsonObject* data = SrsJsonAny::object(); |
| 250 | obj->set("data", data); | 250 | obj->set("data", data); |
| 251 | 251 | ||
| 252 | - data->set("major", SrsAmf0Any::number(VERSION_MAJOR)); | ||
| 253 | - data->set("minor", SrsAmf0Any::number(VERSION_MINOR)); | ||
| 254 | - data->set("revision", SrsAmf0Any::number(VERSION_REVISION)); | ||
| 255 | - data->set("version", SrsAmf0Any::str(RTMP_SIG_SRS_VERSION)); | 252 | + data->set("major", SrsJsonAny::number(VERSION_MAJOR)); |
| 253 | + data->set("minor", SrsJsonAny::number(VERSION_MINOR)); | ||
| 254 | + data->set("revision", SrsJsonAny::number(VERSION_REVISION)); | ||
| 255 | + data->set("version", SrsJsonAny::str(RTMP_SIG_SRS_VERSION)); | ||
| 256 | 256 | ||
| 257 | return srs_api_response(w, r, obj->to_json()); | 257 | return srs_api_response(w, r, obj->to_json()); |
| 258 | } | 258 | } |
| @@ -267,8 +267,8 @@ SrsGoApiSummaries::~SrsGoApiSummaries() | @@ -267,8 +267,8 @@ SrsGoApiSummaries::~SrsGoApiSummaries() | ||
| 267 | 267 | ||
| 268 | int SrsGoApiSummaries::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r) | 268 | int SrsGoApiSummaries::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r) |
| 269 | { | 269 | { |
| 270 | - SrsAmf0Object* obj = SrsAmf0Any::object(); | ||
| 271 | - SrsAutoFree(SrsAmf0Object, obj); | 270 | + SrsJsonObject* obj = SrsJsonAny::object(); |
| 271 | + SrsAutoFree(SrsJsonObject, obj); | ||
| 272 | 272 | ||
| 273 | srs_api_dump_summaries(obj); | 273 | srs_api_dump_summaries(obj); |
| 274 | 274 | ||
| @@ -287,35 +287,35 @@ int SrsGoApiRusages::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r) | @@ -287,35 +287,35 @@ int SrsGoApiRusages::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r) | ||
| 287 | { | 287 | { |
| 288 | SrsStatistic* stat = SrsStatistic::instance(); | 288 | SrsStatistic* stat = SrsStatistic::instance(); |
| 289 | 289 | ||
| 290 | - SrsAmf0Object* obj = SrsAmf0Any::object(); | ||
| 291 | - SrsAutoFree(SrsAmf0Object, obj); | 290 | + SrsJsonObject* obj = SrsJsonAny::object(); |
| 291 | + SrsAutoFree(SrsJsonObject, obj); | ||
| 292 | 292 | ||
| 293 | - obj->set("code", SrsAmf0Any::number(ERROR_SUCCESS)); | ||
| 294 | - obj->set("server", SrsAmf0Any::number(stat->server_id())); | 293 | + obj->set("code", SrsJsonAny::number(ERROR_SUCCESS)); |
| 294 | + obj->set("server", SrsJsonAny::number(stat->server_id())); | ||
| 295 | 295 | ||
| 296 | - SrsAmf0Object* data = SrsAmf0Any::object(); | 296 | + SrsJsonObject* data = SrsJsonAny::object(); |
| 297 | obj->set("data", data); | 297 | obj->set("data", data); |
| 298 | 298 | ||
| 299 | SrsRusage* ru = srs_get_system_rusage(); | 299 | SrsRusage* ru = srs_get_system_rusage(); |
| 300 | 300 | ||
| 301 | - data->set("ok", SrsAmf0Any::boolean(ru->ok)); | ||
| 302 | - data->set("sample_time", SrsAmf0Any::number(ru->sample_time)); | ||
| 303 | - data->set("ru_utime", SrsAmf0Any::number(ru->r.ru_utime.tv_sec)); | ||
| 304 | - data->set("ru_stime", SrsAmf0Any::number(ru->r.ru_stime.tv_sec)); | ||
| 305 | - data->set("ru_maxrss", SrsAmf0Any::number(ru->r.ru_maxrss)); | ||
| 306 | - data->set("ru_ixrss", SrsAmf0Any::number(ru->r.ru_ixrss)); | ||
| 307 | - data->set("ru_idrss", SrsAmf0Any::number(ru->r.ru_idrss)); | ||
| 308 | - data->set("ru_isrss", SrsAmf0Any::number(ru->r.ru_isrss)); | ||
| 309 | - data->set("ru_minflt", SrsAmf0Any::number(ru->r.ru_minflt)); | ||
| 310 | - data->set("ru_majflt", SrsAmf0Any::number(ru->r.ru_majflt)); | ||
| 311 | - data->set("ru_nswap", SrsAmf0Any::number(ru->r.ru_nswap)); | ||
| 312 | - data->set("ru_inblock", SrsAmf0Any::number(ru->r.ru_inblock)); | ||
| 313 | - data->set("ru_oublock", SrsAmf0Any::number(ru->r.ru_oublock)); | ||
| 314 | - data->set("ru_msgsnd", SrsAmf0Any::number(ru->r.ru_msgsnd)); | ||
| 315 | - data->set("ru_msgrcv", SrsAmf0Any::number(ru->r.ru_msgrcv)); | ||
| 316 | - data->set("ru_nsignals", SrsAmf0Any::number(ru->r.ru_nsignals)); | ||
| 317 | - data->set("ru_nvcsw", SrsAmf0Any::number(ru->r.ru_nvcsw)); | ||
| 318 | - data->set("ru_nivcsw", SrsAmf0Any::number(ru->r.ru_nivcsw)); | 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)); | ||
| 319 | 319 | ||
| 320 | return srs_api_response(w, r, obj->to_json()); | 320 | return srs_api_response(w, r, obj->to_json()); |
| 321 | } | 321 | } |
| @@ -332,13 +332,13 @@ int SrsGoApiSelfProcStats::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage | @@ -332,13 +332,13 @@ int SrsGoApiSelfProcStats::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage | ||
| 332 | { | 332 | { |
| 333 | SrsStatistic* stat = SrsStatistic::instance(); | 333 | SrsStatistic* stat = SrsStatistic::instance(); |
| 334 | 334 | ||
| 335 | - SrsAmf0Object* obj = SrsAmf0Any::object(); | ||
| 336 | - SrsAutoFree(SrsAmf0Object, obj); | 335 | + SrsJsonObject* obj = SrsJsonAny::object(); |
| 336 | + SrsAutoFree(SrsJsonObject, obj); | ||
| 337 | 337 | ||
| 338 | - obj->set("code", SrsAmf0Any::number(ERROR_SUCCESS)); | ||
| 339 | - obj->set("server", SrsAmf0Any::number(stat->server_id())); | 338 | + obj->set("code", SrsJsonAny::number(ERROR_SUCCESS)); |
| 339 | + obj->set("server", SrsJsonAny::number(stat->server_id())); | ||
| 340 | 340 | ||
| 341 | - SrsAmf0Object* data = SrsAmf0Any::object(); | 341 | + SrsJsonObject* data = SrsJsonAny::object(); |
| 342 | obj->set("data", data); | 342 | obj->set("data", data); |
| 343 | 343 | ||
| 344 | SrsProcSelfStat* u = srs_get_self_proc_stat(); | 344 | SrsProcSelfStat* u = srs_get_self_proc_stat(); |
| @@ -346,53 +346,53 @@ int SrsGoApiSelfProcStats::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage | @@ -346,53 +346,53 @@ int SrsGoApiSelfProcStats::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage | ||
| 346 | string state; | 346 | string state; |
| 347 | state += (char)u->state; | 347 | state += (char)u->state; |
| 348 | 348 | ||
| 349 | - data->set("ok", SrsAmf0Any::boolean(u->ok)); | ||
| 350 | - data->set("sample_time", SrsAmf0Any::number(u->sample_time)); | ||
| 351 | - data->set("percent", SrsAmf0Any::number(u->percent)); | ||
| 352 | - data->set("pid", SrsAmf0Any::number(u->pid)); | ||
| 353 | - data->set("comm", SrsAmf0Any::str(u->comm)); | ||
| 354 | - data->set("state", SrsAmf0Any::str(state.c_str())); | ||
| 355 | - data->set("ppid", SrsAmf0Any::number(u->ppid)); | ||
| 356 | - data->set("pgrp", SrsAmf0Any::number(u->pgrp)); | ||
| 357 | - data->set("session", SrsAmf0Any::number(u->session)); | ||
| 358 | - data->set("tty_nr", SrsAmf0Any::number(u->tty_nr)); | ||
| 359 | - data->set("tpgid", SrsAmf0Any::number(u->tpgid)); | ||
| 360 | - data->set("flags", SrsAmf0Any::number(u->flags)); | ||
| 361 | - data->set("minflt", SrsAmf0Any::number(u->minflt)); | ||
| 362 | - data->set("cminflt", SrsAmf0Any::number(u->cminflt)); | ||
| 363 | - data->set("majflt", SrsAmf0Any::number(u->majflt)); | ||
| 364 | - data->set("cmajflt", SrsAmf0Any::number(u->cmajflt)); | ||
| 365 | - data->set("utime", SrsAmf0Any::number(u->utime)); | ||
| 366 | - data->set("stime", SrsAmf0Any::number(u->stime)); | ||
| 367 | - data->set("cutime", SrsAmf0Any::number(u->cutime)); | ||
| 368 | - data->set("cstime", SrsAmf0Any::number(u->cstime)); | ||
| 369 | - data->set("priority", SrsAmf0Any::number(u->priority)); | ||
| 370 | - data->set("nice", SrsAmf0Any::number(u->nice)); | ||
| 371 | - data->set("num_threads", SrsAmf0Any::number(u->num_threads)); | ||
| 372 | - data->set("itrealvalue", SrsAmf0Any::number(u->itrealvalue)); | ||
| 373 | - data->set("starttime", SrsAmf0Any::number(u->starttime)); | ||
| 374 | - data->set("vsize", SrsAmf0Any::number(u->vsize)); | ||
| 375 | - data->set("rss", SrsAmf0Any::number(u->rss)); | ||
| 376 | - data->set("rsslim", SrsAmf0Any::number(u->rsslim)); | ||
| 377 | - data->set("startcode", SrsAmf0Any::number(u->startcode)); | ||
| 378 | - data->set("endcode", SrsAmf0Any::number(u->endcode)); | ||
| 379 | - data->set("startstack", SrsAmf0Any::number(u->startstack)); | ||
| 380 | - data->set("kstkesp", SrsAmf0Any::number(u->kstkesp)); | ||
| 381 | - data->set("kstkeip", SrsAmf0Any::number(u->kstkeip)); | ||
| 382 | - data->set("signal", SrsAmf0Any::number(u->signal)); | ||
| 383 | - data->set("blocked", SrsAmf0Any::number(u->blocked)); | ||
| 384 | - data->set("sigignore", SrsAmf0Any::number(u->sigignore)); | ||
| 385 | - data->set("sigcatch", SrsAmf0Any::number(u->sigcatch)); | ||
| 386 | - data->set("wchan", SrsAmf0Any::number(u->wchan)); | ||
| 387 | - data->set("nswap", SrsAmf0Any::number(u->nswap)); | ||
| 388 | - data->set("cnswap", SrsAmf0Any::number(u->cnswap)); | ||
| 389 | - data->set("exit_signal", SrsAmf0Any::number(u->exit_signal)); | ||
| 390 | - data->set("processor", SrsAmf0Any::number(u->processor)); | ||
| 391 | - data->set("rt_priority", SrsAmf0Any::number(u->rt_priority)); | ||
| 392 | - data->set("policy", SrsAmf0Any::number(u->policy)); | ||
| 393 | - data->set("delayacct_blkio_ticks", SrsAmf0Any::number(u->delayacct_blkio_ticks)); | ||
| 394 | - data->set("guest_time", SrsAmf0Any::number(u->guest_time)); | ||
| 395 | - data->set("cguest_time", SrsAmf0Any::number(u->cguest_time)); | 349 | + data->set("ok", SrsJsonAny::boolean(u->ok)); |
| 350 | + data->set("sample_time", SrsJsonAny::number(u->sample_time)); | ||
| 351 | + data->set("percent", SrsJsonAny::number(u->percent)); | ||
| 352 | + data->set("pid", SrsJsonAny::number(u->pid)); | ||
| 353 | + data->set("comm", SrsJsonAny::str(u->comm)); | ||
| 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)); | ||
| 396 | 396 | ||
| 397 | return srs_api_response(w, r, obj->to_json()); | 397 | return srs_api_response(w, r, obj->to_json()); |
| 398 | } | 398 | } |
| @@ -409,29 +409,29 @@ int SrsGoApiSystemProcStats::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessa | @@ -409,29 +409,29 @@ int SrsGoApiSystemProcStats::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessa | ||
| 409 | { | 409 | { |
| 410 | SrsStatistic* stat = SrsStatistic::instance(); | 410 | SrsStatistic* stat = SrsStatistic::instance(); |
| 411 | 411 | ||
| 412 | - SrsAmf0Object* obj = SrsAmf0Any::object(); | ||
| 413 | - SrsAutoFree(SrsAmf0Object, obj); | 412 | + SrsJsonObject* obj = SrsJsonAny::object(); |
| 413 | + SrsAutoFree(SrsJsonObject, obj); | ||
| 414 | 414 | ||
| 415 | - obj->set("code", SrsAmf0Any::number(ERROR_SUCCESS)); | ||
| 416 | - obj->set("server", SrsAmf0Any::number(stat->server_id())); | 415 | + obj->set("code", SrsJsonAny::number(ERROR_SUCCESS)); |
| 416 | + obj->set("server", SrsJsonAny::number(stat->server_id())); | ||
| 417 | 417 | ||
| 418 | - SrsAmf0Object* data = SrsAmf0Any::object(); | 418 | + SrsJsonObject* data = SrsJsonAny::object(); |
| 419 | obj->set("data", data); | 419 | obj->set("data", data); |
| 420 | 420 | ||
| 421 | SrsProcSystemStat* s = srs_get_system_proc_stat(); | 421 | SrsProcSystemStat* s = srs_get_system_proc_stat(); |
| 422 | 422 | ||
| 423 | - data->set("ok", SrsAmf0Any::boolean(s->ok)); | ||
| 424 | - data->set("sample_time", SrsAmf0Any::number(s->sample_time)); | ||
| 425 | - data->set("percent", SrsAmf0Any::number(s->percent)); | ||
| 426 | - data->set("user", SrsAmf0Any::number(s->user)); | ||
| 427 | - data->set("nice", SrsAmf0Any::number(s->nice)); | ||
| 428 | - data->set("sys", SrsAmf0Any::number(s->sys)); | ||
| 429 | - data->set("idle", SrsAmf0Any::number(s->idle)); | ||
| 430 | - data->set("iowait", SrsAmf0Any::number(s->iowait)); | ||
| 431 | - data->set("irq", SrsAmf0Any::number(s->irq)); | ||
| 432 | - data->set("softirq", SrsAmf0Any::number(s->softirq)); | ||
| 433 | - data->set("steal", SrsAmf0Any::number(s->steal)); | ||
| 434 | - data->set("guest", SrsAmf0Any::number(s->guest)); | 423 | + data->set("ok", SrsJsonAny::boolean(s->ok)); |
| 424 | + data->set("sample_time", SrsJsonAny::number(s->sample_time)); | ||
| 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)); | ||
| 435 | 435 | ||
| 436 | return srs_api_response(w, r, obj->to_json()); | 436 | return srs_api_response(w, r, obj->to_json()); |
| 437 | } | 437 | } |
| @@ -448,30 +448,30 @@ int SrsGoApiMemInfos::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r) | @@ -448,30 +448,30 @@ int SrsGoApiMemInfos::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r) | ||
| 448 | { | 448 | { |
| 449 | SrsStatistic* stat = SrsStatistic::instance(); | 449 | SrsStatistic* stat = SrsStatistic::instance(); |
| 450 | 450 | ||
| 451 | - SrsAmf0Object* obj = SrsAmf0Any::object(); | ||
| 452 | - SrsAutoFree(SrsAmf0Object, obj); | 451 | + SrsJsonObject* obj = SrsJsonAny::object(); |
| 452 | + SrsAutoFree(SrsJsonObject, obj); | ||
| 453 | 453 | ||
| 454 | - obj->set("code", SrsAmf0Any::number(ERROR_SUCCESS)); | ||
| 455 | - obj->set("server", SrsAmf0Any::number(stat->server_id())); | 454 | + obj->set("code", SrsJsonAny::number(ERROR_SUCCESS)); |
| 455 | + obj->set("server", SrsJsonAny::number(stat->server_id())); | ||
| 456 | 456 | ||
| 457 | - SrsAmf0Object* data = SrsAmf0Any::object(); | 457 | + SrsJsonObject* data = SrsJsonAny::object(); |
| 458 | obj->set("data", data); | 458 | obj->set("data", data); |
| 459 | 459 | ||
| 460 | SrsMemInfo* m = srs_get_meminfo(); | 460 | SrsMemInfo* m = srs_get_meminfo(); |
| 461 | 461 | ||
| 462 | - data->set("ok", SrsAmf0Any::boolean(m->ok)); | ||
| 463 | - data->set("sample_time", SrsAmf0Any::number(m->sample_time)); | ||
| 464 | - data->set("percent_ram", SrsAmf0Any::number(m->percent_ram)); | ||
| 465 | - data->set("percent_swap", SrsAmf0Any::number(m->percent_swap)); | ||
| 466 | - data->set("MemActive", SrsAmf0Any::number(m->MemActive)); | ||
| 467 | - data->set("RealInUse", SrsAmf0Any::number(m->RealInUse)); | ||
| 468 | - data->set("NotInUse", SrsAmf0Any::number(m->NotInUse)); | ||
| 469 | - data->set("MemTotal", SrsAmf0Any::number(m->MemTotal)); | ||
| 470 | - data->set("MemFree", SrsAmf0Any::number(m->MemFree)); | ||
| 471 | - data->set("Buffers", SrsAmf0Any::number(m->Buffers)); | ||
| 472 | - data->set("Cached", SrsAmf0Any::number(m->Cached)); | ||
| 473 | - data->set("SwapTotal", SrsAmf0Any::number(m->SwapTotal)); | ||
| 474 | - data->set("SwapFree", SrsAmf0Any::number(m->SwapFree)); | 462 | + data->set("ok", SrsJsonAny::boolean(m->ok)); |
| 463 | + data->set("sample_time", SrsJsonAny::number(m->sample_time)); | ||
| 464 | + data->set("percent_ram", SrsJsonAny::number(m->percent_ram)); | ||
| 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)); | ||
| 475 | 475 | ||
| 476 | return srs_api_response(w, r, obj->to_json()); | 476 | return srs_api_response(w, r, obj->to_json()); |
| 477 | } | 477 | } |
| @@ -488,21 +488,21 @@ int SrsGoApiAuthors::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r) | @@ -488,21 +488,21 @@ int SrsGoApiAuthors::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r) | ||
| 488 | { | 488 | { |
| 489 | SrsStatistic* stat = SrsStatistic::instance(); | 489 | SrsStatistic* stat = SrsStatistic::instance(); |
| 490 | 490 | ||
| 491 | - SrsAmf0Object* obj = SrsAmf0Any::object(); | ||
| 492 | - SrsAutoFree(SrsAmf0Object, obj); | 491 | + SrsJsonObject* obj = SrsJsonAny::object(); |
| 492 | + SrsAutoFree(SrsJsonObject, obj); | ||
| 493 | 493 | ||
| 494 | - obj->set("code", SrsAmf0Any::number(ERROR_SUCCESS)); | ||
| 495 | - obj->set("server", SrsAmf0Any::number(stat->server_id())); | 494 | + obj->set("code", SrsJsonAny::number(ERROR_SUCCESS)); |
| 495 | + obj->set("server", SrsJsonAny::number(stat->server_id())); | ||
| 496 | 496 | ||
| 497 | - SrsAmf0Object* data = SrsAmf0Any::object(); | 497 | + SrsJsonObject* data = SrsJsonAny::object(); |
| 498 | obj->set("data", data); | 498 | obj->set("data", data); |
| 499 | 499 | ||
| 500 | - data->set("primary", SrsAmf0Any::str(RTMP_SIG_SRS_PRIMARY)); | ||
| 501 | - data->set("license", SrsAmf0Any::str(RTMP_SIG_SRS_LICENSE)); | ||
| 502 | - data->set("copyright", SrsAmf0Any::str(RTMP_SIG_SRS_COPYRIGHT)); | ||
| 503 | - data->set("authors", SrsAmf0Any::str(RTMP_SIG_SRS_AUTHROS)); | ||
| 504 | - data->set("contributors_link", SrsAmf0Any::str(RTMP_SIG_SRS_CONTRIBUTORS_URL)); | ||
| 505 | - data->set("contributors", SrsAmf0Any::str(SRS_AUTO_CONSTRIBUTORS)); | 500 | + data->set("primary", SrsJsonAny::str(RTMP_SIG_SRS_PRIMARY)); |
| 501 | + data->set("license", SrsJsonAny::str(RTMP_SIG_SRS_LICENSE)); | ||
| 502 | + data->set("copyright", SrsJsonAny::str(RTMP_SIG_SRS_COPYRIGHT)); | ||
| 503 | + data->set("authors", SrsJsonAny::str(RTMP_SIG_SRS_AUTHROS)); | ||
| 504 | + data->set("contributors_link", SrsJsonAny::str(RTMP_SIG_SRS_CONTRIBUTORS_URL)); | ||
| 505 | + data->set("contributors", SrsJsonAny::str(SRS_AUTO_CONSTRIBUTORS)); | ||
| 506 | 506 | ||
| 507 | return srs_api_response(w, r, obj->to_json()); | 507 | return srs_api_response(w, r, obj->to_json()); |
| 508 | } | 508 | } |
| @@ -519,107 +519,107 @@ int SrsGoApiFeatures::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r) | @@ -519,107 +519,107 @@ int SrsGoApiFeatures::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r) | ||
| 519 | { | 519 | { |
| 520 | SrsStatistic* stat = SrsStatistic::instance(); | 520 | SrsStatistic* stat = SrsStatistic::instance(); |
| 521 | 521 | ||
| 522 | - SrsAmf0Object* obj = SrsAmf0Any::object(); | ||
| 523 | - SrsAutoFree(SrsAmf0Object, obj); | 522 | + SrsJsonObject* obj = SrsJsonAny::object(); |
| 523 | + SrsAutoFree(SrsJsonObject, obj); | ||
| 524 | 524 | ||
| 525 | - obj->set("code", SrsAmf0Any::number(ERROR_SUCCESS)); | ||
| 526 | - obj->set("server", SrsAmf0Any::number(stat->server_id())); | 525 | + obj->set("code", SrsJsonAny::number(ERROR_SUCCESS)); |
| 526 | + obj->set("server", SrsJsonAny::number(stat->server_id())); | ||
| 527 | 527 | ||
| 528 | - SrsAmf0Object* data = SrsAmf0Any::object(); | 528 | + SrsJsonObject* data = SrsJsonAny::object(); |
| 529 | obj->set("data", data); | 529 | obj->set("data", data); |
| 530 | 530 | ||
| 531 | - data->set("options", SrsAmf0Any::str(SRS_AUTO_USER_CONFIGURE)); | ||
| 532 | - data->set("options2", SrsAmf0Any::str(SRS_AUTO_CONFIGURE)); | ||
| 533 | - data->set("build", SrsAmf0Any::str(SRS_AUTO_BUILD_DATE)); | ||
| 534 | - data->set("build2", SrsAmf0Any::str(SRS_AUTO_BUILD_TS)); | 531 | + data->set("options", SrsJsonAny::str(SRS_AUTO_USER_CONFIGURE)); |
| 532 | + data->set("options2", SrsJsonAny::str(SRS_AUTO_CONFIGURE)); | ||
| 533 | + data->set("build", SrsJsonAny::str(SRS_AUTO_BUILD_DATE)); | ||
| 534 | + data->set("build2", SrsJsonAny::str(SRS_AUTO_BUILD_TS)); | ||
| 535 | 535 | ||
| 536 | - SrsAmf0Object* features = SrsAmf0Any::object(); | 536 | + SrsJsonObject* features = SrsJsonAny::object(); |
| 537 | data->set("features", features); | 537 | data->set("features", features); |
| 538 | 538 | ||
| 539 | #ifdef SRS_AUTO_SSL | 539 | #ifdef SRS_AUTO_SSL |
| 540 | - features->set("ssl", SrsAmf0Any::boolean(true)); | 540 | + features->set("ssl", SrsJsonAny::boolean(true)); |
| 541 | #else | 541 | #else |
| 542 | - features->set("ssl", SrsAmf0Any::boolean(false)); | 542 | + features->set("ssl", SrsJsonAny::boolean(false)); |
| 543 | #endif | 543 | #endif |
| 544 | #ifdef SRS_AUTO_HLS | 544 | #ifdef SRS_AUTO_HLS |
| 545 | - features->set("hls", SrsAmf0Any::boolean(true)); | 545 | + features->set("hls", SrsJsonAny::boolean(true)); |
| 546 | #else | 546 | #else |
| 547 | - features->set("hls", SrsAmf0Any::boolean(false)); | 547 | + features->set("hls", SrsJsonAny::boolean(false)); |
| 548 | #endif | 548 | #endif |
| 549 | #ifdef SRS_AUTO_HDS | 549 | #ifdef SRS_AUTO_HDS |
| 550 | - features->set("hds", SrsAmf0Any::boolean(true)); | 550 | + features->set("hds", SrsJsonAny::boolean(true)); |
| 551 | #else | 551 | #else |
| 552 | - features->set("hds", SrsAmf0Any::boolean(false)); | 552 | + features->set("hds", SrsJsonAny::boolean(false)); |
| 553 | #endif | 553 | #endif |
| 554 | #ifdef SRS_AUTO_HTTP_CALLBACK | 554 | #ifdef SRS_AUTO_HTTP_CALLBACK |
| 555 | - features->set("callback", SrsAmf0Any::boolean(true)); | 555 | + features->set("callback", SrsJsonAny::boolean(true)); |
| 556 | #else | 556 | #else |
| 557 | - features->set("callback", SrsAmf0Any::boolean(false)); | 557 | + features->set("callback", SrsJsonAny::boolean(false)); |
| 558 | #endif | 558 | #endif |
| 559 | #ifdef SRS_AUTO_HTTP_API | 559 | #ifdef SRS_AUTO_HTTP_API |
| 560 | - features->set("api", SrsAmf0Any::boolean(true)); | 560 | + features->set("api", SrsJsonAny::boolean(true)); |
| 561 | #else | 561 | #else |
| 562 | - features->set("api", SrsAmf0Any::boolean(false)); | 562 | + features->set("api", SrsJsonAny::boolean(false)); |
| 563 | #endif | 563 | #endif |
| 564 | #ifdef SRS_AUTO_HTTP_SERVER | 564 | #ifdef SRS_AUTO_HTTP_SERVER |
| 565 | - features->set("httpd", SrsAmf0Any::boolean(true)); | 565 | + features->set("httpd", SrsJsonAny::boolean(true)); |
| 566 | #else | 566 | #else |
| 567 | - features->set("httpd", SrsAmf0Any::boolean(false)); | 567 | + features->set("httpd", SrsJsonAny::boolean(false)); |
| 568 | #endif | 568 | #endif |
| 569 | #ifdef SRS_AUTO_DVR | 569 | #ifdef SRS_AUTO_DVR |
| 570 | - features->set("dvr", SrsAmf0Any::boolean(true)); | 570 | + features->set("dvr", SrsJsonAny::boolean(true)); |
| 571 | #else | 571 | #else |
| 572 | - features->set("dvr", SrsAmf0Any::boolean(false)); | 572 | + features->set("dvr", SrsJsonAny::boolean(false)); |
| 573 | #endif | 573 | #endif |
| 574 | #ifdef SRS_AUTO_TRANSCODE | 574 | #ifdef SRS_AUTO_TRANSCODE |
| 575 | - features->set("transcode", SrsAmf0Any::boolean(true)); | 575 | + features->set("transcode", SrsJsonAny::boolean(true)); |
| 576 | #else | 576 | #else |
| 577 | - features->set("transcode", SrsAmf0Any::boolean(false)); | 577 | + features->set("transcode", SrsJsonAny::boolean(false)); |
| 578 | #endif | 578 | #endif |
| 579 | #ifdef SRS_AUTO_INGEST | 579 | #ifdef SRS_AUTO_INGEST |
| 580 | - features->set("ingest", SrsAmf0Any::boolean(true)); | 580 | + features->set("ingest", SrsJsonAny::boolean(true)); |
| 581 | #else | 581 | #else |
| 582 | - features->set("ingest", SrsAmf0Any::boolean(false)); | 582 | + features->set("ingest", SrsJsonAny::boolean(false)); |
| 583 | #endif | 583 | #endif |
| 584 | #ifdef SRS_AUTO_STAT | 584 | #ifdef SRS_AUTO_STAT |
| 585 | - features->set("stat", SrsAmf0Any::boolean(true)); | 585 | + features->set("stat", SrsJsonAny::boolean(true)); |
| 586 | #else | 586 | #else |
| 587 | - features->set("stat", SrsAmf0Any::boolean(false)); | 587 | + features->set("stat", SrsJsonAny::boolean(false)); |
| 588 | #endif | 588 | #endif |
| 589 | #ifdef SRS_AUTO_NGINX | 589 | #ifdef SRS_AUTO_NGINX |
| 590 | - features->set("nginx", SrsAmf0Any::boolean(true)); | 590 | + features->set("nginx", SrsJsonAny::boolean(true)); |
| 591 | #else | 591 | #else |
| 592 | - features->set("nginx", SrsAmf0Any::boolean(false)); | 592 | + features->set("nginx", SrsJsonAny::boolean(false)); |
| 593 | #endif | 593 | #endif |
| 594 | #ifdef SRS_AUTO_FFMPEG_TOOL | 594 | #ifdef SRS_AUTO_FFMPEG_TOOL |
| 595 | - features->set("ffmpeg", SrsAmf0Any::boolean(true)); | 595 | + features->set("ffmpeg", SrsJsonAny::boolean(true)); |
| 596 | #else | 596 | #else |
| 597 | - features->set("ffmpeg", SrsAmf0Any::boolean(false)); | 597 | + features->set("ffmpeg", SrsJsonAny::boolean(false)); |
| 598 | #endif | 598 | #endif |
| 599 | #ifdef SRS_AUTO_STREAM_CASTER | 599 | #ifdef SRS_AUTO_STREAM_CASTER |
| 600 | - features->set("caster", SrsAmf0Any::boolean(true)); | 600 | + features->set("caster", SrsJsonAny::boolean(true)); |
| 601 | #else | 601 | #else |
| 602 | - features->set("caster", SrsAmf0Any::boolean(false)); | 602 | + features->set("caster", SrsJsonAny::boolean(false)); |
| 603 | #endif | 603 | #endif |
| 604 | #ifdef SRS_PERF_COMPLEX_SEND | 604 | #ifdef SRS_PERF_COMPLEX_SEND |
| 605 | - features->set("complex_send", SrsAmf0Any::boolean(true)); | 605 | + features->set("complex_send", SrsJsonAny::boolean(true)); |
| 606 | #else | 606 | #else |
| 607 | - features->set("complex_send", SrsAmf0Any::boolean(false)); | 607 | + features->set("complex_send", SrsJsonAny::boolean(false)); |
| 608 | #endif | 608 | #endif |
| 609 | #ifdef SRS_PERF_TCP_NODELAY | 609 | #ifdef SRS_PERF_TCP_NODELAY |
| 610 | - features->set("tcp_nodelay", SrsAmf0Any::boolean(true)); | 610 | + features->set("tcp_nodelay", SrsJsonAny::boolean(true)); |
| 611 | #else | 611 | #else |
| 612 | - features->set("tcp_nodelay", SrsAmf0Any::boolean(false)); | 612 | + features->set("tcp_nodelay", SrsJsonAny::boolean(false)); |
| 613 | #endif | 613 | #endif |
| 614 | #ifdef SRS_PERF_SO_SNDBUF_SIZE | 614 | #ifdef SRS_PERF_SO_SNDBUF_SIZE |
| 615 | - features->set("so_sendbuf", SrsAmf0Any::boolean(true)); | 615 | + features->set("so_sendbuf", SrsJsonAny::boolean(true)); |
| 616 | #else | 616 | #else |
| 617 | - features->set("so_sendbuf", SrsAmf0Any::boolean(false)); | 617 | + features->set("so_sendbuf", SrsJsonAny::boolean(false)); |
| 618 | #endif | 618 | #endif |
| 619 | #ifdef SRS_PERF_MERGED_READ | 619 | #ifdef SRS_PERF_MERGED_READ |
| 620 | - features->set("mr", SrsAmf0Any::boolean(true)); | 620 | + features->set("mr", SrsJsonAny::boolean(true)); |
| 621 | #else | 621 | #else |
| 622 | - features->set("mr", SrsAmf0Any::boolean(false)); | 622 | + features->set("mr", SrsJsonAny::boolean(false)); |
| 623 | #endif | 623 | #endif |
| 624 | 624 | ||
| 625 | return srs_api_response(w, r, obj->to_json()); | 625 | return srs_api_response(w, r, obj->to_json()); |
| @@ -637,40 +637,40 @@ int SrsGoApiRequests::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r) | @@ -637,40 +637,40 @@ int SrsGoApiRequests::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r) | ||
| 637 | { | 637 | { |
| 638 | SrsStatistic* stat = SrsStatistic::instance(); | 638 | SrsStatistic* stat = SrsStatistic::instance(); |
| 639 | 639 | ||
| 640 | - SrsAmf0Object* obj = SrsAmf0Any::object(); | ||
| 641 | - SrsAutoFree(SrsAmf0Object, obj); | 640 | + SrsJsonObject* obj = SrsJsonAny::object(); |
| 641 | + SrsAutoFree(SrsJsonObject, obj); | ||
| 642 | 642 | ||
| 643 | - obj->set("code", SrsAmf0Any::number(ERROR_SUCCESS)); | ||
| 644 | - obj->set("server", SrsAmf0Any::number(stat->server_id())); | 643 | + obj->set("code", SrsJsonAny::number(ERROR_SUCCESS)); |
| 644 | + obj->set("server", SrsJsonAny::number(stat->server_id())); | ||
| 645 | 645 | ||
| 646 | - SrsAmf0Object* data = SrsAmf0Any::object(); | 646 | + SrsJsonObject* data = SrsJsonAny::object(); |
| 647 | obj->set("data", data); | 647 | obj->set("data", data); |
| 648 | 648 | ||
| 649 | - data->set("uri", SrsAmf0Any::str(r->uri().c_str())); | ||
| 650 | - data->set("path", SrsAmf0Any::str(r->path().c_str())); | 649 | + data->set("uri", SrsJsonAny::str(r->uri().c_str())); |
| 650 | + data->set("path", SrsJsonAny::str(r->path().c_str())); | ||
| 651 | 651 | ||
| 652 | // method | 652 | // method |
| 653 | - data->set("METHOD", SrsAmf0Any::str(r->method_str().c_str())); | 653 | + data->set("METHOD", SrsJsonAny::str(r->method_str().c_str())); |
| 654 | 654 | ||
| 655 | // request headers | 655 | // request headers |
| 656 | - SrsAmf0Object* headers = SrsAmf0Any::object(); | 656 | + SrsJsonObject* headers = SrsJsonAny::object(); |
| 657 | data->set("headers", headers); | 657 | data->set("headers", headers); |
| 658 | 658 | ||
| 659 | for (int i = 0; i < r->request_header_count(); i++) { | 659 | for (int i = 0; i < r->request_header_count(); i++) { |
| 660 | std::string key = r->request_header_key_at(i); | 660 | std::string key = r->request_header_key_at(i); |
| 661 | std::string value = r->request_header_value_at(i); | 661 | std::string value = r->request_header_value_at(i); |
| 662 | - headers->set(key, SrsAmf0Any::str(value.c_str())); | 662 | + headers->set(key, SrsJsonAny::str(value.c_str())); |
| 663 | } | 663 | } |
| 664 | 664 | ||
| 665 | // server informations | 665 | // server informations |
| 666 | - SrsAmf0Object* server = SrsAmf0Any::object(); | 666 | + SrsJsonObject* server = SrsJsonAny::object(); |
| 667 | data->set("headers", server); | 667 | data->set("headers", server); |
| 668 | 668 | ||
| 669 | - server->set("sigature", SrsAmf0Any::str(RTMP_SIG_SRS_KEY)); | ||
| 670 | - server->set("name", SrsAmf0Any::str(RTMP_SIG_SRS_NAME)); | ||
| 671 | - server->set("version", SrsAmf0Any::str(RTMP_SIG_SRS_VERSION)); | ||
| 672 | - server->set("link", SrsAmf0Any::str(RTMP_SIG_SRS_URL)); | ||
| 673 | - server->set("time", SrsAmf0Any::number(srs_get_system_time_ms())); | 669 | + server->set("sigature", SrsJsonAny::str(RTMP_SIG_SRS_KEY)); |
| 670 | + server->set("name", SrsJsonAny::str(RTMP_SIG_SRS_NAME)); | ||
| 671 | + server->set("version", SrsJsonAny::str(RTMP_SIG_SRS_VERSION)); | ||
| 672 | + server->set("link", SrsJsonAny::str(RTMP_SIG_SRS_URL)); | ||
| 673 | + server->set("time", SrsJsonAny::number(srs_get_system_time_ms())); | ||
| 674 | 674 | ||
| 675 | return srs_api_response(w, r, obj->to_json()); | 675 | return srs_api_response(w, r, obj->to_json()); |
| 676 | } | 676 | } |
| @@ -700,22 +700,22 @@ int SrsGoApiVhosts::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r) | @@ -700,22 +700,22 @@ int SrsGoApiVhosts::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r) | ||
| 700 | return srs_api_response_code(w, r, ret); | 700 | return srs_api_response_code(w, r, ret); |
| 701 | } | 701 | } |
| 702 | 702 | ||
| 703 | - SrsAmf0Object* obj = SrsAmf0Any::object(); | ||
| 704 | - SrsAutoFree(SrsAmf0Object, obj); | 703 | + SrsJsonObject* obj = SrsJsonAny::object(); |
| 704 | + SrsAutoFree(SrsJsonObject, obj); | ||
| 705 | 705 | ||
| 706 | - obj->set("code", SrsAmf0Any::number(ERROR_SUCCESS)); | ||
| 707 | - obj->set("server", SrsAmf0Any::number(stat->server_id())); | 706 | + obj->set("code", SrsJsonAny::number(ERROR_SUCCESS)); |
| 707 | + obj->set("server", SrsJsonAny::number(stat->server_id())); | ||
| 708 | 708 | ||
| 709 | if (r->is_http_get()) { | 709 | if (r->is_http_get()) { |
| 710 | if (!vhost) { | 710 | if (!vhost) { |
| 711 | - SrsAmf0StrictArray* data = SrsAmf0Any::strict_array(); | 711 | + SrsJsonArray* data = SrsJsonAny::array(); |
| 712 | obj->set("vhosts", data); | 712 | obj->set("vhosts", data); |
| 713 | 713 | ||
| 714 | if ((ret = stat->dumps_vhosts(data)) != ERROR_SUCCESS) { | 714 | if ((ret = stat->dumps_vhosts(data)) != ERROR_SUCCESS) { |
| 715 | return srs_api_response_code(w, r, ret); | 715 | return srs_api_response_code(w, r, ret); |
| 716 | } | 716 | } |
| 717 | } else { | 717 | } else { |
| 718 | - SrsAmf0Object* data = SrsAmf0Any::object(); | 718 | + SrsJsonObject* data = SrsJsonAny::object(); |
| 719 | obj->set("vhost", data);; | 719 | obj->set("vhost", data);; |
| 720 | 720 | ||
| 721 | if ((ret = vhost->dumps(data)) != ERROR_SUCCESS) { | 721 | if ((ret = vhost->dumps(data)) != ERROR_SUCCESS) { |
| @@ -754,22 +754,22 @@ int SrsGoApiStreams::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r) | @@ -754,22 +754,22 @@ int SrsGoApiStreams::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r) | ||
| 754 | return srs_api_response_code(w, r, ret); | 754 | return srs_api_response_code(w, r, ret); |
| 755 | } | 755 | } |
| 756 | 756 | ||
| 757 | - SrsAmf0Object* obj = SrsAmf0Any::object(); | ||
| 758 | - SrsAutoFree(SrsAmf0Object, obj); | 757 | + SrsJsonObject* obj = SrsJsonAny::object(); |
| 758 | + SrsAutoFree(SrsJsonObject, obj); | ||
| 759 | 759 | ||
| 760 | - obj->set("code", SrsAmf0Any::number(ERROR_SUCCESS)); | ||
| 761 | - obj->set("server", SrsAmf0Any::number(stat->server_id())); | 760 | + obj->set("code", SrsJsonAny::number(ERROR_SUCCESS)); |
| 761 | + obj->set("server", SrsJsonAny::number(stat->server_id())); | ||
| 762 | 762 | ||
| 763 | if (r->is_http_get()) { | 763 | if (r->is_http_get()) { |
| 764 | if (!stream) { | 764 | if (!stream) { |
| 765 | - SrsAmf0StrictArray* data = SrsAmf0Any::strict_array(); | 765 | + SrsJsonArray* data = SrsJsonAny::array(); |
| 766 | obj->set("streams", data); | 766 | obj->set("streams", data); |
| 767 | 767 | ||
| 768 | if ((ret = stat->dumps_streams(data)) != ERROR_SUCCESS) { | 768 | if ((ret = stat->dumps_streams(data)) != ERROR_SUCCESS) { |
| 769 | return srs_api_response_code(w, r, ret); | 769 | return srs_api_response_code(w, r, ret); |
| 770 | } | 770 | } |
| 771 | } else { | 771 | } else { |
| 772 | - SrsAmf0Object* data = SrsAmf0Any::object(); | 772 | + SrsJsonObject* data = SrsJsonAny::object(); |
| 773 | obj->set("stream", data);; | 773 | obj->set("stream", data);; |
| 774 | 774 | ||
| 775 | if ((ret = stream->dumps(data)) != ERROR_SUCCESS) { | 775 | if ((ret = stream->dumps(data)) != ERROR_SUCCESS) { |
| @@ -808,22 +808,22 @@ int SrsGoApiClients::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r) | @@ -808,22 +808,22 @@ int SrsGoApiClients::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r) | ||
| 808 | return srs_api_response_code(w, r, ret); | 808 | return srs_api_response_code(w, r, ret); |
| 809 | } | 809 | } |
| 810 | 810 | ||
| 811 | - SrsAmf0Object* obj = SrsAmf0Any::object(); | ||
| 812 | - SrsAutoFree(SrsAmf0Object, obj); | 811 | + SrsJsonObject* obj = SrsJsonAny::object(); |
| 812 | + SrsAutoFree(SrsJsonObject, obj); | ||
| 813 | 813 | ||
| 814 | - obj->set("code", SrsAmf0Any::number(ERROR_SUCCESS)); | ||
| 815 | - obj->set("server", SrsAmf0Any::number(stat->server_id())); | 814 | + obj->set("code", SrsJsonAny::number(ERROR_SUCCESS)); |
| 815 | + obj->set("server", SrsJsonAny::number(stat->server_id())); | ||
| 816 | 816 | ||
| 817 | if (r->is_http_get()) { | 817 | if (r->is_http_get()) { |
| 818 | if (!client) { | 818 | if (!client) { |
| 819 | - SrsAmf0StrictArray* data = SrsAmf0Any::strict_array(); | 819 | + SrsJsonArray* data = SrsJsonAny::array(); |
| 820 | obj->set("clients", data); | 820 | obj->set("clients", data); |
| 821 | 821 | ||
| 822 | if ((ret = stat->dumps_clients(data, 0, 10)) != ERROR_SUCCESS) { | 822 | if ((ret = stat->dumps_clients(data, 0, 10)) != ERROR_SUCCESS) { |
| 823 | return srs_api_response_code(w, r, ret); | 823 | return srs_api_response_code(w, r, ret); |
| 824 | } | 824 | } |
| 825 | } else { | 825 | } else { |
| 826 | - SrsAmf0Object* data = SrsAmf0Any::object(); | 826 | + SrsJsonObject* data = SrsJsonAny::object(); |
| 827 | obj->set("client", data);; | 827 | obj->set("client", data);; |
| 828 | 828 | ||
| 829 | if ((ret = client->dumps(data)) != ERROR_SUCCESS) { | 829 | if ((ret = client->dumps(data)) != ERROR_SUCCESS) { |
| @@ -870,9 +870,9 @@ int SrsGoApiRaw::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r) | @@ -870,9 +870,9 @@ int SrsGoApiRaw::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r) | ||
| 870 | std::string rpc = r->query_get("rpc"); | 870 | std::string rpc = r->query_get("rpc"); |
| 871 | 871 | ||
| 872 | // the object to return for request. | 872 | // the object to return for request. |
| 873 | - SrsAmf0Object* obj = SrsAmf0Any::object(); | ||
| 874 | - SrsAutoFree(SrsAmf0Object, obj); | ||
| 875 | - obj->set("code", SrsAmf0Any::number(ERROR_SUCCESS)); | 873 | + SrsJsonObject* obj = SrsJsonAny::object(); |
| 874 | + SrsAutoFree(SrsJsonObject, obj); | ||
| 875 | + obj->set("code", SrsJsonAny::number(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") { |
| @@ -952,14 +952,14 @@ int SrsGoApiRaw::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r) | @@ -952,14 +952,14 @@ int SrsGoApiRaw::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r) | ||
| 952 | return srs_api_response_code(w, r, ret); | 952 | return srs_api_response_code(w, r, ret); |
| 953 | } | 953 | } |
| 954 | 954 | ||
| 955 | - SrsAmf0Object* data = SrsAmf0Any::object(); | 955 | + SrsJsonObject* data = SrsJsonAny::object(); |
| 956 | obj->set("vhost", data); | 956 | obj->set("vhost", data); |
| 957 | if ((ret = _srs_config->vhost_to_json(conf, data)) != ERROR_SUCCESS) { | 957 | if ((ret = _srs_config->vhost_to_json(conf, data)) != ERROR_SUCCESS) { |
| 958 | srs_error("raw api query vhost failed. ret=%d", ret); | 958 | srs_error("raw api query vhost failed. ret=%d", ret); |
| 959 | return srs_api_response_code(w, r, ret); | 959 | return srs_api_response_code(w, r, ret); |
| 960 | } | 960 | } |
| 961 | } else if (scope == "minimal") { | 961 | } else if (scope == "minimal") { |
| 962 | - SrsAmf0Object* data = SrsAmf0Any::object(); | 962 | + SrsJsonObject* data = SrsJsonAny::object(); |
| 963 | obj->set("minimal", data); | 963 | obj->set("minimal", data); |
| 964 | 964 | ||
| 965 | // query minimal scope. | 965 | // query minimal scope. |
| @@ -968,7 +968,7 @@ int SrsGoApiRaw::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r) | @@ -968,7 +968,7 @@ int SrsGoApiRaw::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r) | ||
| 968 | return srs_api_response_code(w, r, ret); | 968 | return srs_api_response_code(w, r, ret); |
| 969 | } | 969 | } |
| 970 | } else { | 970 | } else { |
| 971 | - SrsAmf0Object* data = SrsAmf0Any::object(); | 971 | + SrsJsonObject* data = SrsJsonAny::object(); |
| 972 | obj->set("global", data); | 972 | obj->set("global", data); |
| 973 | 973 | ||
| 974 | // query global scope. | 974 | // query global scope. |
| @@ -63,16 +63,16 @@ int SrsHttpHooks::on_connect(string url, SrsRequest* req) | @@ -63,16 +63,16 @@ int SrsHttpHooks::on_connect(string url, SrsRequest* req) | ||
| 63 | 63 | ||
| 64 | int client_id = _srs_context->get_id(); | 64 | int client_id = _srs_context->get_id(); |
| 65 | 65 | ||
| 66 | - SrsAmf0Object* obj = SrsAmf0Any::object(); | ||
| 67 | - SrsAutoFree(SrsAmf0Object, obj); | ||
| 68 | - | ||
| 69 | - obj->set("action", SrsAmf0Any::str("on_connect")); | ||
| 70 | - obj->set("client_id", SrsAmf0Any::number(client_id)); | ||
| 71 | - obj->set("ip", SrsAmf0Any::str(req->ip.c_str())); | ||
| 72 | - obj->set("vhost", SrsAmf0Any::str(req->vhost.c_str())); | ||
| 73 | - obj->set("app", SrsAmf0Any::str(req->app.c_str())); | ||
| 74 | - obj->set("tcUrl", SrsAmf0Any::str(req->tcUrl.c_str())); | ||
| 75 | - obj->set("pageUrl", SrsAmf0Any::str(req->pageUrl.c_str())); | 66 | + SrsJsonObject* obj = SrsJsonAny::object(); |
| 67 | + SrsAutoFree(SrsJsonObject, obj); | ||
| 68 | + | ||
| 69 | + obj->set("action", SrsJsonAny::str("on_connect")); | ||
| 70 | + obj->set("client_id", SrsJsonAny::number(client_id)); | ||
| 71 | + obj->set("ip", SrsJsonAny::str(req->ip.c_str())); | ||
| 72 | + obj->set("vhost", SrsJsonAny::str(req->vhost.c_str())); | ||
| 73 | + obj->set("app", SrsJsonAny::str(req->app.c_str())); | ||
| 74 | + obj->set("tcUrl", SrsJsonAny::str(req->tcUrl.c_str())); | ||
| 75 | + obj->set("pageUrl", SrsJsonAny::str(req->pageUrl.c_str())); | ||
| 76 | 76 | ||
| 77 | std::string data = obj->to_json(); | 77 | std::string data = obj->to_json(); |
| 78 | std::string res; | 78 | std::string res; |
| @@ -99,16 +99,16 @@ void SrsHttpHooks::on_close(string url, SrsRequest* req, int64_t send_bytes, int | @@ -99,16 +99,16 @@ void SrsHttpHooks::on_close(string url, SrsRequest* req, int64_t send_bytes, int | ||
| 99 | 99 | ||
| 100 | int client_id = _srs_context->get_id(); | 100 | int client_id = _srs_context->get_id(); |
| 101 | 101 | ||
| 102 | - SrsAmf0Object* obj = SrsAmf0Any::object(); | ||
| 103 | - SrsAutoFree(SrsAmf0Object, obj); | 102 | + SrsJsonObject* obj = SrsJsonAny::object(); |
| 103 | + SrsAutoFree(SrsJsonObject, obj); | ||
| 104 | 104 | ||
| 105 | - obj->set("action", SrsAmf0Any::str("on_close")); | ||
| 106 | - obj->set("client_id", SrsAmf0Any::number(client_id)); | ||
| 107 | - obj->set("ip", SrsAmf0Any::str(req->ip.c_str())); | ||
| 108 | - obj->set("vhost", SrsAmf0Any::str(req->vhost.c_str())); | ||
| 109 | - obj->set("app", SrsAmf0Any::str(req->app.c_str())); | ||
| 110 | - obj->set("send_bytes", SrsAmf0Any::number(send_bytes)); | ||
| 111 | - obj->set("recv_bytes", SrsAmf0Any::number(recv_bytes)); | 105 | + obj->set("action", SrsJsonAny::str("on_close")); |
| 106 | + obj->set("client_id", SrsJsonAny::number(client_id)); | ||
| 107 | + obj->set("ip", SrsJsonAny::str(req->ip.c_str())); | ||
| 108 | + obj->set("vhost", SrsJsonAny::str(req->vhost.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)); | ||
| 112 | 112 | ||
| 113 | std::string data = obj->to_json(); | 113 | std::string data = obj->to_json(); |
| 114 | std::string res; | 114 | std::string res; |
| @@ -135,15 +135,15 @@ int SrsHttpHooks::on_publish(string url, SrsRequest* req) | @@ -135,15 +135,15 @@ int SrsHttpHooks::on_publish(string url, SrsRequest* req) | ||
| 135 | 135 | ||
| 136 | int client_id = _srs_context->get_id(); | 136 | int client_id = _srs_context->get_id(); |
| 137 | 137 | ||
| 138 | - SrsAmf0Object* obj = SrsAmf0Any::object(); | ||
| 139 | - SrsAutoFree(SrsAmf0Object, obj); | 138 | + SrsJsonObject* obj = SrsJsonAny::object(); |
| 139 | + SrsAutoFree(SrsJsonObject, obj); | ||
| 140 | 140 | ||
| 141 | - obj->set("action", SrsAmf0Any::str("on_publish")); | ||
| 142 | - obj->set("client_id", SrsAmf0Any::number(client_id)); | ||
| 143 | - obj->set("ip", SrsAmf0Any::str(req->ip.c_str())); | ||
| 144 | - obj->set("vhost", SrsAmf0Any::str(req->vhost.c_str())); | ||
| 145 | - obj->set("app", SrsAmf0Any::str(req->app.c_str())); | ||
| 146 | - obj->set("stream", SrsAmf0Any::str(req->stream.c_str())); | 141 | + obj->set("action", SrsJsonAny::str("on_publish")); |
| 142 | + obj->set("client_id", SrsJsonAny::number(client_id)); | ||
| 143 | + obj->set("ip", SrsJsonAny::str(req->ip.c_str())); | ||
| 144 | + obj->set("vhost", SrsJsonAny::str(req->vhost.c_str())); | ||
| 145 | + obj->set("app", SrsJsonAny::str(req->app.c_str())); | ||
| 146 | + obj->set("stream", SrsJsonAny::str(req->stream.c_str())); | ||
| 147 | 147 | ||
| 148 | std::string data = obj->to_json(); | 148 | std::string data = obj->to_json(); |
| 149 | std::string res; | 149 | std::string res; |
| @@ -170,15 +170,15 @@ void SrsHttpHooks::on_unpublish(string url, SrsRequest* req) | @@ -170,15 +170,15 @@ void SrsHttpHooks::on_unpublish(string url, SrsRequest* req) | ||
| 170 | 170 | ||
| 171 | int client_id = _srs_context->get_id(); | 171 | int client_id = _srs_context->get_id(); |
| 172 | 172 | ||
| 173 | - SrsAmf0Object* obj = SrsAmf0Any::object(); | ||
| 174 | - SrsAutoFree(SrsAmf0Object, obj); | 173 | + SrsJsonObject* obj = SrsJsonAny::object(); |
| 174 | + SrsAutoFree(SrsJsonObject, obj); | ||
| 175 | 175 | ||
| 176 | - obj->set("action", SrsAmf0Any::str("on_unpublish")); | ||
| 177 | - obj->set("client_id", SrsAmf0Any::number(client_id)); | ||
| 178 | - obj->set("ip", SrsAmf0Any::str(req->ip.c_str())); | ||
| 179 | - obj->set("vhost", SrsAmf0Any::str(req->vhost.c_str())); | ||
| 180 | - obj->set("app", SrsAmf0Any::str(req->app.c_str())); | ||
| 181 | - obj->set("stream", SrsAmf0Any::str(req->stream.c_str())); | 176 | + obj->set("action", SrsJsonAny::str("on_unpublish")); |
| 177 | + obj->set("client_id", SrsJsonAny::number(client_id)); | ||
| 178 | + obj->set("ip", SrsJsonAny::str(req->ip.c_str())); | ||
| 179 | + obj->set("vhost", SrsJsonAny::str(req->vhost.c_str())); | ||
| 180 | + obj->set("app", SrsJsonAny::str(req->app.c_str())); | ||
| 181 | + obj->set("stream", SrsJsonAny::str(req->stream.c_str())); | ||
| 182 | 182 | ||
| 183 | std::string data = obj->to_json(); | 183 | std::string data = obj->to_json(); |
| 184 | std::string res; | 184 | std::string res; |
| @@ -205,16 +205,16 @@ int SrsHttpHooks::on_play(string url, SrsRequest* req) | @@ -205,16 +205,16 @@ int SrsHttpHooks::on_play(string url, SrsRequest* req) | ||
| 205 | 205 | ||
| 206 | int client_id = _srs_context->get_id(); | 206 | int client_id = _srs_context->get_id(); |
| 207 | 207 | ||
| 208 | - SrsAmf0Object* obj = SrsAmf0Any::object(); | ||
| 209 | - SrsAutoFree(SrsAmf0Object, obj); | 208 | + SrsJsonObject* obj = SrsJsonAny::object(); |
| 209 | + SrsAutoFree(SrsJsonObject, obj); | ||
| 210 | 210 | ||
| 211 | - obj->set("action", SrsAmf0Any::str("on_play")); | ||
| 212 | - obj->set("client_id", SrsAmf0Any::number(client_id)); | ||
| 213 | - obj->set("ip", SrsAmf0Any::str(req->ip.c_str())); | ||
| 214 | - obj->set("vhost", SrsAmf0Any::str(req->vhost.c_str())); | ||
| 215 | - obj->set("app", SrsAmf0Any::str(req->app.c_str())); | ||
| 216 | - obj->set("stream", SrsAmf0Any::str(req->stream.c_str())); | ||
| 217 | - obj->set("pageUrl", SrsAmf0Any::str(req->pageUrl.c_str())); | 211 | + obj->set("action", SrsJsonAny::str("on_play")); |
| 212 | + obj->set("client_id", SrsJsonAny::number(client_id)); | ||
| 213 | + obj->set("ip", SrsJsonAny::str(req->ip.c_str())); | ||
| 214 | + obj->set("vhost", SrsJsonAny::str(req->vhost.c_str())); | ||
| 215 | + obj->set("app", SrsJsonAny::str(req->app.c_str())); | ||
| 216 | + obj->set("stream", SrsJsonAny::str(req->stream.c_str())); | ||
| 217 | + obj->set("pageUrl", SrsJsonAny::str(req->pageUrl.c_str())); | ||
| 218 | 218 | ||
| 219 | std::string data = obj->to_json(); | 219 | std::string data = obj->to_json(); |
| 220 | std::string res; | 220 | std::string res; |
| @@ -241,15 +241,15 @@ void SrsHttpHooks::on_stop(string url, SrsRequest* req) | @@ -241,15 +241,15 @@ void SrsHttpHooks::on_stop(string url, SrsRequest* req) | ||
| 241 | 241 | ||
| 242 | int client_id = _srs_context->get_id(); | 242 | int client_id = _srs_context->get_id(); |
| 243 | 243 | ||
| 244 | - SrsAmf0Object* obj = SrsAmf0Any::object(); | ||
| 245 | - SrsAutoFree(SrsAmf0Object, obj); | 244 | + SrsJsonObject* obj = SrsJsonAny::object(); |
| 245 | + SrsAutoFree(SrsJsonObject, obj); | ||
| 246 | 246 | ||
| 247 | - obj->set("action", SrsAmf0Any::str("on_stop")); | ||
| 248 | - obj->set("client_id", SrsAmf0Any::number(client_id)); | ||
| 249 | - obj->set("ip", SrsAmf0Any::str(req->ip.c_str())); | ||
| 250 | - obj->set("vhost", SrsAmf0Any::str(req->vhost.c_str())); | ||
| 251 | - obj->set("app", SrsAmf0Any::str(req->app.c_str())); | ||
| 252 | - obj->set("stream", SrsAmf0Any::str(req->stream.c_str())); | 247 | + obj->set("action", SrsJsonAny::str("on_stop")); |
| 248 | + obj->set("client_id", SrsJsonAny::number(client_id)); | ||
| 249 | + obj->set("ip", SrsJsonAny::str(req->ip.c_str())); | ||
| 250 | + obj->set("vhost", SrsJsonAny::str(req->vhost.c_str())); | ||
| 251 | + obj->set("app", SrsJsonAny::str(req->app.c_str())); | ||
| 252 | + obj->set("stream", SrsJsonAny::str(req->stream.c_str())); | ||
| 253 | 253 | ||
| 254 | std::string data = obj->to_json(); | 254 | std::string data = obj->to_json(); |
| 255 | std::string res; | 255 | std::string res; |
| @@ -277,17 +277,17 @@ int SrsHttpHooks::on_dvr(int cid, string url, SrsRequest* req, string file) | @@ -277,17 +277,17 @@ int SrsHttpHooks::on_dvr(int cid, string url, SrsRequest* req, string file) | ||
| 277 | int client_id = cid; | 277 | int client_id = cid; |
| 278 | std::string cwd = _srs_config->cwd(); | 278 | std::string cwd = _srs_config->cwd(); |
| 279 | 279 | ||
| 280 | - SrsAmf0Object* obj = SrsAmf0Any::object(); | ||
| 281 | - SrsAutoFree(SrsAmf0Object, obj); | ||
| 282 | - | ||
| 283 | - obj->set("action", SrsAmf0Any::str("on_dvr")); | ||
| 284 | - obj->set("client_id", SrsAmf0Any::number(client_id)); | ||
| 285 | - obj->set("ip", SrsAmf0Any::str(req->ip.c_str())); | ||
| 286 | - obj->set("vhost", SrsAmf0Any::str(req->vhost.c_str())); | ||
| 287 | - obj->set("app", SrsAmf0Any::str(req->app.c_str())); | ||
| 288 | - obj->set("stream", SrsAmf0Any::str(req->stream.c_str())); | ||
| 289 | - obj->set("cwd", SrsAmf0Any::str(cwd.c_str())); | ||
| 290 | - obj->set("file", SrsAmf0Any::str(file.c_str())); | 280 | + SrsJsonObject* obj = SrsJsonAny::object(); |
| 281 | + SrsAutoFree(SrsJsonObject, obj); | ||
| 282 | + | ||
| 283 | + obj->set("action", SrsJsonAny::str("on_dvr")); | ||
| 284 | + obj->set("client_id", SrsJsonAny::number(client_id)); | ||
| 285 | + obj->set("ip", SrsJsonAny::str(req->ip.c_str())); | ||
| 286 | + obj->set("vhost", SrsJsonAny::str(req->vhost.c_str())); | ||
| 287 | + obj->set("app", SrsJsonAny::str(req->app.c_str())); | ||
| 288 | + obj->set("stream", SrsJsonAny::str(req->stream.c_str())); | ||
| 289 | + obj->set("cwd", SrsJsonAny::str(cwd.c_str())); | ||
| 290 | + obj->set("file", SrsJsonAny::str(file.c_str())); | ||
| 291 | 291 | ||
| 292 | std::string data = obj->to_json(); | 292 | std::string data = obj->to_json(); |
| 293 | std::string res; | 293 | std::string res; |
| @@ -315,22 +315,22 @@ int SrsHttpHooks::on_hls(int cid, string url, SrsRequest* req, string file, stri | @@ -315,22 +315,22 @@ int SrsHttpHooks::on_hls(int cid, string url, SrsRequest* req, string file, stri | ||
| 315 | int client_id = cid; | 315 | int client_id = cid; |
| 316 | std::string cwd = _srs_config->cwd(); | 316 | std::string cwd = _srs_config->cwd(); |
| 317 | 317 | ||
| 318 | - SrsAmf0Object* obj = SrsAmf0Any::object(); | ||
| 319 | - SrsAutoFree(SrsAmf0Object, obj); | ||
| 320 | - | ||
| 321 | - obj->set("action", SrsAmf0Any::str("on_hls")); | ||
| 322 | - obj->set("client_id", SrsAmf0Any::number(client_id)); | ||
| 323 | - obj->set("ip", SrsAmf0Any::str(req->ip.c_str())); | ||
| 324 | - obj->set("vhost", SrsAmf0Any::str(req->vhost.c_str())); | ||
| 325 | - obj->set("app", SrsAmf0Any::str(req->app.c_str())); | ||
| 326 | - obj->set("stream", SrsAmf0Any::str(req->stream.c_str())); | ||
| 327 | - obj->set("duration", SrsAmf0Any::number(duration)); | ||
| 328 | - obj->set("cwd", SrsAmf0Any::str(cwd.c_str())); | ||
| 329 | - obj->set("file", SrsAmf0Any::str(file.c_str())); | ||
| 330 | - obj->set("url", SrsAmf0Any::str(url.c_str())); | ||
| 331 | - obj->set("m3u8", SrsAmf0Any::str(m3u8.c_str())); | ||
| 332 | - obj->set("m3u8_url", SrsAmf0Any::str(m3u8_url.c_str())); | ||
| 333 | - obj->set("seq_no", SrsAmf0Any::number(sn)); | 318 | + SrsJsonObject* obj = SrsJsonAny::object(); |
| 319 | + SrsAutoFree(SrsJsonObject, obj); | ||
| 320 | + | ||
| 321 | + obj->set("action", SrsJsonAny::str("on_hls")); | ||
| 322 | + obj->set("client_id", SrsJsonAny::number(client_id)); | ||
| 323 | + obj->set("ip", SrsJsonAny::str(req->ip.c_str())); | ||
| 324 | + obj->set("vhost", SrsJsonAny::str(req->vhost.c_str())); | ||
| 325 | + obj->set("app", SrsJsonAny::str(req->app.c_str())); | ||
| 326 | + obj->set("stream", SrsJsonAny::str(req->stream.c_str())); | ||
| 327 | + obj->set("duration", SrsJsonAny::number(duration)); | ||
| 328 | + obj->set("cwd", SrsJsonAny::str(cwd.c_str())); | ||
| 329 | + obj->set("file", SrsJsonAny::str(file.c_str())); | ||
| 330 | + obj->set("url", SrsJsonAny::str(url.c_str())); | ||
| 331 | + obj->set("m3u8", SrsJsonAny::str(m3u8.c_str())); | ||
| 332 | + obj->set("m3u8_url", SrsJsonAny::str(m3u8_url.c_str())); | ||
| 333 | + obj->set("seq_no", SrsJsonAny::number(sn)); | ||
| 334 | 334 | ||
| 335 | std::string data = obj->to_json(); | 335 | std::string data = obj->to_json(); |
| 336 | std::string res; | 336 | std::string res; |
| @@ -58,7 +58,7 @@ SrsStatisticVhost::~SrsStatisticVhost() | @@ -58,7 +58,7 @@ SrsStatisticVhost::~SrsStatisticVhost() | ||
| 58 | srs_freep(kbps); | 58 | srs_freep(kbps); |
| 59 | } | 59 | } |
| 60 | 60 | ||
| 61 | -int SrsStatisticVhost::dumps(SrsAmf0Object* obj) | 61 | +int SrsStatisticVhost::dumps(SrsJsonObject* obj) |
| 62 | { | 62 | { |
| 63 | int ret = ERROR_SUCCESS; | 63 | int ret = ERROR_SUCCESS; |
| 64 | 64 | ||
| @@ -66,26 +66,26 @@ int SrsStatisticVhost::dumps(SrsAmf0Object* obj) | @@ -66,26 +66,26 @@ int SrsStatisticVhost::dumps(SrsAmf0Object* 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", SrsAmf0Any::number(id)); | ||
| 70 | - obj->set("name", SrsAmf0Any::str(vhost.c_str())); | ||
| 71 | - obj->set("enabled", SrsAmf0Any::boolean(enabled)); | ||
| 72 | - obj->set("clients", SrsAmf0Any::number(nb_clients)); | ||
| 73 | - obj->set("streams", SrsAmf0Any::number(nb_streams)); | ||
| 74 | - obj->set("send_bytes", SrsAmf0Any::number(kbps->get_send_bytes())); | ||
| 75 | - obj->set("recv_bytes", SrsAmf0Any::number(kbps->get_recv_bytes())); | 69 | + obj->set("id", SrsJsonAny::number(id)); |
| 70 | + obj->set("name", SrsJsonAny::str(vhost.c_str())); | ||
| 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())); | ||
| 76 | 76 | ||
| 77 | - SrsAmf0Object* okbps = SrsAmf0Any::object(); | 77 | + SrsJsonObject* okbps = SrsJsonAny::object(); |
| 78 | obj->set("kbps", okbps); | 78 | obj->set("kbps", okbps); |
| 79 | 79 | ||
| 80 | - okbps->set("recv_30s", SrsAmf0Any::number(kbps->get_recv_kbps_30s())); | ||
| 81 | - okbps->set("send_30s", SrsAmf0Any::number(kbps->get_send_kbps_30s())); | 80 | + okbps->set("recv_30s", SrsJsonAny::number(kbps->get_recv_kbps_30s())); |
| 81 | + okbps->set("send_30s", SrsJsonAny::number(kbps->get_send_kbps_30s())); | ||
| 82 | 82 | ||
| 83 | - SrsAmf0Object* hls = SrsAmf0Any::object(); | 83 | + SrsJsonObject* hls = SrsJsonAny::object(); |
| 84 | obj->set("hls", hls); | 84 | obj->set("hls", hls); |
| 85 | 85 | ||
| 86 | - hls->set("enabled", SrsAmf0Any::boolean(hls_enabled)); | 86 | + hls->set("enabled", SrsJsonAny::boolean(hls_enabled)); |
| 87 | if (hls_enabled) { | 87 | if (hls_enabled) { |
| 88 | - hls->set("fragment", SrsAmf0Any::number(_srs_config->get_hls_fragment(vhost))); | 88 | + hls->set("fragment", SrsJsonAny::number(_srs_config->get_hls_fragment(vhost))); |
| 89 | } | 89 | } |
| 90 | 90 | ||
| 91 | return ret; | 91 | return ret; |
| @@ -122,54 +122,54 @@ SrsStatisticStream::~SrsStatisticStream() | @@ -122,54 +122,54 @@ SrsStatisticStream::~SrsStatisticStream() | ||
| 122 | srs_freep(kbps); | 122 | srs_freep(kbps); |
| 123 | } | 123 | } |
| 124 | 124 | ||
| 125 | -int SrsStatisticStream::dumps(SrsAmf0Object* obj) | 125 | +int SrsStatisticStream::dumps(SrsJsonObject* obj) |
| 126 | { | 126 | { |
| 127 | int ret = ERROR_SUCCESS; | 127 | int ret = ERROR_SUCCESS; |
| 128 | 128 | ||
| 129 | - obj->set("id", SrsAmf0Any::number(id)); | ||
| 130 | - obj->set("name", SrsAmf0Any::str(stream.c_str())); | ||
| 131 | - obj->set("vhost", SrsAmf0Any::number(vhost->id)); | ||
| 132 | - obj->set("app", SrsAmf0Any::str(app.c_str())); | ||
| 133 | - obj->set("live_ms", SrsAmf0Any::number(srs_get_system_time_ms())); | ||
| 134 | - obj->set("clients", SrsAmf0Any::number(nb_clients)); | ||
| 135 | - obj->set("send_bytes", SrsAmf0Any::number(kbps->get_send_bytes())); | ||
| 136 | - obj->set("recv_bytes", SrsAmf0Any::number(kbps->get_recv_bytes())); | 129 | + obj->set("id", SrsJsonAny::number(id)); |
| 130 | + obj->set("name", SrsJsonAny::str(stream.c_str())); | ||
| 131 | + obj->set("vhost", SrsJsonAny::number(vhost->id)); | ||
| 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())); | ||
| 137 | 137 | ||
| 138 | - SrsAmf0Object* okbps = SrsAmf0Any::object(); | 138 | + SrsJsonObject* okbps = SrsJsonAny::object(); |
| 139 | obj->set("kbps", okbps); | 139 | obj->set("kbps", okbps); |
| 140 | 140 | ||
| 141 | - okbps->set("recv_30s", SrsAmf0Any::number(kbps->get_recv_kbps_30s())); | ||
| 142 | - okbps->set("send_30s", SrsAmf0Any::number(kbps->get_send_kbps_30s())); | 141 | + okbps->set("recv_30s", SrsJsonAny::number(kbps->get_recv_kbps_30s())); |
| 142 | + okbps->set("send_30s", SrsJsonAny::number(kbps->get_send_kbps_30s())); | ||
| 143 | 143 | ||
| 144 | - SrsAmf0Object* publish = SrsAmf0Any::object(); | 144 | + SrsJsonObject* publish = SrsJsonAny::object(); |
| 145 | obj->set("publish", publish); | 145 | obj->set("publish", publish); |
| 146 | 146 | ||
| 147 | - publish->set("active", SrsAmf0Any::boolean(active)); | ||
| 148 | - publish->set("cid", SrsAmf0Any::number(connection_cid)); | 147 | + publish->set("active", SrsJsonAny::boolean(active)); |
| 148 | + publish->set("cid", SrsJsonAny::number(connection_cid)); | ||
| 149 | 149 | ||
| 150 | if (!has_video) { | 150 | if (!has_video) { |
| 151 | - obj->set("video", SrsAmf0Any::null()); | 151 | + obj->set("video", SrsJsonAny::null()); |
| 152 | } else { | 152 | } else { |
| 153 | - SrsAmf0Object* video = SrsAmf0Any::object(); | 153 | + SrsJsonObject* video = SrsJsonAny::object(); |
| 154 | obj->set("video", video); | 154 | obj->set("video", video); |
| 155 | 155 | ||
| 156 | - video->set("codec", SrsAmf0Any::str(srs_codec_video2str(vcodec).c_str())); | ||
| 157 | - video->set("profile", SrsAmf0Any::str(srs_codec_avc_profile2str(avc_profile).c_str())); | ||
| 158 | - video->set("level", SrsAmf0Any::str(srs_codec_avc_level2str(avc_level).c_str())); | ||
| 159 | - video->set("width", SrsAmf0Any::number(width)); | ||
| 160 | - video->set("height", SrsAmf0Any::number(height)); | 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())); | ||
| 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)); | ||
| 161 | } | 161 | } |
| 162 | 162 | ||
| 163 | if (!has_audio) { | 163 | if (!has_audio) { |
| 164 | - obj->set("audio", SrsAmf0Any::null()); | 164 | + obj->set("audio", SrsJsonAny::null()); |
| 165 | } else { | 165 | } else { |
| 166 | - SrsAmf0Object* audio = SrsAmf0Any::object(); | 166 | + SrsJsonObject* audio = SrsJsonAny::object(); |
| 167 | obj->set("audio", audio); | 167 | obj->set("audio", audio); |
| 168 | 168 | ||
| 169 | - audio->set("codec", SrsAmf0Any::str(srs_codec_audio2str(acodec).c_str())); | ||
| 170 | - audio->set("sample_rate", SrsAmf0Any::number(flv_sample_rates[asample_rate])); | ||
| 171 | - audio->set("channel", SrsAmf0Any::number(asound_type + 1)); | ||
| 172 | - audio->set("profile", SrsAmf0Any::str(srs_codec_aac_object2str(aac_object).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)); | ||
| 172 | + audio->set("profile", SrsJsonAny::str(srs_codec_aac_object2str(aac_object).c_str())); | ||
| 173 | } | 173 | } |
| 174 | 174 | ||
| 175 | return ret; | 175 | return ret; |
| @@ -206,21 +206,21 @@ SrsStatisticClient::~SrsStatisticClient() | @@ -206,21 +206,21 @@ SrsStatisticClient::~SrsStatisticClient() | ||
| 206 | { | 206 | { |
| 207 | } | 207 | } |
| 208 | 208 | ||
| 209 | -int SrsStatisticClient::dumps(SrsAmf0Object* obj) | 209 | +int SrsStatisticClient::dumps(SrsJsonObject* obj) |
| 210 | { | 210 | { |
| 211 | int ret = ERROR_SUCCESS; | 211 | int ret = ERROR_SUCCESS; |
| 212 | 212 | ||
| 213 | - obj->set("id", SrsAmf0Any::number(id)); | ||
| 214 | - obj->set("vhost", SrsAmf0Any::number(stream->vhost->id)); | ||
| 215 | - obj->set("stream", SrsAmf0Any::number(stream->id)); | ||
| 216 | - obj->set("ip", SrsAmf0Any::str(req->ip.c_str())); | ||
| 217 | - obj->set("pageUrl", SrsAmf0Any::str(req->pageUrl.c_str())); | ||
| 218 | - obj->set("swfUrl", SrsAmf0Any::str(req->swfUrl.c_str())); | ||
| 219 | - obj->set("tcUrl", SrsAmf0Any::str(req->tcUrl.c_str())); | ||
| 220 | - obj->set("url", SrsAmf0Any::str(req->get_stream_url().c_str())); | ||
| 221 | - obj->set("type", SrsAmf0Any::str(srs_client_type_string(type).c_str())); | ||
| 222 | - obj->set("publish", SrsAmf0Any::boolean(srs_client_type_is_publish(type))); | ||
| 223 | - obj->set("alive", SrsAmf0Any::number((srs_get_system_time_ms() - create) / 1000.0)); | 213 | + obj->set("id", SrsJsonAny::number(id)); |
| 214 | + obj->set("vhost", SrsJsonAny::number(stream->vhost->id)); | ||
| 215 | + obj->set("stream", SrsJsonAny::number(stream->id)); | ||
| 216 | + obj->set("ip", SrsJsonAny::str(req->ip.c_str())); | ||
| 217 | + obj->set("pageUrl", SrsJsonAny::str(req->pageUrl.c_str())); | ||
| 218 | + obj->set("swfUrl", SrsJsonAny::str(req->swfUrl.c_str())); | ||
| 219 | + obj->set("tcUrl", SrsJsonAny::str(req->tcUrl.c_str())); | ||
| 220 | + obj->set("url", SrsJsonAny::str(req->get_stream_url().c_str())); | ||
| 221 | + obj->set("type", SrsJsonAny::str(srs_client_type_string(type).c_str())); | ||
| 222 | + obj->set("publish", SrsJsonAny::boolean(srs_client_type_is_publish(type))); | ||
| 223 | + obj->set("alive", SrsJsonAny::number((srs_get_system_time_ms() - create) / 1000.0)); | ||
| 224 | 224 | ||
| 225 | return ret; | 225 | return ret; |
| 226 | } | 226 | } |
| @@ -456,7 +456,7 @@ int64_t SrsStatistic::server_id() | @@ -456,7 +456,7 @@ int64_t SrsStatistic::server_id() | ||
| 456 | return _server_id; | 456 | return _server_id; |
| 457 | } | 457 | } |
| 458 | 458 | ||
| 459 | -int SrsStatistic::dumps_vhosts(SrsAmf0StrictArray* arr) | 459 | +int SrsStatistic::dumps_vhosts(SrsJsonArray* arr) |
| 460 | { | 460 | { |
| 461 | int ret = ERROR_SUCCESS; | 461 | int ret = ERROR_SUCCESS; |
| 462 | 462 | ||
| @@ -464,7 +464,7 @@ int SrsStatistic::dumps_vhosts(SrsAmf0StrictArray* arr) | @@ -464,7 +464,7 @@ int SrsStatistic::dumps_vhosts(SrsAmf0StrictArray* arr) | ||
| 464 | for (it = vhosts.begin(); it != vhosts.end(); it++) { | 464 | for (it = vhosts.begin(); it != vhosts.end(); it++) { |
| 465 | SrsStatisticVhost* vhost = it->second; | 465 | SrsStatisticVhost* vhost = it->second; |
| 466 | 466 | ||
| 467 | - SrsAmf0Object* obj = SrsAmf0Any::object(); | 467 | + SrsJsonObject* obj = SrsJsonAny::object(); |
| 468 | arr->append(obj); | 468 | arr->append(obj); |
| 469 | 469 | ||
| 470 | if ((ret = vhost->dumps(obj)) != ERROR_SUCCESS) { | 470 | if ((ret = vhost->dumps(obj)) != ERROR_SUCCESS) { |
| @@ -475,7 +475,7 @@ int SrsStatistic::dumps_vhosts(SrsAmf0StrictArray* arr) | @@ -475,7 +475,7 @@ int SrsStatistic::dumps_vhosts(SrsAmf0StrictArray* arr) | ||
| 475 | return ret; | 475 | return ret; |
| 476 | } | 476 | } |
| 477 | 477 | ||
| 478 | -int SrsStatistic::dumps_streams(SrsAmf0StrictArray* arr) | 478 | +int SrsStatistic::dumps_streams(SrsJsonArray* arr) |
| 479 | { | 479 | { |
| 480 | int ret = ERROR_SUCCESS; | 480 | int ret = ERROR_SUCCESS; |
| 481 | 481 | ||
| @@ -483,7 +483,7 @@ int SrsStatistic::dumps_streams(SrsAmf0StrictArray* arr) | @@ -483,7 +483,7 @@ int SrsStatistic::dumps_streams(SrsAmf0StrictArray* arr) | ||
| 483 | for (it = streams.begin(); it != streams.end(); it++) { | 483 | for (it = streams.begin(); it != streams.end(); it++) { |
| 484 | SrsStatisticStream* stream = it->second; | 484 | SrsStatisticStream* stream = it->second; |
| 485 | 485 | ||
| 486 | - SrsAmf0Object* obj = SrsAmf0Any::object(); | 486 | + SrsJsonObject* obj = SrsJsonAny::object(); |
| 487 | arr->append(obj); | 487 | arr->append(obj); |
| 488 | 488 | ||
| 489 | if ((ret = stream->dumps(obj)) != ERROR_SUCCESS) { | 489 | if ((ret = stream->dumps(obj)) != ERROR_SUCCESS) { |
| @@ -494,7 +494,7 @@ int SrsStatistic::dumps_streams(SrsAmf0StrictArray* arr) | @@ -494,7 +494,7 @@ int SrsStatistic::dumps_streams(SrsAmf0StrictArray* arr) | ||
| 494 | return ret; | 494 | return ret; |
| 495 | } | 495 | } |
| 496 | 496 | ||
| 497 | -int SrsStatistic::dumps_clients(SrsAmf0StrictArray* arr, int start, int count) | 497 | +int SrsStatistic::dumps_clients(SrsJsonArray* arr, int start, int count) |
| 498 | { | 498 | { |
| 499 | int ret = ERROR_SUCCESS; | 499 | int ret = ERROR_SUCCESS; |
| 500 | 500 | ||
| @@ -506,7 +506,7 @@ int SrsStatistic::dumps_clients(SrsAmf0StrictArray* arr, int start, int count) | @@ -506,7 +506,7 @@ int SrsStatistic::dumps_clients(SrsAmf0StrictArray* arr, int start, int count) | ||
| 506 | 506 | ||
| 507 | SrsStatisticClient* client = it->second; | 507 | SrsStatisticClient* client = it->second; |
| 508 | 508 | ||
| 509 | - SrsAmf0Object* obj = SrsAmf0Any::object(); | 509 | + SrsJsonObject* obj = SrsJsonAny::object(); |
| 510 | arr->append(obj); | 510 | arr->append(obj); |
| 511 | 511 | ||
| 512 | if ((ret = client->dumps(obj)) != ERROR_SUCCESS) { | 512 | if ((ret = client->dumps(obj)) != ERROR_SUCCESS) { |
| @@ -40,8 +40,8 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | @@ -40,8 +40,8 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
| 40 | class SrsKbps; | 40 | class SrsKbps; |
| 41 | class SrsRequest; | 41 | class SrsRequest; |
| 42 | class SrsConnection; | 42 | class SrsConnection; |
| 43 | -class SrsAmf0Object; | ||
| 44 | -class SrsAmf0StrictArray; | 43 | +class SrsJsonObject; |
| 44 | +class SrsJsonArray; | ||
| 45 | 45 | ||
| 46 | struct SrsStatisticVhost | 46 | struct SrsStatisticVhost |
| 47 | { | 47 | { |
| @@ -59,7 +59,7 @@ public: | @@ -59,7 +59,7 @@ public: | ||
| 59 | SrsStatisticVhost(); | 59 | SrsStatisticVhost(); |
| 60 | virtual ~SrsStatisticVhost(); | 60 | virtual ~SrsStatisticVhost(); |
| 61 | public: | 61 | public: |
| 62 | - virtual int dumps(SrsAmf0Object* obj); | 62 | + virtual int dumps(SrsJsonObject* obj); |
| 63 | }; | 63 | }; |
| 64 | 64 | ||
| 65 | struct SrsStatisticStream | 65 | struct SrsStatisticStream |
| @@ -104,7 +104,7 @@ public: | @@ -104,7 +104,7 @@ public: | ||
| 104 | SrsStatisticStream(); | 104 | SrsStatisticStream(); |
| 105 | virtual ~SrsStatisticStream(); | 105 | virtual ~SrsStatisticStream(); |
| 106 | public: | 106 | public: |
| 107 | - virtual int dumps(SrsAmf0Object* obj); | 107 | + virtual int dumps(SrsJsonObject* obj); |
| 108 | public: | 108 | public: |
| 109 | /** | 109 | /** |
| 110 | * publish the stream. | 110 | * publish the stream. |
| @@ -129,7 +129,7 @@ public: | @@ -129,7 +129,7 @@ public: | ||
| 129 | SrsStatisticClient(); | 129 | SrsStatisticClient(); |
| 130 | virtual ~SrsStatisticClient(); | 130 | virtual ~SrsStatisticClient(); |
| 131 | public: | 131 | public: |
| 132 | - virtual int dumps(SrsAmf0Object* obj); | 132 | + virtual int dumps(SrsJsonObject* obj); |
| 133 | }; | 133 | }; |
| 134 | 134 | ||
| 135 | class SrsStatistic | 135 | class SrsStatistic |
| @@ -226,17 +226,17 @@ public: | @@ -226,17 +226,17 @@ public: | ||
| 226 | /** | 226 | /** |
| 227 | * dumps the vhosts to amf0 array. | 227 | * dumps the vhosts to amf0 array. |
| 228 | */ | 228 | */ |
| 229 | - virtual int dumps_vhosts(SrsAmf0StrictArray* arr); | 229 | + virtual int dumps_vhosts(SrsJsonArray* arr); |
| 230 | /** | 230 | /** |
| 231 | * dumps the streams to amf0 array. | 231 | * dumps the streams to amf0 array. |
| 232 | */ | 232 | */ |
| 233 | - virtual int dumps_streams(SrsAmf0StrictArray* arr); | 233 | + virtual int dumps_streams(SrsJsonArray* arr); |
| 234 | /** | 234 | /** |
| 235 | * dumps the clients to amf0 array | 235 | * dumps the clients to amf0 array |
| 236 | * @param start the start index, from 0. | 236 | * @param start the start index, from 0. |
| 237 | * @param count the max count of clients to dump. | 237 | * @param count the max count of clients to dump. |
| 238 | */ | 238 | */ |
| 239 | - virtual int dumps_clients(SrsAmf0StrictArray* arr, int start, int count); | 239 | + virtual int dumps_clients(SrsJsonArray* arr, int start, int count); |
| 240 | private: | 240 | private: |
| 241 | virtual SrsStatisticVhost* create_vhost(SrsRequest* req); | 241 | virtual SrsStatisticVhost* create_vhost(SrsRequest* req); |
| 242 | virtual SrsStatisticStream* create_stream(SrsStatisticVhost* vhost, SrsRequest* req); | 242 | virtual SrsStatisticStream* create_stream(SrsStatisticVhost* vhost, SrsRequest* req); |
| @@ -1372,7 +1372,7 @@ bool srs_is_boolean(const string& str) | @@ -1372,7 +1372,7 @@ bool srs_is_boolean(const string& str) | ||
| 1372 | return str == "true" || str == "false"; | 1372 | return str == "true" || str == "false"; |
| 1373 | } | 1373 | } |
| 1374 | 1374 | ||
| 1375 | -void srs_api_dump_summaries(SrsAmf0Object* obj) | 1375 | +void srs_api_dump_summaries(SrsJsonObject* obj) |
| 1376 | { | 1376 | { |
| 1377 | SrsRusage* r = srs_get_system_rusage(); | 1377 | SrsRusage* r = srs_get_system_rusage(); |
| 1378 | SrsProcSelfStat* u = srs_get_self_proc_stat(); | 1378 | SrsProcSelfStat* u = srs_get_self_proc_stat(); |
| @@ -1425,62 +1425,62 @@ void srs_api_dump_summaries(SrsAmf0Object* obj) | @@ -1425,62 +1425,62 @@ void srs_api_dump_summaries(SrsAmf0Object* obj) | ||
| 1425 | bool ok = (r->ok && u->ok && s->ok && c->ok | 1425 | bool ok = (r->ok && u->ok && s->ok && c->ok |
| 1426 | && d->ok && m->ok && p->ok && nrs->ok); | 1426 | && d->ok && m->ok && p->ok && nrs->ok); |
| 1427 | 1427 | ||
| 1428 | - SrsAmf0Object* data = SrsAmf0Any::object(); | 1428 | + SrsJsonObject* data = SrsJsonAny::object(); |
| 1429 | obj->set("data", data); | 1429 | obj->set("data", data); |
| 1430 | 1430 | ||
| 1431 | - data->set("ok", SrsAmf0Any::boolean(ok)); | ||
| 1432 | - data->set("now_ms", SrsAmf0Any::number(now)); | 1431 | + data->set("ok", SrsJsonAny::boolean(ok)); |
| 1432 | + data->set("now_ms", SrsJsonAny::number(now)); | ||
| 1433 | 1433 | ||
| 1434 | // self | 1434 | // self |
| 1435 | - SrsAmf0Object* self = SrsAmf0Any::object(); | 1435 | + SrsJsonObject* self = SrsJsonAny::object(); |
| 1436 | data->set("self", self); | 1436 | data->set("self", self); |
| 1437 | 1437 | ||
| 1438 | - self->set("version", SrsAmf0Any::str(RTMP_SIG_SRS_VERSION)); | ||
| 1439 | - self->set("pid", SrsAmf0Any::number(getpid())); | ||
| 1440 | - self->set("ppid", SrsAmf0Any::number(u->ppid)); | ||
| 1441 | - self->set("argv", SrsAmf0Any::str(_srs_config->argv().c_str())); | ||
| 1442 | - self->set("cwd", SrsAmf0Any::str(_srs_config->cwd().c_str())); | ||
| 1443 | - self->set("mem_kbyte", SrsAmf0Any::number(r->r.ru_maxrss)); | ||
| 1444 | - self->set("mem_percent", SrsAmf0Any::number(self_mem_percent)); | ||
| 1445 | - self->set("cpu_percent", SrsAmf0Any::number(u->percent)); | ||
| 1446 | - self->set("srs_uptime", SrsAmf0Any::number(srs_uptime)); | 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)); | ||
| 1441 | + self->set("argv", SrsJsonAny::str(_srs_config->argv().c_str())); | ||
| 1442 | + self->set("cwd", SrsJsonAny::str(_srs_config->cwd().c_str())); | ||
| 1443 | + self->set("mem_kbyte", SrsJsonAny::number(r->r.ru_maxrss)); | ||
| 1444 | + self->set("mem_percent", SrsJsonAny::number(self_mem_percent)); | ||
| 1445 | + self->set("cpu_percent", SrsJsonAny::number(u->percent)); | ||
| 1446 | + self->set("srs_uptime", SrsJsonAny::number(srs_uptime)); | ||
| 1447 | 1447 | ||
| 1448 | // system | 1448 | // system |
| 1449 | - SrsAmf0Object* sys = SrsAmf0Any::object(); | 1449 | + SrsJsonObject* sys = SrsJsonAny::object(); |
| 1450 | data->set("system", sys); | 1450 | data->set("system", sys); |
| 1451 | 1451 | ||
| 1452 | - sys->set("cpu_percent", SrsAmf0Any::number(s->percent)); | ||
| 1453 | - sys->set("disk_read_KBps", SrsAmf0Any::number(d->in_KBps)); | ||
| 1454 | - sys->set("disk_write_KBps", SrsAmf0Any::number(d->out_KBps)); | ||
| 1455 | - sys->set("disk_busy_percent", SrsAmf0Any::number(d->busy)); | ||
| 1456 | - sys->set("mem_ram_kbyte", SrsAmf0Any::number(m->MemTotal)); | ||
| 1457 | - sys->set("mem_ram_percent", SrsAmf0Any::number(m->percent_ram)); | ||
| 1458 | - sys->set("mem_swap_kbyte", SrsAmf0Any::number(m->SwapTotal)); | ||
| 1459 | - sys->set("mem_swap_percent", SrsAmf0Any::number(m->percent_swap)); | ||
| 1460 | - sys->set("cpus", SrsAmf0Any::number(c->nb_processors)); | ||
| 1461 | - sys->set("cpus_online", SrsAmf0Any::number(c->nb_processors_online)); | ||
| 1462 | - sys->set("uptime", SrsAmf0Any::number(p->os_uptime)); | ||
| 1463 | - sys->set("ilde_time", SrsAmf0Any::number(p->os_ilde_time)); | ||
| 1464 | - sys->set("load_1m", SrsAmf0Any::number(p->load_one_minutes)); | ||
| 1465 | - sys->set("load_5m", SrsAmf0Any::number(p->load_five_minutes)); | ||
| 1466 | - sys->set("load_15m", SrsAmf0Any::number(p->load_fifteen_minutes)); | 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)); | ||
| 1455 | + sys->set("disk_busy_percent", SrsJsonAny::number(d->busy)); | ||
| 1456 | + sys->set("mem_ram_kbyte", SrsJsonAny::number(m->MemTotal)); | ||
| 1457 | + sys->set("mem_ram_percent", SrsJsonAny::number(m->percent_ram)); | ||
| 1458 | + sys->set("mem_swap_kbyte", SrsJsonAny::number(m->SwapTotal)); | ||
| 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)); | ||
| 1462 | + sys->set("uptime", SrsJsonAny::number(p->os_uptime)); | ||
| 1463 | + sys->set("ilde_time", SrsJsonAny::number(p->os_ilde_time)); | ||
| 1464 | + sys->set("load_1m", SrsJsonAny::number(p->load_one_minutes)); | ||
| 1465 | + sys->set("load_5m", SrsJsonAny::number(p->load_five_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", SrsAmf0Any::number(n_sample_time)); | 1468 | + sys->set("net_sample_time", SrsJsonAny::number(n_sample_time)); |
| 1469 | // internet public address network device bytes. | 1469 | // internet public address network device bytes. |
| 1470 | - sys->set("net_recv_bytes", SrsAmf0Any::number(nr_bytes)); | ||
| 1471 | - sys->set("net_send_bytes", SrsAmf0Any::number(ns_bytes)); | 1470 | + sys->set("net_recv_bytes", SrsJsonAny::number(nr_bytes)); |
| 1471 | + sys->set("net_send_bytes", SrsJsonAny::number(ns_bytes)); | ||
| 1472 | // intranet private address network device bytes. | 1472 | // intranet private address network device bytes. |
| 1473 | - sys->set("net_recvi_bytes", SrsAmf0Any::number(nri_bytes)); | ||
| 1474 | - sys->set("net_sendi_bytes", SrsAmf0Any::number(nsi_bytes)); | 1473 | + sys->set("net_recvi_bytes", SrsJsonAny::number(nri_bytes)); |
| 1474 | + sys->set("net_sendi_bytes", SrsJsonAny::number(nsi_bytes)); | ||
| 1475 | // srs network bytes stat. | 1475 | // srs network bytes stat. |
| 1476 | - sys->set("srs_sample_time", SrsAmf0Any::number(nrs->sample_time)); | ||
| 1477 | - sys->set("srs_recv_bytes", SrsAmf0Any::number(nrs->rbytes)); | ||
| 1478 | - sys->set("srs_send_bytes", SrsAmf0Any::number(nrs->sbytes)); | ||
| 1479 | - sys->set("conn_sys", SrsAmf0Any::number(nrs->nb_conn_sys)); | ||
| 1480 | - sys->set("conn_sys_et", SrsAmf0Any::number(nrs->nb_conn_sys_et)); | ||
| 1481 | - sys->set("conn_sys_tw", SrsAmf0Any::number(nrs->nb_conn_sys_tw)); | ||
| 1482 | - sys->set("conn_sys_udp", SrsAmf0Any::number(nrs->nb_conn_sys_udp)); | ||
| 1483 | - sys->set("conn_srs", SrsAmf0Any::number(nrs->nb_conn_srs)); | 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)); | ||
| 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) |
| @@ -41,7 +41,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | @@ -41,7 +41,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
| 41 | 41 | ||
| 42 | class SrsKbps; | 42 | class SrsKbps; |
| 43 | class SrsStream; | 43 | class SrsStream; |
| 44 | -class SrsAmf0Object; | 44 | +class SrsJsonObject; |
| 45 | 45 | ||
| 46 | // client open socket and connect to server. | 46 | // client open socket and connect to server. |
| 47 | extern int srs_socket_connect(std::string server, int port, int64_t timeout, st_netfd_t* pstfd); | 47 | extern int srs_socket_connect(std::string server, int port, int64_t timeout, st_netfd_t* pstfd); |
| @@ -682,7 +682,7 @@ extern bool srs_is_digit_number(const std::string& str); | @@ -682,7 +682,7 @@ extern bool srs_is_digit_number(const std::string& str); | ||
| 682 | extern bool srs_is_boolean(const std::string& str); | 682 | extern bool srs_is_boolean(const std::string& str); |
| 683 | 683 | ||
| 684 | // dump summaries for /api/v1/summaries. | 684 | // dump summaries for /api/v1/summaries. |
| 685 | -extern void srs_api_dump_summaries(SrsAmf0Object* obj); | 685 | +extern void srs_api_dump_summaries(SrsJsonObject* obj); |
| 686 | 686 | ||
| 687 | // join string in vector with indicated separator | 687 | // join string in vector with indicated separator |
| 688 | extern std::string srs_join_vector_string(std::vector<std::string>& vs, std::string separator); | 688 | extern std::string srs_join_vector_string(std::vector<std::string>& vs, std::string separator); |
| @@ -23,10 +23,60 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | @@ -23,10 +23,60 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
| 23 | 23 | ||
| 24 | #include <srs_protocol_json.hpp> | 24 | #include <srs_protocol_json.hpp> |
| 25 | 25 | ||
| 26 | +#include <sstream> | ||
| 26 | using namespace std; | 27 | using namespace std; |
| 27 | 28 | ||
| 28 | #include <srs_kernel_log.hpp> | 29 | #include <srs_kernel_log.hpp> |
| 29 | 30 | ||
| 31 | +/* json encode | ||
| 32 | + cout<< SRS_JOBJECT_START | ||
| 33 | + << SRS_JFIELD_STR("name", "srs") << SRS_JFIELD_CONT | ||
| 34 | + << SRS_JFIELD_ORG("version", 100) << SRS_JFIELD_CONT | ||
| 35 | + << SRS_JFIELD_NAME("features") << SRS_JOBJECT_START | ||
| 36 | + << SRS_JFIELD_STR("rtmp", "released") << SRS_JFIELD_CONT | ||
| 37 | + << SRS_JFIELD_STR("hls", "released") << SRS_JFIELD_CONT | ||
| 38 | + << SRS_JFIELD_STR("dash", "plan") | ||
| 39 | + << SRS_JOBJECT_END << SRS_JFIELD_CONT | ||
| 40 | + << SRS_JFIELD_STR("author", "srs team") | ||
| 41 | + << SRS_JOBJECT_END | ||
| 42 | + it's: | ||
| 43 | + cont<< "{" | ||
| 44 | + << "name:" << "srs" << "," | ||
| 45 | + << "version:" << 100 << "," | ||
| 46 | + << "features:" << "{" | ||
| 47 | + << "rtmp:" << "released" << "," | ||
| 48 | + << "hls:" << "released" << "," | ||
| 49 | + << "dash:" << "plan" | ||
| 50 | + << "}" << "," | ||
| 51 | + << "author:" << "srs team" | ||
| 52 | + << "}" | ||
| 53 | + that is: | ||
| 54 | + """ | ||
| 55 | + { | ||
| 56 | + "name": "srs", | ||
| 57 | + "version": 100, | ||
| 58 | + "features": { | ||
| 59 | + "rtmp": "released", | ||
| 60 | + "hls": "released", | ||
| 61 | + "dash": "plan" | ||
| 62 | + }, | ||
| 63 | + "author": "srs team" | ||
| 64 | + } | ||
| 65 | + """ | ||
| 66 | + */ | ||
| 67 | +#define SRS_JOBJECT_START "{" | ||
| 68 | +#define SRS_JFIELD_NAME(k) "\"" << k << "\":" | ||
| 69 | +#define SRS_JFIELD_OBJ(k) SRS_JFIELD_NAME(k) << SRS_JOBJECT_START | ||
| 70 | +#define SRS_JFIELD_STR(k, v) SRS_JFIELD_NAME(k) << "\"" << v << "\"" | ||
| 71 | +#define SRS_JFIELD_ORG(k, v) SRS_JFIELD_NAME(k) << std::dec << v | ||
| 72 | +#define SRS_JFIELD_BOOL(k, v) SRS_JFIELD_ORG(k, (v? "true":"false")) | ||
| 73 | +#define SRS_JFIELD_NULL(k) SRS_JFIELD_NAME(k) << "null" | ||
| 74 | +#define SRS_JFIELD_ERROR(ret) "\"" << "code" << "\":" << ret | ||
| 75 | +#define SRS_JFIELD_CONT "," | ||
| 76 | +#define SRS_JOBJECT_END "}" | ||
| 77 | +#define SRS_JARRAY_START "[" | ||
| 78 | +#define SRS_JARRAY_END "]" | ||
| 79 | + | ||
| 30 | #ifdef SRS_JSON_USE_NXJSON | 80 | #ifdef SRS_JSON_USE_NXJSON |
| 31 | 81 | ||
| 32 | //////////////////////////////////////////////////////////////////////////////////////////////// | 82 | //////////////////////////////////////////////////////////////////////////////////////////////// |
| @@ -267,6 +317,46 @@ SrsJsonArray* SrsJsonAny::to_array() | @@ -267,6 +317,46 @@ SrsJsonArray* SrsJsonAny::to_array() | ||
| 267 | return p; | 317 | return p; |
| 268 | } | 318 | } |
| 269 | 319 | ||
| 320 | +string SrsJsonAny::to_json() | ||
| 321 | +{ | ||
| 322 | + switch (marker) { | ||
| 323 | + case SRS_JSON_String: { | ||
| 324 | + return "\"" + to_str() + "\""; | ||
| 325 | + } | ||
| 326 | + case SRS_JSON_Boolean: { | ||
| 327 | + return to_boolean()? "true":"false"; | ||
| 328 | + } | ||
| 329 | + case SRS_JSON_Integer: { | ||
| 330 | + // len(max int64_t) is 20, plus one "+-." | ||
| 331 | + char tmp[22]; | ||
| 332 | + snprintf(tmp, 22, "%"PRId64, to_integer()); | ||
| 333 | + return tmp; | ||
| 334 | + } | ||
| 335 | + case SRS_JSON_Number: { | ||
| 336 | + // len(max int64_t) is 20, plus one "+-." | ||
| 337 | + char tmp[22]; | ||
| 338 | + snprintf(tmp, 22, "%.6f", to_number()); | ||
| 339 | + return tmp; | ||
| 340 | + } | ||
| 341 | + case SRS_JSON_Null: { | ||
| 342 | + return "null"; | ||
| 343 | + } | ||
| 344 | + case SRS_JSON_Object: { | ||
| 345 | + SrsJsonObject* obj = to_object(); | ||
| 346 | + return obj->to_json(); | ||
| 347 | + } | ||
| 348 | + case SRS_JSON_Array: { | ||
| 349 | + SrsJsonArray* arr = to_array(); | ||
| 350 | + return arr->to_json(); | ||
| 351 | + } | ||
| 352 | + default: { | ||
| 353 | + break; | ||
| 354 | + } | ||
| 355 | + } | ||
| 356 | + | ||
| 357 | + return "null"; | ||
| 358 | +} | ||
| 359 | + | ||
| 270 | SrsJsonAny* SrsJsonAny::str(const char* value) | 360 | SrsJsonAny* SrsJsonAny::str(const char* value) |
| 271 | { | 361 | { |
| 272 | return new SrsJsonString(value); | 362 | return new SrsJsonString(value); |
| @@ -402,6 +492,27 @@ SrsJsonAny* SrsJsonObject::value_at(int index) | @@ -402,6 +492,27 @@ SrsJsonAny* SrsJsonObject::value_at(int index) | ||
| 402 | return elem.second; | 492 | return elem.second; |
| 403 | } | 493 | } |
| 404 | 494 | ||
| 495 | +string SrsJsonObject::to_json() | ||
| 496 | +{ | ||
| 497 | + stringstream ss; | ||
| 498 | + | ||
| 499 | + ss << SRS_JOBJECT_START; | ||
| 500 | + | ||
| 501 | + for (int i = 0; i < (int)properties.size(); i++) { | ||
| 502 | + std::string name = this->key_at(i); | ||
| 503 | + SrsJsonAny* any = this->value_at(i); | ||
| 504 | + | ||
| 505 | + ss << SRS_JFIELD_NAME(name) << any->to_json(); | ||
| 506 | + if (i < (int)properties.size() - 1) { | ||
| 507 | + ss << SRS_JFIELD_CONT; | ||
| 508 | + } | ||
| 509 | + } | ||
| 510 | + | ||
| 511 | + ss << SRS_JOBJECT_END; | ||
| 512 | + | ||
| 513 | + return ss.str(); | ||
| 514 | +} | ||
| 515 | + | ||
| 405 | void SrsJsonObject::set(string key, SrsJsonAny* value) | 516 | void SrsJsonObject::set(string key, SrsJsonAny* value) |
| 406 | { | 517 | { |
| 407 | if (!value) { | 518 | if (!value) { |
| @@ -549,6 +660,32 @@ void SrsJsonArray::add(SrsJsonAny* value) | @@ -549,6 +660,32 @@ void SrsJsonArray::add(SrsJsonAny* value) | ||
| 549 | properties.push_back(value); | 660 | properties.push_back(value); |
| 550 | } | 661 | } |
| 551 | 662 | ||
| 663 | +void SrsJsonArray::append(SrsJsonAny* value) | ||
| 664 | +{ | ||
| 665 | + add(value); | ||
| 666 | +} | ||
| 667 | + | ||
| 668 | +string SrsJsonArray::to_json() | ||
| 669 | +{ | ||
| 670 | + stringstream ss; | ||
| 671 | + | ||
| 672 | + ss << SRS_JARRAY_START; | ||
| 673 | + | ||
| 674 | + for (int i = 0; i < (int)properties.size(); i++) { | ||
| 675 | + SrsJsonAny* any = properties[i]; | ||
| 676 | + | ||
| 677 | + ss << any->to_json(); | ||
| 678 | + | ||
| 679 | + if (i < (int)properties.size() - 1) { | ||
| 680 | + ss << SRS_JFIELD_CONT; | ||
| 681 | + } | ||
| 682 | + } | ||
| 683 | + | ||
| 684 | + ss << SRS_JARRAY_END; | ||
| 685 | + | ||
| 686 | + return ss.str(); | ||
| 687 | +} | ||
| 688 | + | ||
| 552 | #ifdef SRS_JSON_USE_NXJSON | 689 | #ifdef SRS_JSON_USE_NXJSON |
| 553 | 690 | ||
| 554 | //////////////////////////////////////////////////////////////////////////////////////////////// | 691 | //////////////////////////////////////////////////////////////////////////////////////////////// |
| @@ -112,6 +112,12 @@ public: | @@ -112,6 +112,12 @@ public: | ||
| 112 | * user must ensure the type is a ecma array, or assert failed. | 112 | * user must ensure the type is a ecma array, or assert failed. |
| 113 | */ | 113 | */ |
| 114 | virtual SrsJsonArray* to_array(); | 114 | virtual SrsJsonArray* to_array(); |
| 115 | +// json | ||
| 116 | +public: | ||
| 117 | + /** | ||
| 118 | + * convert the amf0 stuff to json. | ||
| 119 | + */ | ||
| 120 | + virtual std::string to_json(); | ||
| 115 | public: | 121 | public: |
| 116 | static SrsJsonAny* str(const char* value = NULL); | 122 | static SrsJsonAny* str(const char* value = NULL); |
| 117 | static SrsJsonAny* boolean(bool value = false); | 123 | static SrsJsonAny* boolean(bool value = false); |
| @@ -145,6 +151,12 @@ public: | @@ -145,6 +151,12 @@ public: | ||
| 145 | virtual std::string key_at(int index); | 151 | virtual std::string key_at(int index); |
| 146 | // @remark: max index is count(). | 152 | // @remark: max index is count(). |
| 147 | virtual SrsJsonAny* value_at(int index); | 153 | virtual SrsJsonAny* value_at(int index); |
| 154 | +// json | ||
| 155 | +public: | ||
| 156 | + /** | ||
| 157 | + * convert the amf0 object to json. | ||
| 158 | + */ | ||
| 159 | + virtual std::string to_json(); | ||
| 148 | public: | 160 | public: |
| 149 | virtual void set(std::string key, SrsJsonAny* value); | 161 | virtual void set(std::string key, SrsJsonAny* value); |
| 150 | virtual SrsJsonAny* get_property(std::string name); | 162 | virtual SrsJsonAny* get_property(std::string name); |
| @@ -171,6 +183,14 @@ public: | @@ -171,6 +183,14 @@ public: | ||
| 171 | // @remark: max index is count(). | 183 | // @remark: max index is count(). |
| 172 | virtual SrsJsonAny* at(int index); | 184 | virtual SrsJsonAny* at(int index); |
| 173 | virtual void add(SrsJsonAny* value); | 185 | virtual void add(SrsJsonAny* value); |
| 186 | + // alias to add. | ||
| 187 | + virtual void append(SrsJsonAny* value); | ||
| 188 | +// json | ||
| 189 | +public: | ||
| 190 | + /** | ||
| 191 | + * convert the amf0 ecma array to json. | ||
| 192 | + */ | ||
| 193 | + virtual std::string to_json(); | ||
| 174 | }; | 194 | }; |
| 175 | 195 | ||
| 176 | //////////////////////////////////////////////////////////////////////// | 196 | //////////////////////////////////////////////////////////////////////// |
| @@ -35,55 +35,6 @@ using namespace std; | @@ -35,55 +35,6 @@ using namespace std; | ||
| 35 | 35 | ||
| 36 | using namespace _srs_internal; | 36 | using namespace _srs_internal; |
| 37 | 37 | ||
| 38 | -/* json encode | ||
| 39 | - cout<< SRS_JOBJECT_START | ||
| 40 | - << SRS_JFIELD_STR("name", "srs") << SRS_JFIELD_CONT | ||
| 41 | - << SRS_JFIELD_ORG("version", 100) << SRS_JFIELD_CONT | ||
| 42 | - << SRS_JFIELD_NAME("features") << SRS_JOBJECT_START | ||
| 43 | - << SRS_JFIELD_STR("rtmp", "released") << SRS_JFIELD_CONT | ||
| 44 | - << SRS_JFIELD_STR("hls", "released") << SRS_JFIELD_CONT | ||
| 45 | - << SRS_JFIELD_STR("dash", "plan") | ||
| 46 | - << SRS_JOBJECT_END << SRS_JFIELD_CONT | ||
| 47 | - << SRS_JFIELD_STR("author", "srs team") | ||
| 48 | - << SRS_JOBJECT_END | ||
| 49 | - it's: | ||
| 50 | - cont<< "{" | ||
| 51 | - << "name:" << "srs" << "," | ||
| 52 | - << "version:" << 100 << "," | ||
| 53 | - << "features:" << "{" | ||
| 54 | - << "rtmp:" << "released" << "," | ||
| 55 | - << "hls:" << "released" << "," | ||
| 56 | - << "dash:" << "plan" | ||
| 57 | - << "}" << "," | ||
| 58 | - << "author:" << "srs team" | ||
| 59 | - << "}" | ||
| 60 | - that is: | ||
| 61 | - """ | ||
| 62 | - { | ||
| 63 | - "name": "srs", | ||
| 64 | - "version": 100, | ||
| 65 | - "features": { | ||
| 66 | - "rtmp": "released", | ||
| 67 | - "hls": "released", | ||
| 68 | - "dash": "plan" | ||
| 69 | - }, | ||
| 70 | - "author": "srs team" | ||
| 71 | - } | ||
| 72 | - """ | ||
| 73 | - */ | ||
| 74 | -#define SRS_JOBJECT_START "{" | ||
| 75 | -#define SRS_JFIELD_NAME(k) "\"" << k << "\":" | ||
| 76 | -#define SRS_JFIELD_OBJ(k) SRS_JFIELD_NAME(k) << SRS_JOBJECT_START | ||
| 77 | -#define SRS_JFIELD_STR(k, v) SRS_JFIELD_NAME(k) << "\"" << v << "\"" | ||
| 78 | -#define SRS_JFIELD_ORG(k, v) SRS_JFIELD_NAME(k) << std::dec << v | ||
| 79 | -#define SRS_JFIELD_BOOL(k, v) SRS_JFIELD_ORG(k, (v? "true":"false")) | ||
| 80 | -#define SRS_JFIELD_NULL(k) SRS_JFIELD_NAME(k) << "null" | ||
| 81 | -#define SRS_JFIELD_ERROR(ret) "\"" << "code" << "\":" << ret | ||
| 82 | -#define SRS_JFIELD_CONT "," | ||
| 83 | -#define SRS_JOBJECT_END "}" | ||
| 84 | -#define SRS_JARRAY_START "[" | ||
| 85 | -#define SRS_JARRAY_END "]" | ||
| 86 | - | ||
| 87 | // AMF0 marker | 38 | // AMF0 marker |
| 88 | #define RTMP_AMF0_Number 0x00 | 39 | #define RTMP_AMF0_Number 0x00 |
| 89 | #define RTMP_AMF0_Boolean 0x01 | 40 | #define RTMP_AMF0_Boolean 0x01 |
| @@ -331,60 +282,6 @@ char* SrsAmf0Any::human_print(char** pdata, int* psize) | @@ -331,60 +282,6 @@ char* SrsAmf0Any::human_print(char** pdata, int* psize) | ||
| 331 | return data; | 282 | return data; |
| 332 | } | 283 | } |
| 333 | 284 | ||
| 334 | -string SrsAmf0Any::to_json() | ||
| 335 | -{ | ||
| 336 | - switch (marker) { | ||
| 337 | - case RTMP_AMF0_String: { | ||
| 338 | - return "\"" + to_str() + "\""; | ||
| 339 | - } | ||
| 340 | - case RTMP_AMF0_Boolean: { | ||
| 341 | - return to_boolean()? "true":"false"; | ||
| 342 | - } | ||
| 343 | - case RTMP_AMF0_Number: { | ||
| 344 | - double v = to_number(); | ||
| 345 | - int64_t iv = (int64_t)v; | ||
| 346 | - | ||
| 347 | - // len(max int64_t) is 20, plus one "+-." | ||
| 348 | - char tmp[22]; | ||
| 349 | - if (v == iv) { | ||
| 350 | - snprintf(tmp, 22, "%"PRId64, iv); | ||
| 351 | - } else { | ||
| 352 | - snprintf(tmp, 22, "%.6f", to_number()); | ||
| 353 | - } | ||
| 354 | - | ||
| 355 | - return tmp; | ||
| 356 | - } | ||
| 357 | - case RTMP_AMF0_Null: { | ||
| 358 | - return "null"; | ||
| 359 | - } | ||
| 360 | - case RTMP_AMF0_Undefined: { | ||
| 361 | - return "null"; | ||
| 362 | - } | ||
| 363 | - case RTMP_AMF0_Object: { | ||
| 364 | - SrsAmf0Object* obj = to_object(); | ||
| 365 | - return obj->to_json(); | ||
| 366 | - } | ||
| 367 | - case RTMP_AMF0_EcmaArray: { | ||
| 368 | - SrsAmf0EcmaArray* arr = to_ecma_array(); | ||
| 369 | - return arr->to_json(); | ||
| 370 | - } | ||
| 371 | - case RTMP_AMF0_StrictArray: { | ||
| 372 | - SrsAmf0StrictArray* arr = to_strict_array(); | ||
| 373 | - return arr->to_json(); | ||
| 374 | - } | ||
| 375 | - case RTMP_AMF0_Date: { | ||
| 376 | - // TODO: FIXME: support amf0 data to json. | ||
| 377 | - return "null"; | ||
| 378 | - } | ||
| 379 | - case RTMP_AMF0_Invalid: | ||
| 380 | - default: { | ||
| 381 | - break; | ||
| 382 | - } | ||
| 383 | - } | ||
| 384 | - | ||
| 385 | - return "null"; | ||
| 386 | -} | ||
| 387 | - | ||
| 388 | SrsAmf0Any* SrsAmf0Any::str(const char* value) | 285 | SrsAmf0Any* SrsAmf0Any::str(const char* value) |
| 389 | { | 286 | { |
| 390 | return new SrsAmf0String(value); | 287 | return new SrsAmf0String(value); |
| @@ -846,27 +743,6 @@ SrsAmf0Any* SrsAmf0Object::copy() | @@ -846,27 +743,6 @@ SrsAmf0Any* SrsAmf0Object::copy() | ||
| 846 | return copy; | 743 | return copy; |
| 847 | } | 744 | } |
| 848 | 745 | ||
| 849 | -string SrsAmf0Object::to_json() | ||
| 850 | -{ | ||
| 851 | - stringstream ss; | ||
| 852 | - | ||
| 853 | - ss << SRS_JOBJECT_START; | ||
| 854 | - | ||
| 855 | - for (int i = 0; i < properties->count(); i++) { | ||
| 856 | - std::string name = this->key_at(i); | ||
| 857 | - SrsAmf0Any* any = this->value_at(i); | ||
| 858 | - | ||
| 859 | - ss << SRS_JFIELD_NAME(name) << any->to_json(); | ||
| 860 | - if (i < properties->count() - 1) { | ||
| 861 | - ss << SRS_JFIELD_CONT; | ||
| 862 | - } | ||
| 863 | - } | ||
| 864 | - | ||
| 865 | - ss << SRS_JOBJECT_END; | ||
| 866 | - | ||
| 867 | - return ss.str(); | ||
| 868 | -} | ||
| 869 | - | ||
| 870 | void SrsAmf0Object::clear() | 746 | void SrsAmf0Object::clear() |
| 871 | { | 747 | { |
| 872 | properties->clear(); | 748 | properties->clear(); |
| @@ -1068,27 +944,6 @@ SrsAmf0Any* SrsAmf0EcmaArray::copy() | @@ -1068,27 +944,6 @@ SrsAmf0Any* SrsAmf0EcmaArray::copy() | ||
| 1068 | return copy; | 944 | return copy; |
| 1069 | } | 945 | } |
| 1070 | 946 | ||
| 1071 | -string SrsAmf0EcmaArray::to_json() | ||
| 1072 | -{ | ||
| 1073 | - stringstream ss; | ||
| 1074 | - | ||
| 1075 | - ss << SRS_JOBJECT_START; | ||
| 1076 | - | ||
| 1077 | - for (int i = 0; i < properties->count(); i++) { | ||
| 1078 | - std::string name = this->key_at(i); | ||
| 1079 | - SrsAmf0Any* any = this->value_at(i); | ||
| 1080 | - | ||
| 1081 | - ss << SRS_JFIELD_NAME(name) << any->to_json(); | ||
| 1082 | - if (i < properties->count() - 1) { | ||
| 1083 | - ss << SRS_JFIELD_CONT; | ||
| 1084 | - } | ||
| 1085 | - } | ||
| 1086 | - | ||
| 1087 | - ss << SRS_JOBJECT_END; | ||
| 1088 | - | ||
| 1089 | - return ss.str(); | ||
| 1090 | -} | ||
| 1091 | - | ||
| 1092 | void SrsAmf0EcmaArray::clear() | 947 | void SrsAmf0EcmaArray::clear() |
| 1093 | { | 948 | { |
| 1094 | properties->clear(); | 949 | properties->clear(); |
| @@ -1264,27 +1119,6 @@ SrsAmf0Any* SrsAmf0StrictArray::copy() | @@ -1264,27 +1119,6 @@ SrsAmf0Any* SrsAmf0StrictArray::copy() | ||
| 1264 | return copy; | 1119 | return copy; |
| 1265 | } | 1120 | } |
| 1266 | 1121 | ||
| 1267 | -string SrsAmf0StrictArray::to_json() | ||
| 1268 | -{ | ||
| 1269 | - stringstream ss; | ||
| 1270 | - | ||
| 1271 | - ss << SRS_JARRAY_START; | ||
| 1272 | - | ||
| 1273 | - for (int i = 0; i < (int)properties.size(); i++) { | ||
| 1274 | - SrsAmf0Any* any = properties[i]; | ||
| 1275 | - | ||
| 1276 | - ss << any->to_json(); | ||
| 1277 | - | ||
| 1278 | - if (i < (int)properties.size() - 1) { | ||
| 1279 | - ss << SRS_JFIELD_CONT; | ||
| 1280 | - } | ||
| 1281 | - } | ||
| 1282 | - | ||
| 1283 | - ss << SRS_JARRAY_END; | ||
| 1284 | - | ||
| 1285 | - return ss.str(); | ||
| 1286 | -} | ||
| 1287 | - | ||
| 1288 | void SrsAmf0StrictArray::clear() | 1122 | void SrsAmf0StrictArray::clear() |
| 1289 | { | 1123 | { |
| 1290 | properties.clear(); | 1124 | properties.clear(); |
| @@ -272,12 +272,6 @@ public: | @@ -272,12 +272,6 @@ public: | ||
| 272 | * @remark user must free the data returned or output by pdata. | 272 | * @remark user must free the data returned or output by pdata. |
| 273 | */ | 273 | */ |
| 274 | virtual char* human_print(char** pdata, int* psize); | 274 | virtual char* human_print(char** pdata, int* psize); |
| 275 | -// json | ||
| 276 | -public: | ||
| 277 | - /** | ||
| 278 | - * convert the amf0 stuff to json. | ||
| 279 | - */ | ||
| 280 | - virtual std::string to_json(); | ||
| 281 | // create AMF0 instance. | 275 | // create AMF0 instance. |
| 282 | public: | 276 | public: |
| 283 | /** | 277 | /** |
| @@ -357,12 +351,6 @@ public: | @@ -357,12 +351,6 @@ public: | ||
| 357 | virtual int read(SrsStream* stream); | 351 | virtual int read(SrsStream* stream); |
| 358 | virtual int write(SrsStream* stream); | 352 | virtual int write(SrsStream* stream); |
| 359 | virtual SrsAmf0Any* copy(); | 353 | virtual SrsAmf0Any* copy(); |
| 360 | -// json | ||
| 361 | -public: | ||
| 362 | - /** | ||
| 363 | - * convert the amf0 object to json. | ||
| 364 | - */ | ||
| 365 | - virtual std::string to_json(); | ||
| 366 | // properties iteration | 354 | // properties iteration |
| 367 | public: | 355 | public: |
| 368 | /** | 356 | /** |
| @@ -446,12 +434,6 @@ public: | @@ -446,12 +434,6 @@ public: | ||
| 446 | virtual int read(SrsStream* stream); | 434 | virtual int read(SrsStream* stream); |
| 447 | virtual int write(SrsStream* stream); | 435 | virtual int write(SrsStream* stream); |
| 448 | virtual SrsAmf0Any* copy(); | 436 | virtual SrsAmf0Any* copy(); |
| 449 | -// json | ||
| 450 | -public: | ||
| 451 | - /** | ||
| 452 | - * convert the amf0 ecma array to json. | ||
| 453 | - */ | ||
| 454 | - virtual std::string to_json(); | ||
| 455 | // properties iteration | 437 | // properties iteration |
| 456 | public: | 438 | public: |
| 457 | /** | 439 | /** |
| @@ -533,12 +515,6 @@ public: | @@ -533,12 +515,6 @@ public: | ||
| 533 | virtual int read(SrsStream* stream); | 515 | virtual int read(SrsStream* stream); |
| 534 | virtual int write(SrsStream* stream); | 516 | virtual int write(SrsStream* stream); |
| 535 | virtual SrsAmf0Any* copy(); | 517 | virtual SrsAmf0Any* copy(); |
| 536 | -// json | ||
| 537 | -public: | ||
| 538 | - /** | ||
| 539 | - * convert the amf0 strict array to json. | ||
| 540 | - */ | ||
| 541 | - virtual std::string to_json(); | ||
| 542 | // properties iteration | 518 | // properties iteration |
| 543 | public: | 519 | public: |
| 544 | /** | 520 | /** |
-
请 注册 或 登录 后发表评论