#include <string.h>
#include <sys/ioctl.h>
+#include <unistd.h>
+
#include "ci_adv_pub.h"
#include "mfld_cam.h"
#include "mfld_driver.h"
#include <glib.h>
#include <pthread.h>
#include <errno.h>
+#include <semaphore.h>
+
+sem_t g_sem_3a;
/* Focus Status Map */
static const int ci_adv_focus_status_map[][2] =
mfldcam_3a_process (gpointer data)
{
for (;;) {
+ sem_wait(&g_sem_3a);
/* Read 3A statistics */
if (mfld_driver.ae_enabled || mfld_driver.af_enabled
|| mfld_driver.awb_enabled || mfld_driver.dis_enabled
cam_driver_dbg ("%s: Error dqbuf %d\n", __func__, frame_cnt);
return CAM_ERR_SYS;
}
+ sem_post(&g_sem_3a);
/* DIS and DVS processing */
if (dis_enabled || mfld_driver.dvs_enabled)