summaryrefslogtreecommitdiffstats
path: root/examples/multimediawidgets
diff options
context:
space:
mode:
authorTimur Pocheptsov <timur.pocheptsov@qt.io>2017-06-19 14:08:46 +0200
committerTimur Pocheptsov <timur.pocheptsov@qt.io>2017-06-26 11:32:07 +0000
commitf6d8fa50ff22418548e099a4a6e5dc7d6bb37287 (patch)
treee91e121030c58db7d1e6a3156e20d7cc793ba19c /examples/multimediawidgets
parent9649a6ed9853fda10392b8cf332ddc94c7361d09 (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/multimediawidgets')
0 files changed, 0 insertions, 0 deletions