android: camera_device: Move processing to CameraStream

Move the JPEG processing procedure to the individual CameraStream
by augmenting the class with a CameraStream::process() method.

This allows removing the CameraStream::encoder() method.

Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
This commit is contained in:
Jacopo Mondi 2020-10-03 11:28:47 +02:00
parent 160bb0998b
commit 9e95d5e453
4 changed files with 80 additions and 67 deletions

View file

@ -11,12 +11,15 @@
#include <hardware/camera3.h>
#include <libcamera/buffer.h>
#include <libcamera/camera.h>
#include <libcamera/geometry.h>
#include <libcamera/pixel_format.h>
class CameraDevice;
class Encoder;
class CameraDevice;
class CameraMetadata;
class MappedCamera3Buffer;
class CameraStream
{
@ -113,9 +116,10 @@ public:
const libcamera::Size &size() const { return size_; }
Type type() const { return type_; }
unsigned int index() const { return index_; }
Encoder *encoder() const { return encoder_.get(); }
int configure(const libcamera::StreamConfiguration &cfg);
int process(const libcamera::FrameBuffer &source,
MappedCamera3Buffer *dest, CameraMetadata *metadata);
private:
CameraDevice *cameraDevice_;