summaryrefslogtreecommitdiffstats
path: root/include/hardware/camera.h
diff options
context:
space:
mode:
authorIliyan Malchev <malchev@google.com>2011-06-06 16:39:06 -0700
committerIliyan Malchev <malchev@google.com>2011-06-06 18:08:24 -0700
commit24b325e614747266c2488f2f973a03c501bcfe9c (patch)
treed36b14e462a16a017f65f7360a3c6d34e7a4c22e /include/hardware/camera.h
parent57adb36c30893cf3161bbb16a4a3505689ee75fa (diff)
downloadhardware_libhardware-24b325e614747266c2488f2f973a03c501bcfe9c.zip
hardware_libhardware-24b325e614747266c2488f2f973a03c501bcfe9c.tar.gz
hardware_libhardware-24b325e614747266c2488f2f973a03c501bcfe9c.tar.bz2
libhardware/camera.h: camera HAL memory management updates
-- add a callback to camera_memory_t that can be used to free the requested memory -- memory requests are in the form of N buffers S bytes each -- data callbacks pass an index to a buffer in addition to the camera_memory pointer Change-Id: I368139809f25a662d8895f205e3b87fa5046a4b2 Signed-off-by: Iliyan Malchev <malchev@google.com>
Diffstat (limited to 'include/hardware/camera.h')
-rw-r--r--include/hardware/camera.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/include/hardware/camera.h b/include/hardware/camera.h
index 04fb6ec..20d58d4 100644
--- a/include/hardware/camera.h
+++ b/include/hardware/camera.h
@@ -62,13 +62,18 @@ typedef struct camera_module {
int (*get_camera_info)(int camera_id, struct camera_info *info);
} camera_module_t;
+struct camera_memory;
+typedef void (*camera_release_memory)(struct camera_memory *mem);
+
typedef struct camera_memory {
void *data;
size_t size;
void *handle;
+ camera_release_memory release;
} camera_memory_t;
-typedef camera_memory_t* (*camera_request_memory)(size_t size, void *user);
+typedef camera_memory_t* (*camera_request_memory)(int fd, size_t buf_size, unsigned int num_bufs,
+ void *user);
typedef void (*camera_notify_callback)(int32_t msg_type,
int32_t ext1,
@@ -76,12 +81,12 @@ typedef void (*camera_notify_callback)(int32_t msg_type,
void *user);
typedef void (*camera_data_callback)(int32_t msg_type,
- const camera_memory_t *data,
+ const camera_memory_t *data, unsigned int index,
void *user);
typedef void (*camera_data_timestamp_callback)(int64_t timestamp,
int32_t msg_type,
- const camera_memory_t *data,
+ const camera_memory_t *data, unsigned int index,
void *user);
#define HAL_CAMERA_PREVIEW_WINDOW_TAG 0xcafed00d