File tree Expand file tree Collapse file tree 1 file changed +8
-4
lines changed
Expand file tree Collapse file tree 1 file changed +8
-4
lines changed Original file line number Diff line number Diff line change @@ -1331,13 +1331,17 @@ def set_controls(self, controls) -> None:
13311331
13321332 def process_requests (self , display ) -> None :
13331333 # This is the function that the event loop, which runs externally to us, must call.
1334- requests = []
1334+ new_requests = []
13351335 with self ._requestslock :
1336- requests = self ._requests
1336+ new_requests = self ._requests
13371337 self ._requests = []
13381338 # Discard "startup frames", or frames with errors etc.
1339- requests = [req for req in requests
1340- if next (iter (req .request .buffers .values ())).metadata .status == libcamera .FrameMetadata .Status .Success ]
1339+ requests = []
1340+ for req in new_requests :
1341+ if next (iter (req .request .buffers .values ())).metadata .status == libcamera .FrameMetadata .Status .Success :
1342+ requests .append (req )
1343+ else :
1344+ req .release ()
13411345 self .frames += len (requests )
13421346 # It works like this:
13431347 # * We maintain a list of the requests that libcamera has completed (completed_requests).
You can’t perform that action at this time.
0 commit comments