From be3e3ebc92d8ffba8a03483f05e7956e33726c4e Mon Sep 17 00:00:00 2001
From: Jacopo Mondi <jacopo@jmondi.org>
Date: Fri, 28 Jun 2019 10:03:02 +0200
Subject: libcamera: stream: Shorten access to the bufferPool
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

All interactions with the Stream's buffers currently go through the
BufferPool. In order to shorten accessing the buffers array, and eventually
restrict access to the Stream's internal buffer pool, provide operations to
access, create and destroy buffers.

It is still possible to access the pool for pipeline handlers to
populate it by exporting buffers from a video device to Stream's pool.

Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
---
 include/libcamera/stream.h | 4 ++++
 1 file changed, 4 insertions(+)

(limited to 'include')

diff --git a/include/libcamera/stream.h b/include/libcamera/stream.h
index f595a630..bc14fb60 100644
--- a/include/libcamera/stream.h
+++ b/include/libcamera/stream.h
@@ -71,11 +71,15 @@ public:
 	std::unique_ptr<Buffer> createBuffer(unsigned int index);
 
 	BufferPool &bufferPool() { return bufferPool_; }
+	std::vector<BufferMemory> &buffers() { return bufferPool_.buffers(); }
 	const StreamConfiguration &configuration() const { return configuration_; }
 
 protected:
 	friend class Camera;
 
+	void createBuffers(unsigned int count);
+	void destroyBuffers();
+
 	BufferPool bufferPool_;
 	StreamConfiguration configuration_;
 };
-- 
cgit v1.2.1