Я работаю с Android Camera2 API и получаю это после получения набора фотографий с камеры на мой смартфон с Android версия 6.0 (API 23):
2020-04-09 20:36:58.556 260-9342/? E/Camera3-Stream: getBuffer: wait for output buffer return timed out after 3000ms
2020-04-09 20:36:58.556 260-9342/? E/Camera3-Device: RequestThread: Can't get output buffer, skipping request: Connection timed out
После этой ошибки камера блокирует, изображения перестают отправляться, и мне нужно повторно открыть CameraDevice для получения нового набора изображений.
Я использую BackgroundHandler для обработки получения изображений с камеры в BackgroundThread . Затем я создаю дополнительный BackgroundThread для обработки каждого изображения с помощью функций библиотеки OpenCV. Но, У меня есть только один рабочий дополнительный BackgroundThread одновременно . (Некоторые изображения я пропускаю и создаю новый поток, только если нет другого подобного потока.)
Для получения изображений я использую CameraCaptureSession с setRepeatingRequest функция. А также я делаю клон каждого буфера изображения перед обработкой. Итак, мой вопрос: почему произошли ошибки и как их преодолеть?