winlin

for #319, refine the query global, only show true options.

@@ -1566,30 +1566,71 @@ int SrsConfig::global_to_json(SrsAmf0Object* obj) @@ -1566,30 +1566,71 @@ int SrsConfig::global_to_json(SrsAmf0Object* obj)
1566 1566
1567 SrsStatisticVhost* svhost = stat->find_vhost(dir->arg0()); 1567 SrsStatisticVhost* svhost = stat->find_vhost(dir->arg0());
1568 sobj->set("id", SrsAmf0Any::number(svhost? (double)svhost->id : 0)); 1568 sobj->set("id", SrsAmf0Any::number(svhost? (double)svhost->id : 0));
  1569 + sobj->set("name", dir->dumps_arg0_to_str());
1569 1570
1570 - sobj->set("enabled", SrsAmf0Any::boolean(get_vhost_enabled(dir->name)));  
1571 - sobj->set("dvr", SrsAmf0Any::boolean(get_dvr_enabled(dir->name)));  
1572 - sobj->set("http_static", SrsAmf0Any::boolean(get_vhost_http_enabled(dir->name)));  
1573 - sobj->set("http_remux", SrsAmf0Any::boolean(get_vhost_http_remux_enabled(dir->name)));  
1574 - sobj->set("hls", SrsAmf0Any::boolean(get_hls_enabled(dir->name)));  
1575 - sobj->set("hds", SrsAmf0Any::boolean(get_hds_enabled(dir->name)));  
1576 - sobj->set("http_hooks", SrsAmf0Any::boolean(get_vhost_http_hooks(dir->name)));  
1577 - sobj->set("exec", SrsAmf0Any::boolean(get_exec_enabled(dir->name)));  
1578 - sobj->set("bandcheck", SrsAmf0Any::boolean(get_bw_check_enabled(dir->name)));  
1579 - sobj->set("origin", SrsAmf0Any::boolean(!get_vhost_is_edge(dir->name)));  
1580 - sobj->set("forward", SrsAmf0Any::boolean(get_forward_enabled(dir->name))); 1571 + if (get_vhost_enabled(dir->name)) {
  1572 + sobj->set("enabled", SrsAmf0Any::boolean(true));
  1573 + }
  1574 + if (get_dvr_enabled(dir->name)) {
  1575 + sobj->set("dvr", SrsAmf0Any::boolean(true));
  1576 + }
  1577 + if (get_vhost_http_enabled(dir->name)) {
  1578 + sobj->set("http_static", SrsAmf0Any::boolean(true));
  1579 + }
  1580 + if (get_vhost_http_remux_enabled(dir->name)) {
  1581 + sobj->set("http_remux", SrsAmf0Any::boolean(true));
  1582 + }
  1583 + if (get_hls_enabled(dir->name)) {
  1584 + sobj->set("hls", SrsAmf0Any::boolean(true));
  1585 + }
  1586 + if (get_hds_enabled(dir->name)) {
  1587 + sobj->set("hds", SrsAmf0Any::boolean(true));
  1588 + }
  1589 + if (get_vhost_http_hooks(dir->name)) {
  1590 + sobj->set("http_hooks", SrsAmf0Any::boolean(true));
  1591 + }
  1592 + if (get_exec_enabled(dir->name)) {
  1593 + sobj->set("exec", SrsAmf0Any::boolean(true));
  1594 + }
  1595 + if (get_bw_check_enabled(dir->name)) {
  1596 + sobj->set("bandcheck", SrsAmf0Any::boolean(true));
  1597 + }
  1598 + if (!get_vhost_is_edge(dir->name)) {
  1599 + sobj->set("origin", SrsAmf0Any::boolean(true));
  1600 + }
  1601 + if (get_forward_enabled(dir->name)) {
  1602 + sobj->set("forward", SrsAmf0Any::boolean(true));
  1603 + }
1581 1604
1582 - sobj->set("security", SrsAmf0Any::boolean(get_security_enabled(dir->name)));  
1583 - sobj->set("refer", SrsAmf0Any::boolean(get_refer_enabled(dir->name))); 1605 + if (get_security_enabled(dir->name)) {
  1606 + sobj->set("security", SrsAmf0Any::boolean(true));
  1607 + }
  1608 + if (get_refer_enabled(dir->name)) {
  1609 + sobj->set("refer", SrsAmf0Any::boolean(true));
  1610 + }
1584 1611
1585 - sobj->set("mr", SrsAmf0Any::boolean(get_mr_enabled(dir->name)));  
1586 - sobj->set("min_latency", SrsAmf0Any::boolean(get_realtime_enabled(dir->name)));  
1587 - sobj->set("gop_cache", SrsAmf0Any::boolean(get_gop_cache(dir->name)));  
1588 - sobj->set("tcp_nodelay", SrsAmf0Any::boolean(get_tcp_nodelay(dir->name))); 1612 + if (get_mr_enabled(dir->name)) {
  1613 + sobj->set("mr", SrsAmf0Any::boolean(true));
  1614 + }
  1615 + if (get_realtime_enabled(dir->name)) {
  1616 + sobj->set("min_latency", SrsAmf0Any::boolean(true));
  1617 + }
  1618 + if (get_gop_cache(dir->name)) {
  1619 + sobj->set("gop_cache", SrsAmf0Any::boolean(true));
  1620 + }
  1621 + if (get_tcp_nodelay(dir->name)) {
  1622 + sobj->set("tcp_nodelay", SrsAmf0Any::boolean(true));
  1623 + }
1589 1624
1590 - sobj->set("mix_correct", SrsAmf0Any::boolean(get_mix_correct(dir->name)));  
1591 - sobj->set("time_jitter", SrsAmf0Any::boolean(get_time_jitter(dir->name) != SrsRtmpJitterAlgorithmOFF));  
1592 - sobj->set("atc", SrsAmf0Any::boolean(get_atc(dir->name))); 1625 + if (get_mix_correct(dir->name)) {
  1626 + sobj->set("mix_correct", SrsAmf0Any::boolean(true));
  1627 + }
  1628 + if (get_time_jitter(dir->name) != SrsRtmpJitterAlgorithmOFF) {
  1629 + sobj->set("time_jitter", SrsAmf0Any::boolean(true));
  1630 + }
  1631 + if (get_atc(dir->name)) {
  1632 + sobj->set("atc", SrsAmf0Any::boolean(true));
  1633 + }
1593 1634
1594 bool has_transcode = false; 1635 bool has_transcode = false;
1595 for (int j = 0; !has_transcode && j < (int)dir->directives.size(); j++) { 1636 for (int j = 0; !has_transcode && j < (int)dir->directives.size(); j++) {
@@ -1614,7 +1655,9 @@ int SrsConfig::global_to_json(SrsAmf0Object* obj) @@ -1614,7 +1655,9 @@ int SrsConfig::global_to_json(SrsAmf0Object* obj)
1614 } 1655 }
1615 } 1656 }
1616 } 1657 }
1617 - sobj->set("transcode", SrsAmf0Any::boolean(has_transcode)); 1658 + if (has_transcode) {
  1659 + sobj->set("transcode", SrsAmf0Any::boolean(has_transcode));
  1660 + }
1618 1661
1619 bool has_ingest = false; 1662 bool has_ingest = false;
1620 for (int j = 0; !has_ingest && j < (int)dir->directives.size(); j++) { 1663 for (int j = 0; !has_ingest && j < (int)dir->directives.size(); j++) {
@@ -1628,7 +1671,9 @@ int SrsConfig::global_to_json(SrsAmf0Object* obj) @@ -1628,7 +1671,9 @@ int SrsConfig::global_to_json(SrsAmf0Object* obj)
1628 break; 1671 break;
1629 } 1672 }
1630 } 1673 }
1631 - sobj->set("ingest", SrsAmf0Any::boolean(has_ingest)); 1674 + if (has_ingest) {
  1675 + sobj->set("ingest", SrsAmf0Any::boolean(has_ingest));
  1676 + }
1632 } 1677 }
1633 1678
1634 obj->set("nb_vhosts", SrsAmf0Any::number(nb_vhosts)); 1679 obj->set("nb_vhosts", SrsAmf0Any::number(nb_vhosts));