From c707b1d73e29aa8df2a6d2f666eca57e816b0f6e Mon Sep 17 00:00:00 2001 From: Shuzhen Wang Date: Tue, 27 Jan 2015 22:36:25 -0800 Subject: Camera: Add support to not queue all buffers up front Camera HAL needs to call cancel_buffer on min_undequeued_buffers preview buffers up front. That means not all preview buffers should be queued into camera driver. This change adds the support. Bug: 18630337 Change-Id: I794b0dcafa03ebfaddf4c68b66b09c74bbb206d0 --- camera/mm-camera-interface/mm_camera.h | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'camera/mm-camera-interface/mm_camera.h') diff --git a/camera/mm-camera-interface/mm_camera.h b/camera/mm-camera-interface/mm_camera.h index 0d62fbe..57c229b 100644 --- a/camera/mm-camera-interface/mm_camera.h +++ b/camera/mm-camera-interface/mm_camera.h @@ -1,5 +1,5 @@ /* -Copyright (c) 2011-2012, The Linux Foundation. All rights reserved. +Copyright (c) 2011-2012,2015, The Linux Foundation. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -58,7 +58,6 @@ typedef enum { MM_CAMERA_STATE_EVT_GET_CROP, MM_CAMERA_STATE_EVT_DISPATCH_BUFFERED_FRAME, MM_CAMERA_STATE_EVT_REQUEST_BUF, // request amount of buffers to kernel only - MM_CAMERA_STATE_EVT_ENQUEUE_BUF, // enqueue some of buffers to kernel only MM_CAMERA_STATE_EVT_MAX } mm_camera_state_evt_type_t; @@ -114,7 +113,7 @@ typedef struct { mm_camera_frame_queue_t readyq; int32_t num_frame; uint32_t frame_len; - int8_t reg_flag; + int8_t reg_flag[MM_CAMERA_MAX_NUM_FRAMES]; uint32_t frame_offset[MM_CAMERA_MAX_NUM_FRAMES]; mm_camera_frame_t frame[MM_CAMERA_MAX_NUM_FRAMES]; int8_t ref_count[MM_CAMERA_MAX_NUM_FRAMES]; @@ -302,7 +301,6 @@ extern int32_t mm_camera_get_parm(mm_camera_obj_t * my_obj, extern int32_t mm_camera_set_parm(mm_camera_obj_t * my_obj, mm_camera_parm_t *parm); extern int32_t mm_camera_request_buf(mm_camera_obj_t * my_obj, mm_camera_reg_buf_t *buf); -extern int32_t mm_camera_enqueue_buf(mm_camera_obj_t * my_obj, mm_camera_reg_buf_t *buf); extern int32_t mm_camera_prepare_buf(mm_camera_obj_t * my_obj, mm_camera_reg_buf_t *buf); extern int32_t mm_camera_unprepare_buf(mm_camera_obj_t * my_obj, mm_camera_channel_type_t ch_type); extern int mm_camera_poll_thread_launch(mm_camera_obj_t * my_obj, int ch_type); -- cgit v1.2.3