for , support render HTTP RAW API in console.

pull/556/head
winlin
parent 8e635d9749
commit 555a3fbf5f

@ -48,6 +48,7 @@ using namespace std;
#include <srs_core_performance.hpp>
#include <srs_kernel_file.hpp>
#include <srs_rtmp_amf0.hpp>
#include <srs_app_statistic.hpp>
using namespace _srs_internal;
@ -1688,6 +1689,7 @@ int SrsConfig::global_to_json(SrsAmf0Object* obj)
SrsAmf0Object* sobjs = SrsAmf0Any::object();
int nb_vhosts = 0;
SrsStatistic* stat = SrsStatistic::instance();
for (int i = 0; i < (int)root->directives.size(); i++) {
SrsConfDirective* dir = root->directives.at(i);
if (!dir->is_vhost()) {
@ -1698,6 +1700,9 @@ int SrsConfig::global_to_json(SrsAmf0Object* obj)
SrsAmf0Object* sobj = SrsAmf0Any::object();
sobjs->set(dir->arg0(), sobj);
SrsStatisticVhost* svhost = stat->find_vhost(dir->arg0());
sobj->set("id", SrsAmf0Any::number(svhost? (double)svhost->id : 0));
sobj->set("enabled", SrsAmf0Any::boolean(get_vhost_enabled(dir->name)));
sobj->set("dvr", SrsAmf0Any::boolean(get_dvr_enabled(dir->name)));
sobj->set("http_static", SrsAmf0Any::boolean(get_vhost_http_enabled(dir->name)));

@ -275,6 +275,15 @@ SrsStatisticVhost* SrsStatistic::find_vhost(int vid)
return NULL;
}
SrsStatisticVhost* SrsStatistic::find_vhost(string name)
{
std::map<string, SrsStatisticVhost*>::iterator it;
if ((it = rvhosts.find(name)) != rvhosts.end()) {
return it->second;
}
return NULL;
}
SrsStatisticStream* SrsStatistic::find_stream(int sid)
{
std::map<int64_t, SrsStatisticStream*>::iterator it;

@ -156,6 +156,7 @@ public:
static SrsStatistic* instance();
public:
virtual SrsStatisticVhost* find_vhost(int vid);
virtual SrsStatisticVhost* find_vhost(std::string name);
virtual SrsStatisticStream* find_stream(int sid);
virtual SrsStatisticClient* find_client(int cid);
public:

Loading…
Cancel
Save