summaryrefslogtreecommitdiffstats
path: root/camera/libcameraservice/CameraHardwareStub.cpp
diff options
context:
space:
mode:
authorChih-Chung Chang <chihchung@google.com>2010-06-10 13:32:16 +0800
committerChih-Chung Chang <chihchung@google.com>2010-06-11 16:47:33 +0800
commitb8bb78f54b48868465a9d69d65fda08524ab5ae1 (patch)
treefadbdd8dd989ce2b3b29cd780fabc91d7f98dd09 /camera/libcameraservice/CameraHardwareStub.cpp
parent2fd73a452268d2acb6e72a1d23a422085ed3c510 (diff)
downloadframeworks_base-b8bb78f54b48868465a9d69d65fda08524ab5ae1.zip
frameworks_base-b8bb78f54b48868465a9d69d65fda08524ab5ae1.tar.gz
frameworks_base-b8bb78f54b48868465a9d69d65fda08524ab5ae1.tar.bz2
Change camera interface to support multiple cameras.
Change-Id: Ie88fe706d2278acf762eca87780de349434778a4
Diffstat (limited to 'camera/libcameraservice/CameraHardwareStub.cpp')
-rw-r--r--camera/libcameraservice/CameraHardwareStub.cpp19
1 files changed, 18 insertions, 1 deletions
diff --git a/camera/libcameraservice/CameraHardwareStub.cpp b/camera/libcameraservice/CameraHardwareStub.cpp
index fda48e8..b3e0ee6 100644
--- a/camera/libcameraservice/CameraHardwareStub.cpp
+++ b/camera/libcameraservice/CameraHardwareStub.cpp
@@ -385,7 +385,24 @@ sp<CameraHardwareInterface> CameraHardwareStub::createInstance()
return new CameraHardwareStub();
}
-extern "C" sp<CameraHardwareInterface> openCameraHardwareStub()
+static CameraInfo sCameraInfo[] = {
+ {
+ CAMERA_FACING_BACK,
+ 90, /* orientation */
+ }
+};
+
+extern "C" int HAL_getNumberOfCameras()
+{
+ return sizeof(sCameraInfo) / sizeof(sCameraInfo[0]);
+}
+
+extern "C" void HAL_getCameraInfo(int cameraId, struct CameraInfo* cameraInfo)
+{
+ memcpy(cameraInfo, &sCameraInfo[cameraId], sizeof(CameraInfo));
+}
+
+extern "C" sp<CameraHardwareInterface> HAL_openCameraHardware(int cameraId)
{
return CameraHardwareStub::createInstance();
}