]> git.sesse.net Git - cubemap/blobdiff - input.cpp
Force input encoding for UDP streams to raw already at config parsing.
[cubemap] / input.cpp
index bbd2c3ae829d64c20a72576b8d5eea62331103af..dba6cf38b26b3ca87a6a953c8842600012e0124b 100644 (file)
--- a/input.cpp
+++ b/input.cpp
@@ -94,26 +94,27 @@ bool parse_url(const string &url, string *protocol, string *user, string *host,
        return true;
 }
 
-Input *create_input(const string &url)
+Input *create_input(const string &url, Input::Encoding encoding)
 {
        string protocol, user, host, port, path;
        if (!parse_url(url, &protocol, &user, &host, &port, &path)) {
-               return NULL;
+               return nullptr;
        }
        if (protocol == "http") {
-               return new HTTPInput(url);
+               return new HTTPInput(url, encoding);
        }
        if (protocol == "udp") {
+               assert(encoding == Input::INPUT_ENCODING_RAW);
                return new UDPInput(url);
        }
-       return NULL;
+       return nullptr;
 }
 
 Input *create_input(const InputProto &serialized)
 {
        string protocol, user, host, port, path;
        if (!parse_url(serialized.url(), &protocol, &user, &host, &port, &path)) {
-               return NULL;
+               return nullptr;
        }
        if (protocol == "http") {
                return new HTTPInput(serialized);
@@ -121,7 +122,7 @@ Input *create_input(const InputProto &serialized)
        if (protocol == "udp") {
                return new UDPInput(serialized);
        }
-       return NULL;
+       return nullptr;
 }
 
 Input::~Input() {}