libcamera: pipeline: raspberrypi: Free buffers when a camera is released
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@raspberrypi.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Reviewed-by: Naushir Patuck <naush@raspberrypi.com> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
parent
a5fdf63e90
commit
d2636d5964
1 changed files with 8 additions and 0 deletions
|
@ -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);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue