Issue #1201: auto-focus problem was fixed. Binaries were rebuilt.
authorAlexander Smorkalov <no@email>
Wed, 21 Mar 2012 06:52:18 +0000 (06:52 +0000)
committerAlexander Smorkalov <no@email>
Wed, 21 Mar 2012 06:52:18 +0000 (06:52 +0000)
14 files changed:
3rdparty/lib/armeabi-v7a/libnative_camera_r2.2.0.so [new file with mode: 0755]
3rdparty/lib/armeabi-v7a/libnative_camera_r2.2.2.so [deleted file]
3rdparty/lib/armeabi-v7a/libnative_camera_r2.3.3.so
3rdparty/lib/armeabi-v7a/libnative_camera_r3.0.1.so
3rdparty/lib/armeabi-v7a/libnative_camera_r4.0.0.so
3rdparty/lib/armeabi-v7a/libnative_camera_r4.0.3.so
3rdparty/lib/armeabi/libnative_camera_r2.2.0.so [new file with mode: 0755]
3rdparty/lib/armeabi/libnative_camera_r2.2.2.so [deleted file]
3rdparty/lib/armeabi/libnative_camera_r2.3.3.so
3rdparty/lib/armeabi/libnative_camera_r3.0.1.so
3rdparty/lib/armeabi/libnative_camera_r4.0.0.so [new file with mode: 0755]
3rdparty/lib/armeabi/libnative_camera_r4.0.3.so [new file with mode: 0755]
modules/androidcamera/camera_wrapper/android.3.0.1/README
modules/androidcamera/camera_wrapper/camera_wrapper.cpp

diff --git a/3rdparty/lib/armeabi-v7a/libnative_camera_r2.2.0.so b/3rdparty/lib/armeabi-v7a/libnative_camera_r2.2.0.so
new file mode 100755 (executable)
index 0000000..a7ff287
Binary files /dev/null and b/3rdparty/lib/armeabi-v7a/libnative_camera_r2.2.0.so differ
diff --git a/3rdparty/lib/armeabi-v7a/libnative_camera_r2.2.2.so b/3rdparty/lib/armeabi-v7a/libnative_camera_r2.2.2.so
deleted file mode 100644 (file)
index 8bed2ae..0000000
Binary files a/3rdparty/lib/armeabi-v7a/libnative_camera_r2.2.2.so and /dev/null differ
index f4eac81..6407814 100644 (file)
Binary files a/3rdparty/lib/armeabi-v7a/libnative_camera_r2.3.3.so and b/3rdparty/lib/armeabi-v7a/libnative_camera_r2.3.3.so differ
index 630af97..b8c65ed 100755 (executable)
Binary files a/3rdparty/lib/armeabi-v7a/libnative_camera_r3.0.1.so and b/3rdparty/lib/armeabi-v7a/libnative_camera_r3.0.1.so differ
index 4c3ebbc..9c087a2 100755 (executable)
Binary files a/3rdparty/lib/armeabi-v7a/libnative_camera_r4.0.0.so and b/3rdparty/lib/armeabi-v7a/libnative_camera_r4.0.0.so differ
index 998abe4..928cbd6 100755 (executable)
Binary files a/3rdparty/lib/armeabi-v7a/libnative_camera_r4.0.3.so and b/3rdparty/lib/armeabi-v7a/libnative_camera_r4.0.3.so differ
diff --git a/3rdparty/lib/armeabi/libnative_camera_r2.2.0.so b/3rdparty/lib/armeabi/libnative_camera_r2.2.0.so
new file mode 100755 (executable)
index 0000000..a7ff287
Binary files /dev/null and b/3rdparty/lib/armeabi/libnative_camera_r2.2.0.so differ
diff --git a/3rdparty/lib/armeabi/libnative_camera_r2.2.2.so b/3rdparty/lib/armeabi/libnative_camera_r2.2.2.so
deleted file mode 100755 (executable)
index c4e5d66..0000000
Binary files a/3rdparty/lib/armeabi/libnative_camera_r2.2.2.so and /dev/null differ
index 2893164..6407814 100755 (executable)
Binary files a/3rdparty/lib/armeabi/libnative_camera_r2.3.3.so and b/3rdparty/lib/armeabi/libnative_camera_r2.3.3.so differ
index f1c3265..b8c65ed 100755 (executable)
Binary files a/3rdparty/lib/armeabi/libnative_camera_r3.0.1.so and b/3rdparty/lib/armeabi/libnative_camera_r3.0.1.so differ
diff --git a/3rdparty/lib/armeabi/libnative_camera_r4.0.0.so b/3rdparty/lib/armeabi/libnative_camera_r4.0.0.so
new file mode 100755 (executable)
index 0000000..9c087a2
Binary files /dev/null and b/3rdparty/lib/armeabi/libnative_camera_r4.0.0.so differ
diff --git a/3rdparty/lib/armeabi/libnative_camera_r4.0.3.so b/3rdparty/lib/armeabi/libnative_camera_r4.0.3.so
new file mode 100755 (executable)
index 0000000..928cbd6
Binary files /dev/null and b/3rdparty/lib/armeabi/libnative_camera_r4.0.3.so differ
index 90634cf..b6b26c3 100644 (file)
@@ -5,4 +5,5 @@ Building camera wrapper for Android 3.0.1:
 3) Get frameworks/base/include/gui/ISurfaceTexture.h and frameworks/base/include/gui/SurfaceTexture.h from Android 4.0.x (4.0.3 were used) sources and add them to your source tree.
 4) Apply provided patch to the frameworks/base/include/gui/SurfaceTexture.h.
 5) Pull /system/lib from your device running Andoid 3.x.x
-6) Build wrapper as normal using this modified source tree.
\ No newline at end of file
+6) Edit <Android Root>/development/sdk/platform_source.properties file. Set Android version to 3.0.1.
+7) Build wrapper as normal using this modified source tree.
\ No newline at end of file
index ec5f72c..f5a713f 100644 (file)
@@ -1,4 +1,4 @@
-#if !defined(ANDROID_r2_2_2) && !defined(ANDROID_r2_3_3) && !defined(ANDROID_r3_0_1) && !defined(ANDROID_r4_0_0) && !defined(ANDROID_r4_0_3)
+#if !defined(ANDROID_r2_2_0) && !defined(ANDROID_r2_3_3) && !defined(ANDROID_r3_0_1) && !defined(ANDROID_r4_0_0) && !defined(ANDROID_r4_0_3)
 # error Building camera wrapper for your version of Android is not supported by OpenCV. You need to modify OpenCV sources in order to compile camera wrapper for your version of Android.
 #endif
 
@@ -227,7 +227,7 @@ CameraHandler* CameraHandler::initCameraConnect(const CameraCallback& callback,
 
     sp<Camera> camera = 0;
 
-#ifdef ANDROID_r2_2_2
+#ifdef ANDROID_r2_2_0
     camera = Camera::connect();
 #else 
     /* This is 2.3 or higher. The connect method has cameraID parameter */
@@ -313,9 +313,19 @@ CameraHandler* CameraHandler::initCameraConnect(const CameraCallback& callback,
         }
     }
 
+    const char* available_focus_modes = handler->params.get(CameraParameters::KEY_SUPPORTED_FOCUS_MODES);
+    if (available_focus_modes != 0)
+    {
+        // find auto focus mode
+        if (strstr(available_focus_modes, "auto") != NULL)
+        {
+            handler->params.set(CameraParameters::KEY_FOCUS_MODE, CameraParameters::FOCUS_MODE_AUTO);
+            camera->autoFocus();
+        }
+    }
 
     status_t pdstatus;
-#if defined(ANDROID_r2_2_2)
+#if defined(ANDROID_r2_2_0)
     pdstatus = camera->setPreviewDisplay(sp<ISurface>(0 /*new DummySurface*/));
     if (pdstatus != 0)
         LOGE("initCameraConnect: failed setPreviewDisplay(0) call; camera migth not work correctly on some devices");