diff options
author | Timur Pocheptsov <timur.pocheptsov@qt.io> | 2017-06-19 14:08:46 +0200 |
---|---|---|
committer | Timur Pocheptsov <timur.pocheptsov@qt.io> | 2017-06-26 11:32:07 +0000 |
commit | f6d8fa50ff22418548e099a4a6e5dc7d6bb37287 (patch) | |
tree | e91e121030c58db7d1e6a3156e20d7cc793ba19c /examples/examples.pro | |
parent | 9649a6ed9853fda10392b8cf332ddc94c7361d09 (diff) |
AVFImageCaptureControl - do not block the capture's callback
It's possible to initiate an asynchronous image capture
(via AVCaptureStillImageOutput object) and immediately
stop AVCaptureSession. In this case image capture's callback
can potentially block forever, waiting for a semaphore: (if)
no new frames arrive after 'stop' (on whatever thread
AVFoundation/GDC chooses), this semaphore is never released.
To avoid this we try to acquire a semaphore with a (reasonable)
timeout and report an error in case of failure. To make sure
we are not leaking a semaphore and not creating a danling pointer,
we use a QSharedPointer now.
Task-number: QTBUG-61367
Change-Id: I208cd463f843bc807b53b23ac9651aab0382775a
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Diffstat (limited to 'examples/examples.pro')
0 files changed, 0 insertions, 0 deletions