]> git.sesse.net Git - cubemap/blobdiff - udpinput.cpp
Release Cubemap 1.3.2.
[cubemap] / udpinput.cpp
index 001ef5f6d3db7a5fbf89ec279482b27241eb1a16..81aef7f9c9bbae265b832f9fd8f1ba353c311c8a 100644 (file)
@@ -6,6 +6,7 @@
 #include <sys/socket.h>
 #include <time.h>
 #include <unistd.h>
+#include <math.h>
 #include <string>
 
 #include "acceptor.h"
@@ -40,8 +41,9 @@ bool parse_ip_address(const string &ip, sockaddr_storage *addr)
                                ip.c_str());
                        return false;
                }
-               if (inet_pton(AF_INET6, ip.c_str(), &addr6->sin6_addr) != 1) {
-                       log(ERROR, "'%s' is not a valid IPv6 address");
+               string raw_ip(ip.begin() + 1, ip.end() - 1);
+               if (inet_pton(AF_INET6, raw_ip.c_str(), &addr6->sin6_addr) != 1) {
+                       log(ERROR, "'%s' is not a valid IPv6 address", raw_ip.c_str());
                        return false;
                }
        } else {
@@ -115,7 +117,9 @@ UDPInput::UDPInput(const string &url)
        stats.url = url;
        stats.bytes_received = 0;
        stats.data_bytes_received = 0;
+       stats.metadata_bytes_received = 0;
        stats.connect_time = time(NULL);
+       stats.latency_sec = HUGE_VAL;
 }
 
 UDPInput::UDPInput(const InputProto &serialized)
@@ -225,7 +229,7 @@ void UDPInput::do_work()
                }
                
                for (size_t i = 0; i < stream_indices.size(); ++i) {
-                       servers->add_data(stream_indices[i], packet_buf, ret, SUITABLE_FOR_STREAM_START);
+                       servers->add_data(stream_indices[i], packet_buf, ret, /*metacube_flags=*/0);
                }
        }
 }