diff options
Diffstat (limited to 'src/camera_internal.c')
-rw-r--r-- | src/camera_internal.c | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/src/camera_internal.c b/src/camera_internal.c index f909c3e..fed2c67 100644 --- a/src/camera_internal.c +++ b/src/camera_internal.c @@ -362,3 +362,77 @@ int camera_device_manager_remove_device_list_changed_cb(camera_device_manager_h return ret; } + + +int camera_attr_set_flash_brightness(camera_h camera, int level) +{ + int ret = CAMERA_ERROR_NONE; + camera_cli_s *pc = (camera_cli_s *)camera; + muse_camera_api_e api = MUSE_CAMERA_API_ATTR_SET_FLASH_BRIGHTNESS; + camera_msg_param param; + + if (!pc || !pc->cb_info) { + CAM_LOG_ERROR("NULL handle"); + return CAMERA_ERROR_INVALID_PARAMETER; + } + + CAM_LOG_INFO("Enter"); + + CAMERA_MSG_PARAM_SET(param, INT, level); + + _camera_msg_send_param1(api, pc->cb_info, &ret, ¶m, CAMERA_CB_TIMEOUT); + + CAM_LOG_INFO("ret : 0x%x", ret); + + return ret; +} + + +int camera_attr_get_flash_brightness(camera_h camera, int *level) +{ + int ret = CAMERA_ERROR_NONE; + camera_cli_s *pc = (camera_cli_s *)camera; + muse_camera_api_e api = MUSE_CAMERA_API_ATTR_GET_FLASH_BRIGHTNESS; + + if (!pc || !pc->cb_info || !level) { + CAM_LOG_ERROR("NULL pointer %p %p", pc, level); + return CAMERA_ERROR_INVALID_PARAMETER; + } + + CAM_LOG_INFO("Enter"); + + _camera_msg_send(api, NULL, pc->cb_info, &ret, CAMERA_CB_TIMEOUT); + + if (ret == CAMERA_ERROR_NONE) + *level = pc->cb_info->get_int[MUSE_CAMERA_GET_INT_FLASH_BRIGHTNESS]; + + CAM_LOG_INFO("ret : 0x%x", ret); + + return ret; +} + + +int camera_attr_get_flash_brightness_range(camera_h camera, int *min, int *max) +{ + int ret = CAMERA_ERROR_NONE; + camera_cli_s *pc = (camera_cli_s *)camera; + muse_camera_api_e api = MUSE_CAMERA_API_ATTR_GET_FLASH_BRIGHTNESS_RANGE; + + if (!pc || !pc->cb_info || !min || !max) { + CAM_LOG_ERROR("NULL pointer %p %p %p", pc, min, max); + return CAMERA_ERROR_INVALID_PARAMETER; + } + + CAM_LOG_INFO("Enter"); + + _camera_msg_send(api, NULL, pc->cb_info, &ret, CAMERA_CB_TIMEOUT); + + if (ret == CAMERA_ERROR_NONE) { + *min = pc->cb_info->get_int_pair[MUSE_CAMERA_GET_INT_PAIR_FLASH_BRIGHTNESS_RANGE][0]; + *max = pc->cb_info->get_int_pair[MUSE_CAMERA_GET_INT_PAIR_FLASH_BRIGHTNESS_RANGE][1]; + } + + CAM_LOG_INFO("ret : 0x%x", ret); + + return ret; +} |