android: camera_stream: Add sourceStream

Add a sourceStream field to the CameraStream class, meant to contain a
reference to the direct stream which produces actual image data for
streams of type CameraStream::Mapped.

The sourceStream of mapped streams will be used in later patches to make
sure for each Mapped stream at least one libcamera::Stream is queued to
the libcamera::Camera.

Signed-off-by: Hirokazu Honda <hiroh@chromium.org>
Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
Reviewed-by: Umang Jain <umang.jain@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
Hirokazu Honda
2022-05-27 18:34:36 +09:00
committed by Jacopo Mondi
parent b4d4b78c82
commit fec64fb75a
3 changed files with 23 additions and 4 deletions
+5 -1
View File
@@ -114,7 +114,9 @@ public:
};
CameraStream(CameraDevice *const cameraDevice,
libcamera::CameraConfiguration *config, Type type,
camera3_stream_t *camera3Stream, unsigned int index);
camera3_stream_t *camera3Stream,
CameraStream *const sourceStream,
unsigned int index);
CameraStream(CameraStream &&other);
~CameraStream();
@@ -122,6 +124,7 @@ public:
camera3_stream_t *camera3Stream() const { return camera3Stream_; }
const libcamera::StreamConfiguration &configuration() const;
libcamera::Stream *stream() const;
CameraStream *sourceStream() const { return sourceStream_; }
int configure();
int process(Camera3RequestDescriptor::StreamBuffer *streamBuffer);
@@ -167,6 +170,7 @@ private:
const libcamera::CameraConfiguration *config_;
const Type type_;
camera3_stream_t *camera3Stream_;
CameraStream *const sourceStream_;
const unsigned int index_;
std::unique_ptr<PlatformFrameBufferAllocator> allocator_;