]> git.sesse.net Git - cubemap/blobdiff - input.cpp
Remove some leftover code.
[cubemap] / input.cpp
index fd71d4072fa64fbd30eb0d584b9b0f0217f01b2a..de7252a3fda672682d15eb1fae2a821852e259f1 100644 (file)
--- a/input.cpp
+++ b/input.cpp
 #include "mutexlock.h"
 #include "input.h"
 #include "server.h"
 #include "mutexlock.h"
 #include "input.h"
 #include "server.h"
+#include "serverpool.h"
 
 using namespace std;
 
 
 using namespace std;
 
-extern Server *servers;
+extern ServerPool *servers;
 
 Input::Input(const string &stream_id, const string &url)
        : stream_id(stream_id),
 
 Input::Input(const string &stream_id, const string &url)
        : stream_id(stream_id),
@@ -62,13 +63,15 @@ void Input::do_work()
 {
        CURL *curl = curl_easy_init();
 
 {
        CURL *curl = curl_easy_init();
 
-       for ( ;; ) {
+       while (!should_stop) {
                curl_easy_setopt(curl, CURLOPT_URL, url.c_str());
                curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, &Input::curl_callback_thunk);
                curl_easy_setopt(curl, CURLOPT_WRITEDATA, this);
                curl_easy_perform(curl);
                curl_easy_setopt(curl, CURLOPT_URL, url.c_str());
                curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, &Input::curl_callback_thunk);
                curl_easy_setopt(curl, CURLOPT_WRITEDATA, this);
                curl_easy_perform(curl);
-               printf("Transfer ended, waiting 0.2 seconds and restarting...\n");
-               usleep(200000);
+               if (!should_stop) {
+                       printf("Transfer of '%s' ended, waiting 0.2 seconds and restarting...\n", url.c_str());
+                       usleep(200000);
+               }
        }
 }
 
        }
 }
 
@@ -136,6 +139,7 @@ void Input::curl_callback(char *ptr, size_t bytes)
                // should we have many blocks, but these routines don't need to be too efficient
                // anyway.
                pending_data.erase(pending_data.begin(), pending_data.begin() + sizeof(metacube_block_header) + size);
                // should we have many blocks, but these routines don't need to be too efficient
                // anyway.
                pending_data.erase(pending_data.begin(), pending_data.begin() + sizeof(metacube_block_header) + size);
+               has_metacube_header = false;
        }
 }
                
        }
 }
                
@@ -143,13 +147,9 @@ void Input::process_block(const char *data, uint32_t size, uint32_t flags)
 {      
        if (flags & METACUBE_FLAGS_HEADER) {
                string header(data, data + size);
 {      
        if (flags & METACUBE_FLAGS_HEADER) {
                string header(data, data + size);
-               for (int i = 0; i < NUM_SERVERS; ++i) {
-                       servers[i].set_header(stream_id, header);
-               }
+               servers->set_header(stream_id, header);
        } else { 
        } else { 
-               for (int i = 0; i < NUM_SERVERS; ++i) {
-                       servers[i].add_data(stream_id, data, size);
-               }
+               servers->add_data(stream_id, data, size);
        }
 }
 
        }
 }