X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=stream.cpp;h=0b494fb8d5527d4ba51290d62b109ad510f4cc9a;hb=c039416ed5102c0c37298334bc009dc891038db9;hp=f5abbfd0f3e07795a0502c3d562ec56a01d3a5f4;hpb=a0fe013448d188b324c00383cfd91695d9d3d076;p=cubemap diff --git a/stream.cpp b/stream.cpp index f5abbfd..0b494fb 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() @@ -51,9 +46,7 @@ Stream::Stream(const StreamProto &serialized, int data_fd) encoding(Stream::STREAM_ENCODING_RAW), // Will be changed later. 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 +61,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() @@ -79,7 +70,6 @@ StreamProto Stream::serialize() serialized.set_stream_header(stream_header); serialized.add_data_fds(data_fd); serialized.set_backlog_size(backlog_size); - serialized.set_prebuffering_bytes(prebuffering_bytes); serialized.set_bytes_received(bytes_received); for (size_t point : suitable_starting_points) { serialized.add_suitable_starting_point(point); @@ -235,7 +225,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 +264,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; }