]> git.sesse.net Git - cubemap/blobdiff - config.cpp
Merge branch 'master' of /srv/git.sesse.net/www/cubemap
[cubemap] / config.cpp
index fad29a5361b7627eb442e0037c2595abcb2a55a7..405033868f65f8c804cff3570e4e384dbf198d94 100644 (file)
@@ -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<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?
@@ -207,6 +207,18 @@ bool parse_stream(const ConfigLine &line, Config *config)
                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()) {