Home | History | Annotate | Download | only in src

Lines Matching defs:my_obj

51 int32_t mm_camera_send_native_ctrl_cmd(mm_camera_obj_t * my_obj,
55 int32_t mm_camera_send_native_ctrl_timeout_cmd(mm_camera_obj_t * my_obj,
60 int mm_camera_evt_sub(mm_camera_obj_t * my_obj,
63 int32_t mm_camera_set_general_parm(mm_camera_obj_t * my_obj,
66 int32_t mm_camera_enqueue_evt(mm_camera_obj_t *my_obj,
68 extern int32_t mm_channel_init(mm_channel_t *my_obj);
93 mm_camera_obj_t * my_obj = (mm_camera_obj_t *)user_data;
94 if (NULL != my_obj) {
96 pthread_mutex_lock(&my_obj->cb_lock);
98 if(my_obj->evt[evt_type].evt[i].evt_cb) {
99 my_obj->evt[evt_type].evt[i].evt_cb(
100 my_obj->my_hdl,
102 my_obj->evt[evt_type].evt[i].user_data);
105 pthread_mutex_unlock(&my_obj->cb_lock);
115 mm_camera_obj_t * my_obj = NULL;
118 my_obj = (mm_camera_obj_t *)user_data;
119 if (NULL != my_obj) {
139 mm_camera_obj_t *my_obj = (mm_camera_obj_t*)user_data;
140 if (NULL != my_obj) {
143 rc = ioctl(my_obj->ctrl_fd, VIDIOC_DQEVENT, &ev);
152 mm_camera_enqueue_evt(my_obj, evt);
157 int32_t mm_camera_enqueue_evt(mm_camera_obj_t *my_obj,
170 mm_camera_queue_enq(&(my_obj->evt_thread.cmd_queue), node);
172 sem_post(&(my_obj->evt_thread.cmd_sem));
183 int32_t mm_camera_send_ch_event(mm_camera_obj_t *my_obj,
196 rc = mm_camera_enqueue_evt(my_obj, &event);
200 int32_t mm_camera_open(mm_camera_obj_t *my_obj)
207 uint8_t cam_idx = mm_camera_util_get_index_by_handler(my_obj->my_hdl);
212 mm_camera_util_get_dev_name(my_obj->my_hdl));
216 my_obj->ctrl_fd = open(dev_name, O_RDWR | O_NONBLOCK);
217 CDBG("%s: ctrl_fd = %d, errno == %d", __func__, my_obj->ctrl_fd, errno);
218 if((my_obj->ctrl_fd > 0) || (errno != EIO) || (n_try <= 0 )) {
227 if (my_obj->ctrl_fd <= 0) {
238 my_obj->ds_fd = mm_camera_socket_create(cam_idx, MM_CAMERA_SOCK_TYPE_UDP);
239 CDBG("%s: ds_fd = %d, errno = %d", __func__, my_obj->ds_fd, errno);
240 if((my_obj->ds_fd > 0) || (n_try <= 0 )) {
249 if (my_obj->ds_fd <= 0) {
257 rc = mm_camera_util_s_ctrl(my_obj->ctrl_fd,
266 my_obj->current_mode = CAMERA_MODE_2D;
272 mm_camera_sync(my_obj);
274 pthread_mutex_init(&my_obj->cb_lock, NULL);
277 mm_camera_cmd_thread_launch(&my_obj->async_cmd_thread,
279 (void *)my_obj);
282 mm_camera_cmd_thread_launch(&my_obj->evt_thread,
284 (void *)my_obj);
289 mm_camera_poll_thread_launch(&my_obj->evt_poll_thread,
298 if (my_obj->ctrl_fd > 0) {
299 close(my_obj->ctrl_fd);
300 my_obj->ctrl_fd = -1;
302 if (my_obj->ds_fd > 0) {
303 mm_camera_socket_close(my_obj->ds_fd);
304 my_obj->ds_fd = -1;
312 int32_t mm_camera_close(mm_camera_obj_t *my_obj)
315 mm_camera_poll_thread_release(&my_obj->evt_poll_thread);
318 mm_camera_cmd_thread_release(&my_obj->evt_thread);
321 mm_camera_cmd_thread_release(&my_obj->async_cmd_thread);
323 if(my_obj->ctrl_fd > 0) {
324 close(my_obj->ctrl_fd);
325 my_obj->ctrl_fd = -1;
327 if(my_obj->ds_fd > 0) {
328 mm_camera_socket_close(my_obj->ds_fd);
329 my_obj->ds_fd = -1;
332 pthread_mutex_destroy(&my_obj->cb_lock);
334 pthread_mutex_unlock(&my_obj->cam_lock);
338 uint8_t mm_camera_is_event_supported(mm_camera_obj_t *my_obj, mm_camera_event_type_t evt_type)
353 mm_camera_obj_t *my_obj,
362 pthread_mutex_lock(&my_obj->cb_lock);
363 evt_array = &my_obj->evt[evt_type];
390 rc = mm_camera_evt_sub(my_obj, evt_type, evt_array->reg_count);
393 pthread_mutex_unlock(&my_obj->cb_lock);
397 int32_t mm_camera_register_event_notify(mm_camera_obj_t *my_obj,
404 mm_camera_evt_obj_t *evt_array = &my_obj->evt[evt_type];
406 rc = mm_camera_register_event_notify_internal(my_obj, evt_cb,
409 pthread_mutex_unlock(&my_obj->cam_lock);
413 int32_t mm_camera_qbuf(mm_camera_obj_t *my_obj,
419 ch_obj = mm_camera_util_get_channel_by_handler(my_obj, ch_id);
421 pthread_mutex_unlock(&my_obj->cam_lock);
433 mm_camera_2nd_sensor_t * mm_camera_query_2nd_sensor_info(mm_camera_obj_t *my_obj)
439 int32_t mm_camera_sync(mm_camera_obj_t *my_obj)
444 memset(&my_obj->properties, 0, sizeof(cam_prop_t));
445 rc = mm_camera_send_native_ctrl_cmd(my_obj,
448 (void *)&my_obj->properties);
458 //my_obj->need_pp = 1;
459 my_obj->need_pp = 0;
466 //pthread_mutex_unlock(&my_obj->cam_lock);
471 int32_t mm_camera_is_parm_supported(mm_camera_obj_t *my_obj,
479 my_obj->properties.parm);
481 my_obj->properties.parm);
482 pthread_mutex_unlock(&my_obj->cam_lock);
487 int32_t mm_camera_util_set_op_mode(mm_camera_obj_t * my_obj,
493 if (my_obj->op_mode == *op_mode)
510 if(0 != (rc = mm_camera_util_s_ctrl(my_obj->ctrl_fd,
516 my_obj->op_mode = *op_mode;
522 int32_t mm_camera_set_parm(mm_camera_obj_t *my_obj,
530 rc = mm_camera_util_set_op_mode(my_obj,
534 rc = mm_camera_send_native_ctrl_cmd(my_obj,
540 memcpy(&my_obj->dim, (cam_ctrl_dimension_t *)p_value,
544 my_obj->dim.display_width,my_obj->dim.display_height,
545 my_obj->dim.video_width, my_obj->dim.video_height,
546 my_obj->dim.picture_width,my_obj->dim.picture_height,
547 my_obj->dim.ui_thumbnail_width,my_obj->dim.ui_thumbnail_height,
548 my_obj->dim.raw_picture_width,my_obj->dim.raw_picture_height);
551 my_obj->snap_burst_num_by_user = *((uint32_t *)p_value);
554 rc = mm_camera_set_general_parm(my_obj, parm_type, p_value);
557 pthread_mutex_unlock(&my_obj->cam_lock);
561 int32_t mm_camera_get_parm(mm_camera_obj_t *my_obj,
572 dim->height = my_obj->properties.max_pict_height;
573 dim->width = my_obj->properties.max_pict_width;
579 *((int *)p_value) = my_obj->properties.preview_format;
582 *((int *)p_value) = my_obj->properties.preview_sizes_cnt;
585 *((int *)p_value) = my_obj->properties.video_sizes_cnt;
588 *((int *)p_value) = my_obj->properties.thumb_sizes_cnt;
591 *((int *)p_value) = my_obj->properties.hfr_sizes_cnt;
594 *((int *)p_value) = my_obj->properties.hfr_frame_skip;
597 *((int *)p_value) = my_obj->properties.default_preview_width;
600 *((int *)p_value) = my_obj->properties.default_preview_height;
606 dim->height = my_obj->properties.max_preview_height;
607 dim->width = my_obj->properties.max_preview_width;
616 dim->height = my_obj->properties.max_video_height;
617 dim->width = my_obj->properties.max_video_width;
623 rc = mm_camera_send_native_ctrl_cmd(my_obj,
629 rc = mm_camera_send_native_ctrl_cmd(my_obj,
635 rc = mm_camera_send_native_ctrl_cmd(my_obj,
641 rc = mm_camera_send_native_ctrl_cmd(my_obj,
647 rc = mm_camera_send_native_ctrl_cmd(my_obj,
653 rc = mm_camera_send_native_ctrl_cmd(my_obj,
659 rc = mm_camera_send_native_ctrl_cmd(my_obj,
665 rc = mm_camera_send_native_ctrl_cmd(my_obj,
673 rc = mm_camera_send_native_ctrl_cmd(my_obj,
682 rc = mm_camera_send_native_ctrl_cmd(my_obj,
691 rc = mm_camera_send_native_ctrl_cmd(my_obj,
700 rc = mm_camera_send_native_ctrl_cmd(my_obj,
709 rc = mm_camera_send_native_ctrl_cmd(my_obj,
716 *((int *)p_value) = my_obj->snap_burst_num_by_user;
719 *((int *)p_value) = my_obj->properties.vfe_output_enable;
722 memcpy(p_value, &my_obj->dim, sizeof(my_obj->dim));
725 my_obj->dim.display_width,my_obj->dim.display_height,
726 my_obj->dim.video_width,my_obj->dim.video_height,
727 my_obj->dim.picture_width,my_obj->dim.picture_height,
728 my_obj->dim.ui_thumbnail_width,my_obj->dim.ui_thumbnail_height,
729 my_obj->dim.orig_video_width,my_obj->dim.orig_video_height,
730 my_obj->dim.orig_picture_width,my_obj->dim.orig_picture_height,
731 my_obj->dim.main_img_format, my_obj->dim.thumb_format);
734 *((mm_camera_op_mode_type_t *)p_value) = my_obj->op_mode;
742 pthread_mutex_unlock(&my_obj->cam_lock);
746 uint32_t mm_camera_add_channel(mm_camera_obj_t *my_obj)
753 if (MM_CHANNEL_STATE_NOTUSED == my_obj->ch[ch_idx].state) {
754 ch_obj = &my_obj->ch[ch_idx];
765 ch_obj->cam_obj = my_obj;
770 pthread_mutex_unlock(&my_obj->cam_lock);
775 void mm_camera_del_channel(mm_camera_obj_t *my_obj,
779 mm_camera_util_get_channel_by_handler(my_obj, ch_id);
783 pthread_mutex_unlock(&my_obj->cam_lock);
793 pthread_mutex_unlock(&my_obj->cam_lock);
797 uint32_t mm_camera_add_stream(mm_camera_obj_t *my_obj,
804 mm_camera_util_get_channel_by_handler(my_obj, ch_id);
810 pthread_mutex_unlock(&my_obj->cam_lock);
822 pthread_mutex_unlock(&my_obj->cam_lock);
828 int32_t mm_camera_del_stream(mm_camera_obj_t *my_obj,
834 mm_camera_util_get_channel_by_handler(my_obj, ch_id);
838 pthread_mutex_unlock(&my_obj->cam_lock);
845 pthread_mutex_unlock(&my_obj->cam_lock);
851 int32_t mm_camera_config_stream(mm_camera_obj_t *my_obj,
858 mm_camera_util_get_channel_by_handler(my_obj, ch_id);
863 pthread_mutex_unlock(&my_obj->cam_lock);
873 pthread_mutex_unlock(&my_obj->cam_lock);
879 int32_t mm_camera_bundle_streams(mm_camera_obj_t *my_obj,
889 mm_camera_util_get_channel_by_handler(my_obj, ch_id);
894 pthread_mutex_unlock(&my_obj->cam_lock);
907 pthread_mutex_unlock(&my_obj->cam_lock);
913 int32_t mm_camera_destroy_bundle(mm_camera_obj_t *my_obj, uint32_t ch_id)
917 mm_camera_util_get_channel_by_handler(my_obj, ch_id);
921 pthread_mutex_unlock(&my_obj->cam_lock);
928 pthread_mutex_unlock(&my_obj->cam_lock);
934 int32_t mm_camera_start_streams(mm_camera_obj_t *my_obj,
941 mm_camera_util_get_channel_by_handler(my_obj, ch_id);
946 pthread_mutex_unlock(&my_obj->cam_lock);
956 pthread_mutex_unlock(&my_obj->cam_lock);
962 int32_t mm_camera_stop_streams(mm_camera_obj_t *my_obj,
972 mm_camera_util_get_channel_by_handler(my_obj, ch_id);
976 pthread_mutex_unlock(&my_obj->cam_lock);
987 pthread_mutex_unlock(&my_obj->cam_lock);
992 int32_t mm_camera_async_teardown_streams(mm_camera_obj_t *my_obj,
1002 mm_camera_util_get_channel_by_handler(my_obj, ch_id);
1006 pthread_mutex_unlock(&my_obj->cam_lock);
1019 mm_camera_queue_enq(&(my_obj->async_cmd_thread.cmd_queue), node);
1021 sem_post(&(my_obj->async_cmd_thread.cmd_sem));
1029 pthread_mutex_unlock(&my_obj->cam_lock);
1034 int32_t mm_camera_request_super_buf(mm_camera_obj_t *my_obj, uint32_t ch_id)
1038 mm_camera_util_get_channel_by_handler(my_obj, ch_id);
1042 pthread_mutex_unlock(&my_obj->cam_lock);
1049 pthread_mutex_unlock(&my_obj->cam_lock);
1055 int32_t mm_camera_cancel_super_buf_request(mm_camera_obj_t *my_obj, uint32_t ch_id)
1059 mm_camera_util_get_channel_by_handler(my_obj, ch_id);
1063 pthread_mutex_unlock(&my_obj->cam_lock);
1070 pthread_mutex_unlock(&my_obj->cam_lock);
1076 int32_t mm_camera_start_focus(mm_camera_obj_t *my_obj,
1084 mm_camera_util_get_channel_by_handler(my_obj, ch_id);
1088 pthread_mutex_unlock(&my_obj->cam_lock);
1098 pthread_mutex_unlock(&my_obj->cam_lock);
1104 int32_t mm_camera_abort_focus(mm_camera_obj_t *my_obj,
1110 mm_camera_util_get_channel_by_handler(my_obj, ch_id);
1114 pthread_mutex_unlock(&my_obj->cam_lock);
1121 pthread_mutex_unlock(&my_obj->cam_lock);
1127 int32_t mm_camera_prepare_snapshot(mm_camera_obj_t *my_obj,
1133 mm_camera_util_get_channel_by_handler(my_obj, ch_id);
1137 pthread_mutex_unlock(&my_obj->cam_lock);
1144 pthread_mutex_unlock(&my_obj->cam_lock);
1150 int32_t mm_camera_set_stream_parm(mm_camera_obj_t *my_obj,
1159 mm_camera_util_get_channel_by_handler(my_obj, ch_id);
1163 pthread_mutex_unlock(&my_obj->cam_lock);
1173 pthread_mutex_unlock(&my_obj->cam_lock);
1179 int32_t mm_camera_get_stream_parm(mm_camera_obj_t *my_obj,
1188 mm_camera_util_get_channel_by_handler(my_obj, ch_id);
1192 pthread_mutex_unlock(&my_obj->cam_lock);
1202 pthread_mutex_unlock(&my_obj->cam_lock);
1208 int32_t mm_camera_ctrl_set_specialEffect (mm_camera_obj_t *my_obj, int32_t effect) {
1216 rc = ioctl(my_obj->ctrl_fd, VIDIOC_S_CTRL, &ctrl);
1220 int32_t mm_camera_ctrl_set_auto_focus (mm_camera_obj_t *my_obj, int32_t value)
1232 if (-1 == ioctl (my_obj->ctrl_fd, VIDIOC_QUERYCTRL, &queryctrl)) {
1237 if(0 != (rc = mm_camera_util_s_ctrl(my_obj->ctrl_fd,
1247 int32_t mm_camera_ctrl_set_whitebalance (mm_camera_obj_t *my_obj, int32_t mode) {
1282 rc = mm_camera_util_s_ctrl(my_obj->ctrl_fd, id, value);
1289 int32_t mm_camera_set_general_parm(mm_camera_obj_t * my_obj,
1298 rc = mm_camera_util_s_ctrl(my_obj->ctrl_fd,
1303 rc = mm_camera_util_s_ctrl(my_obj->ctrl_fd,
1308 rc = mm_camera_util_s_ctrl(my_obj->ctrl_fd,
1313 rc = mm_camera_util_s_ctrl(my_obj->ctrl_fd,
1318 rc = mm_camera_util_s_ctrl(my_obj->ctrl_fd,
1323 rc = mm_camera_ctrl_set_whitebalance (my_obj, *((int32_t *)p_value));
1326 rc = mm_camera_util_s_ctrl(my_obj->ctrl_fd,
1331 rc = mm_camera_util_s_ctrl(my_obj->ctrl_fd,
1336 rc = mm_camera_util_s_ctrl(my_obj->ctrl_fd,
1341 rc = mm_camera_util_s_ctrl(my_obj->ctrl_fd,
1346 rc = mm_camera_ctrl_set_auto_focus(my_obj,
1350 rc = mm_camera_util_s_ctrl(my_obj->ctrl_fd,
1355 rc = mm_camera_ctrl_set_specialEffect (my_obj,
1359 rc = mm_camera_send_native_ctrl_cmd(my_obj,
1365 rc = mm_camera_send_native_ctrl_cmd(my_obj,
1371 rc = mm_camera_send_native_ctrl_cmd(my_obj,
1377 rc = mm_camera_send_native_ctrl_cmd(my_obj,
1383 rc = mm_camera_send_native_ctrl_cmd(my_obj,
1389 my_obj->current_mode = *((camera_mode_t *)p_value);
1392 rc = mm_camera_send_native_ctrl_cmd(my_obj,
1398 rc = mm_camera_send_native_ctrl_cmd(my_obj,
1404 rc = mm_camera_send_native_ctrl_cmd(my_obj,
1410 rc = mm_camera_send_native_ctrl_cmd(my_obj,
1417 rc = mm_camera_send_native_ctrl_cmd(my_obj,
1423 rc = mm_camera_send_native_ctrl_cmd(my_obj,
1430 rc = mm_camera_send_native_ctrl_cmd(my_obj,
1436 rc = mm_camera_send_native_ctrl_cmd(my_obj,
1442 rc = mm_camera_send_native_ctrl_cmd(my_obj,
1448 rc = mm_camera_send_native_ctrl_cmd(my_obj,
1454 rc = mm_camera_send_native_ctrl_cmd(my_obj,
1460 rc = mm_camera_send_native_ctrl_cmd(my_obj,
1466 rc = mm_camera_send_native_ctrl_cmd(my_obj,
1472 rc = mm_camera_send_native_ctrl_cmd(my_obj,
1478 rc = mm_camera_send_native_ctrl_cmd(my_obj,
1484 rc = mm_camera_send_native_ctrl_cmd(my_obj,
1490 rc = mm_camera_send_native_ctrl_cmd(my_obj,
1496 rc = mm_camera_send_native_ctrl_cmd(my_obj,
1501 rc = mm_camera_send_native_ctrl_cmd(my_obj,
1507 rc = mm_camera_send_native_ctrl_cmd(my_obj,
1513 rc = mm_camera_send_native_ctrl_cmd(my_obj,
1519 rc = mm_camera_send_native_ctrl_cmd(my_obj,
1525 rc = mm_camera_send_native_ctrl_cmd(my_obj,
1531 rc = mm_camera_send_native_ctrl_cmd(my_obj,
1539 rc = mm_camera_send_native_ctrl_cmd(my_obj,
1548 rc = mm_camera_send_native_ctrl_cmd(my_obj,
1554 rc = mm_camera_send_native_ctrl_cmd(my_obj,
1560 rc = mm_camera_send_native_ctrl_cmd(my_obj,
1570 rc = mm_camera_send_native_ctrl_cmd(my_obj,
1576 rc = mm_camera_send_native_ctrl_cmd(my_obj,
1582 rc = mm_camera_send_native_ctrl_cmd(my_obj,
1588 rc = mm_camera_send_native_ctrl_cmd(my_obj,
1618 int32_t mm_camera_send_native_ctrl_cmd(mm_camera_obj_t * my_obj,
1623 return mm_camera_send_native_ctrl_timeout_cmd(my_obj, type,
1628 int32_t mm_camera_send_native_ctrl_timeout_cmd(mm_camera_obj_t * my_obj,
1643 rc = mm_camera_util_private_s_ctrl(my_obj->ctrl_fd,
1655 int mm_camera_evt_sub(mm_camera_obj_t * my_obj,
1666 if(my_obj->evt_type_mask == (uint32_t)(1 << evt_type)) {
1667 rc = ioctl(my_obj->ctrl_fd, VIDIOC_UNSUBSCRIBE_EVENT, &sub);
1670 rc = ioctl(my_obj->ctrl_fd, VIDIOC_UNSUBSCRIBE_EVENT, &sub);
1673 my_obj->evt_type_mask &= ~(1 << evt_type);
1674 if(my_obj->evt_type_mask == 0) {
1676 mm_camera_poll_thread_del_poll_fd(&my_obj->evt_poll_thread, my_obj->my_hdl);
1679 if(!my_obj->evt_type_mask) {
1681 rc = ioctl(my_obj->ctrl_fd, VIDIOC_SUBSCRIBE_EVENT, &sub);
1686 rc = ioctl(my_obj->ctrl_fd, VIDIOC_SUBSCRIBE_EVENT, &sub);
1691 my_obj->evt_type_mask |= (1 << evt_type);
1692 if(my_obj->evt_type_mask == (uint32_t)(1 << evt_type)) {
1694 rc = mm_camera_poll_thread_add_poll_fd(&my_obj->evt_poll_thread,
1695 my_obj->my_hdl,
1696 my_obj->ctrl_fd,
1698 (void*)my_obj);
1705 int32_t mm_camera_util_sendmsg(mm_camera_obj_t *my_obj, void *msg, uint32_t buf_size, int sendfd)
1707 return mm_camera_socket_sendmsg(my_obj->ds_fd, msg, buf_size, sendfd);
1710 int32_t mm_camera_map_buf(mm_camera_obj_t *my_obj,
1724 return mm_camera_util_sendmsg(my_obj, &packet,
1729 int32_t mm_camera_unmap_buf(mm_camera_obj_t *my_obj,
1738 return mm_camera_util_sendmsg(my_obj, &packet,