Refine config, allow parse multiple times.

pull/1651/head
winlin 6 years ago
parent 6239dfa489
commit 74c1944e15

3
trunk/.gitignore vendored

@ -37,4 +37,5 @@ srs
*.dSYM/
*.gcov
*.ts
*.h264
*.264

Binary file not shown.

@ -3959,7 +3959,12 @@ srs_error_t SrsConfig::check_number_connections()
srs_error_t SrsConfig::parse_buffer(SrsConfigBuffer* buffer)
{
srs_error_t err = srs_success;
// We use a new root to parse buffer, to allow parse multiple times.
srs_freep(root);
root = new SrsConfDirective();
// Parse root tree from buffer.
if ((err = root->parse(buffer)) != srs_success) {
return srs_error_wrap(err, "root parse");
}

@ -1804,3 +1804,12 @@ VOID TEST(ConfigMainTest, CheckConf_vhost_ingest_id)
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{ingest{} ingest{}}"));
}
VOID TEST(ConfigUnitTest, CheckDefaultValues)
{
MockSrsConfig conf;
if (true) {
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF));
EXPECT_EQ(30 * SRS_UTIME_SECONDS, conf.get_bw_check_interval_ms(""));
}
}

Loading…
Cancel
Save