summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/libcamera/pipeline/raspberrypi/raspberrypi.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp
index 7c545500..087c71b6 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);