Revert "pipeline: raspberrypi: Do not unconditionally free buffers on close"
This reverts commit30d704732b
. It turns out that this commit causes some regressions and is in fact unnecessary because the related commit "libcamera: v4l2_videodevice: Guard against releasing unallocated buffers" (a2bdff6d0b
) fixes the problem completely (if the buffers were never allocated, the video device avoids trying to free them even if the pipeline handler asks). The reason for the regressions is that in this new (broken) scheme we would never call clearBuffers() on all the streams if the internal buffers were never allocated (i.e. buffersAllocated_ is never set). This causes the stream's bufferMap_ list to get longer and longer if there are multiple back-to-back calls to configure, and dev_->importBuffers() will ultimately to fail. So either we need to think more carefully about how to stop the pipeline handler from freeing buffers that it doesn't own, or we just leave it as the other commit resolves the problem on its own. In the interim, simply reverting this commit certainly seems like the best solution. Fixes:30d704732b
("pipeline: raspberrypi: Do not unconditionally free buffers on close") Signed-off-by: David Plowman <david.plowman@raspberrypi.com> Reviewed-by: Naushir Patuck <naush@raspberrypi.com> Acked-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
parent
bf7226f4c4
commit
75e7befb16
1 changed files with 0 additions and 3 deletions
|
@ -1506,9 +1506,6 @@ void PipelineHandlerRPi::mapBuffers(Camera *camera, const RPi::BufferMap &buffer
|
|||
|
||||
void RPiCameraData::freeBuffers()
|
||||
{
|
||||
if (!buffersAllocated_)
|
||||
return;
|
||||
|
||||
if (ipa_) {
|
||||
/*
|
||||
* Copy the buffer ids from the unordered_set to a vector to
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue