[libcamera-devel] [PATCH] qcam: Clear the pool of free requests upon stopCapture()

Jean-Michel Hautbois jeanmichel.hautbois at ideasonboard.com
Thu Nov 12 09:34:09 CET 2020


Hi Paul,

Thanks for the patch !

On 12/11/2020 08:24, Laurent Pinchart wrote:
> Hi Paul,
> 
> Thank you for the patch.
> 
> On Thu, Nov 12, 2020 at 02:02:43PM +0900, Paul Elder wrote:
>> To enable reusing Request objects, we kept a pool of free Requests. This
>> pool was not cleared upon stopping capture, however, which caused a
>> segfault when switching to another camera. Fix this by clearing the
>> Request pool on stopCapture().
>>
>> Fixes: c753223ad6b9 ("libcamera, android, cam, gstreamer, qcam, v4l2:
>> Reuse Request")
>> Signed-off-by: Paul Elder <paul.elder at ideasonboard.com>
> 
> Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>

Tested-by: Jean-Michel Hautbois <jeanmichel.hautbois at ideasonboard.com>
> 
>> ---
>>  src/qcam/main_window.cpp | 1 +
>>  1 file changed, 1 insertion(+)
>>
>> diff --git a/src/qcam/main_window.cpp b/src/qcam/main_window.cpp
>> index f140313e..2502ecd4 100644
>> --- a/src/qcam/main_window.cpp
>> +++ b/src/qcam/main_window.cpp
>> @@ -579,6 +579,7 @@ void MainWindow::stopCapture()
>>  	mappedBuffers_.clear();
>>  
>>  	requests_.clear();
>> +	freeQueue_.clear();
>>  
>>  	delete allocator_;
>>  
> 


More information about the libcamera-devel mailing list