summaryrefslogtreecommitdiff
path: root/src/libcamera/framebuffer_allocator.cpp
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2020-03-14 16:14:27 +0200
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2020-03-18 19:15:18 +0200
commit9da27d5d844fa1378a4897a637c45ade275cc7e5 (patch)
tree712a781b2134e53130bed0477e6370ad65677ecc /src/libcamera/framebuffer_allocator.cpp
parent7d8604128ab0f11da459fdb43fd8366620afe7f5 (diff)
libcamera: pipeline_handler: Decouple buffer import and export
Use the V4L2 buffer orphaning feature, exposed through V4L2VideoDevice::exportBuffers(), to decouple buffer import and export. The PipelineHandler::importFrameBuffers() function is now called for all streams regardless of whether exportFrameBuffers() has been called or not. This simplifies the Camera implementation slightly, and opens the door to additional simplifications. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Diffstat (limited to 'src/libcamera/framebuffer_allocator.cpp')
-rw-r--r--src/libcamera/framebuffer_allocator.cpp9
1 files changed, 0 insertions, 9 deletions
diff --git a/src/libcamera/framebuffer_allocator.cpp b/src/libcamera/framebuffer_allocator.cpp
index e79f4a8f..6f7a2e90 100644
--- a/src/libcamera/framebuffer_allocator.cpp
+++ b/src/libcamera/framebuffer_allocator.cpp
@@ -87,11 +87,6 @@ FrameBufferAllocator::FrameBufferAllocator(std::shared_ptr<Camera> camera)
FrameBufferAllocator::~FrameBufferAllocator()
{
- for (auto &value : buffers_) {
- Stream *stream = value.first;
- camera_->freeFrameBuffers(stream);
- }
-
buffers_.clear();
camera_->allocator_ = nullptr;
@@ -148,10 +143,6 @@ int FrameBufferAllocator::free(Stream *stream)
if (iter == buffers_.end())
return -EINVAL;
- int ret = camera_->freeFrameBuffers(stream);
- if (ret < 0)
- return ret;
-
std::vector<std::unique_ptr<FrameBuffer>> &buffers = iter->second;
buffers.clear();
buffers_.erase(iter);