OSDN Git Service

Camera: Rename new API to camera2, rearrange camera service
authorEino-Ville Talvala <etalvala@google.com>
Fri, 26 Jul 2013 00:12:35 +0000 (17:12 -0700)
committerEino-Ville Talvala <etalvala@google.com>
Tue, 30 Jul 2013 17:58:44 +0000 (10:58 -0700)
 - Support API rename from photography to camera2
 - Reorganize camera service files
   - API support files to api1/, api2/, api_pro/
   - HAL device support files into device{1,2,3}/
   - Common files into common/
   - Camera service remains at top-level

Change-Id: Ie474c12536f543832fba0a2dc936ac4fd39fe6a9

67 files changed:
camera/Android.mk
camera/ICameraService.cpp
camera/camera2/CaptureRequest.cpp [moved from camera/photography/CaptureRequest.cpp with 98% similarity]
camera/camera2/ICameraDeviceCallbacks.cpp [moved from camera/photography/ICameraDeviceCallbacks.cpp with 96% similarity]
camera/camera2/ICameraDeviceUser.cpp [moved from camera/photography/ICameraDeviceUser.cpp with 98% similarity]
include/camera/camera2/CaptureRequest.h [moved from include/camera/photography/CaptureRequest.h with 100% similarity]
include/camera/camera2/ICameraDeviceCallbacks.h [moved from include/camera/photography/ICameraDeviceCallbacks.h with 100% similarity]
include/camera/camera2/ICameraDeviceUser.h [moved from include/camera/photography/ICameraDeviceUser.h with 100% similarity]
services/camera/libcameraservice/Android.mk
services/camera/libcameraservice/CameraDeviceFactory.cpp
services/camera/libcameraservice/CameraDeviceFactory.h
services/camera/libcameraservice/CameraService.cpp
services/camera/libcameraservice/CameraService.h
services/camera/libcameraservice/api1/Camera2Client.cpp [moved from services/camera/libcameraservice/Camera2Client.cpp with 99% similarity]
services/camera/libcameraservice/api1/Camera2Client.h [moved from services/camera/libcameraservice/Camera2Client.h with 92% similarity]
services/camera/libcameraservice/api1/CameraClient.cpp [moved from services/camera/libcameraservice/CameraClient.cpp with 99% similarity]
services/camera/libcameraservice/api1/CameraClient.h [moved from services/camera/libcameraservice/CameraClient.h with 100% similarity]
services/camera/libcameraservice/api1/client2/BurstCapture.cpp [moved from services/camera/libcameraservice/camera2/BurstCapture.cpp with 97% similarity]
services/camera/libcameraservice/api1/client2/BurstCapture.h [moved from services/camera/libcameraservice/camera2/BurstCapture.h with 96% similarity]
services/camera/libcameraservice/api1/client2/CallbackProcessor.cpp [moved from services/camera/libcameraservice/camera2/CallbackProcessor.cpp with 99% similarity]
services/camera/libcameraservice/api1/client2/CallbackProcessor.h [moved from services/camera/libcameraservice/camera2/CallbackProcessor.h with 97% similarity]
services/camera/libcameraservice/api1/client2/Camera2Heap.h [moved from services/camera/libcameraservice/camera2/Camera2Heap.h with 100% similarity]
services/camera/libcameraservice/api1/client2/CaptureSequencer.cpp [moved from services/camera/libcameraservice/camera2/CaptureSequencer.cpp with 99% similarity]
services/camera/libcameraservice/api1/client2/CaptureSequencer.h [moved from services/camera/libcameraservice/camera2/CaptureSequencer.h with 100% similarity]
services/camera/libcameraservice/api1/client2/FrameProcessor.cpp [moved from services/camera/libcameraservice/camera2/FrameProcessor.cpp with 98% similarity]
services/camera/libcameraservice/api1/client2/FrameProcessor.h [moved from services/camera/libcameraservice/camera2/FrameProcessor.h with 96% similarity]
services/camera/libcameraservice/api1/client2/JpegCompressor.cpp [moved from services/camera/libcameraservice/camera2/JpegCompressor.cpp with 100% similarity]
services/camera/libcameraservice/api1/client2/JpegCompressor.h [moved from services/camera/libcameraservice/camera2/JpegCompressor.h with 100% similarity]
services/camera/libcameraservice/api1/client2/JpegProcessor.cpp [moved from services/camera/libcameraservice/camera2/JpegProcessor.cpp with 98% similarity]
services/camera/libcameraservice/api1/client2/JpegProcessor.h [moved from services/camera/libcameraservice/camera2/JpegProcessor.h with 98% similarity]
services/camera/libcameraservice/api1/client2/Parameters.cpp [moved from services/camera/libcameraservice/camera2/Parameters.cpp with 100% similarity]
services/camera/libcameraservice/api1/client2/Parameters.h [moved from services/camera/libcameraservice/camera2/Parameters.h with 100% similarity]
services/camera/libcameraservice/api1/client2/StreamingProcessor.cpp [moved from services/camera/libcameraservice/camera2/StreamingProcessor.cpp with 99% similarity]
services/camera/libcameraservice/api1/client2/StreamingProcessor.h [moved from services/camera/libcameraservice/camera2/StreamingProcessor.h with 99% similarity]
services/camera/libcameraservice/api1/client2/ZslProcessor.cpp [moved from services/camera/libcameraservice/camera2/ZslProcessor.cpp with 99% similarity]
services/camera/libcameraservice/api1/client2/ZslProcessor.h [moved from services/camera/libcameraservice/camera2/ZslProcessor.h with 94% similarity]
services/camera/libcameraservice/api1/client2/ZslProcessor3.cpp [moved from services/camera/libcameraservice/camera2/ZslProcessor3.cpp with 98% similarity]
services/camera/libcameraservice/api1/client2/ZslProcessor3.h [moved from services/camera/libcameraservice/camera2/ZslProcessor3.h with 93% similarity]
services/camera/libcameraservice/api1/client2/ZslProcessorInterface.h [moved from services/camera/libcameraservice/camera2/ZslProcessorInterface.h with 100% similarity]
services/camera/libcameraservice/api2/CameraDeviceClient.cpp [moved from services/camera/libcameraservice/photography/CameraDeviceClient.cpp with 98% similarity]
services/camera/libcameraservice/api2/CameraDeviceClient.h [moved from services/camera/libcameraservice/photography/CameraDeviceClient.h with 93% similarity]
services/camera/libcameraservice/api_pro/ProCamera2Client.cpp [moved from services/camera/libcameraservice/ProCamera2Client.cpp with 98% similarity]
services/camera/libcameraservice/api_pro/ProCamera2Client.h [moved from services/camera/libcameraservice/ProCamera2Client.h with 94% similarity]
services/camera/libcameraservice/common/Camera2ClientBase.cpp [moved from services/camera/libcameraservice/Camera2ClientBase.cpp with 98% similarity]
services/camera/libcameraservice/common/Camera2ClientBase.h [moved from services/camera/libcameraservice/Camera2ClientBase.h with 98% similarity]
services/camera/libcameraservice/common/CameraDeviceBase.cpp [moved from services/camera/libcameraservice/CameraDeviceBase.cpp with 100% similarity]
services/camera/libcameraservice/common/CameraDeviceBase.h [moved from services/camera/libcameraservice/CameraDeviceBase.h with 100% similarity]
services/camera/libcameraservice/common/FrameProcessorBase.cpp [moved from services/camera/libcameraservice/camera2/ProFrameProcessor.cpp with 86% similarity]
services/camera/libcameraservice/common/FrameProcessorBase.h [moved from services/camera/libcameraservice/camera2/ProFrameProcessor.h with 94% similarity]
services/camera/libcameraservice/device1/CameraHardwareInterface.h [moved from services/camera/libcameraservice/CameraHardwareInterface.h with 100% similarity]
services/camera/libcameraservice/device2/Camera2Device.cpp [moved from services/camera/libcameraservice/Camera2Device.cpp with 100% similarity]
services/camera/libcameraservice/device2/Camera2Device.h [moved from services/camera/libcameraservice/Camera2Device.h with 99% similarity]
services/camera/libcameraservice/device3/Camera3Device.cpp [moved from services/camera/libcameraservice/Camera3Device.cpp with 99% similarity]
services/camera/libcameraservice/device3/Camera3Device.h [moved from services/camera/libcameraservice/Camera3Device.h with 98% similarity]
services/camera/libcameraservice/device3/Camera3IOStreamBase.cpp [moved from services/camera/libcameraservice/camera3/Camera3IOStreamBase.cpp with 100% similarity]
services/camera/libcameraservice/device3/Camera3IOStreamBase.h [moved from services/camera/libcameraservice/camera3/Camera3IOStreamBase.h with 100% similarity]
services/camera/libcameraservice/device3/Camera3InputStream.cpp [moved from services/camera/libcameraservice/camera3/Camera3InputStream.cpp with 100% similarity]
services/camera/libcameraservice/device3/Camera3InputStream.h [moved from services/camera/libcameraservice/camera3/Camera3InputStream.h with 100% similarity]
services/camera/libcameraservice/device3/Camera3OutputStream.cpp [moved from services/camera/libcameraservice/camera3/Camera3OutputStream.cpp with 100% similarity]
services/camera/libcameraservice/device3/Camera3OutputStream.h [moved from services/camera/libcameraservice/camera3/Camera3OutputStream.h with 100% similarity]
services/camera/libcameraservice/device3/Camera3OutputStreamInterface.h [moved from services/camera/libcameraservice/camera3/Camera3OutputStreamInterface.h with 100% similarity]
services/camera/libcameraservice/device3/Camera3Stream.cpp [moved from services/camera/libcameraservice/camera3/Camera3Stream.cpp with 100% similarity]
services/camera/libcameraservice/device3/Camera3Stream.h [moved from services/camera/libcameraservice/camera3/Camera3Stream.h with 100% similarity]
services/camera/libcameraservice/device3/Camera3StreamBufferListener.h [moved from services/camera/libcameraservice/camera3/Camera3StreamBufferListener.h with 100% similarity]
services/camera/libcameraservice/device3/Camera3StreamInterface.h [moved from services/camera/libcameraservice/camera3/Camera3StreamInterface.h with 100% similarity]
services/camera/libcameraservice/device3/Camera3ZslStream.cpp [moved from services/camera/libcameraservice/camera3/Camera3ZslStream.cpp with 100% similarity]
services/camera/libcameraservice/device3/Camera3ZslStream.h [moved from services/camera/libcameraservice/camera3/Camera3ZslStream.h with 100% similarity]

index 8f58f87..e633450 100644 (file)
@@ -16,9 +16,9 @@ LOCAL_SRC_FILES:= \
        ICameraRecordingProxyListener.cpp \
        IProCameraUser.cpp \
        IProCameraCallbacks.cpp \
-       photography/ICameraDeviceUser.cpp \
-       photography/ICameraDeviceCallbacks.cpp \
-       photography/CaptureRequest.cpp \
+       camera2/ICameraDeviceUser.cpp \
+       camera2/ICameraDeviceCallbacks.cpp \
+       camera2/CaptureRequest.cpp \
        ProCamera.cpp \
        CameraBase.cpp \
 
index 068fb0f..876a2df 100644 (file)
@@ -31,8 +31,8 @@
 #include <camera/IProCameraCallbacks.h>
 #include <camera/ICamera.h>
 #include <camera/ICameraClient.h>
-#include <camera/photography/ICameraDeviceUser.h>
-#include <camera/photography/ICameraDeviceCallbacks.h>
+#include <camera/camera2/ICameraDeviceUser.h>
+#include <camera/camera2/ICameraDeviceCallbacks.h>
 
 namespace android {
 
@@ -151,7 +151,7 @@ public:
         return interface_cast<IProCameraUser>(reply.readStrongBinder());
     }
 
-    // connect to camera service (android.hardware.photography.CameraDevice)
+    // connect to camera service (android.hardware.camera2.CameraDevice)
     virtual sp<ICameraDeviceUser> connect(
             const sp<ICameraDeviceCallbacks>& cameraCb,
             int cameraId,
similarity index 98%
rename from camera/photography/CaptureRequest.cpp
rename to camera/camera2/CaptureRequest.cpp
index b822fc9..57e5319 100644 (file)
@@ -19,7 +19,7 @@
 #define LOG_TAG "CameraRequest"
 #include <utils/Log.h>
 
-#include <camera/photography/CaptureRequest.h>
+#include <camera/camera2/CaptureRequest.h>
 
 #include <binder/Parcel.h>
 #include <gui/Surface.h>
similarity index 96%
rename from camera/photography/ICameraDeviceCallbacks.cpp
rename to camera/camera2/ICameraDeviceCallbacks.cpp
index 19763d7..188bd8e 100644 (file)
@@ -26,7 +26,7 @@
 #include <gui/Surface.h>
 #include <utils/Mutex.h>
 
-#include <camera/photography/ICameraDeviceCallbacks.h>
+#include <camera/camera2/ICameraDeviceCallbacks.h>
 #include "camera/CameraMetadata.h"
 
 namespace android {
@@ -69,7 +69,7 @@ public:
 };
 
 IMPLEMENT_META_INTERFACE(CameraDeviceCallbacks,
-                         "android.hardware.photography.ICameraDeviceCallbacks");
+                         "android.hardware.camera2.ICameraDeviceCallbacks");
 
 // ----------------------------------------------------------------------
 
@@ -107,4 +107,3 @@ status_t BnCameraDeviceCallbacks::onTransact(
 // ----------------------------------------------------------------------------
 
 }; // namespace android
-
similarity index 98%
rename from camera/photography/ICameraDeviceUser.cpp
rename to camera/camera2/ICameraDeviceUser.cpp
index 95609da..923f487 100644 (file)
 #include <stdint.h>
 #include <sys/types.h>
 #include <binder/Parcel.h>
-#include <camera/photography/ICameraDeviceUser.h>
+#include <camera/camera2/ICameraDeviceUser.h>
 #include <gui/IGraphicBufferProducer.h>
 #include <gui/Surface.h>
 #include <camera/CameraMetadata.h>
-#include <camera/photography/CaptureRequest.h>
+#include <camera/camera2/CaptureRequest.h>
 
 namespace android {
 
@@ -189,7 +189,7 @@ private:
 };
 
 IMPLEMENT_META_INTERFACE(CameraDeviceUser,
-                         "android.hardware.photography.ICameraDeviceUser");
+                         "android.hardware.camera2.ICameraDeviceUser");
 
 // ----------------------------------------------------------------------
 
index 0fede7e..d659ebb 100644 (file)
@@ -8,31 +8,31 @@ include $(CLEAR_VARS)
 
 LOCAL_SRC_FILES:=               \
     CameraService.cpp \
-    CameraClient.cpp \
-    Camera2Client.cpp \
-    ProCamera2Client.cpp \
-    Camera2ClientBase.cpp \
-    CameraDeviceBase.cpp \
-    Camera2Device.cpp \
-    Camera3Device.cpp \
     CameraDeviceFactory.cpp \
-    camera2/Parameters.cpp \
-    camera2/FrameProcessor.cpp \
-    camera2/StreamingProcessor.cpp \
-    camera2/JpegProcessor.cpp \
-    camera2/CallbackProcessor.cpp \
-    camera2/ZslProcessor.cpp \
-    camera2/BurstCapture.cpp \
-    camera2/JpegCompressor.cpp \
-    camera2/CaptureSequencer.cpp \
-    camera2/ProFrameProcessor.cpp \
-    camera2/ZslProcessor3.cpp \
-    camera3/Camera3Stream.cpp \
-    camera3/Camera3IOStreamBase.cpp \
-    camera3/Camera3InputStream.cpp \
-    camera3/Camera3OutputStream.cpp \
-    camera3/Camera3ZslStream.cpp \
-    photography/CameraDeviceClient.cpp \
+    common/Camera2ClientBase.cpp \
+    common/CameraDeviceBase.cpp \
+    common/FrameProcessorBase.cpp \
+    api1/CameraClient.cpp \
+    api1/Camera2Client.cpp \
+    api1/client2/Parameters.cpp \
+    api1/client2/FrameProcessor.cpp \
+    api1/client2/StreamingProcessor.cpp \
+    api1/client2/JpegProcessor.cpp \
+    api1/client2/CallbackProcessor.cpp \
+    api1/client2/ZslProcessor.cpp \
+    api1/client2/BurstCapture.cpp \
+    api1/client2/JpegCompressor.cpp \
+    api1/client2/CaptureSequencer.cpp \
+    api1/client2/ZslProcessor3.cpp \
+    api2/CameraDeviceClient.cpp \
+    api_pro/ProCamera2Client.cpp \
+    device2/Camera2Device.cpp \
+    device3/Camera3Device.cpp \
+    device3/Camera3Stream.cpp \
+    device3/Camera3IOStreamBase.cpp \
+    device3/Camera3InputStream.cpp \
+    device3/Camera3OutputStream.cpp \
+    device3/Camera3ZslStream.cpp \
     gui/RingBufferConsumer.cpp \
 
 LOCAL_SHARED_LIBRARIES:= \
index 2acdb5e..7fdf304 100644 (file)
 #define LOG_TAG "CameraDeviceFactory"
 #include <utils/Log.h>
 
-#include "CameraDeviceBase.h"
-#include "Camera2Device.h"
-#include "Camera3Device.h"
 #include "CameraService.h"
 #include "CameraDeviceFactory.h"
+#include "common/CameraDeviceBase.h"
+#include "device2/Camera2Device.h"
+#include "device3/Camera3Device.h"
 
 namespace android {
 
@@ -69,4 +69,3 @@ void CameraDeviceFactory::registerService(wp<CameraService> service) {
 }
 
 }; // namespace android
-
index 93ffaf8..236dc56 100644 (file)
@@ -20,6 +20,7 @@
 #include <utils/RefBase.h>
 
 namespace android {
+
 class CameraDeviceBase;
 class CameraService;
 
index 0eb3e32..359b3ca 100644 (file)
 #include <utils/String16.h>
 
 #include "CameraService.h"
-#include "CameraClient.h"
-#include "Camera2Client.h"
-#include "ProCamera2Client.h"
-#include "photography/CameraDeviceClient.h"
+#include "api1/CameraClient.h"
+#include "api1/Camera2Client.h"
+#include "api_pro/ProCamera2Client.h"
+#include "api2/CameraDeviceClient.h"
 #include "CameraDeviceFactory.h"
 
 namespace android {
index 2bf7b49..980eb97 100644 (file)
@@ -29,8 +29,8 @@
 #include <camera/ICameraClient.h>
 #include <camera/IProCameraUser.h>
 #include <camera/IProCameraCallbacks.h>
-#include <camera/photography/ICameraDeviceUser.h>
-#include <camera/photography/ICameraDeviceCallbacks.h>
+#include <camera/camera2/ICameraDeviceUser.h>
+#include <camera/camera2/ICameraDeviceCallbacks.h>
 
 #include <camera/ICameraServiceListener.h>
 
 
 #include <cutils/properties.h>
 #include <gui/Surface.h>
-#include "camera2/Parameters.h"
-#include "Camera2Client.h"
-#include "Camera2Device.h"
-#include "Camera3Device.h"
 
-#include "camera2/ZslProcessor.h"
-#include "camera2/ZslProcessor3.h"
+#include "api1/Camera2Client.h"
+
+#include "api1/client2/StreamingProcessor.h"
+#include "api1/client2/JpegProcessor.h"
+#include "api1/client2/CaptureSequencer.h"
+#include "api1/client2/CallbackProcessor.h"
+#include "api1/client2/ZslProcessor.h"
+#include "api1/client2/ZslProcessor3.h"
 
 #define ALOG1(...) ALOGD_IF(gLogLevel >= 1, __VA_ARGS__);
 #define ALOG2(...) ALOGD_IF(gLogLevel >= 2, __VA_ARGS__);
 #ifndef ANDROID_SERVERS_CAMERA_CAMERA2CLIENT_H
 #define ANDROID_SERVERS_CAMERA_CAMERA2CLIENT_H
 
-#include "CameraDeviceBase.h"
 #include "CameraService.h"
-#include "camera2/Parameters.h"
-#include "camera2/FrameProcessor.h"
-#include "camera2/StreamingProcessor.h"
-#include "camera2/JpegProcessor.h"
-#include "camera2/ZslProcessorInterface.h"
-#include "camera2/CaptureSequencer.h"
-#include "camera2/CallbackProcessor.h"
-#include "Camera2ClientBase.h"
+#include "common/CameraDeviceBase.h"
+#include "common/Camera2ClientBase.h"
+#include "api1/client2/Parameters.h"
+#include "api1/client2/FrameProcessor.h"
+//#include "api1/client2/StreamingProcessor.h"
+//#include "api1/client2/JpegProcessor.h"
+//#include "api1/client2/ZslProcessorInterface.h"
+//#include "api1/client2/CaptureSequencer.h"
+//#include "api1/client2/CallbackProcessor.h"
 
 namespace android {
 
+namespace camera2 {
+
+class StreamingProcessor;
+class JpegProcessor;
+class ZslProcessorInterface;
+class CaptureSequencer;
+class CallbackProcessor;
+
+}
+
 class IMemory;
 /**
  * Interface between android.hardware.Camera API and Camera HAL device for versions
@@ -20,8 +20,8 @@
 #include <cutils/properties.h>
 #include <gui/Surface.h>
 
-#include "CameraClient.h"
-#include "CameraHardwareInterface.h"
+#include "api1/CameraClient.h"
+#include "device1/CameraHardwareInterface.h"
 #include "CameraService.h"
 
 namespace android {
@@ -349,6 +349,7 @@ void CameraClient::setPreviewCallbackFlag(int callback_flag) {
 
 status_t CameraClient::setPreviewCallbackTarget(
         const sp<IGraphicBufferProducer>& callbackProducer) {
+    (void)callbackProducer;
     ALOGE("%s: Unimplemented!", __FUNCTION__);
     return INVALID_OPERATION;
 }
@@ -22,8 +22,8 @@
 
 #include "BurstCapture.h"
 
-#include "../Camera2Client.h"
-#include "JpegCompressor.h"
+#include "api1/Camera2Client.h"
+#include "api1/client2/JpegCompressor.h"
 
 namespace android {
 namespace camera2 {
 #ifndef ANDROID_SERVERS_CAMERA_BURST_CAPTURE_H
 #define ANDROID_SERVERS_CAMERA_BURST_CAPTURE_H
 
-#include "camera/CameraMetadata.h"
+#include <camera/CameraMetadata.h>
 #include <binder/MemoryBase.h>
 #include <binder/MemoryHeapBase.h>
 #include <gui/CpuConsumer.h>
-#include "Camera2Device.h"
+
+#include "device2/Camera2Device.h"
 
 namespace android {
 
 
 #include <utils/Log.h>
 #include <utils/Trace.h>
-
-#include "CallbackProcessor.h"
 #include <gui/Surface.h>
-#include "../CameraDeviceBase.h"
-#include "../Camera2Client.h"
+
+#include "common/CameraDeviceBase.h"
+#include "api1/Camera2Client.h"
+#include "api1/client2/CallbackProcessor.h"
 
 #define ALIGN(x, mask) ( ((x) + (mask) - 1) & ~((mask) - 1) )
 
@@ -23,9 +23,8 @@
 #include <utils/Mutex.h>
 #include <utils/Condition.h>
 #include <gui/CpuConsumer.h>
-#include "Parameters.h"
-#include "camera/CameraMetadata.h"
-#include "Camera2Heap.h"
+
+#include "api1/client2/Camera2Heap.h"
 
 namespace android {
 
@@ -34,6 +33,8 @@ class CameraDeviceBase;
 
 namespace camera2 {
 
+class Parameters;
+
 /***
  * Still image capture output image processing
  */
 #include <utils/Trace.h>
 #include <utils/Vector.h>
 
-#include "CaptureSequencer.h"
-#include "BurstCapture.h"
-#include "../Camera2Device.h"
-#include "../Camera2Client.h"
-#include "Parameters.h"
-#include "ZslProcessorInterface.h"
+#include "api1/Camera2Client.h"
+#include "api1/client2/CaptureSequencer.h"
+#include "api1/client2/BurstCapture.h"
+#include "api1/client2/Parameters.h"
+#include "api1/client2/ZslProcessorInterface.h"
 
 namespace android {
 namespace camera2 {
 #include <utils/Log.h>
 #include <utils/Trace.h>
 
-#include "FrameProcessor.h"
-#include "../CameraDeviceBase.h"
-#include "../Camera2Client.h"
+#include "common/CameraDeviceBase.h"
+#include "api1/Camera2Client.h"
+#include "api1/client2/FrameProcessor.h"
 
 namespace android {
 namespace camera2 {
 
 FrameProcessor::FrameProcessor(wp<CameraDeviceBase> device,
                                wp<Camera2Client> client) :
-    ProFrameProcessor(device),
+    FrameProcessorBase(device),
     mClient(client),
     mLastFrameNumberOfFaces(0) {
 
@@ -58,7 +58,7 @@ bool FrameProcessor::processSingleFrame(CameraMetadata &frame,
         process3aState(frame, client);
     }
 
-    if (!ProFrameProcessor::processSingleFrame(frame, device)) {
+    if (!FrameProcessorBase::processSingleFrame(frame, device)) {
         return false;
     }
 
@@ -24,7 +24,7 @@
 #include <utils/List.h>
 #include <camera/CameraMetadata.h>
 
-#include "ProFrameProcessor.h"
+#include "common/FrameProcessorBase.h"
 
 struct camera_frame_metadata;
 
@@ -37,7 +37,7 @@ namespace camera2 {
 /* Output frame metadata processing thread.  This thread waits for new
  * frames from the device, and analyzes them as necessary.
  */
-class FrameProcessor : public ProFrameProcessor {
+class FrameProcessor : public FrameProcessorBase {
   public:
     FrameProcessor(wp<CameraDeviceBase> device, wp<Camera2Client> client);
     ~FrameProcessor();
 #include <binder/MemoryHeapBase.h>
 #include <utils/Log.h>
 #include <utils/Trace.h>
-
-#include "JpegProcessor.h"
 #include <gui/Surface.h>
-#include "../CameraDeviceBase.h"
-#include "../Camera2Client.h"
 
+#include "common/CameraDeviceBase.h"
+#include "api1/Camera2Client.h"
+#include "api1/client2/Camera2Heap.h"
+#include "api1/client2/CaptureSequencer.h"
+#include "api1/client2/JpegProcessor.h"
 
 namespace android {
 namespace camera2 {
@@ -23,7 +23,7 @@
 #include <utils/Mutex.h>
 #include <utils/Condition.h>
 #include <gui/CpuConsumer.h>
-#include "Parameters.h"
+
 #include "camera/CameraMetadata.h"
 
 namespace android {
@@ -35,6 +35,7 @@ class MemoryHeapBase;
 namespace camera2 {
 
 class CaptureSequencer;
+class Parameters;
 
 /***
  * Still image capture output image processing
 #include <gui/Surface.h>
 #include <media/hardware/MetadataBufferType.h>
 
-#include "StreamingProcessor.h"
-#include "Camera2Heap.h"
-#include "../Camera2Client.h"
-#include "../CameraDeviceBase.h"
+#include "common/CameraDeviceBase.h"
+#include "api1/Camera2Client.h"
+#include "api1/client2/StreamingProcessor.h"
+#include "api1/client2/Camera2Heap.h"
 
 namespace android {
 namespace camera2 {
@@ -21,7 +21,6 @@
 #include <utils/String16.h>
 #include <gui/BufferItemConsumer.h>
 
-#include "Parameters.h"
 #include "camera/CameraMetadata.h"
 
 namespace android {
@@ -32,6 +31,7 @@ class IMemory;
 
 namespace camera2 {
 
+class Parameters;
 class Camera2Heap;
 
 /**
 
 #include <utils/Log.h>
 #include <utils/Trace.h>
-
-#include "ZslProcessor.h"
 #include <gui/Surface.h>
-#include "../CameraDeviceBase.h"
-#include "../Camera2Client.h"
 
+#include "common/CameraDeviceBase.h"
+#include "api1/Camera2Client.h"
+#include "api1/client2/CaptureSequencer.h"
+#include "api1/client2/ZslProcessor.h"
 
 namespace android {
 namespace camera2 {
 #include <utils/Mutex.h>
 #include <utils/Condition.h>
 #include <gui/BufferItemConsumer.h>
-#include "Parameters.h"
-#include "FrameProcessor.h"
-#include "camera/CameraMetadata.h"
-#include "Camera2Heap.h"
-#include "../CameraDeviceBase.h"
-#include "ZslProcessorInterface.h"
+#include <camera/CameraMetadata.h>
+
+#include "common/CameraDeviceBase.h"
+#include "api1/client2/ZslProcessorInterface.h"
+#include "api1/client2/FrameProcessor.h"
 
 namespace android {
 
@@ -37,6 +36,7 @@ class Camera2Client;
 namespace camera2 {
 
 class CaptureSequencer;
+class Parameters;
 
 /***
  * ZSL queue processing
 
 #include <utils/Log.h>
 #include <utils/Trace.h>
-
-#include "ZslProcessor3.h"
 #include <gui/Surface.h>
-#include "../CameraDeviceBase.h"
-#include "../Camera3Device.h"
-#include "../Camera2Client.h"
 
+#include "common/CameraDeviceBase.h"
+#include "api1/Camera2Client.h"
+#include "api1/client2/CaptureSequencer.h"
+#include "api1/client2/ZslProcessor3.h"
+#include "device3/Camera3Device.h"
 
 namespace android {
 namespace camera2 {
 #include <utils/Mutex.h>
 #include <utils/Condition.h>
 #include <gui/BufferItemConsumer.h>
-#include "Parameters.h"
-#include "FrameProcessor.h"
-#include "camera/CameraMetadata.h"
-#include "Camera2Heap.h"
-#include "../CameraDeviceBase.h"
-#include "ZslProcessorInterface.h"
-#include "../camera3/Camera3ZslStream.h"
+#include <camera/CameraMetadata.h>
+
+#include "api1/client2/FrameProcessor.h"
+#include "api1/client2/ZslProcessorInterface.h"
+#include "device3/Camera3ZslStream.h"
 
 namespace android {
 
@@ -38,6 +36,7 @@ class Camera2Client;
 namespace camera2 {
 
 class CaptureSequencer;
+class Parameters;
 
 /***
  * ZSL queue processing
 #define ATRACE_TAG ATRACE_TAG_CAMERA
 // #define LOG_NDEBUG 0
 
+#include <cutils/properties.h>
 #include <utils/Log.h>
 #include <utils/Trace.h>
-
-#include <cutils/properties.h>
 #include <gui/Surface.h>
-#include "camera2/Parameters.h"
-#include "CameraDeviceClient.h"
-#include "camera2/ProFrameProcessor.h"
-#include "CameraDeviceBase.h"
-#include <camera/photography/CaptureRequest.h>
+#include <camera/camera2/CaptureRequest.h>
+
+#include "common/CameraDeviceBase.h"
+#include "api2/CameraDeviceClient.h"
+
+
 
 namespace android {
 using namespace camera2;
@@ -83,7 +83,7 @@ status_t CameraDeviceClient::initialize(camera_module_t *module)
     }
 
     String8 threadName;
-    mFrameProcessor = new ProFrameProcessor(mDevice);
+    mFrameProcessor = new FrameProcessorBase(mDevice);
     threadName = String8::format("CDU-%d-FrameProc", mCameraId);
     mFrameProcessor->run(threadName.string());
 
 #ifndef ANDROID_SERVERS_CAMERA_PHOTOGRAPHY_CAMERADEVICECLIENT_H
 #define ANDROID_SERVERS_CAMERA_PHOTOGRAPHY_CAMERADEVICECLIENT_H
 
-#include "CameraDeviceBase.h"
+#include <camera/camera2/ICameraDeviceUser.h>
+#include <camera/camera2/ICameraDeviceCallbacks.h>
+
 #include "CameraService.h"
-#include "camera2/ProFrameProcessor.h"
-#include "Camera2ClientBase.h"
-#include <camera/photography/ICameraDeviceUser.h>
-#include <camera/photography/ICameraDeviceCallbacks.h>
+#include "common/FrameProcessorBase.h"
+#include "common/Camera2ClientBase.h"
 
 namespace android {
 
@@ -57,7 +57,7 @@ protected:
  */
 class CameraDeviceClient :
         public Camera2ClientBase<CameraDeviceClientBase>,
-        public camera2::ProFrameProcessor::FilteredListener
+        public camera2::FrameProcessorBase::FilteredListener
 {
 public:
     /**
@@ -120,7 +120,7 @@ private:
     /** ICameraDeviceUser interface-related private members */
 
     /** Preview callback related members */
-    sp<camera2::ProFrameProcessor> mFrameProcessor;
+    sp<camera2::FrameProcessorBase> mFrameProcessor;
     static const int32_t FRAME_PROCESSOR_LISTENER_MIN_ID = 0;
     static const int32_t FRAME_PROCESSOR_LISTENER_MAX_ID = 0x7fffffffL;
 
 #include <cutils/properties.h>
 #include <gui/Surface.h>
 #include <gui/Surface.h>
-#include "camera2/Parameters.h"
-#include "ProCamera2Client.h"
-#include "camera2/ProFrameProcessor.h"
-#include "CameraDeviceBase.h"
+
+#include "api_pro/ProCamera2Client.h"
+#include "common/CameraDeviceBase.h"
 
 namespace android {
 using namespace camera2;
@@ -62,7 +61,7 @@ status_t ProCamera2Client::initialize(camera_module_t *module)
     }
 
     String8 threadName;
-    mFrameProcessor = new ProFrameProcessor(mDevice);
+    mFrameProcessor = new FrameProcessorBase(mDevice);
     threadName = String8::format("PC2-%d-FrameProc", mCameraId);
     mFrameProcessor->run(threadName.string());
 
@@ -218,6 +217,7 @@ status_t ProCamera2Client::submitRequest(camera_metadata_t* request,
 }
 
 status_t ProCamera2Client::cancelRequest(int requestId) {
+    (void)requestId;
     ATRACE_CALL();
     ALOGV("%s", __FUNCTION__);
 
 #ifndef ANDROID_SERVERS_CAMERA_PROCAMERA2CLIENT_H
 #define ANDROID_SERVERS_CAMERA_PROCAMERA2CLIENT_H
 
-#include "Camera2Device.h"
 #include "CameraService.h"
-#include "camera2/ProFrameProcessor.h"
-#include "Camera2ClientBase.h"
+#include "common/FrameProcessorBase.h"
+#include "common/Camera2ClientBase.h"
+#include "device2/Camera2Device.h"
 
 namespace android {
 
@@ -31,7 +31,7 @@ class IMemory;
  */
 class ProCamera2Client :
         public Camera2ClientBase<CameraService::ProClient>,
-        public camera2::ProFrameProcessor::FilteredListener
+        public camera2::FrameProcessorBase::FilteredListener
 {
 public:
     /**
@@ -105,7 +105,7 @@ private:
     /** IProCameraUser interface-related private members */
 
     /** Preview callback related members */
-    sp<camera2::ProFrameProcessor> mFrameProcessor;
+    sp<camera2::FrameProcessorBase> mFrameProcessor;
     static const int32_t FRAME_PROCESSOR_LISTENER_MIN_ID = 0;
     static const int32_t FRAME_PROCESSOR_LISTENER_MAX_ID = 0x7fffffffL;
 
 #include <cutils/properties.h>
 #include <gui/Surface.h>
 #include <gui/Surface.h>
-#include "camera2/Parameters.h"
-#include "Camera2ClientBase.h"
-#include "camera2/ProFrameProcessor.h"
 
-#include "photography/CameraDeviceClient.h"
+#include "common/Camera2ClientBase.h"
+
+#include "api2/CameraDeviceClient.h"
 
-#include "CameraDeviceBase.h"
 #include "CameraDeviceFactory.h"
 
 namespace android {
 #ifndef ANDROID_SERVERS_CAMERA_CAMERA2CLIENT_BASE_H
 #define ANDROID_SERVERS_CAMERA_CAMERA2CLIENT_BASE_H
 
-#include "CameraDeviceBase.h"
-#include "CameraService.h"
+#include "common/CameraDeviceBase.h"
 
 namespace android {
 
 class IMemory;
 
+class CameraService;
+
 template <typename TClientBase>
 class Camera2ClientBase :
         public TClientBase,
  * limitations under the License.
  */
 
-#define LOG_TAG "Camera2-ProFrameProcessor"
+#define LOG_TAG "Camera2-FrameProcessorBase"
 #define ATRACE_TAG ATRACE_TAG_CAMERA
 //#define LOG_NDEBUG 0
 
 #include <utils/Log.h>
 #include <utils/Trace.h>
 
-#include "ProFrameProcessor.h"
-#include "../CameraDeviceBase.h"
+#include "common/FrameProcessorBase.h"
+#include "common/CameraDeviceBase.h"
 
 namespace android {
 namespace camera2 {
 
-ProFrameProcessor::ProFrameProcessor(wp<CameraDeviceBase> device) :
+FrameProcessorBase::FrameProcessorBase(wp<CameraDeviceBase> device) :
     Thread(/*canCallJava*/false),
     mDevice(device) {
 }
 
-ProFrameProcessor::~ProFrameProcessor() {
+FrameProcessorBase::~FrameProcessorBase() {
     ALOGV("%s: Exit", __FUNCTION__);
 }
 
-status_t ProFrameProcessor::registerListener(int32_t minId,
+status_t FrameProcessorBase::registerListener(int32_t minId,
         int32_t maxId, wp<FilteredListener> listener) {
     Mutex::Autolock l(mInputMutex);
     ALOGV("%s: Registering listener for frame id range %d - %d",
@@ -46,7 +46,7 @@ status_t ProFrameProcessor::registerListener(int32_t minId,
     return OK;
 }
 
-status_t ProFrameProcessor::removeListener(int32_t minId,
+status_t FrameProcessorBase::removeListener(int32_t minId,
                                            int32_t maxId,
                                            wp<FilteredListener> listener) {
     Mutex::Autolock l(mInputMutex);
@@ -63,13 +63,13 @@ status_t ProFrameProcessor::removeListener(int32_t minId,
     return OK;
 }
 
-void ProFrameProcessor::dump(int fd, const Vector<String16>& /*args*/) {
+void FrameProcessorBase::dump(int fd, const Vector<String16>& /*args*/) {
     String8 result("    Latest received frame:\n");
     write(fd, result.string(), result.size());
     mLastFrame.dump(fd, 2, 6);
 }
 
-bool ProFrameProcessor::threadLoop() {
+bool FrameProcessorBase::threadLoop() {
     status_t res;
 
     sp<CameraDeviceBase> device;
@@ -82,14 +82,14 @@ bool ProFrameProcessor::threadLoop() {
     if (res == OK) {
         processNewFrames(device);
     } else if (res != TIMED_OUT) {
-        ALOGE("ProFrameProcessor: Error waiting for new "
+        ALOGE("FrameProcessorBase: Error waiting for new "
                 "frames: %s (%d)", strerror(-res), res);
     }
 
     return true;
 }
 
-void ProFrameProcessor::processNewFrames(const sp<CameraDeviceBase> &device) {
+void FrameProcessorBase::processNewFrames(const sp<CameraDeviceBase> &device) {
     status_t res;
     ATRACE_CALL();
     CameraMetadata frame;
@@ -125,14 +125,14 @@ void ProFrameProcessor::processNewFrames(const sp<CameraDeviceBase> &device) {
     return;
 }
 
-bool ProFrameProcessor::processSingleFrame(CameraMetadata &frame,
+bool FrameProcessorBase::processSingleFrame(CameraMetadata &frame,
                                            const sp<CameraDeviceBase> &device) {
     ALOGV("%s: Camera %d: Process single frame (is empty? %d)",
           __FUNCTION__, device->getId(), frame.isEmpty());
     return processListeners(frame, device) == OK;
 }
 
-status_t ProFrameProcessor::processListeners(const CameraMetadata &frame,
+status_t FrameProcessorBase::processListeners(const CameraMetadata &frame,
         const sp<CameraDeviceBase> &device) {
     ATRACE_CALL();
     camera_metadata_ro_entry_t entry;
@@ -33,10 +33,10 @@ namespace camera2 {
 /* Output frame metadata processing thread.  This thread waits for new
  * frames from the device, and analyzes them as necessary.
  */
-class ProFrameProcessor: public Thread {
+class FrameProcessorBase: public Thread {
   public:
-    ProFrameProcessor(wp<CameraDeviceBase> device);
-    virtual ~ProFrameProcessor();
+    FrameProcessorBase(wp<CameraDeviceBase> device);
+    virtual ~FrameProcessorBase();
 
     struct FilteredListener: virtual public RefBase {
         virtual void onFrameAvailable(int32_t frameId,
@@ -22,7 +22,7 @@
 #include <utils/List.h>
 #include <utils/Mutex.h>
 
-#include "CameraDeviceBase.h"
+#include "common/CameraDeviceBase.h"
 
 namespace android {
 
 #include <utils/Log.h>
 #include <utils/Trace.h>
 #include <utils/Timers.h>
-#include "Camera3Device.h"
-#include "camera3/Camera3OutputStream.h"
-#include "camera3/Camera3InputStream.h"
+
+#include "device3/Camera3Device.h"
+#include "device3/Camera3OutputStream.h"
+#include "device3/Camera3InputStream.h"
+#include "device3/Camera3ZslStream.h"
 
 using namespace android::camera3;
 
 #include <utils/List.h>
 #include <utils/Mutex.h>
 #include <utils/Thread.h>
+#include <utils/KeyedVector.h>
+#include <hardware/camera3.h>
 
-#include "CameraDeviceBase.h"
-#include "camera3/Camera3Stream.h"
-#include "camera3/Camera3OutputStream.h"
-#include "camera3/Camera3ZslStream.h"
-
-#include "hardware/camera3.h"
+#include "common/CameraDeviceBase.h"
 
 /**
  * Function pointer types with C calling convention to
@@ -46,6 +43,15 @@ extern "C" {
 
 namespace android {
 
+namespace camera3 {
+
+class Camera3Stream;
+class Camera3ZslStream;
+class Camera3OutputStreamInterface;
+class Camera3StreamInterface;
+
+}
+
 /**
  * CameraDevice for HAL devices with version CAMERA_DEVICE_API_VERSION_3_0
  */