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,
120 mm_camera_obj_t * my_obj = (mm_camera_obj_t *)user_data;
121 if (NULL != my_obj) {
122 pthread_mutex_lock(&my_obj->cb_lock);
124 if(my_obj->evt.evt[i].evt_cb) {
125 my_obj->evt.evt[i].evt_cb(
126 my_obj->my_hdl,
128 my_obj->evt.evt[i].user_data);
131 pthread_mutex_unlock(&my_obj->cb_lock);
154 mm_camera_obj_t *my_obj = (mm_camera_obj_t*)user_data;
155 if (NULL != my_obj) {
158 rc = ioctl(my_obj->ctrl_fd, VIDIOC_DQEVENT, &ev);
165 mm_camera_enqueue_evt(my_obj, &evt);
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)
247 if (NULL == my_obj) {
251 mm_camera_util_get_dev_name(my_obj->my_hdl));
257 my_obj->ctrl_fd = open(dev_name, O_RDWR | O_NONBLOCK);
258 CDBG("%s: ctrl_fd = %d, errno == %d", __func__, my_obj->ctrl_fd, errno);
259 if((my_obj->ctrl_fd >= 0) || (errno != EIO) || (n_try <= 0 )) {
268 if (my_obj->ctrl_fd < 0) {
279 my_obj->ds_fd = mm_camera_socket_create(cam_idx, MM_CAMERA_SOCK_TYPE_UDP);
280 CDBG("%s: ds_fd = %d, errno = %d", __func__, my_obj->ds_fd, errno);
281 if((my_obj->ds_fd >= 0) || (n_try <= 0 )) {
290 if (my_obj->ds_fd < 0) {
296 pthread_mutex_init(&my_obj->msg_lock, NULL);
298 pthread_mutex_init(&my_obj->cb_lock, NULL);
299 pthread_mutex_init(&my_obj->evt_lock, NULL);
300 pthread_cond_init(&my_obj->evt_cond, NULL);
303 mm_camera_cmd_thread_launch(&my_obj->evt_thread,
305 (void *)my_obj);
310 mm_camera_poll_thread_launch(&my_obj->evt_poll_thread,
312 mm_camera_evt_sub(my_obj, TRUE);
320 if (NULL == my_obj) {
324 if (my_obj->ctrl_fd >= 0) {
325 close(my_obj->ctrl_fd);
326 my_obj->ctrl_fd = -1;
328 if (my_obj->ds_fd >= 0) {
329 mm_camera_socket_close(my_obj->ds_fd);
330 my_obj->ds_fd = -1;
346 * @my_obj : ptr to a camera object
353 int32_t mm_camera_close(mm_camera_obj_t *my_obj)
356 mm_camera_evt_sub(my_obj, FALSE);
359 mm_camera_poll_thread_release(&my_obj->evt_poll_thread);
362 mm_camera_cmd_thread_release(&my_obj->evt_thread);
364 if(my_obj->ctrl_fd >= 0) {
365 close(my_obj->ctrl_fd);
366 my_obj->ctrl_fd = -1;
368 if(my_obj->ds_fd >= 0) {
369 mm_camera_socket_close(my_obj->ds_fd);
370 my_obj->ds_fd = -1;
372 pthread_mutex_destroy(&my_obj->msg_lock);
374 pthread_mutex_destroy(&my_obj->cb_lock);
375 pthread_mutex_destroy(&my_obj->evt_lock);
376 pthread_cond_destroy(&my_obj->evt_cond);
378 pthread_mutex_unlock(&my_obj->cam_lock);
388 * @my_obj : ptr to a camera object
396 int32_t mm_camera_register_event_notify_internal(mm_camera_obj_t *my_obj,
404 pthread_mutex_lock(&my_obj->cb_lock);
405 evt_array = &my_obj->evt;
430 pthread_mutex_unlock(&my_obj->cb_lock);
440 * @my_obj : ptr to a camera object
448 int32_t mm_camera_register_event_notify(mm_camera_obj_t *my_obj,
453 rc = mm_camera_register_event_notify_internal(my_obj,
456 pthread_mutex_unlock(&my_obj->cam_lock);
466 * @my_obj : camera object
474 int32_t mm_camera_qbuf(mm_camera_obj_t *my_obj,
480 ch_obj = mm_camera_util_get_channel_by_handler(my_obj, ch_id);
482 pthread_mutex_unlock(&my_obj->cam_lock);
500 * @my_obj: camera object
506 int32_t mm_camera_query_capability(mm_camera_obj_t *my_obj)
513 rc = ioctl(my_obj->ctrl_fd, VIDIOC_QUERYCAP, &cap);
518 pthread_mutex_unlock(&my_obj->cam_lock);
529 * @my_obj : camera object
539 int32_t mm_camera_set_parms(mm_camera_obj_t *my_obj,
545 rc = mm_camera_util_s_ctrl(my_obj->ctrl_fd, CAM_PRIV_PARM, &value);
547 pthread_mutex_unlock(&my_obj->cam_lock);
557 * @my_obj : camera object
569 int32_t mm_camera_get_parms(mm_camera_obj_t *my_obj,
575 rc = mm_camera_util_g_ctrl(my_obj->ctrl_fd, CAM_PRIV_PARM, &value);
577 pthread_mutex_unlock(&my_obj->cam_lock);
595 int32_t mm_camera_do_auto_focus(mm_camera_obj_t *my_obj)
599 rc = mm_camera_util_s_ctrl(my_obj->ctrl_fd, CAM_PRIV_DO_AUTO_FOCUS, &value);
600 pthread_mutex_unlock(&my_obj->cam_lock);
616 int32_t mm_camera_cancel_auto_focus(mm_camera_obj_t *my_obj)
620 rc = mm_camera_util_s_ctrl(my_obj->ctrl_fd, CAM_PRIV_CANCEL_AUTO_FOCUS, &value);
621 pthread_mutex_unlock(&my_obj->cam_lock);
631 * @my_obj : camera object
638 int32_t mm_camera_prepare_snapshot(mm_camera_obj_t *my_obj,
643 rc = mm_camera_util_s_ctrl(my_obj->ctrl_fd, CAM_PRIV_PREPARE_SNAPSHOT, &value);
644 pthread_mutex_unlock(&my_obj->cam_lock);
654 * @my_obj : camera object
660 int32_t mm_camera_start_zsl_snapshot(mm_camera_obj_t *my_obj)
665 rc = mm_camera_util_s_ctrl(my_obj->ctrl_fd,
676 * @my_obj : camera object
682 int32_t mm_camera_stop_zsl_snapshot(mm_camera_obj_t *my_obj)
686 rc = mm_camera_util_s_ctrl(my_obj->ctrl_fd,
697 * @my_obj : camera object
710 uint32_t mm_camera_add_channel(mm_camera_obj_t *my_obj,
720 if (MM_CHANNEL_STATE_NOTUSED == my_obj->ch[ch_idx].state) {
721 ch_obj = &my_obj->ch[ch_idx];
732 ch_obj->cam_obj = my_obj;
737 pthread_mutex_unlock(&my_obj->cam_lock);
748 * @my_obj : camera object
757 int32_t mm_camera_del_channel(mm_camera_obj_t *my_obj,
762 mm_camera_util_get_channel_by_handler(my_obj, ch_id);
766 pthread_mutex_unlock(&my_obj->cam_lock);
776 pthread_mutex_unlock(&my_obj->cam_lock);
787 * @my_obj : camera object
797 int32_t mm_camera_get_bundle_info(mm_camera_obj_t *my_obj,
803 mm_camera_util_get_channel_by_handler(my_obj, ch_id);
807 pthread_mutex_unlock(&my_obj->cam_lock);
814 pthread_mutex_unlock(&my_obj->cam_lock);
825 * @my_obj : camera object
832 uint32_t mm_camera_add_stream(mm_camera_obj_t *my_obj,
837 mm_camera_util_get_channel_by_handler(my_obj, ch_id);
841 pthread_mutex_unlock(&my_obj->cam_lock);
848 pthread_mutex_unlock(&my_obj->cam_lock);
860 * @my_obj : camera object
869 int32_t mm_camera_del_stream(mm_camera_obj_t *my_obj,
875 mm_camera_util_get_channel_by_handler(my_obj, ch_id);
879 pthread_mutex_unlock(&my_obj->cam_lock);
886 pthread_mutex_unlock(&my_obj->cam_lock);
898 * @my_obj : camera object
905 int32_t mm_camera_start_zsl_snapshot_ch(mm_camera_obj_t *my_obj,
910 mm_camera_util_get_channel_by_handler(my_obj, ch_id);
914 pthread_mutex_unlock(&my_obj->cam_lock);
921 pthread_mutex_unlock(&my_obj->cam_lock);
933 * @my_obj : camera object
940 int32_t mm_camera_stop_zsl_snapshot_ch(mm_camera_obj_t *my_obj,
945 mm_camera_util_get_channel_by_handler(my_obj, ch_id);
949 pthread_mutex_unlock(&my_obj->cam_lock);
956 pthread_mutex_unlock(&my_obj->cam_lock);
968 * @my_obj : camera object
977 int32_t mm_camera_config_stream(mm_camera_obj_t *my_obj,
984 mm_camera_util_get_channel_by_handler(my_obj, ch_id);
989 pthread_mutex_unlock(&my_obj->cam_lock);
999 pthread_mutex_unlock(&my_obj->cam_lock);
1011 * @my_obj : camera object
1018 int32_t mm_camera_start_channel(mm_camera_obj_t *my_obj,
1023 mm_camera_util_get_channel_by_handler(my_obj, ch_id);
1027 pthread_mutex_unlock(&my_obj->cam_lock);
1034 pthread_mutex_unlock(&my_obj->cam_lock);
1046 * @my_obj : camera object
1053 int32_t mm_camera_stop_channel(mm_camera_obj_t *my_obj,
1058 mm_camera_util_get_channel_by_handler(my_obj, ch_id);
1062 pthread_mutex_unlock(&my_obj->cam_lock);
1069 pthread_mutex_unlock(&my_obj->cam_lock);
1081 * @my_obj : camera object
1089 int32_t mm_camera_request_super_buf(mm_camera_obj_t *my_obj,
1096 mm_camera_util_get_channel_by_handler(my_obj, ch_id);
1100 pthread_mutex_unlock(&my_obj->cam_lock);
1107 pthread_mutex_unlock(&my_obj->cam_lock);
1120 * @my_obj : camera object
1127 int32_t mm_camera_cancel_super_buf_request(mm_camera_obj_t *my_obj, uint32_t ch_id)
1131 mm_camera_util_get_channel_by_handler(my_obj, ch_id);
1135 pthread_mutex_unlock(&my_obj->cam_lock);
1142 pthread_mutex_unlock(&my_obj->cam_lock);
1154 * @my_obj : camera object
1161 int32_t mm_camera_flush_super_buf_queue(mm_camera_obj_t *my_obj, uint32_t ch_id,
1166 mm_camera_util_get_channel_by_handler(my_obj, ch_id);
1170 pthread_mutex_unlock(&my_obj->cam_lock);
1177 pthread_mutex_unlock(&my_obj->cam_lock);
1189 * @my_obj : camera object
1197 int32_t mm_camera_config_channel_notify(mm_camera_obj_t *my_obj,
1203 mm_camera_util_get_channel_by_handler(my_obj, ch_id);
1207 pthread_mutex_unlock(&my_obj->cam_lock);
1214 pthread_mutex_unlock(&my_obj->cam_lock);
1226 * @my_obj : camera object
1238 int32_t mm_camera_set_stream_parms(mm_camera_obj_t *my_obj,
1246 mm_camera_util_get_channel_by_handler(my_obj, ch_id);
1250 pthread_mutex_unlock(&my_obj->cam_lock);
1261 pthread_mutex_unlock(&my_obj->cam_lock);
1273 * @my_obj : camera object
1287 int32_t mm_camera_get_stream_parms(mm_camera_obj_t *my_obj,
1295 mm_camera_util_get_channel_by_handler(my_obj, ch_id);
1299 pthread_mutex_unlock(&my_obj->cam_lock);
1310 pthread_mutex_unlock(&my_obj->cam_lock);
1323 * @my_obj : camera object
1335 int32_t mm_camera_do_stream_action(mm_camera_obj_t *my_obj,
1343 mm_camera_util_get_channel_by_handler(my_obj, ch_id);
1347 pthread_mutex_unlock(&my_obj->cam_lock);
1358 pthread_mutex_unlock(&my_obj->cam_lock);
1370 * @my_obj : camera object
1390 int32_t mm_camera_map_stream_buf(mm_camera_obj_t *my_obj,
1402 mm_camera_util_get_channel_by_handler(my_obj, ch_id);
1406 pthread_mutex_unlock(&my_obj->cam_lock);
1420 pthread_mutex_unlock(&my_obj->cam_lock);
1432 * @my_obj : camera object
1450 int32_t mm_camera_unmap_stream_buf(mm_camera_obj_t *my_obj,
1460 mm_camera_util_get_channel_by_handler(my_obj, ch_id);
1464 pthread_mutex_unlock(&my_obj->cam_lock);
1476 pthread_mutex_unlock(&my_obj->cam_lock);
1488 * @my_obj : camera object
1495 int32_t mm_camera_evt_sub(mm_camera_obj_t * my_obj,
1506 rc = ioctl(my_obj->ctrl_fd, VIDIOC_UNSUBSCRIBE_EVENT, &sub);
1512 rc = mm_camera_poll_thread_del_poll_fd(&my_obj->evt_poll_thread,
1513 my_obj->my_hdl,
1516 rc = ioctl(my_obj->ctrl_fd, VIDIOC_SUBSCRIBE_EVENT, &sub);
1522 rc = mm_camera_poll_thread_add_poll_fd(&my_obj->evt_poll_thread,
1523 my_obj->my_hdl,
1524 my_obj->ctrl_fd,
1526 (void*)my_obj,
1538 * @my_obj : camera object
1545 void mm_camera_util_wait_for_event(mm_camera_obj_t *my_obj,
1549 pthread_mutex_lock(&my_obj->evt_lock);
1550 while (!(my_obj->evt_rcvd.server_event_type & evt_mask)) {
1551 pthread_cond_wait(&my_obj->evt_cond, &my_obj->evt_lock);
1553 *status = my_obj->evt_rcvd.status;
1555 memset(&my_obj->evt_rcvd, 0, sizeof(mm_camera_event_t));
1556 pthread_mutex_unlock(&my_obj->evt_lock);
1565 * @my_obj : camera object
1574 int32_t mm_camera_util_sendmsg(mm_camera_obj_t *my_obj,
1583 pthread_mutex_lock(&my_obj->msg_lock);
1584 if(mm_camera_socket_sendmsg(my_obj->ds_fd, msg, buf_size, sendfd) > 0) {
1586 mm_camera_util_wait_for_event(my_obj, CAM_EVENT_TYPE_MAP_UNMAP_DONE, &status);
1591 pthread_mutex_unlock(&my_obj->msg_lock);
1601 * @my_obj : camera object
1613 int32_t mm_camera_map_buf(mm_camera_obj_t *my_obj,
1625 rc = mm_camera_util_sendmsg(my_obj,
1629 pthread_mutex_unlock(&my_obj->cam_lock);
1639 * @my_obj : camera object
1649 int32_t mm_camera_unmap_buf(mm_camera_obj_t *my_obj,
1657 rc = mm_camera_util_sendmsg(my_obj,
1661 pthread_mutex_unlock(&my_obj->cam_lock);
1737 * @my_obj : camera object
1746 int32_t mm_camera_channel_advanced_capture(mm_camera_obj_t *my_obj,
1754 mm_camera_util_get_channel_by_handler(my_obj, ch_id);
1758 pthread_mutex_unlock(&my_obj->cam_lock);
1789 pthread_mutex_unlock(&my_obj->cam_lock);