Home | History | Annotate | Download | only in src

Lines Matching refs:cmd_thread

539     mm_camera_cmd_thread_t *cmd_thread =
545 ret = cam_sem_wait(&cmd_thread->cmd_sem);
554 node = (mm_camera_cmdcb_t*)cam_queue_deq(&cmd_thread->cmd_queue);
563 if (NULL != cmd_thread->cb) {
564 cmd_thread->cb(node, cmd_thread->user_data);
573 node = (mm_camera_cmdcb_t*)cam_queue_deq(&cmd_thread->cmd_queue);
579 int32_t mm_camera_cmd_thread_launch(mm_camera_cmd_thread_t * cmd_thread,
585 cam_sem_init(&cmd_thread->cmd_sem, 0);
586 cam_queue_init(&cmd_thread->cmd_queue);
587 cmd_thread->cb = cb;
588 cmd_thread->user_data = user_data;
591 pthread_create(&cmd_thread->cmd_pid,
594 (void *)cmd_thread);
598 int32_t mm_camera_cmd_thread_stop(mm_camera_cmd_thread_t * cmd_thread)
610 cam_queue_enq(&cmd_thread->cmd_queue, node);
611 cam_sem_post(&cmd_thread->cmd_sem);
614 if (pthread_join(cmd_thread->cmd_pid, NULL) != 0) {
620 int32_t mm_camera_cmd_thread_destroy(mm_camera_cmd_thread_t * cmd_thread)
623 cam_queue_deinit(&cmd_thread->cmd_queue);
624 cam_sem_destroy(&cmd_thread->cmd_sem);
625 memset(cmd_thread, 0, sizeof(mm_camera_cmd_thread_t));
629 int32_t mm_camera_cmd_thread_release(mm_camera_cmd_thread_t * cmd_thread)
632 rc = mm_camera_cmd_thread_stop(cmd_thread);
634 rc = mm_camera_cmd_thread_destroy(cmd_thread);