diff options
| author | Carl Hetherington <cth@carlh.net> | 2023-07-08 01:13:04 +0200 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2024-01-28 02:01:57 +0100 |
| commit | dabc316eb22a4c84a15b266bf07f335a6cd9dca3 (patch) | |
| tree | 1986f2f32faca06ce7447ff091796e0d3d0f4295 /src/lib/grok/messenger.h | |
| parent | b054a6fe8359d91ed6afd5a250abd766cfafa196 (diff) | |
Remove default constructor from DCPVideo.
Diffstat (limited to 'src/lib/grok/messenger.h')
| -rw-r--r-- | src/lib/grok/messenger.h | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/src/lib/grok/messenger.h b/src/lib/grok/messenger.h index 45ee752e5..86a50d530 100644 --- a/src/lib/grok/messenger.h +++ b/src/lib/grok/messenger.h @@ -825,22 +825,20 @@ static void processorThread(Messenger* messenger, std::function<void(std::string template<typename F> struct ScheduledFrames { - void store(F& val) + void store(F const& val) { std::unique_lock<std::mutex> lk(mapMutex_); auto it = map_.find(val.index()); if (it == map_.end()) - map_[val.index()] = val; + map_.emplace(std::make_pair(val.index(), val)); } - F retrieve(size_t index, bool &success) + boost::optional<F> retrieve(size_t index) { std::unique_lock<std::mutex> lk(mapMutex_); - success = false; auto it = map_.find(index); if(it == map_.end()) - return F(); + return {}; - success = true; F val = it->second; map_.erase(index); @@ -862,7 +860,7 @@ struct ScheduledMessenger : public Messenger ~ScheduledMessenger(void) { shutdown(); } - bool scheduleCompress(F proxy, std::function<void(BufferSrc)> converter){ + bool scheduleCompress(F const& proxy, std::function<void(BufferSrc const&)> converter){ size_t frameSize = init_.uncompressedFrameSize_; assert(frameSize >= init_.uncompressedFrameSize_); BufferSrc src; @@ -882,11 +880,11 @@ struct ScheduledMessenger : public Messenger auto compressedFrameId = msg.nextUint(); auto compressedFrameLength = msg.nextUint(); if (!needsRecompression) { - bool success = false; - auto srcFrame = scheduledFrames_.retrieve(clientFrameId,success); - if (!success) + auto src_frame = scheduledFrames_.retrieve(clientFrameId); + if (!src_frame) { return; - processor(srcFrame, getCompressedFrame(compressedFrameId),compressedFrameLength); + } + processor(*src_frame, getCompressedFrame(compressedFrameId),compressedFrameLength); } ++framesCompressed_; send(GRK_MSGR_BATCH_PROCESSSED_COMPRESSED, compressedFrameId); @@ -914,9 +912,11 @@ struct ScheduledMessenger : public Messenger } } - F retrieve(size_t index, bool &success) { - return scheduledFrames_.retrieve(index, success); + + boost::optional<F> retrieve(size_t index) { + return scheduledFrames_.retrieve(index); } + void store(F& val) { scheduledFrames_.store(val); } |
