X-Git-Url: https://git.sesse.net/?p=cubemap;a=blobdiff_plain;f=config.cpp;h=51a8b8d71082d9287e173d404ffbff2ee3a7b6ad;hp=0b5ed20bdb5192ffa60e7ca2783844836f3741a7;hb=6544fa0ec3f3a501bcb89ea977756911bd7f3ebd;hpb=d0aad5446b9896e3ba15c8a50c345e185dc1631f diff --git a/config.cpp b/config.cpp index 0b5ed20..51a8b8d 100644 --- a/config.cpp +++ b/config.cpp @@ -242,7 +242,7 @@ bool parse_stream(const ConfigLine &line, Config *config) stream.prebuffering_bytes = atoi(prebuffer_it->second.c_str()); } - // Parse encoding. + // Parse ouptut encoding. map::const_iterator encoding_parm_it = line.parameters.find("encoding"); if (encoding_parm_it == line.parameters.end() || encoding_parm_it->second == "raw") { @@ -254,6 +254,18 @@ bool parse_stream(const ConfigLine &line, Config *config) return false; } + // Parse input encoding. + map::const_iterator src_encoding_parm_it = line.parameters.find("src_encoding"); + if (src_encoding_parm_it == line.parameters.end() || + src_encoding_parm_it->second == "metacube") { + stream.src_encoding = StreamConfig::STREAM_ENCODING_METACUBE; + } else if (src_encoding_parm_it->second == "raw") { + stream.src_encoding = StreamConfig::STREAM_ENCODING_RAW; + } else { + log(ERROR, "Parameter 'src_encoding' must be either 'raw' or 'metacube' (default)"); + return false; + } + // Parse the pacing rate, converting from kilobits to bytes as needed. map::const_iterator pacing_rate_it = line.parameters.find("pacing_rate_kbit"); if (pacing_rate_it == line.parameters.end()) { @@ -318,6 +330,18 @@ bool parse_udpstream(const ConfigLine &line, Config *config) } } + // Parse input encoding. + map::const_iterator src_encoding_parm_it = line.parameters.find("src_encoding"); + if (src_encoding_parm_it == line.parameters.end() || + src_encoding_parm_it->second == "metacube") { + udpstream.src_encoding = StreamConfig::STREAM_ENCODING_METACUBE; + } else if (src_encoding_parm_it->second == "raw") { + udpstream.src_encoding = StreamConfig::STREAM_ENCODING_RAW; + } else { + log(ERROR, "Parameter 'src_encoding' must be either 'raw' or 'metacube' (default)"); + return false; + } + config->udpstreams.push_back(udpstream); return true; }