}
StreamConfig stream;
- stream.stream_id = line.arguments[0];
+ stream.url = line.arguments[0];
map<string, string>::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?
stream.backlog_size = atoi(backlog_it->second.c_str());
}
+ // Parse encoding.
+ map<string, string>::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<string, string>::const_iterator mark_parm_it = line.parameters.find("mark");
if (mark_parm_it == line.parameters.end()) {
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)) {