X-Git-Url: https://git.sesse.net/?p=cubemap;a=blobdiff_plain;f=stream.cpp;h=3a4ccc3ed88065a87738796e00e0b0cda627fb55;hp=f5abbfd0f3e07795a0502c3d562ec56a01d3a5f4;hb=50651c954803c1941e6ad1bb494712891c18f7d2;hpb=a0fe013448d188b324c00383cfd91695d9d3d076 diff --git a/stream.cpp b/stream.cpp index f5abbfd..3a4ccc3 100644 --- a/stream.cpp +++ b/stream.cpp @@ -13,7 +13,6 @@ #include "log.h" #include "metacube2.h" -#include "mutexlock.h" #include "state.pb.h" #include "stream.h" #include "util.h" @@ -26,15 +25,11 @@ Stream::Stream(const string &url, size_t backlog_size, size_t prebuffering_bytes src_encoding(src_encoding), data_fd(make_tempfile("")), backlog_size(backlog_size), - prebuffering_bytes(prebuffering_bytes), - bytes_received(0), - pacing_rate(~0U) + prebuffering_bytes(prebuffering_bytes) { if (data_fd == -1) { exit(1); } - - pthread_mutex_init(&queued_data_mutex, nullptr); } Stream::~Stream() @@ -52,8 +47,7 @@ Stream::Stream(const StreamProto &serialized, int data_fd) data_fd(data_fd), backlog_size(serialized.backlog_size()), prebuffering_bytes(serialized.prebuffering_bytes()), - bytes_received(serialized.bytes_received()), - pacing_rate(~0U) + bytes_received(serialized.bytes_received()) { if (data_fd == -1) { exit(1); @@ -68,8 +62,6 @@ Stream::Stream(const StreamProto &serialized, int data_fd) } suitable_starting_points.push_back(point); } - - pthread_mutex_init(&queued_data_mutex, nullptr); } StreamProto Stream::serialize() @@ -235,7 +227,7 @@ void Stream::add_data_deferred(const char *data, size_t bytes, uint16_t metacube return; } - MutexLock lock(&queued_data_mutex); + lock_guard lock(queued_data_mutex); DataElement data_element; data_element.metacube_flags = metacube_flags; @@ -274,7 +266,7 @@ void Stream::process_queued_data() // Hold the lock for as short as possible, since add_data_raw() can possibly // write to disk, which might disturb the input thread. { - MutexLock lock(&queued_data_mutex); + lock_guard lock(queued_data_mutex); if (queued_data.empty()) { return; }