X-Git-Url: https://git.sesse.net/?p=cubemap;a=blobdiff_plain;f=config.cpp;h=405033868f65f8c804cff3570e4e384dbf198d94;hp=77acf6dd61cac95c6a4792446a42bc99ff6def29;hb=dc109293b2644d5f1ac85a3f02b3584e82dcf690;hpb=a313e4c7a3c0c453d4dffd317fc143f1f4a7f8ba diff --git a/config.cpp b/config.cpp index 77acf6d..4050338 100644 --- a/config.cpp +++ b/config.cpp @@ -189,12 +189,12 @@ bool parse_stream(const ConfigLine &line, Config *config) } StreamConfig stream; - stream.stream_id = line.arguments[0]; + stream.url = line.arguments[0]; map::const_iterator src_it = line.parameters.find("src"); if (src_it == line.parameters.end()) { log(WARNING, "stream '%s' has no src= attribute, clients will not get any data.", - stream.stream_id.c_str()); + stream.url.c_str()); } else { stream.src = src_it->second; // TODO: Verify that the URL is parseable? @@ -207,6 +207,18 @@ bool parse_stream(const ConfigLine &line, Config *config) stream.backlog_size = atoi(backlog_it->second.c_str()); } + // Parse encoding. + map::const_iterator encoding_parm_it = line.parameters.find("encoding"); + if (encoding_parm_it == line.parameters.end() || + encoding_parm_it->second == "raw") { + stream.encoding = StreamConfig::STREAM_ENCODING_RAW; + } else if (encoding_parm_it->second == "metacube") { + stream.encoding = StreamConfig::STREAM_ENCODING_METACUBE; + } else { + log(ERROR, "Parameter 'encoding' must be either 'raw' (default) or 'metacube'"); + return false; + } + // Parse marks, if so desired. map::const_iterator mark_parm_it = line.parameters.find("mark"); if (mark_parm_it == line.parameters.end()) { @@ -287,12 +299,15 @@ bool parse_config(const string &filename, Config *config) if (has_stats_interval && !has_stats_file) { log(WARNING, "'stats_interval' given, but no 'stats_file'. No statistics will be written."); } + + fetch_config_string(lines, "access_log", &config->access_log_file); for (size_t i = 0; i < lines.size(); ++i) { const ConfigLine &line = lines[i]; if (line.keyword == "num_servers" || line.keyword == "stats_file" || - line.keyword == "stats_interval") { + line.keyword == "stats_interval" || + line.keyword == "access_log") { // Already taken care of, above. } else if (line.keyword == "port") { if (!parse_port(line, config)) {