diff --git a/trunk/src/app/srs_app_latest_version.cpp b/trunk/src/app/srs_app_latest_version.cpp index bcaa26e87..0ec10f1d2 100644 --- a/trunk/src/app/srs_app_latest_version.cpp +++ b/trunk/src/app/srs_app_latest_version.cpp @@ -75,13 +75,15 @@ void srs_build_features(stringstream& ss) SrsConfDirective* conf = root->at(i); if (!rtsp && conf->is_stream_caster() && _srs_config->get_stream_caster_enabled(conf)) { - if (_srs_config->get_stream_caster_engine(conf) == "rtsp") { + string engine = _srs_config->get_stream_caster_engine(conf); + if (engine == "rtsp") { rtsp = true; } } if (conf->is_vhost() && _srs_config->get_vhost_enabled(conf)) { nn_vhosts++; + if (!forward && _srs_config->get_forward_enabled(conf)) { forward = true; } @@ -113,14 +115,19 @@ void srs_build_features(stringstream& ss) security = true; } - for (int j = 0; j < (int)conf->directives.size(); j++) { + for (int j = 0; j < (int)conf->directives.size() && j < 64; j++) { SrsConfDirective* prop = conf->directives.at(j); + if (!ingest && prop->name == "ingest" && _srs_config->get_ingest_enabled(prop)) { ingest = true; } if (!transcode && prop->name == "transcode" && _srs_config->get_transcode_enabled(prop)) { transcode = true; } + + if (ingest && transcode) { + break; + } } } }