Home | History | Annotate | Download | only in src

Lines Matching refs:my_obj

52 int32_t mm_camera_evt_sub(mm_camera_obj_t * my_obj,
54 int32_t mm_camera_enqueue_evt(mm_camera_obj_t *my_obj,
124 mm_camera_obj_t * my_obj = (mm_camera_obj_t *)user_data;
125 if (NULL != my_obj) {
126 pthread_mutex_lock(&my_obj->cb_lock);
128 if(my_obj->evt.evt[i].evt_cb) {
129 my_obj->evt.evt[i].evt_cb(
130 my_obj->my_hdl,
132 my_obj->evt.evt[i].user_data);
135 pthread_mutex_unlock(&my_obj->cb_lock);
158 mm_camera_obj_t *my_obj = (mm_camera_obj_t*)user_data;
159 if (NULL != my_obj) {
162 rc = ioctl(my_obj->ctrl_fd, VIDIOC_DQEVENT, &ev);
168 pthread_mutex_lock(&my_obj->evt_lock);
169 my_obj->evt_rcvd.server_event_type = msm_evt->command;
170 my_obj->evt_rcvd.status = msm_evt->status;
171 pthread_cond_signal(&my_obj->evt_cond);
172 pthread_mutex_unlock(&my_obj->evt_lock);
177 mm_camera_enqueue_evt(my_obj, &evt);
194 * @my_obj : ptr to a camera object
201 int32_t mm_camera_enqueue_evt(mm_camera_obj_t *my_obj,
214 cam_queue_enq(&(my_obj->evt_thread.cmd_queue), node);
216 cam_sem_post(&(my_obj->evt_thread.cmd_sem));
231 * @my_obj : ptr to a camera object
237 int32_t mm_camera_open(mm_camera_obj_t *my_obj)
248 mm_camera_util_get_dev_name(my_obj->my_hdl));
254 my_obj->ctrl_fd = open(dev_name, O_RDWR | O_NONBLOCK);
255 CDBG("%s: ctrl_fd = %d, errno == %d", __func__, my_obj->ctrl_fd, errno);
256 if((my_obj->ctrl_fd > 0) || (errno != EIO) || (n_try <= 0 )) {
265 if (my_obj->ctrl_fd <= 0) {
276 my_obj->ds_fd = mm_camera_socket_create(cam_idx, MM_CAMERA_SOCK_TYPE_UDP);
277 CDBG("%s: ds_fd = %d, errno = %d", __func__, my_obj->ds_fd, errno);
278 if((my_obj->ds_fd > 0) || (n_try <= 0 )) {
287 if (my_obj->ds_fd <= 0) {
293 pthread_mutex_init(&my_obj->msg_lock, NULL);
295 pthread_mutex_init(&my_obj->cb_lock, NULL);
296 pthread_mutex_init(&my_obj->evt_lock, NULL);
297 pthread_cond_init(&my_obj->evt_cond, NULL);
300 mm_camera_cmd_thread_launch(&my_obj->evt_thread,
302 (void *)my_obj);
307 mm_camera_poll_thread_launch(&my_obj->evt_poll_thread,
309 mm_camera_evt_sub(my_obj, TRUE);
317 if (my_obj->ctrl_fd > 0) {
318 close(my_obj->ctrl_fd);
319 my_obj->ctrl_fd = 0;
321 if (my_obj->ds_fd > 0) {
322 mm_camera_socket_close(my_obj->ds_fd);
323 my_obj->ds_fd = 0;
338 * @my_obj : ptr to a camera object
345 int32_t mm_camera_close(mm_camera_obj_t *my_obj)
348 mm_camera_evt_sub(my_obj, FALSE);
351 mm_camera_poll_thread_release(&my_obj->evt_poll_thread);
354 mm_camera_cmd_thread_release(&my_obj->evt_thread);
356 if(my_obj->ctrl_fd > 0) {
357 close(my_obj->ctrl_fd);
358 my_obj->ctrl_fd = 0;
360 if(my_obj->ds_fd > 0) {
361 mm_camera_socket_close(my_obj->ds_fd);
362 my_obj->ds_fd = 0;
364 pthread_mutex_destroy(&my_obj->msg_lock);
366 pthread_mutex_destroy(&my_obj->cb_lock);
367 pthread_mutex_destroy(&my_obj->evt_lock);
368 pthread_cond_destroy(&my_obj->evt_cond);
370 pthread_mutex_unlock(&my_obj->cam_lock);
380 * @my_obj : ptr to a camera object
388 int32_t mm_camera_register_event_notify_internal(mm_camera_obj_t *my_obj,
396 pthread_mutex_lock(&my_obj->cb_lock);
397 evt_array = &my_obj->evt;
422 pthread_mutex_unlock(&my_obj->cb_lock);
432 * @my_obj : ptr to a camera object
440 int32_t mm_camera_register_event_notify(mm_camera_obj_t *my_obj,
445 rc = mm_camera_register_event_notify_internal(my_obj,
448 pthread_mutex_unlock(&my_obj->cam_lock);
458 * @my_obj : camera object
466 int32_t mm_camera_qbuf(mm_camera_obj_t *my_obj,
472 ch_obj = mm_camera_util_get_channel_by_handler(my_obj, ch_id);
474 pthread_mutex_unlock(&my_obj->cam_lock);
492 * @my_obj: camera object
498 int32_t mm_camera_query_capability(mm_camera_obj_t *my_obj)
505 rc = ioctl(my_obj->ctrl_fd, VIDIOC_QUERYCAP, &cap);
510 pthread_mutex_unlock(&my_obj->cam_lock);
521 * @my_obj : camera object
531 int32_t mm_camera_set_parms(mm_camera_obj_t *my_obj,
537 rc = mm_camera_util_s_ctrl(my_obj->ctrl_fd, CAM_PRIV_PARM, &value);
539 pthread_mutex_unlock(&my_obj->cam_lock);
549 * @my_obj : camera object
561 int32_t mm_camera_get_parms(mm_camera_obj_t *my_obj,
567 rc = mm_camera_util_g_ctrl(my_obj->ctrl_fd, CAM_PRIV_PARM, &value);
569 pthread_mutex_unlock(&my_obj->cam_lock);
587 int32_t mm_camera_do_auto_focus(mm_camera_obj_t *my_obj)
591 rc = mm_camera_util_s_ctrl(my_obj->ctrl_fd, CAM_PRIV_DO_AUTO_FOCUS, &value);
592 pthread_mutex_unlock(&my_obj->cam_lock);
608 int32_t mm_camera_cancel_auto_focus(mm_camera_obj_t *my_obj)
612 rc = mm_camera_util_s_ctrl(my_obj->ctrl_fd, CAM_PRIV_CANCEL_AUTO_FOCUS, &value);
613 pthread_mutex_unlock(&my_obj->cam_lock);
623 * @my_obj : camera object
630 int32_t mm_camera_prepare_snapshot(mm_camera_obj_t *my_obj,
635 rc = mm_camera_util_s_ctrl(my_obj->ctrl_fd, CAM_PRIV_PREPARE_SNAPSHOT, &value);
636 pthread_mutex_unlock(&my_obj->cam_lock);
646 * @my_obj : camera object
652 int32_t mm_camera_start_zsl_snapshot(mm_camera_obj_t *my_obj)
657 rc = mm_camera_util_s_ctrl(my_obj->ctrl_fd,
660 pthread_mutex_unlock(&my_obj->cam_lock);
670 * @my_obj : camera object
676 int32_t mm_camera_stop_zsl_snapshot(mm_camera_obj_t *my_obj)
680 rc = mm_camera_util_s_ctrl(my_obj->ctrl_fd,
682 pthread_mutex_unlock(&my_obj->cam_lock);
692 * @my_obj : camera object
705 uint32_t mm_camera_add_channel(mm_camera_obj_t *my_obj,
715 if (MM_CHANNEL_STATE_NOTUSED == my_obj->ch[ch_idx].state) {
716 ch_obj = &my_obj->ch[ch_idx];
727 ch_obj->cam_obj = my_obj;
732 pthread_mutex_unlock(&my_obj->cam_lock);
743 * @my_obj : camera object
752 int32_t mm_camera_del_channel(mm_camera_obj_t *my_obj,
757 mm_camera_util_get_channel_by_handler(my_obj, ch_id);
761 pthread_mutex_unlock(&my_obj->cam_lock);
771 pthread_mutex_unlock(&my_obj->cam_lock);
782 * @my_obj : camera object
792 int32_t mm_camera_get_bundle_info(mm_camera_obj_t *my_obj,
798 mm_camera_util_get_channel_by_handler(my_obj, ch_id);
802 pthread_mutex_unlock(&my_obj->cam_lock);
809 pthread_mutex_unlock(&my_obj->cam_lock);
820 * @my_obj : camera object
827 uint32_t mm_camera_add_stream(mm_camera_obj_t *my_obj,
832 mm_camera_util_get_channel_by_handler(my_obj, ch_id);
836 pthread_mutex_unlock(&my_obj->cam_lock);
843 pthread_mutex_unlock(&my_obj->cam_lock);
855 * @my_obj : camera object
864 int32_t mm_camera_del_stream(mm_camera_obj_t *my_obj,
870 mm_camera_util_get_channel_by_handler(my_obj, ch_id);
874 pthread_mutex_unlock(&my_obj->cam_lock);
881 pthread_mutex_unlock(&my_obj->cam_lock);
893 * @my_obj : camera object
902 int32_t mm_camera_config_stream(mm_camera_obj_t *my_obj,
909 mm_camera_util_get_channel_by_handler(my_obj, ch_id);
914 pthread_mutex_unlock(&my_obj->cam_lock);
924 pthread_mutex_unlock(&my_obj->cam_lock);
936 * @my_obj : camera object
943 int32_t mm_camera_start_channel(mm_camera_obj_t *my_obj,
948 mm_camera_util_get_channel_by_handler(my_obj, ch_id);
952 pthread_mutex_unlock(&my_obj->cam_lock);
959 pthread_mutex_unlock(&my_obj->cam_lock);
971 * @my_obj : camera object
978 my_obj,
983 mm_camera_util_get_channel_by_handler(my_obj, ch_id);
987 pthread_mutex_unlock(&my_obj->cam_lock);
994 pthread_mutex_unlock(&my_obj->cam_lock);
1006 * @my_obj : camera object
1014 int32_t mm_camera_request_super_buf(mm_camera_obj_t *my_obj,
1020 mm_camera_util_get_channel_by_handler(my_obj, ch_id);
1024 pthread_mutex_unlock(&my_obj->cam_lock);
1031 pthread_mutex_unlock(&my_obj->cam_lock);
1044 * @my_obj : camera object
1051 int32_t mm_camera_cancel_super_buf_request(mm_camera_obj_t *my_obj, uint32_t ch_id)
1055 mm_camera_util_get_channel_by_handler(my_obj, ch_id);
1059 pthread_mutex_unlock(&my_obj->cam_lock);
1066 pthread_mutex_unlock(&my_obj->cam_lock);
1078 * @my_obj : camera object
1085 int32_t mm_camera_flush_super_buf_queue(mm_camera_obj_t *my_obj, uint32_t ch_id,
1090 mm_camera_util_get_channel_by_handler(my_obj, ch_id);
1094 pthread_mutex_unlock(&my_obj->cam_lock);
1101 pthread_mutex_unlock(&my_obj->cam_lock);
1113 * @my_obj : camera object
1121 int32_t mm_camera_config_channel_notify(mm_camera_obj_t *my_obj,
1127 mm_camera_util_get_channel_by_handler(my_obj, ch_id);
1131 pthread_mutex_unlock(&my_obj->cam_lock);
1138 pthread_mutex_unlock(&my_obj->cam_lock);
1150 * @my_obj : camera object
1162 int32_t mm_camera_set_stream_parms(mm_camera_obj_t *my_obj,
1170 mm_camera_util_get_channel_by_handler(my_obj, ch_id);
1174 pthread_mutex_unlock(&my_obj->cam_lock);
1185 pthread_mutex_unlock(&my_obj->cam_lock);
1197 * @my_obj : camera object
1211 int32_t mm_camera_get_stream_parms(mm_camera_obj_t *my_obj,
1219 mm_camera_util_get_channel_by_handler(my_obj, ch_id);
1223 pthread_mutex_unlock(&my_obj->cam_lock);
1234 pthread_mutex_unlock(&my_obj->cam_lock);
1247 * @my_obj : camera object
1259 int32_t mm_camera_do_stream_action(mm_camera_obj_t *my_obj,
1267 mm_camera_util_get_channel_by_handler(my_obj, ch_id);
1271 pthread_mutex_unlock(&my_obj->cam_lock);
1282 pthread_mutex_unlock(&my_obj->cam_lock);
1294 * @my_obj : camera object
1314 int32_t mm_camera_map_stream_buf(mm_camera_obj_t *my_obj,
1326 mm_camera_util_get_channel_by_handler(my_obj, ch_id);
1330 pthread_mutex_unlock(&my_obj->cam_lock);
1344 pthread_mutex_unlock(&my_obj->cam_lock);
1356 * @my_obj : camera object
1374 int32_t mm_camera_unmap_stream_buf(mm_camera_obj_t *my_obj,
1384 mm_camera_util_get_channel_by_handler(my_obj, ch_id);
1388 pthread_mutex_unlock(&my_obj->cam_lock);
1400 pthread_mutex_unlock(&my_obj->cam_lock);
1412 * @my_obj : camera object
1419 int32_t mm_camera_evt_sub(mm_camera_obj_t * my_obj,
1430 rc = ioctl(my_obj->ctrl_fd, VIDIOC_UNSUBSCRIBE_EVENT, &sub);
1436 rc = mm_camera_poll_thread_del_poll_fd(&my_obj->evt_poll_thread,
1437 my_obj->my_hdl,
1440 rc = ioctl(my_obj->ctrl_fd, VIDIOC_SUBSCRIBE_EVENT, &sub);
1446 rc = mm_camera_poll_thread_add_poll_fd(&my_obj->evt_poll_thread,
1447 my_obj->my_hdl,
1448 my_obj->ctrl_fd,
1450 (void*)my_obj,
1462 * @my_obj : camera object
1469 void mm_camera_util_wait_for_event(mm_camera_obj_t *my_obj,
1473 pthread_mutex_lock(&my_obj->evt_lock);
1474 while (!(my_obj->evt_rcvd.server_event_type & evt_mask)) {
1475 pthread_cond_wait(&my_obj->evt_cond, &my_obj->evt_lock);
1477 *status = my_obj->evt_rcvd.status;
1479 memset(&my_obj->evt_rcvd, 0, sizeof(mm_camera_event_t));
1480 pthread_mutex_unlock(&my_obj->evt_lock);
1489 * @my_obj : camera object
1498 int32_t mm_camera_util_sendmsg(mm_camera_obj_t *my_obj,
1507 pthread_mutex_lock(&my_obj->msg_lock);
1508 if(mm_camera_socket_sendmsg(my_obj->ds_fd, msg, buf_size, sendfd) > 0) {
1510 mm_camera_util_wait_for_event(my_obj, CAM_EVENT_TYPE_MAP_UNMAP_DONE, &status);
1515 pthread_mutex_unlock(&my_obj->msg_lock);
1525 * @my_obj : camera object
1537 int32_t mm_camera_map_buf(mm_camera_obj_t *my_obj,
1549 rc = mm_camera_util_sendmsg(my_obj,
1553 pthread_mutex_unlock(&my_obj->cam_lock);
1563 * @my_obj : camera object
1573 int32_t mm_camera_unmap_buf(mm_camera_obj_t *my_obj,
1581 rc = mm_camera_util_sendmsg(my_obj,
1585 pthread_mutex_unlock(&my_obj->cam_lock);