camera_device_ops Struct Reference
#include <
camera.h
>
Detailed Description
Field Documentation
int(* auto_focus)(struct camera_device *) |
int(* cancel_auto_focus)(struct camera_device *) |
Cancels auto-focus function. If the auto-focus is still in progress, this function will cancel it. Whether the auto-focus is in progress or not, this function will return the focus position to the default. If the camera does not support auto-focus, this is a no-op.
int(* cancel_picture)(struct camera_device *) |
void(* disable_msg_type)(struct camera_device *, int32_t msg_type) |
Disable a message, or a set of messages.
Once received a call to disableMsgType(CAMERA_MSG_VIDEO_FRAME), camera HAL should not rely on its client to call releaseRecordingFrame() to release video recording frames sent out by the cameral HAL before and after the disableMsgType(CAMERA_MSG_VIDEO_FRAME) call. Camera HAL clients must not modify/access any video recording frame after calling disableMsgType(CAMERA_MSG_VIDEO_FRAME).
int(* dump)(struct camera_device *, int fd) |
void(* enable_msg_type)(struct camera_device *, int32_t msg_type) |
char*(* get_parameters)(struct camera_device *) |
int(* msg_type_enabled)(struct camera_device *, int32_t msg_type) |
int(* preview_enabled)(struct camera_device *) |
void(* put_parameters)(struct camera_device *, char *) |
The camera HAL uses its own memory to pass us the parameters when we call get_parameters. Use this function to return the memory back to the camera HAL, if put_parameters is not NULL. If put_parameters is NULL, then you have to use free() to release the memory.
int(* recording_enabled)(struct camera_device *) |
void(* release)(struct camera_device *) |
void(* release_recording_frame)(struct camera_device *, const void *opaque) |
Release a record frame previously returned by CAMERA_MSG_VIDEO_FRAME.
It is camera HAL client's responsibility to release video recording frames sent out by the camera HAL before the camera HAL receives a call to disableMsgType(CAMERA_MSG_VIDEO_FRAME). After it receives the call to disableMsgType(CAMERA_MSG_VIDEO_FRAME), it is the camera HAL's responsibility to manage the life-cycle of the video recording frames.
int(* send_command)(struct camera_device *, int32_t cmd, int32_t arg1, int32_t arg2) |
void(* set_callbacks)(struct camera_device *, camera_notify_callback notify_cb, camera_data_callback data_cb, camera_data_timestamp_callback data_cb_timestamp, camera_request_memory get_memory, void *user) |
int(* set_parameters)(struct camera_device *, const char *parms) |
int(* set_preview_window)(struct camera_device *, struct preview_stream_ops *window) |
int(* start_preview)(struct camera_device *) |
int(* start_recording)(struct camera_device *) |
Start record mode. When a record image is available, a CAMERA_MSG_VIDEO_FRAME message is sent with the corresponding frame. Every record frame must be released by a camera HAL client via releaseRecordingFrame() before the client calls disableMsgType(CAMERA_MSG_VIDEO_FRAME). After the client calls disableMsgType(CAMERA_MSG_VIDEO_FRAME), it is the camera HAL's responsibility to manage the life-cycle of the video recording frames, and the client must not modify/access any video recording frames.
void(* stop_preview)(struct camera_device *) |
void(* stop_recording)(struct camera_device *) |
int(* store_meta_data_in_buffers)(struct camera_device *, int enable) |
Request the camera HAL to store meta data or real YUV data in the video buffers sent out via CAMERA_MSG_VIDEO_FRAME for a recording session. If it is not called, the default camera HAL behavior is to store real YUV data in the video buffers.
This method should be called before startRecording() in order to be effective.
If meta data is stored in the video buffers, it is up to the receiver of the video buffers to interpret the contents and to find the actual frame data with the help of the meta data in the buffer. How this is done is outside of the scope of this method.
Some camera HALs may not support storing meta data in the video buffers, but all camera HALs should support storing real YUV data in the video buffers. If the camera HAL does not support storing the meta data in the video buffers when it is requested to do do, INVALID_OPERATION must be returned. It is very useful for the camera HAL to pass meta data rather than the actual frame data directly to the video encoder, since the amount of the uncompressed frame data can be very large if video size is large.
- Parameters
-
enable if true to instruct the camera HAL to store meta data in the video buffers; false to instruct the camera HAL to store real YUV data in the video buffers.
- Returns
- OK on success.
int(* take_picture)(struct camera_device *) |
The documentation for this struct was generated from the following file:
- hardware/libhardware/include/hardware/ camera.h