summaryrefslogtreecommitdiffstats
path: root/include/camera/Camera.h
Commit message (Collapse)AuthorAgeFilesLines
* Revert "Add camera app op - camera"Svetoslav Ganov2015-05-121-2/+2
| | | | | | | | This is not needed duplication of work This reverts commit 32fa6d0e65dbf956e253a1006e9419dce2fe75c9. Change-Id: I2c81b0dacb2ed99c408c79c1f9e22a4baa564494
* Add camera app op - cameraSvet Ganov2015-05-021-2/+2
| | | | Change-Id: I26570cc0a23fdea740b416a26838d40cac296c85
* cameraservice: Implement HAL1 and higher HAL API coexistenceZhijun He2014-06-191-0/+4
| | | | | | | A higher hal version device like HAL3.2 can be opened as HAL1.0 device if HAL supports it. This only applies to camera API1. Change-Id: I4ae9f59f4317158cc1bd7ed7726e4032cdd1fa07
* Camera1: Rename setPreviewTexture to ...Target for clarityEino-Ville Talvala2013-08-211-3/+3
| | | | | Bug: 10312644 Change-Id: I19976188f0359bfd177209fb40145defdae9c740
* Camera1: Set preview to be asynchronous, and remove dead codeEino-Ville Talvala2013-08-211-2/+2
| | | | | | | | | | | | | - Use the controlledByApp flag to make sure application-bound preview buffer queue is asynchronous as before - Remove setPreviewDisplay in service, since it is no longer in the binder interface - Rename setPreviewTexture to setPreviewTarget, to make it clear it's the only game in town now. Rename only on the binder level and service for now. Bug: 10312644 Change-Id: Icd33a462022f9729a63dc65c69b755cb7969857e
* Refactor CameraService to handle errors properly.Ruben Brunk2013-08-161-0/+6
| | | | | | | | Bug: 10361136 -Connect calls now return status_t error flags. Change-Id: Idca453b111e5df31327f6c99ebe853bb2e332b95
* Camera: Add preview callback surface supportEino-Ville Talvala2013-04-171-0/+8
| | | | | | | | - Add call to set a preview callback surface - Implement support for HAL2/3 devices - Still need HAL1 implementation Change-Id: I0dc0bd72e43d871aa487858d1665c1efca633ffe
* remove uses of Surface in favor or IGraphicBufferProducerMathias Agopian2013-03-121-3/+0
| | | | Change-Id: I13d7a9553aa335bca790a3a59d389d7533c83d57
* camera_client: refactor Camera/ProCamera commonalities into BasicCameraIgor Murashkin2013-02-261-61/+20
| | | | Change-Id: Ie10a4094522d49683657665fe94ab0b7ccd280e9
* CameraService and Stagefright: Support AppOpsEino-Ville Talvala2013-02-251-1/+9
| | | | | | | | | | | | | Camera: - Signal to AppOpsService when camera usage starts and stops - Listen to permissions revocations and act on them - Currently just kill camera connection when permissions lost Stagefright: - Pass on client name, UID to camera as needed Bug: 8181262 Change-Id: I9e33c9d05e9daa77dbb2d795045d08eb887ec8f0
* Camera: Add unit test infrastructure for libcameraclientIgor Murashkin2013-02-221-1/+1
| | | | Change-Id: I957538663ae8332d26f3640c63a75efc79f4ac5c
* Rename ISurfaceTexture and SurfaceTextureAndy McFadden2012-12-181-3/+3
| | | | | | | | | | The C++ class names don't match what the classes do, so rename ISurfaceTexture to IGraphicBufferProducer, and SurfaceTexture to GLConsumer. Bug 7736700 Change-Id: I64520a55f8c09fe6215382ea361c539a9940cba5
* Remove new camera connect API.Wu-cheng Li2012-04-191-1/+1
| | | | | | | | Applications are not resumed under the lock screen now. This API is not needed anymore. bug:5584464 Change-Id: I115daf6b647348617ec0fc05b626878c945b9b29
* Add a new camera open API that allows taking the ownership.Wu-cheng Li2012-03-151-1/+1
| | | | | | | | | | | | | | The purpose is to let face unlock always get the camera successfully. What happened was the camera applications may have opened the camera in onResume under the lock screen. This API lets face unlock take the camera from the camera application. A new permission will be added, so other applicatoins won't be able to take the camera from the face unlock. bug:5584464 Change-Id: Ib3d9dcbc2161815b68db42327dc01148453704c6
* Pass camera frame metadata from camera service to Java.Wu-cheng Li2011-08-021-2/+4
| | | | | bug:4460717 Change-Id: I2fae6e1dfca6b8f3a5ee5716fc7817f5417bf657
* Add framework support for camcorder zoom.Wu-cheng Li2011-06-271-3/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The purpose of ICameraRecordingProxy and ICameraRecordingProxyListener is to allow applications using the camera during recording. Camera service allows only one client at a time. Since camcorder application needs to own the camera to do things like zoom, the media recorder cannot access the camera directly during recording. So ICameraRecordingProxy is a proxy of ICamera, which allows the media recorder to start/stop the recording and release recording frames. ICameraRecordingProxyListener is an interface that allows the recorder to receive video frames during recording. ICameraRecordingProxy startRecording() stopRecording() releaseRecordingFrame() ICameraRecordingProxyListener dataCallbackTimestamp() The camcorder app opens the camera and starts the preview. The app passes ICamera and ICameraRecordingProxy to the media recorder by MediaRecorder::setCamera(). The recorder uses ICamera to setup the camera in MediaRecorder::start(). After setup, the recorder disconnects from camera service. The recorder calls ICameraRecordingProxy::startRecording() and passes a ICameraRecordingProxyListener to the app. The app connects back to camera service and starts the recording. The app owns the camera and can do things like zoom. The media recorder receives the video frames from the listener and releases them by ICameraRecordingProxy::releaseRecordingFrame. The recorder calls ICameraRecordingProxy::stopRecording() to stop the recording. The call sequences are as follows: 1. The app: Camera.unlock(). 2. The app: MediaRecorder.setCamera(). 3. Start recording (1) The app: MediaRecorder.start(). (2) The recorder: ICamera.unlock() and ICamera.disconnect(). (3) The recorder: ICameraRecordingProxy.startRecording(). (4) The app: ICamera.reconnect(). (5) The app: ICamera.startRecording(). 4. During recording (1) The recorder: receive frames from ICameraRecordingProxyListener.dataCallbackTimestamp() (2) The recorder: release frames by ICameraRecordingProxy.releaseRecordingFrame(). 5. Stop recording (1) The app: MediaRecorder.stop() (2) The recorder: ICameraRecordingProxy.stopRecording(). (3) The app: ICamera.stopRecording(). bug:2644213 Change-Id: I15269397defc25cbbcae16abc071c8349c123122
* frameworks/base: include system/core header camera.h in Camera.hIliyan Malchev2011-05-031-101/+7
| | | | | | | | | | | | 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>
* frameworks/base: some camera-interface cleanupIliyan Malchev2011-03-281-6/+0
| | | | | | | | | Methods getNumberOfVideoBuffers() and getVideoBuffer() as well as struct image_rect_struct are no longer used (instead, the necessary information is passed through ANativeWindow.) Change-Id: If4b11446fc9ccbde1f6b45bc70c0d0b8e54376eb Signed-off-by: Iliyan Malchev <malchev@google.com>
* Application-managed callback buffer support for raw imageJames Dong2011-02-221-11/+12
| | | | | | bug - 3292153 Change-Id: I9789f7c5cde3a3889d7375e881181e9152d95fc2
* Add camera service support for SurfaceTexture.Jamie Gennis2011-01-061-0/+4
| | | | | | | This change enables the use of a SurfaceTexture in place of a Surface as the destination of camera preview frames. Change-Id: Ic70d404c8fe261e9d5da6f1de93d6babb5b191cb
* Fixed a typo in the enum for unknown camera error messageJames Dong2011-01-041-1/+1
| | | | Change-Id: Id9f8432e2ba8e1474ee020438d6456f1f450398a
* am fb6f4505: am 589e8381: Merge "Improve camera documentation." into gingerbreadWu-cheng Li2010-11-191-6/+8
|\ | | | | | | | | * commit 'fb6f4505ba5c227cebb73f1269b0af5d92e6e5e6': Improve camera documentation.
| * Improve camera documentation.Wu-cheng Li2010-11-191-6/+8
| | | | | | | | | | bug:3212606 Change-Id: Iee7106e4665c08a4c75471114010b75d63ac74ce
| * Mirror the preview for front-facing cameras. do not mergeWu-cheng Li2010-10-201-0/+12
| | | | | | | | | | | | | | | | Now overlay does ROT_90 before FLIP_V or FLIP_H. It should be FLIP_V or FLIP_H first. The formula should be changed after overlay is fixed. bug:3059865 Change-Id: Ie4366bf7f1fcac7383e8dfc74b1b865997bbbcc6
| * resolved conflicts for merge of 27eecb70 to gingerbreadJean-Baptiste Queru2010-07-301-1/+0
| |\ | | | | | | | | | Change-Id: If064f2f4950fc1a4ff38e6927fe2120af76b26f1
| | * fix inaccurate copyrightsJean-Baptiste Queru2010-07-291-1/+0
| | | | | | | | | | | | Change-Id: I33b0f68f2da34ca4728211d83159cf32a127f6dd
* | | Mirror the camera preview if the camera is front-facing.Wu-cheng Li2010-10-251-0/+12
| | | | | | | | | | | | | | | bug:3095272 Change-Id: Ib1c1d1edc06a33e9d4d2dcb42bc1dd2c25b1310c
* | | Camera framework change required for 0-memcpy recordingJames Dong2010-10-191-0/+9
| | | | | | | | | | | | | | | | | | bug - 3042125 Change-Id: I46eb7a10b5394086b353fd73e4503beceeed76f1
* | | Added command type to play recording sound.Nipun Kwatra2010-09-141-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | Added CAMERA_CMD_PLAY_RECORDING_SOUND command type to play recording sound through sendCommand. This is currently needed by time lapse recording using still mode capture, which disables the shutter sound but needs to play the recording sound. Change-Id: I376aa40f45b6064fd862abc065456b06fc338020
* | | Adding enable/disable option for sendCommand()Nipun Kwatra2010-09-141-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Added enum CAMERA_CMD_ENABLE_SHUTTER_SOUND which corresponds to command type for enabling/disabling shutter sound. - The implementation checks if it is legal to disable shutter sound. If it is, then any process can disable the sound. If not, then only the mediaserver process is allowed to do this. Currently time lapse capture needs this functionality to disable shutter sound when still mode is used to capture time lapse video. Change-Id: Id147a3bcc6a345c2c6a6d52bf98fd8292386bb19
* | | Change the framework to use the new camera preview path.Jamie Gennis2010-08-231-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change makes the camera HAL interface take an ANativeWindow interface from which all the camera preview buffers will be allocated. The framework code running in application processes now passes a Surface object rather than an ISurface to the camera server via Binder when setting the preview surface. The camera server then forwards that Surface object (which implements the ANativeWindow interface) to the camera HAL, which uses it to communicate with SurfaceFlinger to allocate the camera preview buffers. Change-Id: Ie438f721559cd7de5e4f848a26d96360dda07b5f
* | | am 4506c62a: fix inaccurate copyrightsJean-Baptiste Queru2010-07-291-1/+0
|\ \ \ | |/ / |/| | | | | | | | | | | | | | Merge commit '4506c62abd5767d6d42a97e8e87793a1b3bcb625' into gingerbread-plus-aosp * commit '4506c62abd5767d6d42a97e8e87793a1b3bcb625': fix inaccurate copyrights
| * | fix inaccurate copyrightsJean-Baptiste Queru2010-07-291-1/+0
| |/ | | | | | | Change-Id: I33b0f68f2da34ca4728211d83159cf32a127f6dd
* | Change camera interface to support multiple cameras.Chih-Chung Chang2010-06-111-0/+28
| | | | | | | | Change-Id: Ie88fe706d2278acf762eca87780de349434778a4
* | Support multiple cameras in framework.Chih-Chung Chang2010-05-101-1/+2
|/ | | | Change-Id: I081f0fbdca4b633715ea7c3b3d42f8662d27598a
* split libsurfaceflinger_client and libcamera_client out of libuiMathias Agopian2010-02-111-0/+214