X-Git-Url: https://git.sesse.net/?p=cubemap;a=blobdiff_plain;f=config.h;h=b5461cceae1f0978cce52d53a82de1b2cca95655;hp=9a5cc571f50a6868623a88370d6a39afa9c0f777;hb=6a647d84c4a76fba4f91fcb75ab8185dc7628d67;hpb=94959e83930c70e3e91931e1fb1f9c0ec4a6f374 diff --git a/config.h b/config.h index 9a5cc57..b5461cc 100644 --- a/config.h +++ b/config.h @@ -11,11 +11,19 @@ struct StreamConfig { std::string url; // As seen by the client. + std::string hls_url; // As seen by the client. Can be empty. std::string src; // Can be empty. size_t backlog_size; 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; + std::string allow_origin; + + // These only matter if hls_url is nonempty. + int hls_frag_duration = 6; // Apple recommendation (“HLS Authoring Specification for Apple Devices”, point 7.5). + size_t hls_backlog_margin = 0; }; struct UDPStreamConfig { @@ -33,6 +41,8 @@ struct Gen204Config { struct AcceptorConfig { sockaddr_in6 addr; + + std::string certificate_chain, private_key; // In PEM format. }; struct LogConfig {