]> git.sesse.net Git - cubemap/blobdiff - config.h
Add suppor for raw (non-Metacube) inputs over HTTP. Only really useful for TS.
[cubemap] / config.h
index b84b957c10a6178c32088b69029e0042e229aa09..a230731cee52b3a89566ec3f2df143439f258d97 100644 (file)
--- a/config.h
+++ b/config.h
@@ -9,28 +9,33 @@
 #include <string>
 #include <vector>
 
-struct MarkPoolConfig {
-       int from, to;
-};
-
 struct StreamConfig {
        std::string url;  // As seen by the client.
        std::string src;  // Can be empty.
        size_t backlog_size;
-       int mark_pool;  // -1 for none.
+       size_t prebuffering_bytes;
        uint32_t pacing_rate;  // In bytes per second. Default is ~0U (no limit).
-       enum { STREAM_ENCODING_RAW = 0, STREAM_ENCODING_METACUBE } encoding;
+       enum Encoding { STREAM_ENCODING_RAW = 0, STREAM_ENCODING_METACUBE };
+       Encoding encoding;
+       Encoding src_encoding;
 };
 
 struct UDPStreamConfig {
        sockaddr_in6 dst;
        std::string src;  // Can be empty.
-       int mark_pool;  // -1 for none.
        uint32_t pacing_rate;  // In bytes per second. Default is ~0U (no limit).
+       int ttl;  // Default is -1 (use operating system default).
+       int multicast_iface_index;  // Default is -1 (use operating system default).
+       StreamConfig::Encoding src_encoding;
+};
+
+struct Gen204Config {
+       std::string url;  // As seen by the client.
+       std::string allow_origin;  // Can be empty.
 };
 
 struct AcceptorConfig {
-       int port;
+       sockaddr_in6 addr;
 };
 
 struct LogConfig {
@@ -41,9 +46,9 @@ struct LogConfig {
 struct Config {
        bool daemonize;
        int num_servers;
-       std::vector<MarkPoolConfig> mark_pools;
        std::vector<StreamConfig> streams;
        std::vector<UDPStreamConfig> udpstreams;
+       std::vector<Gen204Config> pings;
        std::vector<AcceptorConfig> acceptors;
        std::vector<LogConfig> log_destinations;