From b5007ffc2decdfeacf02f722ff889f0b7ed3b68b Mon Sep 17 00:00:00 2001 From: Ricardo Cerqueira Date: Mon, 27 Jan 2014 21:16:04 +0000 Subject: camera: Hold 25 msec between preview cycles on restart If doing a preview restart with an active listener, give said listener a bit of time to clean up before starting up the preview again. This should be sufficient to prevent shutdown/start race conditions during externally triggered restarts. Change-Id: Id4a722c472eeffb50a332b0dabc29d9e23062883 --- camera/exynos_camera.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'camera') diff --git a/camera/exynos_camera.c b/camera/exynos_camera.c index f0cb0c3..9657eea 100644 --- a/camera/exynos_camera.c +++ b/camera/exynos_camera.c @@ -2636,6 +2636,8 @@ void *exynos_camera_preview_thread(void *data) } if (exynos_camera->preview_listener->busy) { + // Prevent preview restart race conditions + usleep((useconds_t)25 * 1000); rc = exynos_camera_preview(exynos_camera); if (rc < 0) { ALOGE("%s: Unable to preview", __func__); -- cgit v1.1