]> git.sesse.net Git - cubemap/blobdiff - stream.cpp
Add suppor for raw (non-Metacube) inputs over HTTP. Only really useful for TS.
[cubemap] / stream.cpp
index d416803fafb03dd23b4e591cf46bf061179a102b..b498b2e6f7108ced5fab2f0f4d87109521671ca8 100644 (file)
 
 using namespace std;
 
-Stream::Stream(const string &url, size_t backlog_size, size_t prebuffering_bytes, Encoding encoding)
+Stream::Stream(const string &url, size_t backlog_size, size_t prebuffering_bytes, Encoding encoding, Encoding src_encoding)
        : url(url),
          encoding(encoding),
+         src_encoding(src_encoding),
          data_fd(make_tempfile("")),
           backlog_size(backlog_size),
          prebuffering_bytes(prebuffering_bytes),
@@ -144,7 +145,7 @@ void Stream::put_client_to_sleep(Client *client)
 vector<iovec> collect_iovecs(const vector<Stream::DataElement> &data, size_t bytes_wanted)
 {
        vector<iovec> ret;
-       size_t max_iovecs = std::min<size_t>(data.size(), IOV_MAX);
+       size_t max_iovecs = min<size_t>(data.size(), IOV_MAX);
        for (size_t i = 0; i < max_iovecs && bytes_wanted > 0; ++i) {
                if (data[i].data.iov_len <= bytes_wanted) {
                        // Consume the entire iovec.
@@ -264,7 +265,7 @@ void Stream::add_data_deferred(const char *data, size_t bytes, StreamStartSuitab
 
 void Stream::process_queued_data()
 {
-       std::vector<DataElement> queued_data_copy;
+       vector<DataElement> queued_data_copy;
 
        // Hold the lock for as short as possible, since add_data_raw() can possibly
        // write to disk, which might disturb the input thread.