Home | History | Annotate | Download | only in src

Lines Matching refs:cmd_thread

562     mm_camera_cmd_thread_t *cmd_thread =
568 ret = cam_sem_wait(&cmd_thread->cmd_sem);
577 node = (mm_camera_cmdcb_t*)cam_queue_deq(&cmd_thread->cmd_queue);
589 if (NULL != cmd_thread->cb) {
590 cmd_thread->cb(node, cmd_thread->user_data);
599 node = (mm_camera_cmdcb_t*)cam_queue_deq(&cmd_thread->cmd_queue);
605 int32_t mm_camera_cmd_thread_launch(mm_camera_cmd_thread_t * cmd_thread,
611 cam_sem_init(&cmd_thread->cmd_sem, 0);
612 cam_queue_init(&cmd_thread->cmd_queue);
613 cmd_thread->cb = cb;
614 cmd_thread->user_data = user_data;
617 pthread_create(&cmd_thread->cmd_pid,
620 (void *)cmd_thread);
633 int32_t mm_camera_cmd_thread_stop(mm_camera_cmd_thread_t * cmd_thread)
645 cam_queue_enq(&cmd_thread->cmd_queue, node);
646 cam_sem_post(&cmd_thread->cmd_sem);
649 if (pthread_join(cmd_thread->cmd_pid, NULL) != 0) {
655 int32_t mm_camera_cmd_thread_destroy(mm_camera_cmd_thread_t * cmd_thread)
658 cam_queue_deinit(&cmd_thread->cmd_queue);
659 cam_sem_destroy(&cmd_thread->cmd_sem);
660 memset(cmd_thread, 0, sizeof(mm_camera_cmd_thread_t));
664 int32_t mm_camera_cmd_thread_release(mm_camera_cmd_thread_t * cmd_thread)
667 rc = mm_camera_cmd_thread_stop(cmd_thread);
669 rc = mm_camera_cmd_thread_destroy(cmd_thread);