Ошибка AVCaptureSession -11819 при захвате видео

В моем приложении я захватываю видео через AVCaptureSession, используя обратный вызов:

- (void)captureOutput:(AVCaptureOutput *)captureOutput
didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer 
       fromConnection:(AVCaptureConnection *)connection 

Это работает нормально в 95% случаев, но иногда слой предварительного просмотра зависает, и я получаю следующую ошибку в своей консоли Xcode:

AVCaptureSessionErrorKey = "Error Domain=AVFoundationErrorDomain Code=-11819 \"Cannot Complete Action\" UserInfo=0x170473bc0 {NSLocalizedDescription=Cannot Complete Action, NSLocalizedRecoverySuggestion=Try again later.}";

Любая идея, откуда может появиться эта ошибка? Это на iPhone 6+ под управлением iOS 8.2.


person Joris Mans    schedule 21.04.2015    source источник


Ответы (1)


Я видел это, и проблема заключается в методе stopRunning. Этот метод является синхронным и блокируется до тех пор, пока работа приемника полностью не прекратится. Исправление в моем случае заключалось в вызове метода в неблокирующем потоке. -11819, по-видимому, указывает на истечение времени ожидания метода.

person Dare    schedule 22.04.2015
comment
Но почему проблема возникает при фактическом запуске захвата? - person Joris Mans; 22.04.2015