diff options
-rw-r--r-- | src/libcamera/request.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/libcamera/request.cpp b/src/libcamera/request.cpp index b206ac13..7f1e11e8 100644 --- a/src/libcamera/request.cpp +++ b/src/libcamera/request.cpp @@ -484,15 +484,14 @@ int Request::addBuffer(const Stream *stream, FrameBuffer *buffer, return -EEXIST; } - auto it = bufferMap_.find(stream); - if (it != bufferMap_.end()) { + auto [it, inserted] = bufferMap_.try_emplace(stream, buffer); + if (!inserted) { LOG(Request, Error) << "FrameBuffer already set for stream"; return -EEXIST; } buffer->_d()->setRequest(this); _d()->pending_.insert(buffer); - bufferMap_[stream] = buffer; if (fence && fence->isValid()) buffer->_d()->setFence(std::move(fence)); |