diff options
author | Iliyan Malchev <malchev@google.com> | 2011-04-14 16:51:21 -0700 |
---|---|---|
committer | Iliyan Malchev <malchev@google.com> | 2011-05-03 15:49:39 -0700 |
commit | 9c7ac0d142eaf4b083a309299ab023932a9bb109 (patch) | |
tree | eacc12f5b030d872cf460ae77747eece8938c8fd /include/camera | |
parent | 9d216f7b0ef66e4d2e32f86cd7e31608fcce49b6 (diff) | |
download | frameworks_base-9c7ac0d142eaf4b083a309299ab023932a9bb109.zip frameworks_base-9c7ac0d142eaf4b083a309299ab023932a9bb109.tar.gz frameworks_base-9c7ac0d142eaf4b083a309299ab023932a9bb109.tar.bz2 |
frameworks/base: include system/core header camera.h in Camera.h
We define struct CameraInfo in this camera/Camera.h, even though an identical
struct camera_info is defined in hardware/camera.h (but not in
hardware/camera_defs.h). We may not export struct definitions from the HAL
into headers which may find their way into the NDK.
This commit also renames FRAME_CALLBACK_FLAG_xxx to CAMERA_FRAME_CALLBACK_xxx.
Change-Id: I3e2ddd01d61bf5371ff2fc1a397995e0f1ee11f8
Signed-off-by: Iliyan Malchev <malchev@google.com>
Diffstat (limited to 'include/camera')
-rw-r--r-- | include/camera/Camera.h | 108 |
1 files changed, 7 insertions, 101 deletions
diff --git a/include/camera/Camera.h b/include/camera/Camera.h index 3c6dccc..7106bfa 100644 --- a/include/camera/Camera.h +++ b/include/camera/Camera.h @@ -20,122 +20,28 @@ #include <utils/Timers.h> #include <camera/ICameraClient.h> #include <gui/ISurfaceTexture.h> +#include <system/camera.h> namespace android { -/* - * A set of bit masks for specifying how the received preview frames are - * handled before the previewCallback() call. - * - * The least significant 3 bits of an "int" value are used for this purpose: - * - * ..... 0 0 0 - * ^ ^ ^ - * | | |---------> determine whether the callback is enabled or not - * | |-----------> determine whether the callback is one-shot or not - * |-------------> determine whether the frame is copied out or not - * - * WARNING: - * When a frame is sent directly without copying, it is the frame receiver's - * responsiblity to make sure that the frame data won't get corrupted by - * subsequent preview frames filled by the camera. This flag is recommended - * only when copying out data brings significant performance price and the - * handling/processing of the received frame data is always faster than - * the preview frame rate so that data corruption won't occur. - * - * For instance, - * 1. 0x00 disables the callback. In this case, copy out and one shot bits - * are ignored. - * 2. 0x01 enables a callback without copying out the received frames. A - * typical use case is the Camcorder application to avoid making costly - * frame copies. - * 3. 0x05 is enabling a callback with frame copied out repeatedly. A typical - * use case is the Camera application. - * 4. 0x07 is enabling a callback with frame copied out only once. A typical use - * case is the Barcode scanner application. - */ -#define FRAME_CALLBACK_FLAG_ENABLE_MASK 0x01 -#define FRAME_CALLBACK_FLAG_ONE_SHOT_MASK 0x02 -#define FRAME_CALLBACK_FLAG_COPY_OUT_MASK 0x04 - -// Typical use cases -#define FRAME_CALLBACK_FLAG_NOOP 0x00 -#define FRAME_CALLBACK_FLAG_CAMCORDER 0x01 -#define FRAME_CALLBACK_FLAG_CAMERA 0x05 -#define FRAME_CALLBACK_FLAG_BARCODE_SCANNER 0x07 - -// msgType in notifyCallback and dataCallback functions -enum { - CAMERA_MSG_ERROR = 0x0001, - CAMERA_MSG_SHUTTER = 0x0002, - CAMERA_MSG_FOCUS = 0x0004, - CAMERA_MSG_ZOOM = 0x0008, - CAMERA_MSG_PREVIEW_FRAME = 0x0010, - CAMERA_MSG_VIDEO_FRAME = 0x0020, - CAMERA_MSG_POSTVIEW_FRAME = 0x0040, - CAMERA_MSG_RAW_IMAGE = 0x0080, - CAMERA_MSG_COMPRESSED_IMAGE = 0x0100, - CAMERA_MSG_RAW_IMAGE_NOTIFY = 0x0200, - CAMERA_MSG_ALL_MSGS = 0xFFFF -}; - -// cmdType in sendCommand functions -enum { - CAMERA_CMD_START_SMOOTH_ZOOM = 1, - CAMERA_CMD_STOP_SMOOTH_ZOOM = 2, - // Set the clockwise rotation of preview display (setPreviewDisplay) in - // degrees. This affects the preview frames and the picture displayed after - // snapshot. This method is useful for portrait mode applications. Note that - // preview display of front-facing cameras is flipped horizontally before - // the rotation, that is, the image is reflected along the central vertical - // axis of the camera sensor. So the users can see themselves as looking - // into a mirror. - // - // This does not affect the order of byte array of CAMERA_MSG_PREVIEW_FRAME, - // CAMERA_MSG_VIDEO_FRAME, CAMERA_MSG_POSTVIEW_FRAME, CAMERA_MSG_RAW_IMAGE, - // or CAMERA_MSG_COMPRESSED_IMAGE. This is not allowed to be set during - // preview. - CAMERA_CMD_SET_DISPLAY_ORIENTATION = 3, - - // cmdType to disable/enable shutter sound. - // In sendCommand passing arg1 = 0 will disable, - // while passing arg1 = 1 will enable the shutter sound. - CAMERA_CMD_ENABLE_SHUTTER_SOUND = 4, - - // cmdType to play recording sound. - CAMERA_CMD_PLAY_RECORDING_SOUND = 5, -}; - -// camera fatal errors -enum { - CAMERA_ERROR_UNKNOWN = 1, - CAMERA_ERROR_SERVER_DIED = 100 -}; - -enum { - CAMERA_FACING_BACK = 0, /* The facing of the camera is opposite to that of the screen. */ - CAMERA_FACING_FRONT = 1 /* The facing of the camera is the same as that of the screen. */ -}; - struct CameraInfo { - /** - * The direction that the camera faces to. It should be - * CAMERA_FACING_BACK or CAMERA_FACING_FRONT. + * The direction that the camera faces to. It should be CAMERA_FACING_BACK + * or CAMERA_FACING_FRONT. */ int facing; /** * The orientation of the camera image. The value is the angle that the - * camera image needs to be rotated clockwise so it shows correctly on - * the display in its natural orientation. It should be 0, 90, 180, or 270. + * camera image needs to be rotated clockwise so it shows correctly on the + * display in its natural orientation. It should be 0, 90, 180, or 270. * * For example, suppose a device has a naturally tall screen. The * back-facing camera sensor is mounted in landscape. You are looking at * the screen. If the top side of the camera sensor is aligned with the * right edge of the screen in natural orientation, the value should be - * 90. If the top side of a front-facing camera sensor is aligned with - * the right of the screen, the value should be 270. + * 90. If the top side of a front-facing camera sensor is aligned with the + * right of the screen, the value should be 270. */ int orientation; }; |