[libcamera-devel] [PATCH 2/2] libcamera: pipeline: raspberrypi: Free buffers when a camera is released
Kieran Bingham
kieran.bingham at ideasonboard.com
Fri Nov 11 15:08:28 CET 2022
Quoting David Plowman via libcamera-devel (2022-11-11 13:30:25)
> Implement the PipelineHandlerRPi::releaseDevice method which allows
> us to free any allocated buffers when a camera is released.
>
> Signed-off-by: David Plowman <david.plowman at raspberrypi.com>
Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
> ---
> src/libcamera/pipeline/raspberrypi/raspberrypi.cpp | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp
> index f15fa28b..785eddf9 100644
> --- a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp
> +++ b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp
> @@ -337,6 +337,8 @@ public:
>
> bool match(DeviceEnumerator *enumerator) override;
>
> + void releaseDevice(Camera *camera) override;
> +
> private:
> RPiCameraData *cameraData(Camera *camera)
> {
> @@ -1193,6 +1195,12 @@ bool PipelineHandlerRPi::match(DeviceEnumerator *enumerator)
> return !!numCameras;
> }
>
> +void PipelineHandlerRPi::releaseDevice(Camera *camera)
> +{
> + RPiCameraData *data = cameraData(camera);
> + data->freeBuffers();
> +}
> +
> int PipelineHandlerRPi::registerCamera(MediaDevice *unicam, MediaDevice *isp, MediaEntity *sensorEntity)
> {
> std::unique_ptr<RPiCameraData> data = std::make_unique<RPiCameraData>(this);
> --
> 2.30.2
>
More information about the libcamera-devel
mailing list