summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2020-03-15 01:27:43 +0200
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2020-03-18 19:15:18 +0200
commit4ff18e95063bbb70f6e0971774fcd2a1b0ad2b58 (patch)
treef3562d679096cfb95a203fed3b61ff0bd3a88267 /include
parent33fedea818e2b6a9ed68ac86acf194b1a2da8828 (diff)
libcamera: framebuffer_allocator: Lift camera restrictions on allocator
The Camera class currently requires the allocator to have no allocated buffer before the camera is reconfigured, and the allocator to be destroyed before the camera is released. There's no basis for these restrictions anymore, remove them. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Diffstat (limited to 'include')
-rw-r--r--include/libcamera/camera.h2
-rw-r--r--include/libcamera/framebuffer_allocator.h5
2 files changed, 1 insertions, 6 deletions
diff --git a/include/libcamera/camera.h b/include/libcamera/camera.h
index a5e2b49f..9c0e58f7 100644
--- a/include/libcamera/camera.h
+++ b/include/libcamera/camera.h
@@ -113,8 +113,6 @@ private:
friend class FrameBufferAllocator;
int exportFrameBuffers(Stream *stream,
std::vector<std::unique_ptr<FrameBuffer>> *buffers);
- /* \todo Remove allocator_ from the exposed API */
- FrameBufferAllocator *allocator_;
};
} /* namespace libcamera */
diff --git a/include/libcamera/framebuffer_allocator.h b/include/libcamera/framebuffer_allocator.h
index 42812253..78f13539 100644
--- a/include/libcamera/framebuffer_allocator.h
+++ b/include/libcamera/framebuffer_allocator.h
@@ -20,8 +20,7 @@ class Stream;
class FrameBufferAllocator
{
public:
- static FrameBufferAllocator *create(std::shared_ptr<Camera> camera);
-
+ FrameBufferAllocator(std::shared_ptr<Camera> camera);
FrameBufferAllocator(const Camera &) = delete;
FrameBufferAllocator &operator=(const Camera &) = delete;
@@ -34,8 +33,6 @@ public:
const std::vector<std::unique_ptr<FrameBuffer>> &buffers(Stream *stream) const;
private:
- FrameBufferAllocator(std::shared_ptr<Camera> camera);
-
std::shared_ptr<Camera> camera_;
std::map<Stream *, std::vector<std::unique_ptr<FrameBuffer>>> buffers_;
};