2 * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
20 #include <sys/types.h>
21 #include <sys/socket.h>
25 #include "muse_camera_msg.h"
26 #include "muse_camera.h"
27 #include <muse_core.h>
28 #include <muse_core_ipc.h>
30 #include <muse_core_security.h>
36 #define LOG_TAG "MUSED_CAMERA"
39 #define CAMERA_PRIVILEGE_NAME "http://tizen.org/privilege/camera"
41 static int _camera_remove_export_data(muse_module_h module, int key, int remove_all);
44 void _camera_dispatcher_callback_supported_theater_mode(int param1, void *user_data)
46 muse_module_h module = (muse_module_h)user_data;
48 LOGD("Enter!! param : %d", param1);
50 muse_camera_msg_event1(MUSE_CAMERA_CB_EVENT,
51 MUSE_CAMERA_EVENT_TYPE_FOREACH_SUPPORTED_THEATER_MODE,
52 MUSE_CAMERA_EVENT_CLASS_THREAD_SUB,
57 void _camera_dispatcher_callback_supported_af_mode(int param1, void *user_data)
59 muse_module_h module = (muse_module_h)user_data;
61 LOGD("Enter!! param : %d", param1);
63 muse_camera_msg_event1(MUSE_CAMERA_CB_EVENT,
64 MUSE_CAMERA_EVENT_TYPE_FOREACH_SUPPORTED_AF_MODE,
65 MUSE_CAMERA_EVENT_CLASS_THREAD_SUB,
70 void _camera_dispatcher_callback_supported_exposure_mode(int param1, void *user_data)
72 muse_module_h module = (muse_module_h)user_data;
74 LOGD("Enter!! param : %d", param1);
76 muse_camera_msg_event1(MUSE_CAMERA_CB_EVENT,
77 MUSE_CAMERA_EVENT_TYPE_FOREACH_SUPPORTED_EXPOSURE_MODE,
78 MUSE_CAMERA_EVENT_CLASS_THREAD_SUB,
83 void _camera_dispatcher_callback_supported_iso_mode(int param1, void *user_data)
85 muse_module_h module = (muse_module_h)user_data;
87 LOGD("Enter!! param : %d", param1);
89 muse_camera_msg_event1(MUSE_CAMERA_CB_EVENT,
90 MUSE_CAMERA_EVENT_TYPE_FOREACH_SUPPORTED_ISO,
91 MUSE_CAMERA_EVENT_CLASS_THREAD_SUB,
96 void _camera_dispatcher_callback_supported_whitebalance(int param1, void *user_data)
98 muse_module_h module = (muse_module_h)user_data;
100 LOGD("Enter!! param : %d", param1);
102 muse_camera_msg_event1(MUSE_CAMERA_CB_EVENT,
103 MUSE_CAMERA_EVENT_TYPE_FOREACH_SUPPORTED_WHITEBALANCE,
104 MUSE_CAMERA_EVENT_CLASS_THREAD_SUB,
109 void _camera_dispatcher_callback_supported_effect(int param1, void *user_data)
111 muse_module_h module = (muse_module_h)user_data;
113 LOGD("Enter!! param : %d", param1);
115 muse_camera_msg_event1(MUSE_CAMERA_CB_EVENT,
116 MUSE_CAMERA_EVENT_TYPE_FOREACH_SUPPORTED_EFFECT,
117 MUSE_CAMERA_EVENT_CLASS_THREAD_SUB,
122 void _camera_dispatcher_callback_supported_scene_mode(int param1, void *user_data)
124 muse_module_h module = (muse_module_h)user_data;
126 LOGD("Enter!! param : %d", param1);
128 muse_camera_msg_event1(MUSE_CAMERA_CB_EVENT,
129 MUSE_CAMERA_EVENT_TYPE_FOREACH_SUPPORTED_SCENE_MODE,
130 MUSE_CAMERA_EVENT_CLASS_THREAD_SUB,
135 void _camera_dispatcher_callback_supported_flash_mode(int param1, void *user_data)
137 muse_module_h module = (muse_module_h)user_data;
139 LOGD("Enter!! param : %d", param1);
141 muse_camera_msg_event1(MUSE_CAMERA_CB_EVENT,
142 MUSE_CAMERA_EVENT_TYPE_FOREACH_SUPPORTED_FLASH_MODE,
143 MUSE_CAMERA_EVENT_CLASS_THREAD_SUB,
148 void _camera_dispatcher_callback_supported_fps(int param1, void *user_data)
150 muse_module_h module = (muse_module_h)user_data;
152 LOGD("Enter!! param : %d", param1);
154 muse_camera_msg_event1(MUSE_CAMERA_CB_EVENT,
155 MUSE_CAMERA_EVENT_TYPE_FOREACH_SUPPORTED_FPS,
156 MUSE_CAMERA_EVENT_CLASS_THREAD_SUB,
161 void _camera_dispatcher_callback_supported_fps_by_resolution(int param1, void *user_data)
163 muse_module_h module = (muse_module_h)user_data;
165 LOGD("Enter!! param : %d", param1);
167 muse_camera_msg_event1(MUSE_CAMERA_CB_EVENT,
168 MUSE_CAMERA_EVENT_TYPE_FOREACH_SUPPORTED_FPS_BY_RESOLUTION,
169 MUSE_CAMERA_EVENT_CLASS_THREAD_SUB,
174 void _camera_dispatcher_callback_supported_stream_flip(int param1, void *user_data)
176 muse_module_h module = (muse_module_h)user_data;
178 LOGD("Enter!! param : %d", param1);
180 muse_camera_msg_event1(MUSE_CAMERA_CB_EVENT,
181 MUSE_CAMERA_EVENT_TYPE_FOREACH_SUPPORTED_STREAM_FLIP,
182 MUSE_CAMERA_EVENT_CLASS_THREAD_SUB,
187 void _camera_dispatcher_callback_supported_stream_rotation(int param1, void *user_data)
189 muse_module_h module = (muse_module_h)user_data;
191 LOGD("Enter!! param : %d", param1);
193 muse_camera_msg_event1(MUSE_CAMERA_CB_EVENT,
194 MUSE_CAMERA_EVENT_TYPE_FOREACH_SUPPORTED_STREAM_ROTATION,
195 MUSE_CAMERA_EVENT_CLASS_THREAD_SUB,
200 void _camera_dispatcher_callback_supported_capture_format(int param1, void *user_data)
202 muse_module_h module = (muse_module_h)user_data;
204 LOGD("Enter!! param : %d", param1);
206 muse_camera_msg_event1(MUSE_CAMERA_CB_EVENT,
207 MUSE_CAMERA_EVENT_TYPE_FOREACH_SUPPORTED_CAPTURE_FORMAT,
208 MUSE_CAMERA_EVENT_CLASS_THREAD_SUB,
213 void _camera_dispatcher_callback_supported_preview_format(int param1, void *user_data)
215 muse_module_h module = (muse_module_h)user_data;
217 LOGD("Enter!! param : %d", param1);
219 muse_camera_msg_event1(MUSE_CAMERA_CB_EVENT,
220 MUSE_CAMERA_EVENT_TYPE_FOREACH_SUPPORTED_PREVIEW_FORMAT,
221 MUSE_CAMERA_EVENT_CLASS_THREAD_SUB,
226 void _camera_dispatcher_callback_supported_preview_resolution(int param1, int param2, void *user_data)
228 muse_module_h module = (muse_module_h)user_data;
230 LOGD("Enter!! param1 : %d, param2 : %d", param1, param2);
232 muse_camera_msg_event2(MUSE_CAMERA_CB_EVENT,
233 MUSE_CAMERA_EVENT_TYPE_FOREACH_SUPPORTED_PREVIEW_RESOLUTION,
234 MUSE_CAMERA_EVENT_CLASS_THREAD_SUB,
240 void _camera_dispatcher_callback_supported_capture_resolution(int param1, int param2, void *user_data)
242 muse_module_h module = (muse_module_h)user_data;
244 LOGD("Enter!! param1 : %d, param2 : %d", param1, param2);
246 muse_camera_msg_event2(MUSE_CAMERA_CB_EVENT,
247 MUSE_CAMERA_EVENT_TYPE_FOREACH_SUPPORTED_CAPTURE_RESOLUTION,
248 MUSE_CAMERA_EVENT_CLASS_THREAD_SUB,
254 static int _camera_remove_export_data(muse_module_h module, int key, int remove_all)
256 muse_camera_handle_s *muse_camera = NULL;
257 GList *tmp_list = NULL;
258 muse_camera_export_data *export_data = NULL;
260 if (module == NULL || (key <= 0 && remove_all == FALSE)) {
261 LOGE("invalid parameter %p, %d", module, key);
265 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
266 if (muse_camera == NULL) {
271 g_mutex_lock(&muse_camera->list_lock);
273 tmp_list = muse_camera->data_list;
276 export_data = (muse_camera_export_data *)tmp_list->data;
278 if (export_data->key == key || remove_all) {
279 /*LOGD("key %d matched, remove it (remove_all %d)", key, remove_all);*/
281 if (export_data->bo) {
282 tbm_bo_unref(export_data->bo);
283 export_data->bo = NULL;
285 LOGW("bo for key %d is NULL", key);
287 export_data->key = 0;
288 if (export_data->internal_buffer) {
289 gst_buffer_unref((GstBuffer *)export_data->internal_buffer);
290 export_data->internal_buffer = NULL;
293 muse_camera->data_list = g_list_remove(muse_camera->data_list, export_data);
298 if (remove_all == FALSE) {
299 /*LOGD("key %d, remove done");*/
300 g_mutex_unlock(&muse_camera->list_lock);
303 LOGD("check next data");
310 tmp_list = tmp_list->next;
313 g_mutex_unlock(&muse_camera->list_lock);
316 LOGD("remove all done");
318 LOGE("should not be reached here - key %d", key);
324 void _camera_dispatcher_capturing_cb(camera_image_data_s* image, camera_image_data_s* postview, camera_image_data_s* thumbnail, void *user_data)
326 muse_camera_handle_s *muse_camera = NULL;
329 tbm_bo_handle bo_handle = {.ptr = NULL};
330 muse_camera_export_data *export_data = NULL;
332 muse_module_h module = (muse_module_h)user_data;
333 unsigned char *buf_pos = NULL;
335 int is_thumbnail = 0;
339 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
340 if (muse_camera == NULL) {
345 export_data = g_new0(muse_camera_export_data, 1);
346 if (export_data == NULL) {
347 LOGE("alloc export_data failed");
352 if (image->size > 0) {
353 data_size += (sizeof(camera_image_data_s) + image->size);
356 if (postview != NULL) {
357 if (postview->size > 0) {
358 data_size += (sizeof(camera_image_data_s) + postview->size);
362 if (thumbnail != NULL) {
363 if (thumbnail->size > 0) {
364 data_size += (sizeof(camera_image_data_s) + thumbnail->size);
369 bo = tbm_bo_alloc(muse_camera->bufmgr, data_size, TBM_BO_DEFAULT);
371 LOGE("bo alloc failed");
377 bo_handle = tbm_bo_map(bo, TBM_DEVICE_CPU, TBM_OPTION_READ | TBM_OPTION_WRITE);
378 if (bo_handle.ptr == NULL) {
379 LOGE("bo map Error!");
386 buf_pos = (unsigned char *)bo_handle.ptr;
388 if (image->size > 0) {
389 memcpy(buf_pos, image, sizeof(camera_image_data_s));
390 buf_pos += sizeof(camera_image_data_s);
391 memcpy(buf_pos, image->data, image->size);
392 buf_pos += image->size;
397 memcpy(buf_pos, postview, sizeof(camera_image_data_s));
398 buf_pos += sizeof(camera_image_data_s);
399 memcpy(buf_pos + sizeof(camera_image_data_s), postview->data, postview->size);
400 buf_pos += postview->size;
404 memcpy(buf_pos, thumbnail, sizeof(camera_image_data_s));
405 buf_pos += sizeof(camera_image_data_s);
406 memcpy(buf_pos + sizeof(camera_image_data_s), thumbnail->data, thumbnail->size);
411 tbm_key = tbm_bo_export(bo);
414 LOGE("Create key_info ERROR!!");
422 LOGD("bo %p, vaddr %p, size %d, key %d",
423 bo, bo_handle.ptr, data_size, tbm_key);
426 export_data->key = tbm_key;
427 export_data->bo = bo;
429 /* add bo info to list */
430 g_mutex_lock(&muse_camera->list_lock);
431 muse_camera->data_list = g_list_append(muse_camera->data_list, (gpointer)export_data);
432 g_mutex_unlock(&muse_camera->list_lock);
435 muse_camera_msg_event3(MUSE_CAMERA_CB_EVENT,
436 MUSE_CAMERA_EVENT_TYPE_CAPTURE,
437 MUSE_CAMERA_EVENT_CLASS_THREAD_SUB,
446 void _camera_dispatcher_state_changed_cb(camera_state_e previous, camera_state_e current, bool by_policy, void *user_data)
448 muse_module_h module = (muse_module_h)user_data;
450 LOGD("Enter - previous %d, current %d, by_policy %d",
451 previous, current, by_policy);
453 muse_camera_msg_event3(MUSE_CAMERA_CB_EVENT,
454 MUSE_CAMERA_EVENT_TYPE_STATE_CHANGE,
455 MUSE_CAMERA_EVENT_CLASS_THREAD_MAIN,
464 void _camera_dispatcher_interrupted_cb(camera_policy_e policy, camera_state_e previous, camera_state_e current, void *user_data)
466 muse_module_h module = (muse_module_h)user_data;
468 LOGD("Enter - policy %d, state previous %d, current %d", policy, previous, current);
470 muse_camera_msg_event3(MUSE_CAMERA_CB_EVENT,
471 MUSE_CAMERA_EVENT_TYPE_INTERRUPTED,
472 MUSE_CAMERA_EVENT_CLASS_THREAD_MAIN,
481 void _camera_dispatcher_preview_cb(MMCamcorderVideoStreamDataType *stream, void *user_data)
483 muse_camera_handle_s *muse_camera = NULL;
486 tbm_bo_handle bo_handle = {.ptr = NULL};
487 muse_camera_export_data *export_data = NULL;
490 int buffer_key[BUFFER_MAX_PLANE_NUM] = {0, };
491 int num_buffer_key = 0;
492 muse_module_h module = (muse_module_h)user_data;
493 unsigned char *buf_pos = NULL;
494 char *send_message = NULL;
499 if (module == NULL || stream == NULL) {
500 LOGE("NULL data %p, %p", module, stream);
504 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
505 if (muse_camera == NULL) {
510 export_data = g_new0(muse_camera_export_data, 1);
511 if (export_data == NULL) {
512 LOGE("alloc export_data failed");
516 data_size = sizeof(MMCamcorderVideoStreamDataType);
518 if (stream->bo[0] == NULL) {
519 switch (stream->data_type) {
520 case MM_CAM_STREAM_DATA_YUV420:
521 data_size += stream->data.yuv420.length_yuv;
523 case MM_CAM_STREAM_DATA_YUV422:
524 data_size += stream->data.yuv422.length_yuv;
526 case MM_CAM_STREAM_DATA_YUV420SP:
527 data_size += stream->data.yuv420sp.length_y;
528 data_size += stream->data.yuv420sp.length_uv;
530 case MM_CAM_STREAM_DATA_YUV420P:
531 data_size += stream->data.yuv420p.length_y;
532 data_size += stream->data.yuv420p.length_u;
533 data_size += stream->data.yuv420p.length_v;
535 case MM_CAM_STREAM_DATA_YUV422P:
536 data_size += stream->data.yuv422p.length_y;
537 data_size += stream->data.yuv422p.length_u;
538 data_size += stream->data.yuv422p.length_v;
540 case MM_CAM_STREAM_DATA_ENCODED:
541 data_size += stream->data.encoded.length_data;
544 LOGW("unknown data type %d", stream->data_type);
549 bo = tbm_bo_alloc(muse_camera->bufmgr, data_size, TBM_BO_DEFAULT);
551 LOGE("bo alloc failed");
557 bo_handle = tbm_bo_map(bo, TBM_DEVICE_CPU, TBM_OPTION_READ | TBM_OPTION_WRITE);
558 if (bo_handle.ptr == NULL) {
559 LOGE("bo map Error!");
566 buf_pos = (unsigned char *)bo_handle.ptr;
568 memcpy(buf_pos, stream, sizeof(MMCamcorderVideoStreamDataType));
569 buf_pos += sizeof(MMCamcorderVideoStreamDataType);
571 if (stream->bo[0] == NULL) {
573 switch (stream->data_type) {
574 case MM_CAM_STREAM_DATA_YUV420:
575 memcpy(buf_pos, stream->data.yuv420.yuv, stream->data.yuv420.length_yuv);
577 case MM_CAM_STREAM_DATA_YUV422:
578 memcpy(buf_pos, stream->data.yuv422.yuv, stream->data.yuv422.length_yuv);
580 case MM_CAM_STREAM_DATA_YUV420SP:
581 memcpy(buf_pos, stream->data.yuv420sp.y, stream->data.yuv420sp.length_y);
582 memcpy(buf_pos + stream->data.yuv420sp.length_y, stream->data.yuv420sp.uv, stream->data.yuv420sp.length_uv);
584 case MM_CAM_STREAM_DATA_YUV420P:
585 memcpy(buf_pos, stream->data.yuv420p.y, stream->data.yuv420p.length_y);
586 memcpy(buf_pos + stream->data.yuv420p.length_y, stream->data.yuv420p.u, stream->data.yuv420p.length_u);
587 memcpy(buf_pos + stream->data.yuv420p.length_y + stream->data.yuv420p.length_u, stream->data.yuv420p.v, stream->data.yuv420p.length_v);
589 case MM_CAM_STREAM_DATA_YUV422P:
590 memcpy(buf_pos, stream->data.yuv422p.y, stream->data.yuv422p.length_y);
591 memcpy(buf_pos + stream->data.yuv422p.length_y, stream->data.yuv422p.u, stream->data.yuv422p.length_u);
592 memcpy(buf_pos + stream->data.yuv422p.length_y + stream->data.yuv422p.length_u, stream->data.yuv422p.v, stream->data.yuv422p.length_v);
594 case MM_CAM_STREAM_DATA_ENCODED:
595 memcpy(buf_pos, stream->data.encoded.data, stream->data.encoded.length_data);
602 for (i = 0 ; i < BUFFER_MAX_PLANE_NUM ; i++) {
604 buffer_key[i] = tbm_bo_export(stream->bo[i]);
605 if (buffer_key[i] == 0) {
606 LOGE("failed to export bo %p", stream->bo[i]);
616 LOGD("num_buffer_key %d", num_buffer_key);
624 tbm_key = tbm_bo_export(bo);
626 LOGE("Create key_info ERROR!!");
635 LOGD("bo %p, vaddr %p, size %d, key %d",
636 bo, bo_handle.ptr, data_size, tbm_key);
640 export_data->key = tbm_key;
641 export_data->bo = bo;
642 if (stream->internal_buffer) {
643 export_data->internal_buffer = stream->internal_buffer;
644 gst_buffer_ref((GstBuffer *)export_data->internal_buffer);
647 /* add bo info to list */
648 g_mutex_lock(&muse_camera->list_lock);
649 muse_camera->data_list = g_list_append(muse_camera->data_list, (gpointer)export_data);
650 g_mutex_unlock(&muse_camera->list_lock);
652 g_mutex_lock(&muse_camera->preview_cb_lock);
655 send_message = muse_core_msg_json_factory_new(MUSE_CAMERA_CB_EVENT,
656 MUSE_TYPE_INT, PARAM_EVENT, MUSE_CAMERA_EVENT_TYPE_PREVIEW,
657 MUSE_TYPE_INT, PARAM_EVENT_CLASS, MUSE_CAMERA_EVENT_CLASS_THREAD_SUB,
658 MUSE_TYPE_INT, "tbm_key", tbm_key,
659 MUSE_TYPE_INT, "num_buffer_key", num_buffer_key,
660 MUSE_TYPE_ARRAY, "buffer_key", BUFFER_MAX_PLANE_NUM, buffer_key,
663 muse_core_ipc_send_msg(muse_core_client_get_msg_fd(module), send_message);
665 muse_core_msg_json_factory_free(send_message);
667 /*LOGD("wait preview callback return message");*/
669 end_time = g_get_monotonic_time () + G_TIME_SPAN_SECOND;
671 if (!g_cond_wait_until(&muse_camera->preview_cb_cond, &muse_camera->preview_cb_lock, end_time)) {
672 LOGW("preview callback return message timeout");
674 /*LOGD("preview callback return message received");*/
677 g_mutex_unlock(&muse_camera->preview_cb_lock);
682 void _camera_dispatcher_capture_completed_cb(void *user_data)
684 muse_module_h module = (muse_module_h)user_data;
688 muse_camera_msg_event(MUSE_CAMERA_CB_EVENT,
689 MUSE_CAMERA_EVENT_TYPE_CAPTURE_COMPLETE,
690 MUSE_CAMERA_EVENT_CLASS_THREAD_MAIN,
695 void _camera_dispatcher_face_detected_cb(camera_detected_face_s *faces, int count, void *user_data)
697 muse_module_h module = (muse_module_h)user_data;
698 muse_camera_handle_s *muse_camera = NULL;
700 tbm_bo_handle bo_handle = {NULL, };
701 int bo_size = sizeof(camera_detected_face_s) * count;
703 muse_camera_export_data *export_data = NULL;
706 if (module == NULL) {
711 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
712 if (muse_camera == NULL) {
717 export_data = g_new0(muse_camera_export_data, 1);
718 if (export_data == NULL) {
719 LOGE("alloc export_data failed");
723 bo = tbm_bo_alloc(muse_camera->bufmgr, bo_size, TBM_BO_DEFAULT);
725 LOGE("tbm_bo_alloc failed");
733 bo_handle = tbm_bo_map(bo, TBM_DEVICE_CPU, TBM_OPTION_READ | TBM_OPTION_WRITE);
734 if (bo_handle.ptr == NULL) {
735 LOGE("bo map Error!");
746 /* copy face detection info */
747 memcpy(bo_handle.ptr, faces, bo_size);
750 tbm_key = tbm_bo_export(bo);
752 LOGE("failed to export bo for face detection info");
764 LOGD("face - count %d, buffer size %d, key %d", count, bo_size, tbm_key);
766 /* set export data */
767 export_data->bo = bo;
768 export_data->key = tbm_key;
770 /* add bo info to list */
771 g_mutex_lock(&muse_camera->list_lock);
772 muse_camera->data_list = g_list_append(muse_camera->data_list, (gpointer)export_data);
773 g_mutex_unlock(&muse_camera->list_lock);
776 muse_camera_msg_event2(MUSE_CAMERA_CB_EVENT,
777 MUSE_CAMERA_EVENT_TYPE_FACE_DETECTION,
778 MUSE_CAMERA_EVENT_CLASS_THREAD_MAIN,
783 LOGW("invalid count for face detection - %d", count);
789 void _camera_dispatcher_focus_changed_cb(camera_focus_state_e state, void *user_data)
791 muse_module_h module = (muse_module_h)user_data;
793 LOGD("Enter - state %d", state);
795 muse_camera_msg_event1(MUSE_CAMERA_CB_EVENT,
796 MUSE_CAMERA_EVENT_TYPE_FOCUS_CHANGE,
797 MUSE_CAMERA_EVENT_CLASS_THREAD_MAIN,
804 void _camera_dispatcher_error_cb(camera_error_e error, camera_state_e current_state, void *user_data)
806 muse_module_h module = (muse_module_h)user_data;
808 LOGD("Enter - error 0x%x, current_state %d", error, current_state);
810 muse_camera_msg_event2(MUSE_CAMERA_CB_EVENT,
811 MUSE_CAMERA_EVENT_TYPE_ERROR,
812 MUSE_CAMERA_EVENT_CLASS_THREAD_MAIN,
820 void _camera_dispatcher_hdr_progress_cb(int percent, void *user_data)
822 muse_module_h module = (muse_module_h)user_data;
826 muse_camera_msg_event1(MUSE_CAMERA_CB_EVENT,
827 MUSE_CAMERA_EVENT_TYPE_HDR_PROGRESS,
828 MUSE_CAMERA_EVENT_CLASS_THREAD_MAIN,
835 int camera_dispatcher_create(muse_module_h module)
837 int ret = CAMERA_ERROR_NONE;
842 muse_camera_handle_s *muse_camera = NULL;
843 muse_camera_api_e api = MUSE_CAMERA_API_CREATE;
844 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
846 muse_camera_msg_get(device_type, muse_core_client_get_msg(module));
847 muse_camera_msg_get(pid, muse_core_client_get_msg(module));
849 LOGD("device type : %d, client pid : %d", device_type, pid);
851 /* privilege check */
852 client_fd = muse_core_client_get_msg_fd(module);
853 if (!muse_core_security_check_cynara(client_fd, CAMERA_PRIVILEGE_NAME)) {
854 ret = CAMERA_ERROR_PERMISSION_DENIED;
855 LOGE("security check failed 0x%x", ret);
856 muse_camera_msg_return(api, class, ret, module);
857 return MUSE_CAMERA_ERROR_NONE;
861 muse_camera = (muse_camera_handle_s *)malloc(sizeof(muse_camera_handle_s));
862 if (muse_camera == NULL) {
863 ret = CAMERA_ERROR_OUT_OF_MEMORY;
864 LOGE("handle alloc failed 0x%x", ret);
865 muse_camera_msg_return(api, class, ret, module);
866 return MUSE_CAMERA_ERROR_NONE;
869 memset(muse_camera, 0x0, sizeof(muse_camera_handle_s));
871 g_mutex_init(&muse_camera->list_lock);
872 g_mutex_init(&muse_camera->preview_cb_lock);
873 g_cond_init(&muse_camera->preview_cb_cond);
875 if (muse_core_ipc_get_bufmgr(&muse_camera->bufmgr) != MM_ERROR_NONE) {
876 LOGE("muse_core_ipc_get_bufmgr failed");
881 ret = CAMERA_ERROR_INVALID_OPERATION;
882 muse_camera_msg_return(api, class, ret, module);
884 return MUSE_CAMERA_ERROR_NONE;
887 ret = legacy_camera_create((camera_device_e)device_type, &muse_camera->camera_handle);
888 if (ret != CAMERA_ERROR_NONE) {
891 muse_camera_msg_return(api, class, ret, module);
893 return MUSE_CAMERA_ERROR_NONE;
896 ret = legacy_camera_set_client_pid(muse_camera->camera_handle, pid);
897 if (ret == CAMERA_ERROR_NONE) {
898 LOGD("handle : 0x%x", muse_camera);
899 handle = (intptr_t)muse_camera;
900 muse_core_ipc_set_handle(module, (intptr_t)muse_camera);
901 muse_camera_msg_return1(api, class, ret, module, POINTER, handle);
903 LOGE("legacy_camera_set_client_pid failed : 0x%x", ret);
905 legacy_camera_destroy(muse_camera->camera_handle);
906 muse_camera->camera_handle = NULL;
911 muse_camera_msg_return(api, class, ret, module);
914 return MUSE_CAMERA_ERROR_NONE;
917 int camera_dispatcher_destroy(muse_module_h module)
919 int ret = CAMERA_ERROR_NONE;
920 muse_camera_handle_s *muse_camera = NULL;
921 muse_camera_api_e api = MUSE_CAMERA_API_DESTROY;
922 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
924 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
926 LOGD("Enter, handle : %p", muse_camera);
928 ret = legacy_camera_destroy(muse_camera->camera_handle);
929 if (ret == CAMERA_ERROR_NONE) {
930 _camera_remove_export_data(module, 0, TRUE);
932 g_mutex_clear(&muse_camera->list_lock);
933 g_mutex_clear(&muse_camera->preview_cb_lock);
934 g_cond_clear(&muse_camera->preview_cb_cond);
936 muse_camera->bufmgr = NULL;
942 muse_camera_msg_return(api, class, ret, module);
944 return MUSE_CAMERA_ERROR_NONE;
947 int camera_dispatcher_start_preview(muse_module_h module)
949 int ret = CAMERA_ERROR_NONE;
950 muse_camera_handle_s *muse_camera = NULL;
951 muse_camera_api_e api = MUSE_CAMERA_API_START_PREVIEW;
952 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
954 camera_state_e prev_state = CAMERA_STATE_NONE;
956 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
958 LOGD("handle : %p", muse_camera);
960 legacy_camera_get_state(muse_camera->camera_handle, &prev_state);
962 ret = legacy_camera_start_preview(muse_camera->camera_handle);
963 if (ret != CAMERA_ERROR_NONE) {
964 LOGD("start preview failed 0x%x", ret);
965 muse_camera_msg_return(api, class, ret, module);
966 return MUSE_CAMERA_ERROR_NONE;
969 if (prev_state == CAMERA_STATE_CREATED) {
970 ret = legacy_camera_get_video_caps(muse_camera->camera_handle, &caps);
971 if (ret == CAMERA_ERROR_NONE && caps) {
972 LOGD("caps : %s", caps);
973 muse_camera_msg_return2(api, class, ret, module, STRING, caps, INT, prev_state);
976 LOGD("Failed to get server's video caps. ret 0x%x, caps %p", ret, caps);
977 muse_camera_msg_return(api, class, ret, module);
978 if (legacy_camera_stop_preview(muse_camera->camera_handle) != CAMERA_ERROR_NONE) {
979 LOGW("failed to stop preview");
983 LOGD("preview started after capture");
984 muse_camera_msg_return1(api, class, ret, module, INT, prev_state);
987 return MUSE_CAMERA_ERROR_NONE;
990 int camera_dispatcher_stop_preview(muse_module_h module)
992 int ret = CAMERA_ERROR_NONE;
993 muse_camera_handle_s *muse_camera = NULL;
994 muse_camera_api_e api = MUSE_CAMERA_API_STOP_PREVIEW;
995 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
997 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
999 LOGD("handle : %p", muse_camera);
1001 ret = legacy_camera_stop_preview(muse_camera->camera_handle);
1003 muse_camera_msg_return(api, class, ret, module);
1005 return MUSE_CAMERA_ERROR_NONE;
1008 int camera_dispatcher_start_capture(muse_module_h module)
1010 int ret = CAMERA_ERROR_NONE;
1011 muse_camera_handle_s *muse_camera = NULL;
1012 int is_capturing_cb = 0;
1013 int is_completed_cb = 0;
1014 void *capturing_cb = NULL;
1015 void *completed_cb = NULL;
1016 muse_camera_api_e api = MUSE_CAMERA_API_START_CAPTURE;
1017 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
1019 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
1021 muse_camera_msg_get(is_capturing_cb, muse_core_client_get_msg(module));
1022 muse_camera_msg_get(is_completed_cb, muse_core_client_get_msg(module));
1024 LOGD("Enter, handle : %p, module : %p, capturing_cb %d, completed_cb %d",
1025 muse_camera, module, is_capturing_cb, is_completed_cb);
1027 if (is_capturing_cb) {
1028 capturing_cb = _camera_dispatcher_capturing_cb;
1030 if (is_completed_cb) {
1031 completed_cb = _camera_dispatcher_capture_completed_cb;
1034 ret = legacy_camera_start_capture(muse_camera->camera_handle,
1035 (camera_capturing_cb)capturing_cb,
1036 (camera_capture_completed_cb)completed_cb,
1039 muse_camera_msg_return(api, class, ret, module);
1041 return MUSE_CAMERA_ERROR_NONE;
1044 int camera_dispatcher_is_supported_continuous_capture(muse_module_h module)
1046 int ret = CAMERA_ERROR_NONE;
1047 muse_camera_handle_s *muse_camera = NULL;
1048 muse_camera_api_e api = MUSE_CAMERA_API_SUPPORT_CONTINUOUS_CAPTURE;
1049 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
1051 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
1053 LOGD("handle : %p", muse_camera);
1055 ret = legacy_camera_is_supported_continuous_capture(muse_camera->camera_handle);
1057 LOGD("is supported ret : %d", ret);
1059 muse_camera_msg_return(api, class, ret, module);
1061 return MUSE_CAMERA_ERROR_NONE;
1064 int camera_dispatcher_start_continuous_capture(muse_module_h module)
1066 int ret = CAMERA_ERROR_NONE;
1067 muse_camera_handle_s *muse_camera = NULL;
1070 muse_camera_api_e api = MUSE_CAMERA_API_START_CONTINUOUS_CAPTURE;
1071 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
1073 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
1075 muse_camera_msg_get(count, muse_core_client_get_msg(module));
1076 muse_camera_msg_get(interval, muse_core_client_get_msg(module));
1078 LOGD("Enter, handle : %p, module : %p", muse_camera, module);
1080 ret = legacy_camera_start_continuous_capture(muse_camera->camera_handle,
1083 (camera_capturing_cb)_camera_dispatcher_capturing_cb,
1084 (camera_capture_completed_cb)_camera_dispatcher_capture_completed_cb,
1087 muse_camera_msg_return(api, class, ret, module);
1089 return MUSE_CAMERA_ERROR_NONE;
1092 int camera_dispatcher_stop_continuous_capture(muse_module_h module)
1094 int ret = CAMERA_ERROR_NONE;
1095 muse_camera_handle_s *muse_camera = NULL;
1096 muse_camera_api_e api = MUSE_CAMERA_API_STOP_CONTINUOUS_CAPTURE;
1097 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
1099 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
1101 LOGD("handle : %p", muse_camera);
1103 ret = legacy_camera_stop_continuous_capture(muse_camera->camera_handle);
1105 muse_camera_msg_return(api, class, ret, module);
1107 return MUSE_CAMERA_ERROR_NONE;
1110 int camera_dispatcher_is_supported_face_detection(muse_module_h module)
1112 int ret = CAMERA_ERROR_NONE;
1113 muse_camera_handle_s *muse_camera = NULL;
1114 muse_camera_api_e api = MUSE_CAMERA_API_SUPPORT_FACE_DETECTION;
1115 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
1117 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
1119 LOGD("handle : %p", muse_camera);
1121 ret = legacy_camera_is_supported_face_detection(muse_camera->camera_handle);
1123 LOGD("is supported ret : %d", ret);
1125 muse_camera_msg_return(api, class, ret, module);
1127 return MUSE_CAMERA_ERROR_NONE;
1130 int camera_dispatcher_is_supported_zero_shutter_lag(muse_module_h module)
1132 int ret = CAMERA_ERROR_NONE;
1133 muse_camera_handle_s *muse_camera = NULL;
1134 muse_camera_api_e api = MUSE_CAMERA_API_SUPPORT_ZERO_SHUTTER_LAG;
1135 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
1137 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
1139 LOGD("handle : %p", muse_camera);
1141 ret = legacy_camera_is_supported_zero_shutter_lag(muse_camera->camera_handle);
1143 LOGD("is supported ret : %d", ret);
1145 muse_camera_msg_return(api, class, ret, module);
1147 return MUSE_CAMERA_ERROR_NONE;
1150 int camera_dispatcher_is_supported_media_packet_preview_cb(muse_module_h module)
1152 int ret = CAMERA_ERROR_NONE;
1153 muse_camera_handle_s *muse_camera = NULL;
1154 muse_camera_api_e api = MUSE_CAMERA_API_SUPPORT_MEDIA_PACKET_PREVIEW_CB;
1155 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
1157 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
1159 LOGD("handle : %p", muse_camera);
1161 ret = legacy_camera_is_supported_media_packet_preview_cb(muse_camera->camera_handle);
1163 LOGD("is supported ret : %d", ret);
1165 muse_camera_msg_return(api, class, ret, module);
1167 return MUSE_CAMERA_ERROR_NONE;
1170 int camera_dispatcher_get_device_count(muse_module_h module)
1172 int ret = CAMERA_ERROR_NONE;
1173 muse_camera_handle_s *muse_camera = NULL;
1174 int get_device_count = 0;
1175 muse_camera_api_e api = MUSE_CAMERA_API_GET_DEVICE_COUNT;
1176 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
1178 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
1180 LOGD("handle : %p", muse_camera);
1182 ret = legacy_camera_get_device_count(muse_camera->camera_handle, &get_device_count);
1183 if (ret == CAMERA_ERROR_NONE) {
1184 muse_camera_msg_return1(api, class, ret, module, INT, get_device_count);
1186 muse_camera_msg_return(api, class, ret, module);
1189 return MUSE_CAMERA_ERROR_NONE;
1192 int camera_dispatcher_start_face_detection(muse_module_h module)
1194 int ret = CAMERA_ERROR_NONE;
1195 muse_camera_handle_s *muse_camera = NULL;
1196 muse_camera_api_e api = MUSE_CAMERA_API_START_FACE_DETECTION;
1197 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
1199 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
1201 LOGD("Enter, handle : 0x%x, module : %d", muse_camera, module);
1203 ret = legacy_camera_start_face_detection(muse_camera->camera_handle,
1204 (camera_face_detected_cb)_camera_dispatcher_face_detected_cb,
1207 muse_camera_msg_return(api, class, ret, module);
1209 return MUSE_CAMERA_ERROR_NONE;
1212 int camera_dispatcher_stop_face_detection(muse_module_h module)
1214 int ret = CAMERA_ERROR_NONE;
1215 muse_camera_handle_s *muse_camera = NULL;
1216 muse_camera_api_e api = MUSE_CAMERA_API_STOP_FACE_DETECTION;
1217 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
1219 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
1221 LOGD("handle : %p", muse_camera);
1223 ret = legacy_camera_stop_face_detection(muse_camera->camera_handle);
1225 muse_camera_msg_return(api, class, ret, module);
1227 return MUSE_CAMERA_ERROR_NONE;
1230 int camera_dispatcher_get_state(muse_module_h module)
1232 int ret = CAMERA_ERROR_NONE;
1233 muse_camera_handle_s *muse_camera = NULL;
1234 camera_state_e get_state = CAMERA_STATE_NONE;
1235 muse_camera_api_e api = MUSE_CAMERA_API_GET_STATE;
1236 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
1238 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
1240 LOGD("handle : %p", muse_camera);
1242 ret = legacy_camera_get_state(muse_camera->camera_handle, &get_state);
1243 if (ret == CAMERA_ERROR_NONE) {
1244 muse_camera_msg_return1(api, class, ret, module, INT, get_state);
1246 muse_camera_msg_return(api, class, ret, module);
1249 return MUSE_CAMERA_ERROR_NONE;
1252 int camera_dispatcher_start_focusing(muse_module_h module)
1254 int ret = CAMERA_ERROR_NONE;
1255 muse_camera_handle_s *muse_camera = NULL;
1257 muse_camera_api_e api = MUSE_CAMERA_API_START_FOCUSING;
1258 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
1260 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
1262 muse_camera_msg_get(is_continuous, muse_core_client_get_msg(module));
1264 LOGD("Enter, handle : 0x%x, module : %d", muse_camera, module);
1266 ret = legacy_camera_start_focusing(muse_camera->camera_handle, (bool)is_continuous);
1268 muse_camera_msg_return(api, class, ret, module);
1270 return MUSE_CAMERA_ERROR_NONE;
1273 int camera_dispatcher_stop_focusing(muse_module_h module)
1275 int ret = CAMERA_ERROR_NONE;
1276 muse_camera_handle_s *muse_camera = NULL;
1277 muse_camera_api_e api = MUSE_CAMERA_API_CANCEL_FOCUSING;
1278 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
1280 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
1282 LOGD("handle : %p", muse_camera);
1284 ret = legacy_camera_cancel_focusing(muse_camera->camera_handle);
1286 muse_camera_msg_return(api, class, ret, module);
1288 return MUSE_CAMERA_ERROR_NONE;
1291 int camera_dispatcher_set_display(muse_module_h module)
1293 int ret = CAMERA_ERROR_NONE;
1294 muse_camera_handle_s *muse_camera = NULL;
1295 muse_camera_api_e api = MUSE_CAMERA_API_SET_DISPLAY;
1296 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
1297 static guint stream_id = 0;
1298 char socket_path[SOCKET_PATH_LENGTH] = {0,};
1301 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
1303 LOGD("handle : 0x%x", muse_camera);
1305 camera = muse_camera->camera_handle;
1306 stream_id = muse_core_get_atomic_uint();
1308 snprintf(socket_path, SOCKET_PATH_LENGTH, SOCKET_PATH_BASE, stream_id);
1310 LOGD("socket_path : %s", socket_path);
1312 ret = legacy_camera_set_display(muse_camera->camera_handle, CAMERA_DISPLAY_TYPE_REMOTE, (void *)socket_path);
1313 if (ret != CAMERA_ERROR_NONE) {
1314 muse_camera_msg_return(api, class, ret, module);
1316 muse_camera_msg_return1(api, class, ret, module,
1317 STRING, socket_path);
1320 return MUSE_CAMERA_ERROR_NONE;
1323 int camera_dispatcher_set_preview_resolution(muse_module_h module)
1325 int ret = CAMERA_ERROR_NONE;
1326 muse_camera_handle_s *muse_camera = NULL;
1329 muse_camera_api_e api = MUSE_CAMERA_API_SET_PREVIEW_RESOLUTION;
1330 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
1332 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
1334 muse_camera_msg_get(width, muse_core_client_get_msg(module));
1335 muse_camera_msg_get(height, muse_core_client_get_msg(module));
1337 LOGD("handle : 0x%x, set_width : %d, set_height : 0x%x", muse_camera, width, height);
1339 ret = legacy_camera_set_preview_resolution(muse_camera->camera_handle, width, height);
1341 muse_camera_msg_return(api, class, ret, module);
1343 return MUSE_CAMERA_ERROR_NONE;
1346 int camera_dispatcher_set_capture_resolution(muse_module_h module)
1348 int ret = CAMERA_ERROR_NONE;
1349 muse_camera_handle_s *muse_camera = NULL;
1352 muse_camera_api_e api = MUSE_CAMERA_API_SET_CAPTURE_RESOLUTION;
1353 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
1355 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
1357 muse_camera_msg_get(width, muse_core_client_get_msg(module));
1358 muse_camera_msg_get(height, muse_core_client_get_msg(module));
1360 LOGD("handle : 0x%x, set_width : %d, set_height : %d", muse_camera, width, height);
1362 ret = legacy_camera_set_capture_resolution(muse_camera->camera_handle, width, height);
1364 muse_camera_msg_return(api, class, ret, module);
1366 return MUSE_CAMERA_ERROR_NONE;
1369 int camera_dispatcher_set_capture_format(muse_module_h module)
1371 int ret = CAMERA_ERROR_NONE;
1372 muse_camera_handle_s *muse_camera = NULL;
1374 muse_camera_api_e api = MUSE_CAMERA_API_SET_CAPTURE_FORMAT;
1375 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
1377 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
1379 muse_camera_msg_get(set_format, muse_core_client_get_msg(module));
1381 LOGD("handle : 0x%x, set_format : %d", muse_camera, set_format);
1383 ret = legacy_camera_set_capture_format(muse_camera->camera_handle, (camera_pixel_format_e)set_format);
1385 muse_camera_msg_return(api, class, ret, module);
1387 return MUSE_CAMERA_ERROR_NONE;
1390 int camera_dispatcher_set_preview_format(muse_module_h module)
1392 int ret = CAMERA_ERROR_NONE;
1393 muse_camera_handle_s *muse_camera = NULL;
1395 muse_camera_api_e api = MUSE_CAMERA_API_SET_PREVIEW_FORMAT;
1396 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
1398 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
1400 muse_camera_msg_get(set_format, muse_core_client_get_msg(module));
1402 LOGD("handle : 0x%x, set_format : %d", muse_camera, set_format);
1404 ret = legacy_camera_set_preview_format(muse_camera->camera_handle, (camera_pixel_format_e)set_format);
1406 muse_camera_msg_return(api, class, ret, module);
1408 return MUSE_CAMERA_ERROR_NONE;
1411 int camera_dispatcher_get_preview_resolution(muse_module_h module)
1413 int ret = CAMERA_ERROR_NONE;
1414 muse_camera_handle_s *muse_camera = NULL;
1417 muse_camera_api_e api = MUSE_CAMERA_API_GET_PREVIEW_RESOLUTION;
1418 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
1420 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
1422 LOGD("handle : %p", muse_camera);
1424 ret = legacy_camera_get_preview_resolution(muse_camera->camera_handle, &get_width, &get_height);
1425 if (ret == CAMERA_ERROR_NONE) {
1426 muse_camera_msg_return2(api, class, ret, module, INT, get_width, INT, get_height);
1428 muse_camera_msg_return(api, class, ret, module);
1431 return MUSE_CAMERA_ERROR_NONE;
1434 int camera_dispatcher_set_display_rotation(muse_module_h module)
1436 int ret = CAMERA_ERROR_NONE;
1437 muse_camera_handle_s *muse_camera = NULL;
1439 muse_camera_api_e api = MUSE_CAMERA_API_SET_DISPLAY_ROTATION;
1440 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
1442 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
1444 muse_camera_msg_get(set_rotation, muse_core_client_get_msg(module));
1446 LOGD("handle : 0x%x, set_rotation : %d", muse_camera, set_rotation);
1448 ret = legacy_camera_set_display_rotation(muse_camera->camera_handle, (camera_rotation_e)set_rotation);
1450 muse_camera_msg_return(api, class, ret, module);
1452 return MUSE_CAMERA_ERROR_NONE;
1455 int camera_dispatcher_get_display_rotation(muse_module_h module)
1457 int ret = CAMERA_ERROR_NONE;
1458 muse_camera_handle_s *muse_camera = NULL;
1459 camera_rotation_e get_rotation = CAMERA_ROTATION_NONE;
1460 muse_camera_api_e api = MUSE_CAMERA_API_GET_DISPLAY_ROTATION;
1461 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
1463 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
1465 LOGD("handle : %p", muse_camera);
1467 ret = legacy_camera_get_display_rotation(muse_camera->camera_handle, &get_rotation);
1468 if (ret == CAMERA_ERROR_NONE) {
1469 muse_camera_msg_return1(api, class, ret, module, INT, get_rotation);
1471 muse_camera_msg_return(api, class, ret, module);
1474 return MUSE_CAMERA_ERROR_NONE;
1477 int camera_dispatcher_set_display_flip(muse_module_h module)
1479 int ret = CAMERA_ERROR_NONE;
1480 muse_camera_handle_s *muse_camera = NULL;
1482 muse_camera_api_e api = MUSE_CAMERA_API_SET_DISPLAY_FLIP;
1483 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
1485 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
1487 muse_camera_msg_get(set_flip, muse_core_client_get_msg(module));
1489 LOGD("handle : 0x%x, set_flip : %d", muse_camera, set_flip);
1491 ret = legacy_camera_set_display_flip(muse_camera->camera_handle, (camera_flip_e)set_flip);
1493 muse_camera_msg_return(api, class, ret, module);
1495 return MUSE_CAMERA_ERROR_NONE;
1498 int camera_dispatcher_get_display_flip(muse_module_h module)
1500 int ret = CAMERA_ERROR_NONE;
1501 muse_camera_handle_s *muse_camera = NULL;
1502 camera_flip_e get_flip = CAMERA_FLIP_NONE;
1503 muse_camera_api_e api = MUSE_CAMERA_API_GET_DISPLAY_FLIP;
1504 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
1506 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
1508 LOGD("handle : %p", muse_camera);
1510 ret = legacy_camera_get_display_flip(muse_camera->camera_handle, &get_flip);
1511 if (ret == CAMERA_ERROR_NONE) {
1512 muse_camera_msg_return1(api, class, ret, module, INT, get_flip);
1514 muse_camera_msg_return(api, class, ret, module);
1517 return MUSE_CAMERA_ERROR_NONE;
1520 int camera_dispatcher_set_display_visible(muse_module_h module)
1522 int ret = CAMERA_ERROR_NONE;
1523 muse_camera_handle_s *muse_camera = NULL;
1525 muse_camera_api_e api = MUSE_CAMERA_API_SET_DISPLAY_VISIBLE;
1526 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
1528 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
1530 muse_camera_msg_get(set_visible, muse_core_client_get_msg(module));
1532 LOGD("handle : 0x%x, set_visible : %d", muse_camera, set_visible);
1534 ret = legacy_camera_set_display_visible(muse_camera->camera_handle, (bool)set_visible);
1536 muse_camera_msg_return(api, class, ret, module);
1538 return MUSE_CAMERA_ERROR_NONE;
1541 int camera_dispatcher_is_display_visible(muse_module_h module)
1543 int ret = CAMERA_ERROR_NONE;
1544 muse_camera_handle_s *muse_camera = NULL;
1545 bool get_visible = true;
1546 muse_camera_api_e api = MUSE_CAMERA_API_IS_DISPLAY_VISIBLE;
1547 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
1549 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
1551 LOGD("handle : %p", muse_camera);
1553 ret = legacy_camera_is_display_visible(muse_camera->camera_handle, &get_visible);
1554 if (ret == CAMERA_ERROR_NONE) {
1555 muse_camera_msg_return1(api, class, ret, module, INT, get_visible);
1557 muse_camera_msg_return(api, class, ret, module);
1560 return MUSE_CAMERA_ERROR_NONE;
1563 int camera_dispatcher_set_display_mode(muse_module_h module)
1565 int ret = CAMERA_ERROR_NONE;
1566 muse_camera_handle_s *muse_camera = NULL;
1568 muse_camera_api_e api = MUSE_CAMERA_API_SET_DISPLAY_MODE;
1569 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
1571 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
1573 muse_camera_msg_get(set_mode, muse_core_client_get_msg(module));
1575 LOGD("handle : 0x%x, display_mode : %d", muse_camera, set_mode);
1577 ret = legacy_camera_set_display_mode(muse_camera->camera_handle, (camera_display_mode_e)set_mode);
1579 LOGD("ret : 0x%x", ret);
1581 muse_camera_msg_return(api, class, ret, module);
1583 return MUSE_CAMERA_ERROR_NONE;
1586 int camera_dispatcher_get_display_mode(muse_module_h module)
1588 int ret = CAMERA_ERROR_NONE;
1589 muse_camera_handle_s *muse_camera = NULL;
1590 camera_display_mode_e get_mode = CAMERA_DISPLAY_MODE_LETTER_BOX;
1591 muse_camera_api_e api = MUSE_CAMERA_API_GET_DISPLAY_MODE;
1592 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
1594 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
1596 LOGD("handle : %p", muse_camera);
1598 ret = legacy_camera_get_display_mode(muse_camera->camera_handle, &get_mode);
1599 if (ret == CAMERA_ERROR_NONE) {
1600 muse_camera_msg_return1(api, class, ret, module, INT, get_mode);
1602 muse_camera_msg_return(api, class, ret, module);
1605 return MUSE_CAMERA_ERROR_NONE;
1608 int camera_dispatcher_get_capture_resolution(muse_module_h module)
1610 int ret = CAMERA_ERROR_NONE;
1611 muse_camera_handle_s *muse_camera = NULL;
1614 muse_camera_api_e api = MUSE_CAMERA_API_GET_CAPTURE_RESOLUTION;
1615 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
1617 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
1619 LOGD("handle : %p", muse_camera);
1621 ret = legacy_camera_get_capture_resolution(muse_camera->camera_handle, &get_width, &get_height);
1622 if (ret == CAMERA_ERROR_NONE) {
1623 muse_camera_msg_return2(api, class, ret, module, INT, get_width, INT, get_height);
1625 muse_camera_msg_return(api, class, ret, module);
1628 return MUSE_CAMERA_ERROR_NONE;
1631 int camera_dispatcher_get_capture_format(muse_module_h module)
1633 int ret = CAMERA_ERROR_NONE;
1634 muse_camera_handle_s *muse_camera = NULL;
1635 camera_pixel_format_e get_format = CAMERA_PIXEL_FORMAT_NV12;
1636 muse_camera_api_e api = MUSE_CAMERA_API_GET_CAPTURE_FORMAT;
1637 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
1639 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
1641 LOGD("handle : %p", muse_camera);
1643 ret = legacy_camera_get_capture_format(muse_camera->camera_handle, &get_format);
1644 if (ret == CAMERA_ERROR_NONE) {
1645 muse_camera_msg_return1(api, class, ret, module, INT, get_format);
1647 muse_camera_msg_return(api, class, ret, module);
1650 return MUSE_CAMERA_ERROR_NONE;
1653 int camera_dispatcher_get_preview_format(muse_module_h module)
1655 int ret = CAMERA_ERROR_NONE;
1656 muse_camera_handle_s *muse_camera = NULL;
1657 camera_pixel_format_e get_format = CAMERA_PIXEL_FORMAT_NV12;
1658 muse_camera_api_e api = MUSE_CAMERA_API_GET_PREVIEW_FORMAT;
1659 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
1661 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
1663 LOGD("handle : %p", muse_camera);
1665 ret = legacy_camera_get_preview_format(muse_camera->camera_handle, &get_format);
1666 if (ret == CAMERA_ERROR_NONE) {
1667 muse_camera_msg_return1(api, class, ret, module, INT, get_format);
1669 muse_camera_msg_return(api, class, ret, module);
1672 return MUSE_CAMERA_ERROR_NONE;
1675 int camera_dispatcher_get_facing_direction(muse_module_h module)
1677 int ret = CAMERA_ERROR_NONE;
1678 muse_camera_handle_s *muse_camera = NULL;
1679 camera_facing_direction_e get_facing_direction = CAMERA_FACING_DIRECTION_REAR;
1680 muse_camera_api_e api = MUSE_CAMERA_API_GET_FACING_DIRECTION;
1681 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
1683 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
1685 LOGD("handle : %p", muse_camera);
1687 ret = legacy_camera_get_facing_direction(muse_camera->camera_handle, &get_facing_direction);
1688 if (ret == CAMERA_ERROR_NONE) {
1689 muse_camera_msg_return1(api, class, ret, module, INT, get_facing_direction);
1691 muse_camera_msg_return(api, class, ret, module);
1695 int camera_dispatcher_set_preview_cb(muse_module_h module)
1697 int ret = CAMERA_ERROR_NONE;
1698 muse_camera_handle_s *muse_camera = NULL;
1699 muse_camera_api_e api = MUSE_CAMERA_API_SET_PREVIEW_CB;
1700 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
1702 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
1704 LOGD("handle : %p", muse_camera);
1706 ret = legacy_camera_set_preview_cb(muse_camera->camera_handle,
1707 (camera_preview_cb)_camera_dispatcher_preview_cb,
1710 LOGD("ret : 0x%x", ret);
1712 muse_camera_msg_return(api, class, ret, module);
1714 return MUSE_CAMERA_ERROR_NONE;
1717 int camera_dispatcher_unset_preview_cb(muse_module_h module)
1719 int ret = CAMERA_ERROR_NONE;
1720 muse_camera_handle_s *muse_camera = NULL;
1721 muse_camera_api_e api = MUSE_CAMERA_API_UNSET_PREVIEW_CB;
1722 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
1724 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
1726 LOGD("handle : %p", muse_camera);
1728 ret = legacy_camera_unset_preview_cb(muse_camera->camera_handle);
1730 LOGD("ret : 0x%x", ret);
1732 muse_camera_msg_return(api, class, ret, module);
1734 return MUSE_CAMERA_ERROR_NONE;
1737 int camera_dispatcher_set_media_packet_preview_cb(muse_module_h module)
1739 int ret = CAMERA_ERROR_NONE;
1740 muse_camera_handle_s *muse_camera = NULL;
1741 muse_camera_api_e api = MUSE_CAMERA_API_SET_MEDIA_PACKET_PREVIEW_CB;
1742 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
1744 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
1746 LOGD("handle : %p", muse_camera);
1748 ret = legacy_camera_set_media_packet_preview_cb(muse_camera->camera_handle,
1749 (camera_preview_cb)_camera_dispatcher_preview_cb,
1752 LOGD("ret : 0x%x", ret);
1754 muse_camera_msg_return(api, class, ret, module);
1756 return MUSE_CAMERA_ERROR_NONE;
1759 int camera_dispatcher_unset_media_packet_preview_cb(muse_module_h module)
1761 int ret = CAMERA_ERROR_NONE;
1762 muse_camera_handle_s *muse_camera = NULL;
1763 muse_camera_api_e api = MUSE_CAMERA_API_UNSET_MEDIA_PACKET_PREVIEW_CB;
1764 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
1766 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
1768 LOGD("handle : %p", muse_camera);
1770 ret = legacy_camera_unset_media_packet_preview_cb(muse_camera->camera_handle);
1772 LOGD("ret : 0x%x", ret);
1774 muse_camera_msg_return(api, class, ret, module);
1776 return MUSE_CAMERA_ERROR_NONE;
1779 int camera_dispatcher_set_state_changed_cb(muse_module_h module)
1781 int ret = CAMERA_ERROR_NONE;
1782 muse_camera_handle_s *muse_camera = NULL;
1783 muse_camera_api_e api = MUSE_CAMERA_API_SET_STATE_CHANGED_CB;
1784 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
1786 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
1788 LOGD("handle : %p", muse_camera);
1790 ret = legacy_camera_set_state_changed_cb(muse_camera->camera_handle,
1791 (camera_state_changed_cb)_camera_dispatcher_state_changed_cb,
1794 LOGD("ret : 0x%x", ret);
1796 muse_camera_msg_return(api, class, ret, module);
1798 return MUSE_CAMERA_ERROR_NONE;
1801 int camera_dispatcher_unset_state_changed_cb(muse_module_h module)
1803 int ret = CAMERA_ERROR_NONE;
1804 muse_camera_handle_s *muse_camera = NULL;
1805 muse_camera_api_e api = MUSE_CAMERA_API_UNSET_STATE_CHANGED_CB;
1806 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
1808 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
1810 LOGD("handle : %p", muse_camera);
1812 ret = legacy_camera_unset_state_changed_cb(muse_camera->camera_handle);
1814 LOGD("ret : 0x%x", ret);
1816 muse_camera_msg_return(api, class, ret, module);
1818 return MUSE_CAMERA_ERROR_NONE;
1821 int camera_dispatcher_set_interrupted_cb(muse_module_h module)
1823 int ret = CAMERA_ERROR_NONE;
1824 muse_camera_handle_s *muse_camera = NULL;
1825 muse_camera_api_e api = MUSE_CAMERA_API_SET_INTERRUPTED_CB;
1826 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
1828 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
1830 LOGD("handle : %p", muse_camera);
1832 ret = legacy_camera_set_interrupted_cb(muse_camera->camera_handle,
1833 (camera_interrupted_cb)_camera_dispatcher_interrupted_cb,
1836 LOGD("ret : 0x%x", ret);
1838 muse_camera_msg_return(api, class, ret, module);
1840 return MUSE_CAMERA_ERROR_NONE;
1843 int camera_dispatcher_unset_interrupted_cb(muse_module_h module)
1845 int ret = CAMERA_ERROR_NONE;
1846 muse_camera_handle_s *muse_camera = NULL;
1847 muse_camera_api_e api = MUSE_CAMERA_API_UNSET_INTERRUPTED_CB;
1848 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
1850 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
1852 LOGD("handle : %p", muse_camera);
1854 ret = legacy_camera_unset_interrupted_cb(muse_camera->camera_handle);
1856 LOGD("ret : 0x%x", ret);
1858 muse_camera_msg_return(api, class, ret, module);
1860 return MUSE_CAMERA_ERROR_NONE;
1863 int camera_dispatcher_set_focus_changed_cb(muse_module_h module)
1865 int ret = CAMERA_ERROR_NONE;
1866 muse_camera_handle_s *muse_camera = NULL;
1867 muse_camera_api_e api = MUSE_CAMERA_API_SET_FOCUS_CHANGED_CB;
1868 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
1870 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
1872 LOGD("handle : %p", muse_camera);
1874 ret = legacy_camera_set_focus_changed_cb(muse_camera->camera_handle,
1875 (camera_focus_changed_cb)_camera_dispatcher_focus_changed_cb,
1878 LOGD("ret : 0x%x", ret);
1880 muse_camera_msg_return(api, class, ret, module);
1882 return MUSE_CAMERA_ERROR_NONE;
1885 int camera_dispatcher_unset_focus_changed_cb(muse_module_h module)
1887 int ret = CAMERA_ERROR_NONE;
1888 muse_camera_handle_s *muse_camera = NULL;
1889 muse_camera_api_e api = MUSE_CAMERA_API_UNSET_FOCUS_CHANGED_CB;
1890 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
1892 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
1894 LOGD("handle : %p", muse_camera);
1896 ret = legacy_camera_unset_focus_changed_cb(muse_camera->camera_handle);
1898 LOGD("ret : 0x%x", ret);
1900 muse_camera_msg_return(api, class, ret, module);
1902 return MUSE_CAMERA_ERROR_NONE;
1905 int camera_dispatcher_set_error_cb(muse_module_h module)
1907 int ret = CAMERA_ERROR_NONE;
1908 muse_camera_handle_s *muse_camera = NULL;
1909 muse_camera_api_e api = MUSE_CAMERA_API_SET_ERROR_CB;
1910 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
1912 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
1914 LOGD("handle : %p", muse_camera);
1916 ret = legacy_camera_set_error_cb(muse_camera->camera_handle,
1917 (camera_error_cb)_camera_dispatcher_error_cb,
1920 LOGD("ret : 0x%x", ret);
1922 muse_camera_msg_return(api, class, ret, module);
1924 return MUSE_CAMERA_ERROR_NONE;
1927 int camera_dispatcher_unset_error_cb(muse_module_h module)
1929 int ret = CAMERA_ERROR_NONE;
1930 muse_camera_handle_s *muse_camera = NULL;
1931 muse_camera_api_e api = MUSE_CAMERA_API_UNSET_ERROR_CB;
1932 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
1934 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
1936 LOGD("handle : %p", muse_camera);
1938 ret = legacy_camera_unset_error_cb(muse_camera->camera_handle);
1940 LOGD("ret : 0x%x", ret);
1942 muse_camera_msg_return(api, class, ret, module);
1944 return MUSE_CAMERA_ERROR_NONE;
1947 int camera_dispatcher_foreach_supported_preview_resolution(muse_module_h module)
1949 int ret = CAMERA_ERROR_NONE;
1950 muse_camera_handle_s *muse_camera = NULL;
1951 muse_camera_api_e api = MUSE_CAMERA_API_SET_FOREACH_SUPPORTED_PREVIEW_RESOLUTION;
1952 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_THREAD_SUB;
1954 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
1956 LOGD("handle : %p", muse_camera);
1958 ret = legacy_camera_foreach_supported_preview_resolution(muse_camera->camera_handle,
1959 (camera_supported_preview_resolution_cb)_camera_dispatcher_callback_supported_preview_resolution,
1962 LOGD("ret : 0x%x", ret);
1964 muse_camera_msg_return(api, class, ret, module);
1966 return MUSE_CAMERA_ERROR_NONE;
1969 int camera_dispatcher_foreach_supported_capture_resolution(muse_module_h module)
1971 int ret = CAMERA_ERROR_NONE;
1972 muse_camera_handle_s *muse_camera = NULL;
1973 muse_camera_api_e api = MUSE_CAMERA_API_SET_FOREACH_SUPPORTED_CAPTURE_RESOLUTION;
1974 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_THREAD_SUB;
1976 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
1978 LOGD("handle : %p", muse_camera);
1980 ret = legacy_camera_foreach_supported_capture_resolution(muse_camera->camera_handle,
1981 (camera_supported_capture_resolution_cb)_camera_dispatcher_callback_supported_capture_resolution,
1984 LOGD("ret : 0x%x", ret);
1986 muse_camera_msg_return(api, class, ret, module);
1988 return MUSE_CAMERA_ERROR_NONE;
1991 int camera_dispatcher_foreach_supported_capture_format(muse_module_h module)
1993 int ret = CAMERA_ERROR_NONE;
1994 muse_camera_handle_s *muse_camera = NULL;
1995 muse_camera_api_e api = MUSE_CAMERA_API_SET_FOREACH_SUPPORTED_CAPTURE_FORMAT;
1996 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_THREAD_SUB;
1998 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
2000 LOGD("handle : %p", muse_camera);
2002 ret = legacy_camera_foreach_supported_capture_format(muse_camera->camera_handle,
2003 (camera_supported_capture_format_cb)_camera_dispatcher_callback_supported_capture_format,
2006 LOGD("ret : 0x%x", ret);
2008 muse_camera_msg_return(api, class, ret, module);
2010 return MUSE_CAMERA_ERROR_NONE;
2013 int camera_dispatcher_foreach_supported_preview_format(muse_module_h module)
2015 int ret = CAMERA_ERROR_NONE;
2016 muse_camera_handle_s *muse_camera = NULL;
2017 muse_camera_api_e api = MUSE_CAMERA_API_SET_FOREACH_SUPPORTED_PREVIEW_FORMAT;
2018 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_THREAD_SUB;
2020 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
2022 LOGD("handle : %p", muse_camera);
2024 ret = legacy_camera_foreach_supported_preview_format(muse_camera->camera_handle,
2025 (camera_supported_preview_format_cb)_camera_dispatcher_callback_supported_preview_format,
2028 LOGD("ret : 0x%x", ret);
2030 muse_camera_msg_return(api, class, ret, module);
2032 return MUSE_CAMERA_ERROR_NONE;
2035 int camera_dispatcher_get_recommended_preview_resolution(muse_module_h module)
2037 int ret = CAMERA_ERROR_NONE;
2038 muse_camera_handle_s *muse_camera = NULL;
2041 muse_camera_api_e api = MUSE_CAMERA_API_GET_RECOMMENDED_PREVIEW_RESOLUTION;
2042 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
2044 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
2046 LOGD("handle : %p", muse_camera);
2048 ret = legacy_camera_get_recommended_preview_resolution(muse_camera->camera_handle, &get_width, &get_height);
2049 if (ret == CAMERA_ERROR_NONE) {
2050 muse_camera_msg_return2(api, class, ret, module, INT, get_width, INT, get_height);
2052 muse_camera_msg_return(api, class, ret, module);
2055 return MUSE_CAMERA_ERROR_NONE;
2058 int camera_dispatcher_attr_get_lens_orientation(muse_module_h module)
2060 int ret = CAMERA_ERROR_NONE;
2061 muse_camera_handle_s *muse_camera = NULL;
2063 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_GET_LENS_ORIENTATION;
2064 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
2066 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
2068 LOGD("handle : %p", muse_camera);
2070 ret = legacy_camera_attr_get_lens_orientation(muse_camera->camera_handle, &get_angle);
2071 if (ret == CAMERA_ERROR_NONE) {
2072 muse_camera_msg_return1(api, class, ret, module, INT, get_angle);
2074 muse_camera_msg_return(api, class, ret, module);
2077 return MUSE_CAMERA_ERROR_NONE;
2080 int camera_dispatcher_attr_set_theater_mode(muse_module_h module)
2082 int ret = CAMERA_ERROR_NONE;
2083 muse_camera_handle_s *muse_camera = NULL;
2085 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_SET_THEATER_MODE;
2086 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
2088 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
2090 muse_camera_msg_get(set_mode, muse_core_client_get_msg(module));
2092 LOGD("handle : %p", muse_camera);
2094 ret = legacy_camera_attr_set_theater_mode(muse_camera->camera_handle, (camera_attr_theater_mode_e)set_mode);
2096 muse_camera_msg_return(api, class, ret, module);
2098 return MUSE_CAMERA_ERROR_NONE;
2101 int camera_dispatcher_attr_get_theater_mode(muse_module_h module)
2103 int ret = CAMERA_ERROR_NONE;
2104 muse_camera_handle_s *muse_camera = NULL;
2105 camera_attr_theater_mode_e get_mode = CAMERA_ATTR_THEATER_MODE_DISABLE;
2106 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_GET_THEATER_MODE;
2107 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
2109 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
2111 LOGD("handle : %p", muse_camera);
2113 ret = legacy_camera_attr_get_theater_mode(muse_camera->camera_handle, &get_mode);
2114 if (ret == CAMERA_ERROR_NONE) {
2115 muse_camera_msg_return1(api, class, ret, module, INT, get_mode);
2117 muse_camera_msg_return(api, class, ret, module);
2120 return MUSE_CAMERA_ERROR_NONE;
2123 int camera_dispatcher_attr_foreach_supported_theater_mode(muse_module_h module)
2125 int ret = CAMERA_ERROR_NONE;
2126 muse_camera_handle_s *muse_camera = NULL;
2127 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_FOREACH_SUPPORTED_THEATER_MODE;
2128 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_THREAD_SUB;
2130 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
2131 LOGD("handle : %p", muse_camera);
2133 ret = legacy_camera_attr_foreach_supported_theater_mode(muse_camera->camera_handle,
2134 (camera_attr_supported_theater_mode_cb)_camera_dispatcher_callback_supported_theater_mode,
2137 muse_camera_msg_return(api, class, ret, module);
2139 return MUSE_CAMERA_ERROR_NONE;
2142 int camera_dispatcher_attr_set_preview_fps(muse_module_h module)
2144 int ret = CAMERA_ERROR_NONE;
2145 muse_camera_handle_s *muse_camera = NULL;
2147 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_SET_PREVIEW_FPS;
2148 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
2150 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
2152 muse_camera_msg_get(set_fps, muse_core_client_get_msg(module));
2154 LOGD("handle : %p", muse_camera);
2156 ret = legacy_camera_attr_set_preview_fps(muse_camera->camera_handle, (camera_attr_fps_e)set_fps);
2158 muse_camera_msg_return(api, class, ret, module);
2160 return MUSE_CAMERA_ERROR_NONE;
2163 int camera_dispatcher_attr_set_image_quality(muse_module_h module)
2165 int ret = CAMERA_ERROR_NONE;
2166 muse_camera_handle_s *muse_camera = NULL;
2168 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_SET_IMAGE_QUALITY;
2169 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
2171 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
2173 muse_camera_msg_get(quality, muse_core_client_get_msg(module));
2175 LOGD("handle : 0x%x, image_quality : %d", muse_camera, quality);
2177 ret = legacy_camera_attr_set_image_quality(muse_camera->camera_handle, quality);
2179 LOGD("ret : 0x%x", ret);
2181 muse_camera_msg_return(api, class, ret, module);
2183 return MUSE_CAMERA_ERROR_NONE;
2186 int camera_dispatcher_attr_get_preview_fps(muse_module_h module)
2188 int ret = CAMERA_ERROR_NONE;
2189 muse_camera_handle_s *muse_camera = NULL;
2190 camera_attr_fps_e get_fps = CAMERA_ATTR_FPS_AUTO;
2191 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_GET_PREVIEW_FPS;
2192 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
2194 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
2196 LOGD("handle : %p", muse_camera);
2198 ret = legacy_camera_attr_get_preview_fps(muse_camera->camera_handle, &get_fps);
2199 if (ret == CAMERA_ERROR_NONE) {
2200 muse_camera_msg_return1(api, class, ret, module, INT, get_fps);
2202 muse_camera_msg_return(api, class, ret, module);
2205 return MUSE_CAMERA_ERROR_NONE;
2208 int camera_dispatcher_attr_get_image_quality(muse_module_h module)
2210 int ret = CAMERA_ERROR_NONE;
2211 muse_camera_handle_s *muse_camera = NULL;
2212 int get_quality = 0;
2213 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_GET_IMAGE_QUALITY;
2214 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
2216 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
2218 LOGD("handle : %p", muse_camera);
2220 ret = legacy_camera_attr_get_image_quality(muse_camera->camera_handle, &get_quality);
2221 if (ret == CAMERA_ERROR_NONE) {
2222 muse_camera_msg_return1(api, class, ret, module, INT, get_quality);
2224 muse_camera_msg_return(api, class, ret, module);
2227 return MUSE_CAMERA_ERROR_NONE;
2230 int camera_dispatcher_attr_set_zoom(muse_module_h module)
2232 int ret = CAMERA_ERROR_NONE;
2233 muse_camera_handle_s *muse_camera = NULL;
2235 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_SET_ZOOM;
2236 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
2238 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
2240 muse_camera_msg_get(zoom, muse_core_client_get_msg(module));
2242 LOGD("handle : 0x%x, zoom : %d", muse_camera, zoom);
2244 ret = legacy_camera_attr_set_zoom(muse_camera->camera_handle, zoom);
2246 LOGD("ret : 0x%x", ret);
2248 muse_camera_msg_return(api, class, ret, module);
2250 return MUSE_CAMERA_ERROR_NONE;
2253 int camera_dispatcher_attr_set_af_mode(muse_module_h module)
2255 int ret = CAMERA_ERROR_NONE;
2256 muse_camera_handle_s *muse_camera = NULL;
2258 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_SET_AF_MODE;
2259 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
2261 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
2263 muse_camera_msg_get(set_mode, muse_core_client_get_msg(module));
2265 LOGD("handle : 0x%x, set_mode : %d", muse_camera, set_mode);
2267 ret = legacy_camera_attr_set_af_mode(muse_camera->camera_handle, (camera_attr_af_mode_e)set_mode);
2269 LOGD("ret : 0x%x", ret);
2271 muse_camera_msg_return(api, class, ret, module);
2273 return MUSE_CAMERA_ERROR_NONE;
2276 int camera_dispatcher_attr_set_af_area(muse_module_h module)
2278 int ret = CAMERA_ERROR_NONE;
2279 muse_camera_handle_s *muse_camera = NULL;
2282 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_SET_AF_AREA;
2283 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
2285 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
2287 muse_camera_msg_get(x, muse_core_client_get_msg(module));
2288 muse_camera_msg_get(y, muse_core_client_get_msg(module));
2290 LOGD("handle : %p", muse_camera);
2292 ret = legacy_camera_attr_set_af_area(muse_camera->camera_handle, x, y);
2294 LOGD("ret : 0x%x", ret);
2296 muse_camera_msg_return(api, class, ret, module);
2298 return MUSE_CAMERA_ERROR_NONE;
2301 int camera_dispatcher_attr_clear_af_area(muse_module_h module)
2303 int ret = CAMERA_ERROR_NONE;
2304 muse_camera_handle_s *muse_camera = NULL;
2305 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_CLEAR_AF_AREA;
2306 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
2308 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
2310 LOGD("handle : %p", muse_camera);
2312 ret = legacy_camera_attr_clear_af_area(muse_camera->camera_handle);
2314 LOGD("ret : 0x%x", ret);
2316 muse_camera_msg_return(api, class, ret, module);
2318 return MUSE_CAMERA_ERROR_NONE;
2321 int camera_dispatcher_attr_set_exposure_mode(muse_module_h module)
2323 int ret = CAMERA_ERROR_NONE;
2324 muse_camera_handle_s *muse_camera = NULL;
2326 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_SET_EXPOSURE_MODE;
2327 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
2329 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
2331 muse_camera_msg_get(set_mode, muse_core_client_get_msg(module));
2333 LOGD("handle : 0x%x, set_mode : %d", muse_camera, set_mode);
2335 ret = legacy_camera_attr_set_exposure_mode(muse_camera->camera_handle, (camera_attr_exposure_mode_e)set_mode);
2337 LOGD("ret : 0x%x", ret);
2339 muse_camera_msg_return(api, class, ret, module);
2341 return MUSE_CAMERA_ERROR_NONE;
2344 int camera_dispatcher_attr_set_exposure(muse_module_h module)
2346 int ret = CAMERA_ERROR_NONE;
2347 muse_camera_handle_s *muse_camera = NULL;
2349 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_SET_EXPOSURE;
2350 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
2352 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
2354 muse_camera_msg_get(value, muse_core_client_get_msg(module));
2356 LOGD("handle : 0x%x, value : %d", muse_camera, value);
2358 ret = legacy_camera_attr_set_exposure(muse_camera->camera_handle, value);
2360 LOGD("ret : 0x%x", ret);
2362 muse_camera_msg_return(api, class, ret, module);
2364 return MUSE_CAMERA_ERROR_NONE;
2367 int camera_dispatcher_attr_set_iso(muse_module_h module)
2369 int ret = CAMERA_ERROR_NONE;
2370 muse_camera_handle_s *muse_camera = NULL;
2372 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_SET_ISO;
2373 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
2375 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
2377 muse_camera_msg_get(set_iso, muse_core_client_get_msg(module));
2379 LOGD("handle : 0x%x, set_iso : %d", muse_camera, set_iso);
2381 ret = legacy_camera_attr_set_iso(muse_camera->camera_handle, (camera_attr_iso_e)set_iso);
2383 LOGD("ret : 0x%x", ret);
2385 muse_camera_msg_return(api, class, ret, module);
2387 return MUSE_CAMERA_ERROR_NONE;
2390 int camera_dispatcher_attr_set_brightness(muse_module_h module)
2392 int ret = CAMERA_ERROR_NONE;
2393 muse_camera_handle_s *muse_camera = NULL;
2395 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_SET_BRIGHTNESS;
2396 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
2398 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
2400 muse_camera_msg_get(level, muse_core_client_get_msg(module));
2402 LOGD("handle : 0x%x, level : %d", muse_camera, level);
2404 ret = legacy_camera_attr_set_brightness(muse_camera->camera_handle, level);
2406 LOGD("ret : 0x%x", ret);
2408 muse_camera_msg_return(api, class, ret, module);
2410 return MUSE_CAMERA_ERROR_NONE;
2413 int camera_dispatcher_attr_set_contrast(muse_module_h module)
2415 int ret = CAMERA_ERROR_NONE;
2416 muse_camera_handle_s *muse_camera = NULL;
2418 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_SET_CONTRAST;
2419 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
2421 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
2423 muse_camera_msg_get(level, muse_core_client_get_msg(module));
2425 LOGD("handle : 0x%x, level : %d", muse_camera, level);
2427 ret = legacy_camera_attr_set_contrast(muse_camera->camera_handle, level);
2429 LOGD("ret : 0x%x", ret);
2431 muse_camera_msg_return(api, class, ret, module);
2433 return MUSE_CAMERA_ERROR_NONE;
2436 int camera_dispatcher_attr_set_whitebalance(muse_module_h module)
2438 int ret = CAMERA_ERROR_NONE;
2439 muse_camera_handle_s *muse_camera = NULL;
2440 int set_whitebalance;
2441 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_SET_WHITEBALANCE;
2442 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
2444 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
2446 muse_camera_msg_get(set_whitebalance, muse_core_client_get_msg(module));
2448 LOGD("handle : 0x%x, set_whitebalance : %d", muse_camera, set_whitebalance);
2450 ret = legacy_camera_attr_set_whitebalance(muse_camera->camera_handle, (camera_attr_whitebalance_e)set_whitebalance);
2452 LOGD("ret : 0x%x", ret);
2454 muse_camera_msg_return(api, class, ret, module);
2456 return MUSE_CAMERA_ERROR_NONE;
2459 int camera_dispatcher_attr_set_effect(muse_module_h module)
2461 int ret = CAMERA_ERROR_NONE;
2462 muse_camera_handle_s *muse_camera = NULL;
2464 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_SET_EFFECT;
2465 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
2467 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
2469 muse_camera_msg_get(set_effect, muse_core_client_get_msg(module));
2471 LOGD("handle : 0x%x, set_effect : %d", muse_camera, set_effect);
2473 ret = legacy_camera_attr_set_effect(muse_camera->camera_handle, (camera_attr_effect_mode_e)set_effect);
2475 LOGD("ret : 0x%x", ret);
2477 muse_camera_msg_return(api, class, ret, module);
2479 return MUSE_CAMERA_ERROR_NONE;
2482 int camera_dispatcher_attr_set_scene_mode(muse_module_h module)
2484 int ret = CAMERA_ERROR_NONE;
2485 muse_camera_handle_s *muse_camera = NULL;
2487 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_SET_SCENE_MODE;
2488 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
2490 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
2492 muse_camera_msg_get(set_mode, muse_core_client_get_msg(module));
2494 LOGD("handle : 0x%x, set_mode : %d", muse_camera, set_mode);
2496 ret = legacy_camera_attr_set_scene_mode(muse_camera->camera_handle, (camera_attr_scene_mode_e)set_mode);
2498 LOGD("ret : 0x%x", ret);
2500 muse_camera_msg_return(api, class, ret, module);
2502 return MUSE_CAMERA_ERROR_NONE;
2505 int camera_dispatcher_attr_enable_tag(muse_module_h module)
2507 int ret = CAMERA_ERROR_NONE;
2508 muse_camera_handle_s *muse_camera = NULL;
2510 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_ENABLE_TAG;
2511 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
2513 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
2515 muse_camera_msg_get(set_enable, muse_core_client_get_msg(module));
2517 LOGD("handle : 0x%x, set_enable : %d", muse_camera, set_enable);
2519 ret = legacy_camera_attr_enable_tag(muse_camera->camera_handle, (bool)set_enable);
2521 LOGD("ret : 0x%x", ret);
2523 muse_camera_msg_return(api, class, ret, module);
2525 return MUSE_CAMERA_ERROR_NONE;
2528 int camera_dispatcher_attr_set_tag_image_description(muse_module_h module)
2530 int ret = CAMERA_ERROR_NONE;
2531 muse_camera_handle_s *muse_camera = NULL;
2532 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_SET_TAG_IMAGE_DESCRIPTION;
2533 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
2534 char description[MUSE_CAMERA_MSG_MAX_LENGTH] = {0,};
2536 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
2538 muse_camera_msg_get_string(description, muse_core_client_get_msg(module));
2540 LOGD("handle : 0x%x, description : %s", muse_camera, description);
2542 ret = legacy_camera_attr_set_tag_image_description(muse_camera->camera_handle, description);
2544 LOGD("ret : 0x%x", ret);
2546 muse_camera_msg_return(api, class, ret, module);
2548 return MUSE_CAMERA_ERROR_NONE;
2551 int camera_dispatcher_attr_set_tag_orientation(muse_module_h module)
2553 int ret = CAMERA_ERROR_NONE;
2554 muse_camera_handle_s *muse_camera = NULL;
2555 int set_orientation;
2556 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_SET_TAG_ORIENTATION;
2557 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
2559 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
2561 muse_camera_msg_get(set_orientation, muse_core_client_get_msg(module));
2563 LOGD("handle : 0x%x, set_orientation : %d", muse_camera, set_orientation);
2565 ret = legacy_camera_attr_set_tag_orientation(muse_camera->camera_handle, (camera_attr_tag_orientation_e)set_orientation);
2567 LOGD("ret : 0x%x", ret);
2569 muse_camera_msg_return(api, class, ret, module);
2571 return MUSE_CAMERA_ERROR_NONE;
2574 int camera_dispatcher_attr_set_tag_software(muse_module_h module)
2576 int ret = CAMERA_ERROR_NONE;
2577 muse_camera_handle_s *muse_camera = NULL;
2578 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_SET_TAG_SOFTWARE;
2579 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
2580 char software[MUSE_CAMERA_MSG_MAX_LENGTH] = {0,};
2582 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
2584 muse_camera_msg_get_string(software, muse_core_client_get_msg(module));
2586 LOGD("handle : 0x%x, software : %s", muse_camera, software);
2588 ret = legacy_camera_attr_set_tag_software(muse_camera->camera_handle, software);
2590 LOGD("ret : 0x%x", ret);
2592 muse_camera_msg_return(api, class, ret, module);
2594 return MUSE_CAMERA_ERROR_NONE;
2597 int camera_dispatcher_attr_set_geotag(muse_module_h module)
2599 int ret = CAMERA_ERROR_NONE;
2600 muse_camera_handle_s *muse_camera = NULL;
2601 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_SET_GEOTAG;
2602 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
2603 double set_geotag[3] = {0,};
2605 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
2607 muse_camera_msg_get_array(set_geotag, muse_core_client_get_msg(module));
2609 LOGD("handle : 0x%x, set_geotag1 : %d, set_geotag2 : %d, set_geotag3 : %d",
2610 muse_camera, set_geotag[0], set_geotag[1], set_geotag[2]);
2612 ret = legacy_camera_attr_set_geotag(muse_camera->camera_handle, set_geotag[0], set_geotag[1], set_geotag[2]);
2614 LOGD("ret : 0x%x", ret);
2616 muse_camera_msg_return(api, class, ret, module);
2618 return MUSE_CAMERA_ERROR_NONE;
2621 int camera_dispatcher_attr_remove_geotag(muse_module_h module)
2623 int ret = CAMERA_ERROR_NONE;
2624 muse_camera_handle_s *muse_camera = NULL;
2625 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_REMOVE_GEOTAG;
2626 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
2628 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
2630 LOGD("handle : %p", muse_camera);
2632 ret = legacy_camera_attr_remove_geotag(muse_camera->camera_handle);
2634 LOGD("ret : 0x%x", ret);
2636 muse_camera_msg_return(api, class, ret, module);
2638 return MUSE_CAMERA_ERROR_NONE;
2641 int camera_dispatcher_attr_set_flash_mode(muse_module_h module)
2643 int ret = CAMERA_ERROR_NONE;
2644 muse_camera_handle_s *muse_camera = NULL;
2646 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_SET_FLASH_MODE;
2647 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
2649 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
2651 muse_camera_msg_get(set_mode, muse_core_client_get_msg(module));
2653 LOGD("handle : 0x%x, set_mode : %d", muse_camera, set_mode);
2655 ret = legacy_camera_attr_set_flash_mode(muse_camera->camera_handle, (camera_attr_flash_mode_e)set_mode);
2657 LOGD("ret : 0x%x", ret);
2659 muse_camera_msg_return(api, class, ret, module);
2661 return MUSE_CAMERA_ERROR_NONE;
2664 int camera_dispatcher_attr_get_zoom(muse_module_h module)
2666 int ret = CAMERA_ERROR_NONE;
2667 muse_camera_handle_s *muse_camera = NULL;
2669 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_GET_ZOOM;
2670 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
2672 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
2674 LOGD("handle : %p", muse_camera);
2676 ret = legacy_camera_attr_get_zoom(muse_camera->camera_handle, &get_zoom);
2677 if (ret == CAMERA_ERROR_NONE) {
2678 muse_camera_msg_return1(api, class, ret, module, INT, get_zoom);
2680 muse_camera_msg_return(api, class, ret, module);
2683 return MUSE_CAMERA_ERROR_NONE;
2686 int camera_dispatcher_attr_get_zoom_range(muse_module_h module)
2688 int ret = CAMERA_ERROR_NONE;
2689 muse_camera_handle_s *muse_camera = NULL;
2692 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_GET_ZOOM_RANGE;
2693 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
2695 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
2697 LOGD("handle : %p", muse_camera);
2699 ret = legacy_camera_attr_get_zoom_range(muse_camera->camera_handle, &get_min, &get_max);
2700 if (ret == CAMERA_ERROR_NONE) {
2701 muse_camera_msg_return2(api, class, ret, module, INT, get_min, INT, get_max);
2703 muse_camera_msg_return(api, class, ret, module);
2706 return MUSE_CAMERA_ERROR_NONE;
2709 int camera_dispatcher_attr_get_af_mode(muse_module_h module)
2711 int ret = CAMERA_ERROR_NONE;
2712 muse_camera_handle_s *muse_camera = NULL;
2713 camera_attr_af_mode_e get_mode = CAMERA_ATTR_AF_NONE;
2714 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_GET_AF_MODE;
2715 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
2717 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
2719 LOGD("handle : %p", muse_camera);
2721 ret = legacy_camera_attr_get_af_mode(muse_camera->camera_handle, &get_mode);
2722 if (ret == CAMERA_ERROR_NONE) {
2723 muse_camera_msg_return1(api, class, ret, module, INT, get_mode);
2725 muse_camera_msg_return(api, class, ret, module);
2728 return MUSE_CAMERA_ERROR_NONE;
2731 int camera_dispatcher_attr_get_exposure_mode(muse_module_h module)
2733 int ret = CAMERA_ERROR_NONE;
2734 muse_camera_handle_s *muse_camera = NULL;
2735 camera_attr_exposure_mode_e get_mode = CAMERA_ATTR_EXPOSURE_MODE_OFF;
2736 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_GET_EXPOSURE_MODE;
2737 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
2739 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
2741 LOGD("handle : %p", muse_camera);
2743 ret = legacy_camera_attr_get_exposure_mode(muse_camera->camera_handle, &get_mode);
2744 if (ret == CAMERA_ERROR_NONE) {
2745 muse_camera_msg_return1(api, class, ret, module, INT, get_mode);
2747 muse_camera_msg_return(api, class, ret, module);
2750 return MUSE_CAMERA_ERROR_NONE;
2753 int camera_dispatcher_attr_get_exposure(muse_module_h module)
2755 int ret = CAMERA_ERROR_NONE;
2756 muse_camera_handle_s *muse_camera = NULL;
2758 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_GET_EXPOSURE;
2759 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
2761 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
2763 LOGD("handle : %p", muse_camera);
2765 ret = legacy_camera_attr_get_exposure(muse_camera->camera_handle, &get_value);
2766 if (ret == CAMERA_ERROR_NONE) {
2767 muse_camera_msg_return1(api, class, ret, module, INT, get_value);
2769 muse_camera_msg_return(api, class, ret, module);
2772 return MUSE_CAMERA_ERROR_NONE;
2775 int camera_dispatcher_attr_get_exposure_range(muse_module_h module)
2777 int ret = CAMERA_ERROR_NONE;
2778 muse_camera_handle_s *muse_camera = NULL;
2781 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_GET_EXPOSURE_RANGE;
2782 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
2784 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
2786 LOGD("handle : %p", muse_camera);
2788 ret = legacy_camera_attr_get_exposure_range(muse_camera->camera_handle, &get_min, &get_max);
2789 if (ret == CAMERA_ERROR_NONE) {
2790 muse_camera_msg_return2(api, class, ret, module, INT, get_min, INT, get_max);
2792 muse_camera_msg_return(api, class, ret, module);
2795 return MUSE_CAMERA_ERROR_NONE;
2798 int camera_dispatcher_attr_get_iso(muse_module_h module)
2800 int ret = CAMERA_ERROR_NONE;
2801 muse_camera_handle_s *muse_camera = NULL;
2802 camera_attr_iso_e get_iso = CAMERA_ATTR_ISO_AUTO;
2803 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_GET_ISO;
2804 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
2806 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
2808 LOGD("handle : %p", muse_camera);
2810 ret = legacy_camera_attr_get_iso(muse_camera->camera_handle, &get_iso);
2811 if (ret == CAMERA_ERROR_NONE) {
2812 muse_camera_msg_return1(api, class, ret, module, INT, get_iso);
2814 muse_camera_msg_return(api, class, ret, module);
2817 return MUSE_CAMERA_ERROR_NONE;
2820 int camera_dispatcher_attr_get_brightness(muse_module_h module)
2822 int ret = CAMERA_ERROR_NONE;
2823 muse_camera_handle_s *muse_camera = NULL;
2825 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_GET_BRIGHTNESS;
2826 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
2828 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
2830 LOGD("handle : %p", muse_camera);
2832 ret = legacy_camera_attr_get_brightness(muse_camera->camera_handle, &get_level);
2833 if (ret == CAMERA_ERROR_NONE) {
2834 muse_camera_msg_return1(api, class, ret, module, INT, get_level);
2836 muse_camera_msg_return(api, class, ret, module);
2839 return MUSE_CAMERA_ERROR_NONE;
2842 int camera_dispatcher_attr_get_brightness_range(muse_module_h module)
2844 int ret = CAMERA_ERROR_NONE;
2845 muse_camera_handle_s *muse_camera = NULL;
2848 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_GET_BRIGHTNESS_RANGE;
2849 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
2851 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
2853 LOGD("handle : %p", muse_camera);
2855 ret = legacy_camera_attr_get_brightness_range(muse_camera->camera_handle, &get_min, &get_max);
2856 if (ret == CAMERA_ERROR_NONE) {
2857 muse_camera_msg_return2(api, class, ret, module, INT, get_min, INT, get_max);
2859 muse_camera_msg_return(api, class, ret, module);
2862 return MUSE_CAMERA_ERROR_NONE;
2865 int camera_dispatcher_attr_get_contrast(muse_module_h module)
2867 int ret = CAMERA_ERROR_NONE;
2868 muse_camera_handle_s *muse_camera = NULL;
2870 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_GET_CONTRAST;
2871 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
2873 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
2875 LOGD("handle : %p", muse_camera);
2877 ret = legacy_camera_attr_get_contrast(muse_camera->camera_handle, &get_level);
2878 if (ret == CAMERA_ERROR_NONE) {
2879 muse_camera_msg_return1(api, class, ret, module, INT, get_level);
2881 muse_camera_msg_return(api, class, ret, module);
2884 return MUSE_CAMERA_ERROR_NONE;
2887 int camera_dispatcher_attr_get_contrast_range(muse_module_h module)
2889 int ret = CAMERA_ERROR_NONE;
2890 muse_camera_handle_s *muse_camera = NULL;
2893 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_GET_CONTRAST_RANGE;
2894 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
2896 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
2898 LOGD("handle : %p", muse_camera);
2900 ret = legacy_camera_attr_get_contrast_range(muse_camera->camera_handle, &get_min, &get_max);
2901 if (ret == CAMERA_ERROR_NONE) {
2902 muse_camera_msg_return2(api, class, ret, module, INT, get_min, INT, get_max);
2904 muse_camera_msg_return(api, class, ret, module);
2907 return MUSE_CAMERA_ERROR_NONE;
2910 int camera_dispatcher_attr_get_whitebalance(muse_module_h module)
2912 int ret = CAMERA_ERROR_NONE;
2913 muse_camera_handle_s *muse_camera = NULL;
2914 camera_attr_whitebalance_e get_wb = CAMERA_ATTR_WHITE_BALANCE_NONE;
2915 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_GET_WHITEBALANCE;
2916 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
2918 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
2920 LOGD("handle : %p", muse_camera);
2922 ret = legacy_camera_attr_get_whitebalance(muse_camera->camera_handle, &get_wb);
2923 if (ret == CAMERA_ERROR_NONE) {
2924 muse_camera_msg_return1(api, class, ret, module, INT, get_wb);
2926 muse_camera_msg_return(api, class, ret, module);
2929 return MUSE_CAMERA_ERROR_NONE;
2932 int camera_dispatcher_attr_get_effect(muse_module_h module)
2934 int ret = CAMERA_ERROR_NONE;
2935 muse_camera_handle_s *muse_camera = NULL;
2936 camera_attr_effect_mode_e get_effect = CAMERA_ATTR_EFFECT_NONE;
2937 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_GET_EFFECT;
2938 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
2940 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
2942 LOGD("handle : %p", muse_camera);
2944 ret = legacy_camera_attr_get_effect(muse_camera->camera_handle, &get_effect);
2945 if (ret == CAMERA_ERROR_NONE) {
2946 muse_camera_msg_return1(api, class, ret, module, INT, get_effect);
2948 muse_camera_msg_return(api, class, ret, module);
2951 return MUSE_CAMERA_ERROR_NONE;
2954 int camera_dispatcher_attr_get_scene_mode(muse_module_h module)
2956 int ret = CAMERA_ERROR_NONE;
2957 muse_camera_handle_s *muse_camera = NULL;
2958 camera_attr_scene_mode_e get_mode = CAMERA_ATTR_SCENE_MODE_NORMAL;
2959 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_GET_SCENE_MODE;
2960 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
2962 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
2964 LOGD("handle : %p", muse_camera);
2966 ret = legacy_camera_attr_get_scene_mode(muse_camera->camera_handle, &get_mode);
2967 if (ret == CAMERA_ERROR_NONE) {
2968 muse_camera_msg_return1(api, class, ret, module, INT, get_mode);
2970 muse_camera_msg_return(api, class, ret, module);
2973 return MUSE_CAMERA_ERROR_NONE;
2976 int camera_dispatcher_attr_is_enabled_tag(muse_module_h module)
2978 int ret = CAMERA_ERROR_NONE;
2979 muse_camera_handle_s *muse_camera = NULL;
2980 bool get_enabled = false;
2981 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_IS_ENABLED_TAG;
2982 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
2984 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
2986 LOGD("handle : %p", muse_camera);
2988 ret = legacy_camera_attr_is_enabled_tag(muse_camera->camera_handle, &get_enabled);
2989 if (ret == CAMERA_ERROR_NONE) {
2990 muse_camera_msg_return1(api, class, ret, module, INT, get_enabled);
2992 muse_camera_msg_return(api, class, ret, module);
2995 return MUSE_CAMERA_ERROR_NONE;
2998 int camera_dispatcher_attr_get_tag_image_description(muse_module_h module)
3000 int ret = CAMERA_ERROR_NONE;
3001 muse_camera_handle_s *muse_camera = NULL;
3002 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_GET_TAG_IMAGE_DESCRIPTION;
3003 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
3004 char *get_description = NULL;
3006 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
3008 ret = legacy_camera_attr_get_tag_image_description(muse_camera->camera_handle, &get_description);
3009 if (ret == CAMERA_ERROR_NONE) {
3010 LOGD("get_description : %s", muse_camera, get_description);
3011 muse_camera_msg_return1(api, class, ret, module, STRING, get_description);
3013 muse_camera_msg_return(api, class, ret, module);
3016 if (get_description) {
3017 free(get_description);
3018 get_description = NULL;
3021 return MUSE_CAMERA_ERROR_NONE;
3024 int camera_dispatcher_attr_get_tag_orientation(muse_module_h module)
3026 int ret = CAMERA_ERROR_NONE;
3027 muse_camera_handle_s *muse_camera = NULL;
3028 camera_attr_tag_orientation_e get_orientation = CAMERA_ATTR_TAG_ORIENTATION_TOP_LEFT;
3029 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_GET_TAG_ORIENTATION;
3030 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
3032 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
3034 LOGD("handle : %p", muse_camera);
3036 ret = legacy_camera_attr_get_tag_orientation(muse_camera->camera_handle, &get_orientation);
3037 if (ret == CAMERA_ERROR_NONE) {
3038 muse_camera_msg_return1(api, class, ret, module, INT, get_orientation);
3040 muse_camera_msg_return(api, class, ret, module);
3043 return MUSE_CAMERA_ERROR_NONE;
3046 int camera_dispatcher_attr_get_tag_software(muse_module_h module)
3048 int ret = CAMERA_ERROR_NONE;
3049 muse_camera_handle_s *muse_camera = NULL;
3050 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_GET_TAG_SOFTWARE;
3051 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
3052 char *get_software = NULL;
3054 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
3056 ret = legacy_camera_attr_get_tag_software(muse_camera->camera_handle, &get_software);
3057 if (ret == CAMERA_ERROR_NONE) {
3058 LOGD("get_software : %s", get_software);
3059 muse_camera_msg_return1(api, class, ret, module, STRING, get_software);
3061 muse_camera_msg_return(api, class, ret, module);
3066 get_software = NULL;
3069 return MUSE_CAMERA_ERROR_NONE;
3072 int camera_dispatcher_attr_get_geotag(muse_module_h module)
3074 int ret = CAMERA_ERROR_NONE;
3075 muse_camera_handle_s *muse_camera = NULL;
3076 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_GET_GEOTAG;
3077 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
3078 double get_geotag[3] = {0.0, 0.0, 0.0};
3080 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
3082 LOGD("handle : %p", muse_camera);
3084 ret = legacy_camera_attr_get_geotag(muse_camera->camera_handle, &get_geotag[0], &get_geotag[1], &get_geotag[2]);
3085 if (ret == CAMERA_ERROR_NONE) {
3086 muse_camera_msg_return_array(api, class, ret, module, get_geotag, sizeof(get_geotag), sizeof(double));
3088 muse_camera_msg_return(api, class, ret, module);
3091 return MUSE_CAMERA_ERROR_NONE;
3094 int camera_dispatcher_attr_get_flash_mode(muse_module_h module)
3096 int ret = CAMERA_ERROR_NONE;
3097 muse_camera_handle_s *muse_camera = NULL;
3098 camera_attr_flash_mode_e get_mode = CAMERA_ATTR_FLASH_MODE_OFF;
3099 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_GET_FLASH_MODE;
3100 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
3102 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
3104 LOGD("handle : %p", muse_camera);
3106 ret = legacy_camera_attr_get_flash_mode(muse_camera->camera_handle, &get_mode);
3107 if (ret == CAMERA_ERROR_NONE) {
3108 muse_camera_msg_return1(api, class, ret, module, INT, get_mode);
3110 muse_camera_msg_return(api, class, ret, module);
3113 return MUSE_CAMERA_ERROR_NONE;
3116 int camera_dispatcher_attr_foreach_supported_af_mode(muse_module_h module)
3118 int ret = CAMERA_ERROR_NONE;
3119 muse_camera_handle_s *muse_camera = NULL;
3120 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_FOREACH_SUPPORTED_AF_MODE;
3121 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_THREAD_SUB;
3123 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
3125 LOGD("handle : %p", muse_camera);
3127 ret = legacy_camera_attr_foreach_supported_af_mode(muse_camera->camera_handle,
3128 (camera_attr_supported_af_mode_cb)_camera_dispatcher_callback_supported_af_mode,
3131 LOGD("ret : 0x%x", ret);
3133 muse_camera_msg_return(api, class, ret, module);
3135 return MUSE_CAMERA_ERROR_NONE;
3138 int camera_dispatcher_attr_foreach_supported_exposure_mode(muse_module_h module)
3140 int ret = CAMERA_ERROR_NONE;
3141 muse_camera_handle_s *muse_camera = NULL;
3142 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_FOREACH_SUPPORTED_EXPOSURE_MODE;
3143 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_THREAD_SUB;
3145 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
3147 LOGD("handle : 0x%x, api : %d", muse_camera, api);
3149 ret = legacy_camera_attr_foreach_supported_exposure_mode(muse_camera->camera_handle,
3150 (camera_attr_supported_exposure_mode_cb)_camera_dispatcher_callback_supported_exposure_mode,
3153 LOGD("ret : 0x%x", ret);
3155 muse_camera_msg_return(api, class, ret, module);
3157 return MUSE_CAMERA_ERROR_NONE;
3160 int camera_dispatcher_attr_foreach_supported_iso(muse_module_h module)
3162 int ret = CAMERA_ERROR_NONE;
3163 muse_camera_handle_s *muse_camera = NULL;
3164 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_FOREACH_SUPPORTED_ISO;
3165 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_THREAD_SUB;
3167 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
3169 LOGD("handle : %p", muse_camera);
3171 ret = legacy_camera_attr_foreach_supported_iso(muse_camera->camera_handle,
3172 (camera_attr_supported_iso_cb)_camera_dispatcher_callback_supported_iso_mode,
3175 LOGD("ret : 0x%x", ret);
3177 muse_camera_msg_return(api, class, ret, module);
3179 return MUSE_CAMERA_ERROR_NONE;
3182 int camera_dispatcher_attr_foreach_supported_whitebalance(muse_module_h module)
3184 int ret = CAMERA_ERROR_NONE;
3185 muse_camera_handle_s *muse_camera = NULL;
3186 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_FOREACH_SUPPORTED_WHITEBALANCE;
3187 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_THREAD_SUB;
3189 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
3191 LOGD("handle : %p", muse_camera);
3193 ret = legacy_camera_attr_foreach_supported_whitebalance(muse_camera->camera_handle,
3194 (camera_attr_supported_whitebalance_cb)_camera_dispatcher_callback_supported_whitebalance,
3197 LOGD("ret : 0x%x", ret);
3199 muse_camera_msg_return(api, class, ret, module);
3201 return MUSE_CAMERA_ERROR_NONE;
3204 int camera_dispatcher_attr_foreach_supported_effect(muse_module_h module)
3206 int ret = CAMERA_ERROR_NONE;
3207 muse_camera_handle_s *muse_camera = NULL;
3208 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_FOREACH_SUPPORTED_EFFECT;
3209 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_THREAD_SUB;
3211 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
3213 LOGD("handle : %p", muse_camera);
3215 ret = legacy_camera_attr_foreach_supported_effect(muse_camera->camera_handle,
3216 (camera_attr_supported_effect_cb)_camera_dispatcher_callback_supported_effect,
3219 LOGD("ret : 0x%x", ret);
3221 muse_camera_msg_return(api, class, ret, module);
3223 return MUSE_CAMERA_ERROR_NONE;
3226 int camera_dispatcher_attr_foreach_supported_scene_mode(muse_module_h module)
3228 int ret = CAMERA_ERROR_NONE;
3229 muse_camera_handle_s *muse_camera = NULL;
3230 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_FOREACH_SUPPORTED_SCENE_MODE;
3231 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_THREAD_SUB;
3233 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
3235 LOGD("handle : %p", muse_camera);
3237 ret = legacy_camera_attr_foreach_supported_scene_mode(muse_camera->camera_handle,
3238 (camera_attr_supported_scene_mode_cb)_camera_dispatcher_callback_supported_scene_mode,
3241 LOGD("ret : 0x%x", ret);
3243 muse_camera_msg_return(api, class, ret, module);
3245 return MUSE_CAMERA_ERROR_NONE;
3248 int camera_dispatcher_attr_foreach_supported_flash_mode(muse_module_h module)
3250 int ret = CAMERA_ERROR_NONE;
3251 muse_camera_handle_s *muse_camera = NULL;
3252 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_FOREACH_SUPPORTED_FLASH_MODE;
3253 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_THREAD_SUB;
3255 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
3257 LOGD("handle : %p", muse_camera);
3259 ret = legacy_camera_attr_foreach_supported_flash_mode(muse_camera->camera_handle,
3260 (camera_attr_supported_flash_mode_cb)_camera_dispatcher_callback_supported_flash_mode,
3263 LOGD("ret : 0x%x", ret);
3265 muse_camera_msg_return(api, class, ret, module);
3267 return MUSE_CAMERA_ERROR_NONE;
3270 int camera_dispatcher_attr_foreach_supported_fps(muse_module_h module)
3272 int ret = CAMERA_ERROR_NONE;
3273 muse_camera_handle_s *muse_camera = NULL;
3274 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_FOREACH_SUPPORTED_FPS;
3275 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_THREAD_SUB;
3277 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
3279 LOGD("handle : %p", muse_camera);
3281 ret = legacy_camera_attr_foreach_supported_fps(muse_camera->camera_handle,
3282 (camera_attr_supported_fps_cb)_camera_dispatcher_callback_supported_fps,
3285 LOGD("ret : 0x%x", ret);
3287 muse_camera_msg_return(api, class, ret, module);
3289 return MUSE_CAMERA_ERROR_NONE;
3292 int camera_dispatcher_attr_foreach_supported_fps_by_resolution(muse_module_h module)
3294 int ret = CAMERA_ERROR_NONE;
3295 muse_camera_handle_s *muse_camera = NULL;
3296 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_FOREACH_SUPPORTED_FPS_BY_RESOLUTION;
3297 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_THREAD_SUB;
3301 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
3303 muse_camera_msg_get(width, muse_core_client_get_msg(module));
3304 muse_camera_msg_get(height, muse_core_client_get_msg(module));
3306 LOGD("handle : %p", muse_camera);
3308 ret = legacy_camera_attr_foreach_supported_fps_by_resolution(muse_camera->camera_handle,
3310 (camera_attr_supported_fps_cb)_camera_dispatcher_callback_supported_fps_by_resolution,
3313 LOGD("ret : 0x%x", ret);
3315 muse_camera_msg_return(api, class, ret, module);
3317 return MUSE_CAMERA_ERROR_NONE;
3320 int camera_dispatcher_attr_foreach_supported_stream_flip(muse_module_h module)
3322 int ret = CAMERA_ERROR_NONE;
3323 muse_camera_handle_s *muse_camera = NULL;
3324 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_FOREACH_SUPPORTED_STREAM_FLIP;
3325 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_THREAD_SUB;
3327 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
3329 LOGD("handle : %p", muse_camera);
3331 ret = legacy_camera_attr_foreach_supported_stream_flip(muse_camera->camera_handle,
3332 (camera_attr_supported_stream_flip_cb)_camera_dispatcher_callback_supported_stream_flip,
3335 LOGD("ret : 0x%x", ret);
3337 muse_camera_msg_return(api, class, ret, module);
3339 return MUSE_CAMERA_ERROR_NONE;
3342 int camera_dispatcher_attr_foreach_supported_stream_rotation(muse_module_h module)
3344 int ret = CAMERA_ERROR_NONE;
3345 muse_camera_handle_s *muse_camera = NULL;
3346 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_FOREACH_SUPPORTED_STREAM_ROTATION;
3347 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_THREAD_SUB;
3349 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
3351 LOGD("handle : %p", muse_camera);
3353 ret = legacy_camera_attr_foreach_supported_stream_rotation(muse_camera->camera_handle,
3354 (camera_attr_supported_stream_rotation_cb)_camera_dispatcher_callback_supported_stream_rotation,
3357 LOGD("ret : 0x%x", ret);
3359 muse_camera_msg_return(api, class, ret, module);
3361 return MUSE_CAMERA_ERROR_NONE;
3364 int camera_dispatcher_attr_set_stream_rotation(muse_module_h module)
3366 int ret = CAMERA_ERROR_NONE;
3367 muse_camera_handle_s *muse_camera = NULL;
3368 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_SET_STREAM_ROTATION;
3369 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
3372 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
3374 muse_camera_msg_get(set_rotation, muse_core_client_get_msg(module));
3376 LOGD("handle : %p", muse_camera);
3378 ret = legacy_camera_attr_set_stream_rotation(muse_camera->camera_handle, (camera_rotation_e)set_rotation);
3380 LOGD("ret : 0x%x", ret);
3382 muse_camera_msg_return(api, class, ret, module);
3384 return MUSE_CAMERA_ERROR_NONE;
3387 int camera_dispatcher_attr_get_stream_rotation(muse_module_h module)
3389 int ret = CAMERA_ERROR_NONE;
3390 muse_camera_handle_s *muse_camera = NULL;
3391 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_GET_STREAM_ROTATION;
3392 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
3393 camera_rotation_e get_rotation = CAMERA_ROTATION_NONE;
3395 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
3397 LOGD("handle : %p", muse_camera);
3399 ret = legacy_camera_attr_get_stream_rotation(muse_camera->camera_handle, &get_rotation);
3400 if (ret == CAMERA_ERROR_NONE) {
3401 muse_camera_msg_return1(api, class, ret, module, INT, get_rotation);
3403 muse_camera_msg_return(api, class, ret, module);
3406 return MUSE_CAMERA_ERROR_NONE;
3409 int camera_dispatcher_attr_set_stream_flip(muse_module_h module)
3411 int ret = CAMERA_ERROR_NONE;
3412 muse_camera_handle_s *muse_camera = NULL;
3413 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_SET_STREAM_FLIP;
3414 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
3417 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
3419 muse_camera_msg_get(set_flip, muse_core_client_get_msg(module));
3421 LOGD("handle : %p", muse_camera);
3423 ret = legacy_camera_attr_set_stream_flip(muse_camera->camera_handle, (camera_flip_e)set_flip);
3425 LOGD("ret : 0x%x", ret);
3427 muse_camera_msg_return(api, class, ret, module);
3429 return MUSE_CAMERA_ERROR_NONE;
3432 int camera_dispatcher_attr_get_stream_flip(muse_module_h module)
3434 int ret = CAMERA_ERROR_NONE;
3435 muse_camera_handle_s *muse_camera = NULL;
3436 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_GET_STREAM_FLIP;
3437 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
3438 camera_flip_e get_flip = CAMERA_FLIP_NONE;
3440 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
3442 LOGD("handle : %p", muse_camera);
3444 ret = legacy_camera_attr_get_stream_flip(muse_camera->camera_handle, &get_flip);
3445 if (ret == CAMERA_ERROR_NONE) {
3446 muse_camera_msg_return1(api, class, ret, module, INT, get_flip);
3448 muse_camera_msg_return(api, class, ret, module);
3451 return MUSE_CAMERA_ERROR_NONE;
3454 int camera_dispatcher_attr_set_hdr_mode(muse_module_h module)
3456 int ret = CAMERA_ERROR_NONE;
3457 muse_camera_handle_s *muse_camera = NULL;
3458 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_SET_HDR_MODE;
3459 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
3462 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
3464 muse_camera_msg_get(set_mode, muse_core_client_get_msg(module));
3466 LOGD("handle : %p", muse_camera);
3468 ret = legacy_camera_attr_set_hdr_mode(muse_camera->camera_handle, (camera_attr_hdr_mode_e)set_mode);
3470 LOGD("ret : 0x%x", ret);
3472 muse_camera_msg_return(api, class, ret, module);
3474 return MUSE_CAMERA_ERROR_NONE;
3477 int camera_dispatcher_attr_get_hdr_mode(muse_module_h module)
3479 int ret = CAMERA_ERROR_NONE;
3480 muse_camera_handle_s *muse_camera = NULL;
3481 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_GET_HDR_MODE;
3482 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
3483 camera_attr_hdr_mode_e get_mode = CAMERA_ATTR_HDR_MODE_DISABLE;
3485 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
3487 LOGD("handle : %p", muse_camera);
3489 ret = legacy_camera_attr_get_hdr_mode(muse_camera->camera_handle, &get_mode);
3490 if (ret == CAMERA_ERROR_NONE) {
3491 muse_camera_msg_return1(api, class, ret, module, INT, get_mode);
3493 muse_camera_msg_return(api, class, ret, module);
3496 return MUSE_CAMERA_ERROR_NONE;
3499 int camera_dispatcher_attr_is_supported_hdr_capture(muse_module_h module)
3501 int ret = CAMERA_ERROR_NONE;
3502 muse_camera_handle_s *muse_camera = NULL;
3503 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_IS_SUPPORTED_HDR_CAPTURE;
3504 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
3506 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
3508 LOGD("handle : %p", muse_camera);
3510 ret = legacy_camera_attr_is_supported_hdr_capture(muse_camera->camera_handle);
3512 LOGD("ret : 0x%x", ret);
3514 muse_camera_msg_return(api, class, ret, module);
3516 return MUSE_CAMERA_ERROR_NONE;
3519 int camera_dispatcher_attr_set_hdr_capture_progress_cb(muse_module_h module)
3521 int ret = CAMERA_ERROR_NONE;
3522 muse_camera_handle_s *muse_camera = NULL;
3523 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_SET_HDR_CAPTURE_PROGRESS_CB;
3524 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
3526 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
3528 LOGD("handle : %p", muse_camera);
3530 ret = legacy_camera_attr_set_hdr_capture_progress_cb(muse_camera->camera_handle,
3531 (camera_attr_hdr_progress_cb)_camera_dispatcher_hdr_progress_cb,
3534 LOGD("ret : 0x%x", ret);
3536 muse_camera_msg_return(api, class, ret, module);
3538 return MUSE_CAMERA_ERROR_NONE;
3541 int camera_dispatcher_attr_unset_hdr_capture_progress_cb(muse_module_h module)
3543 int ret = CAMERA_ERROR_NONE;
3544 muse_camera_handle_s *muse_camera = NULL;
3545 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_UNSET_HDR_CAPTURE_PROGRESS_CB;
3546 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
3548 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
3550 LOGD("handle : %p", muse_camera);
3552 ret = legacy_camera_attr_unset_hdr_capture_progress_cb(muse_camera->camera_handle);
3554 LOGD("ret : 0x%x", ret);
3556 muse_camera_msg_return(api, class, ret, module);
3558 return MUSE_CAMERA_ERROR_NONE;
3561 int camera_dispatcher_attr_enable_anti_shake(muse_module_h module)
3563 int ret = CAMERA_ERROR_NONE;
3564 muse_camera_handle_s *muse_camera = NULL;
3565 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_ENABLE_ANTI_SHAKE;
3566 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
3569 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
3571 muse_camera_msg_get(set_enable, muse_core_client_get_msg(module));
3573 LOGD("handle : %p", muse_camera);
3575 ret = legacy_camera_attr_enable_anti_shake(muse_camera->camera_handle, (bool)set_enable);
3577 LOGD("ret : 0x%x", ret);
3579 muse_camera_msg_return(api, class, ret, module);
3581 return MUSE_CAMERA_ERROR_NONE;
3584 int camera_dispatcher_attr_is_enabled_anti_shake(muse_module_h module)
3586 int ret = CAMERA_ERROR_NONE;
3587 muse_camera_handle_s *muse_camera = NULL;
3588 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_IS_ENABLED_ANTI_SHAKE;
3589 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
3590 bool get_enabled = false;
3592 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
3594 LOGD("handle : %p", muse_camera);
3596 ret = legacy_camera_attr_is_enabled_anti_shake(muse_camera->camera_handle, &get_enabled);
3597 if (ret == CAMERA_ERROR_NONE) {
3598 muse_camera_msg_return1(api, class, ret, module, INT, get_enabled);
3600 muse_camera_msg_return(api, class, ret, module);
3603 return MUSE_CAMERA_ERROR_NONE;
3606 int camera_dispatcher_attr_is_supported_anti_shake(muse_module_h module)
3608 int ret = CAMERA_ERROR_NONE;
3609 muse_camera_handle_s *muse_camera = NULL;
3610 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_IS_SUPPORTED_ANTI_SHAKE;
3611 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
3613 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
3615 LOGD("handle : %p", muse_camera);
3617 ret = legacy_camera_attr_is_supported_anti_shake(muse_camera->camera_handle);
3619 LOGD("ret : 0x%x", ret);
3621 muse_camera_msg_return(api, class, ret, module);
3623 return MUSE_CAMERA_ERROR_NONE;
3626 int camera_dispatcher_attr_enable_video_stabilization(muse_module_h module)
3628 int ret = CAMERA_ERROR_NONE;
3629 muse_camera_handle_s *muse_camera = NULL;
3630 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_ENABLE_VIDEO_STABILIZATION;
3631 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
3634 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
3636 muse_camera_msg_get(set_enable, muse_core_client_get_msg(module));
3638 LOGD("handle : %p", muse_camera);
3640 ret = legacy_camera_attr_enable_video_stabilization(muse_camera->camera_handle, (bool)set_enable);
3642 LOGD("ret : 0x%x", ret);
3644 muse_camera_msg_return(api, class, ret, module);
3646 return MUSE_CAMERA_ERROR_NONE;
3649 int camera_dispatcher_attr_is_enabled_video_stabilization(muse_module_h module)
3651 int ret = CAMERA_ERROR_NONE;
3652 muse_camera_handle_s *muse_camera = NULL;
3653 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_IS_ENABLED_VIDEO_STABILIZATION;
3654 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
3655 bool get_enabled = false;
3657 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
3659 LOGD("handle : %p", muse_camera);
3661 ret = legacy_camera_attr_is_enabled_video_stabilization(muse_camera->camera_handle, &get_enabled);
3662 if (ret == CAMERA_ERROR_NONE) {
3663 muse_camera_msg_return1(api, class, ret, module, INT, get_enabled);
3665 muse_camera_msg_return(api, class, ret, module);
3668 return MUSE_CAMERA_ERROR_NONE;
3671 int camera_dispatcher_attr_is_supported_video_stabilization(muse_module_h module)
3673 int ret = CAMERA_ERROR_NONE;
3674 muse_camera_handle_s *muse_camera = NULL;
3675 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_IS_SUPPORTED_VIDEO_STABILIZATION;
3676 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
3678 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
3680 LOGD("handle : %p", muse_camera);
3682 ret = legacy_camera_attr_is_supported_video_stabilization(muse_camera->camera_handle);
3684 LOGD("ret : 0x%x", ret);
3686 muse_camera_msg_return(api, class, ret, module);
3688 return MUSE_CAMERA_ERROR_NONE;
3691 int camera_dispatcher_attr_enable_auto_contrast(muse_module_h module)
3693 int ret = CAMERA_ERROR_NONE;
3694 muse_camera_handle_s *muse_camera = NULL;
3695 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_ENABLE_AUTO_CONTRAST;
3696 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
3699 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
3701 muse_camera_msg_get(set_enable, muse_core_client_get_msg(module));
3703 LOGD("handle : %p", muse_camera);
3705 ret = legacy_camera_attr_enable_auto_contrast(muse_camera->camera_handle, (bool)set_enable);
3707 LOGD("ret : 0x%x", ret);
3709 muse_camera_msg_return(api, class, ret, module);
3711 return MUSE_CAMERA_ERROR_NONE;
3714 int camera_dispatcher_attr_is_enabled_auto_contrast(muse_module_h module)
3716 int ret = CAMERA_ERROR_NONE;
3717 muse_camera_handle_s *muse_camera = NULL;
3718 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_IS_ENABLED_AUTO_CONTRAST;
3719 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
3720 bool get_enabled = false;
3722 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
3724 LOGD("handle : %p", muse_camera);
3726 ret = legacy_camera_attr_is_enabled_auto_contrast(muse_camera->camera_handle, &get_enabled);
3727 if (ret == CAMERA_ERROR_NONE) {
3728 muse_camera_msg_return1(api, class, ret, module, INT, get_enabled);
3730 muse_camera_msg_return(api, class, ret, module);
3733 return MUSE_CAMERA_ERROR_NONE;
3736 int camera_dispatcher_attr_is_supported_auto_contrast(muse_module_h module)
3738 int ret = CAMERA_ERROR_NONE;
3739 muse_camera_handle_s *muse_camera = NULL;
3740 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_IS_SUPPORTED_AUTO_CONTRAST;
3741 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
3743 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
3745 LOGD("handle : %p", muse_camera);
3747 ret = legacy_camera_attr_is_supported_auto_contrast(muse_camera->camera_handle);
3749 LOGD("ret : 0x%x", ret);
3751 muse_camera_msg_return(api, class, ret, module);
3753 return MUSE_CAMERA_ERROR_NONE;
3756 int camera_dispatcher_attr_disable_shutter_sound(muse_module_h module)
3758 int ret = CAMERA_ERROR_NONE;
3759 muse_camera_handle_s *muse_camera = NULL;
3760 muse_camera_api_e api = MUSE_CAMERA_API_ATTR_DISABLE_SHUTTER_SOUND;
3761 muse_camera_api_class_e class = MUSE_CAMERA_API_CLASS_IMMEDIATE;
3764 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
3766 muse_camera_msg_get(set_disable, muse_core_client_get_msg(module));
3768 LOGD("handle : %p", muse_camera);
3770 ret = legacy_camera_attr_disable_shutter_sound(muse_camera->camera_handle, (bool)set_disable);
3772 LOGD("ret : 0x%x", ret);
3774 muse_camera_msg_return(api, class, ret, module);
3776 return MUSE_CAMERA_ERROR_NONE;
3779 int camera_dispatcher_return_buffer(muse_module_h module)
3782 muse_camera_handle_s *muse_camera = NULL;
3784 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
3786 muse_camera_msg_get(tbm_key, muse_core_client_get_msg(module));
3788 /*LOGD("handle : %p, key : %d", muse_camera, tbm_key);*/
3790 if (!_camera_remove_export_data(module, tbm_key, FALSE)) {
3791 LOGE("remove export data failed : key %d", tbm_key);
3794 return MUSE_CAMERA_ERROR_NONE;
3797 int camera_dispatcher_preview_cb_return(muse_module_h module)
3799 muse_camera_handle_s *muse_camera = NULL;
3801 muse_camera = (muse_camera_handle_s *)muse_core_ipc_get_handle(module);
3803 if (muse_camera == NULL) {
3804 LOGE("NULL handle");
3805 return MUSE_CAMERA_ERROR_NONE;
3810 g_mutex_lock(&muse_camera->preview_cb_lock);
3811 g_cond_signal(&muse_camera->preview_cb_cond);
3812 /*LOGD("send signal for preview callback");*/
3813 g_mutex_unlock(&muse_camera->preview_cb_lock);
3817 return MUSE_CAMERA_ERROR_NONE;
3821 int (*dispatcher[MUSE_CAMERA_API_MAX]) (muse_module_h module) = {
3822 camera_dispatcher_create, /* MUSE_CAMERA_API_CREATE */
3823 camera_dispatcher_destroy, /* MUSE_CAMERA_API_DESTROY */
3824 camera_dispatcher_start_preview, /* MUSE_CAMERA_START_PREVIEW */
3825 camera_dispatcher_stop_preview, /* MUSE_CAMERA_API_START_PREVIEW */
3826 camera_dispatcher_start_capture, /* MUSE_CAMERA_START_CAPTURE */
3827 camera_dispatcher_is_supported_continuous_capture, /* MUSE_CAMERA_API_SUPPORT_CONTINUOUS_CAPTURE */
3828 camera_dispatcher_start_continuous_capture, /* MUSE_CAMERA_API_START_CONTINUOUS_CAPTURE, */
3829 camera_dispatcher_stop_continuous_capture, /* MUSE_CAMERA_API_STOP_CONTINUOUS_CAPTURE, */
3830 camera_dispatcher_is_supported_face_detection, /* MUSE_CAMERA_API_SUPPORT_FACE_DETECTION, */
3831 camera_dispatcher_is_supported_zero_shutter_lag, /* MUSE_CAMERA_API_SUPPORT_ZERO_SHUTTER_LAG, */
3832 camera_dispatcher_is_supported_media_packet_preview_cb, /* MUSE_CAMERA_API_SUPPORT_MEDIA_PACKET_PREVIEW_CB, */
3833 camera_dispatcher_get_device_count, /* MUSE_CAMERA_API_GET_DEVICE_COUNT, */
3834 camera_dispatcher_start_face_detection, /* MUSE_CAMERA_API_START_FACE_DETECTION, */
3835 camera_dispatcher_stop_face_detection, /* MUSE_CAMERA_API_STOP_FACE_DETECTION, */
3836 camera_dispatcher_get_state, /* MUSE_CAMERA_API_GET_STATE, */
3837 camera_dispatcher_start_focusing, /* MUSE_CAMERA_API_START_FOCUSING, */
3838 camera_dispatcher_stop_focusing, /* MUSE_CAMERA_API_CANCEL_FOCUSING, */
3839 camera_dispatcher_set_display, /* MUSE_CAMERA_API_SET_DISPLAY, */
3840 camera_dispatcher_set_preview_resolution, /* MUSE_CAMERA_API_SET_PREVIEW_RESOLUTION, */
3841 camera_dispatcher_set_capture_resolution, /* MUSE_CAMERA_API_SET_CAPTURE_RESOLUTION, */
3842 camera_dispatcher_set_capture_format, /* MUSE_CAMERA_API_SET_CAPTURE_FORMAT, */
3843 camera_dispatcher_set_preview_format, /* MUSE_CAMERA_API_SET_PREVIEW_FORMAT, */
3844 camera_dispatcher_get_preview_resolution, /* MUSE_CAMERA_API_GET_PREVIEW_RESOLUTION, */
3845 camera_dispatcher_set_display_rotation, /* MUSE_CAMERA_API_SET_DISPLAY_ROTATION, */
3846 camera_dispatcher_get_display_rotation, /* MUSE_CAMERA_API_GET_DISPLAY_ROTATION, */
3847 camera_dispatcher_set_display_flip, /* MUSE_CAMERA_API_SET_DISPLAY_FLIP, */
3848 camera_dispatcher_get_display_flip, /* MUSE_CAMERA_API_GET_DISPLAY_FLIP, */
3849 camera_dispatcher_set_display_visible, /* MUSE_CAMERA_API_SET_DISPLAY_VISIBLE, */
3850 camera_dispatcher_is_display_visible, /* MUSE_CAMERA_API_IS_DISPLAY_VISIBLE, */
3851 camera_dispatcher_set_display_mode, /* MUSE_CAMERA_API_SET_DISPLAY_MODE, */
3852 camera_dispatcher_get_display_mode, /* MUSE_CAMERA_API_GET_DISPLAY_MODE, */
3853 camera_dispatcher_get_capture_resolution, /* MUSE_CAMERA_API_GET_CAPTURE_RESOLUTION, */
3854 camera_dispatcher_get_capture_format, /* MUSE_CAMERA_API_GET_CAPTURE_FORMAT, */
3855 camera_dispatcher_get_preview_format, /* MUSE_CAMERA_API_GET_PREVIEW_FORMAT, */
3856 camera_dispatcher_get_facing_direction, /* MUSE_CAMERA_API_GET_FACING_DIRECTION, */
3857 camera_dispatcher_set_preview_cb, /* MUSE_CAMERA_API_SET_PREVIEW_CB, */
3858 camera_dispatcher_unset_preview_cb, /* MUSE_CAMERA_API_UNSET_PREVIEW_CB, */
3859 camera_dispatcher_set_media_packet_preview_cb, /* MUSE_CAMERA_API_SET_MEDIA_PACKET_PREVIEW_CB, */
3860 camera_dispatcher_unset_media_packet_preview_cb, /* MUSE_CAMERA_API_UNSET_MEDIA_PACKET_PREVIEW_CB, */
3861 camera_dispatcher_set_state_changed_cb, /* MUSE_CAMERA_API_SET_STATE_CHANGED_CB, */
3862 camera_dispatcher_unset_state_changed_cb, /* MUSE_CAMERA_API_UNSET_STATE_CHANGED_CB, */
3863 camera_dispatcher_set_interrupted_cb, /* MUSE_CAMERA_API_SET_INTERRUPTED_CB, */
3864 camera_dispatcher_unset_interrupted_cb, /* MUSE_CAMERA_API_UNSET_INTERRUPTED_CB, */
3865 camera_dispatcher_set_focus_changed_cb, /* MUSE_CAMERA_API_SET_FOCUS_CHANGED_CB, */
3866 camera_dispatcher_unset_focus_changed_cb, /* MUSE_CAMERA_API_UNSET_FOCUS_CHANGED_CB, */
3867 camera_dispatcher_set_error_cb, /* MUSE_CAMERA_API_SET_ERROR_CB, */
3868 camera_dispatcher_unset_error_cb, /* MUSE_CAMERA_API_UNSET_ERROR_CB, */
3869 camera_dispatcher_foreach_supported_preview_resolution, /* MUSE_CAMERA_API_SET_FOREACH_SUPPORTED_PREVIEW_RESOLUTION, */
3870 camera_dispatcher_foreach_supported_capture_resolution, /* MUSE_CAMERA_API_SET_FOREACH_SUPPORTED_CAPTURE_RESOLUTION, */
3871 camera_dispatcher_foreach_supported_capture_format, /* MUSE_CAMERA_API_SET_FOREACH_SUPPORTED_CAPTURE_FORMAT, */
3872 camera_dispatcher_foreach_supported_preview_format, /* MUSE_CAMERA_API_SET_FOREACH_SUPPORTED_PREVIEW_FORMAT, */
3873 camera_dispatcher_get_recommended_preview_resolution, /* MUSE_CAMERA_API_GET_RECOMMENDED_PREVIEW_RESOLUTION, */
3874 camera_dispatcher_attr_get_lens_orientation, /* MUSE_CAMERA_API_ATTR_GET_LENS_ORIENTATION, */
3875 camera_dispatcher_attr_set_theater_mode, /* MUSE_CAMERA_API_ATTR_SET_THEATER_MODE, */
3876 camera_dispatcher_attr_get_theater_mode, /* MUSE_CAMERA_API_ATTR_GET_THEATER_MODE, */
3877 camera_dispatcher_attr_foreach_supported_theater_mode, /* MUSE_CAMERA_API_ATTR_FOREACH_SUPPORTED_THEATER_MODE, */
3878 camera_dispatcher_attr_set_preview_fps, /* MUSE_CAMERA_API_ATTR_SET_PREVIEW_FPS, */
3879 camera_dispatcher_attr_set_image_quality, /* MUSE_CAMERA_API_ATTR_SET_IMAGE_QUALITY, */
3880 camera_dispatcher_attr_get_preview_fps, /* MUSE_CAMERA_API_ATTR_GET_PREVIEW_FPS, */
3881 camera_dispatcher_attr_get_image_quality, /* MUSE_CAMERA_API_ATTR_GET_IMAGE_QUALITY, */
3882 camera_dispatcher_attr_set_zoom, /* MUSE_CAMERA_API_ATTR_SET_ZOOM, */
3883 camera_dispatcher_attr_set_af_mode, /* MUSE_CAMERA_API_ATTR_SET_AF_MODE, */
3884 camera_dispatcher_attr_set_af_area, /* MUSE_CAMERA_API_ATTR_SET_AF_AREA, */
3885 camera_dispatcher_attr_clear_af_area, /* MUSE_CAMERA_API_ATTR_CLEAR_AF_AREA, */
3886 camera_dispatcher_attr_set_exposure_mode, /* MUSE_CAMERA_API_ATTR_SET_EXPOSURE_MODE, */
3887 camera_dispatcher_attr_set_exposure, /* MUSE_CAMERA_API_ATTR_SET_EXPOSURE, */
3888 camera_dispatcher_attr_set_iso, /* MUSE_CAMERA_API_ATTR_SET_ISO, */
3889 camera_dispatcher_attr_set_brightness, /* MUSE_CAMERA_API_ATTR_SET_BRIGHTNESS, */
3890 camera_dispatcher_attr_set_contrast, /* MUSE_CAMERA_API_ATTR_SET_CONTRAST, */
3891 camera_dispatcher_attr_set_whitebalance, /* MUSE_CAMERA_API_ATTR_SET_WHITEBALANCE, */
3892 camera_dispatcher_attr_set_effect, /* MUSE_CAMERA_API_ATTR_SET_EFFECT, */
3893 camera_dispatcher_attr_set_scene_mode, /* MUSE_CAMERA_API_ATTR_SET_SCENE_MODE, */
3894 camera_dispatcher_attr_enable_tag, /* MUSE_CAMERA_API_ATTR_ENABLE_TAG, */
3895 camera_dispatcher_attr_set_tag_image_description, /* MUSE_CAMERA_API_ATTR_SET_TAG_IMAGE_DESCRIPTION, */
3896 camera_dispatcher_attr_set_tag_orientation, /* MUSE_CAMERA_API_ATTR_SET_TAG_ORIENTATION, */
3897 camera_dispatcher_attr_set_tag_software, /* MUSE_CAMERA_API_ATTR_SET_TAG_SOFTWARE, */
3898 camera_dispatcher_attr_set_geotag, /* MUSE_CAMERA_API_ATTR_SET_GEOTAG, */
3899 camera_dispatcher_attr_remove_geotag, /* MUSE_CAMERA_API_ATTR_REMOVE_GEOTAG, */
3900 camera_dispatcher_attr_set_flash_mode, /* MUSE_CAMERA_API_ATTR_SET_FLASH_MODE, */
3901 camera_dispatcher_attr_get_zoom, /* MUSE_CAMERA_API_ATTR_GET_ZOOM, */
3902 camera_dispatcher_attr_get_zoom_range, /* MUSE_CAMERA_API_ATTR_GET_ZOOM_RANGE, */
3903 camera_dispatcher_attr_get_af_mode, /* MUSE_CAMERA_API_ATTR_GET_AF_MODE, */
3904 camera_dispatcher_attr_get_exposure_mode, /* MUSE_CAMERA_API_ATTR_GET_EXPOSURE_MODE, */
3905 camera_dispatcher_attr_get_exposure, /* MUSE_CAMERA_API_ATTR_GET_EXPOSURE, */
3906 camera_dispatcher_attr_get_exposure_range, /* MUSE_CAMERA_API_ATTR_GET_EXPOSURE_RANGE, */
3907 camera_dispatcher_attr_get_iso, /* MUSE_CAMERA_API_ATTR_GET_ISO, */
3908 camera_dispatcher_attr_get_brightness, /* MUSE_CAMERA_API_ATTR_GET_BRIGHTNESS, */
3909 camera_dispatcher_attr_get_brightness_range, /* MUSE_CAMERA_API_ATTR_GET_BRIGHTNESS_RANGE, */
3910 camera_dispatcher_attr_get_contrast, /* MUSE_CAMERA_API_ATTR_GET_CONTRAST, */
3911 camera_dispatcher_attr_get_contrast_range, /* MUSE_CAMERA_API_ATTR_GET_CONTRAST_RANGE, */
3912 camera_dispatcher_attr_get_whitebalance, /* MUSE_CAMERA_API_ATTR_GET_WHITEBALANCE, */
3913 camera_dispatcher_attr_get_effect, /* MUSE_CAMERA_API_ATTR_GET_EFFECT, */
3914 camera_dispatcher_attr_get_scene_mode, /* MUSE_CAMERA_API_ATTR_GET_SCENE_MODE, */
3915 camera_dispatcher_attr_is_enabled_tag, /* MUSE_CAMERA_API_ATTR_IS_ENABLED_TAG, */
3916 camera_dispatcher_attr_get_tag_image_description, /* MUSE_CAMERA_API_ATTR_GET_TAG_IMAGE_DESCRIPTION, */
3917 camera_dispatcher_attr_get_tag_orientation, /* MUSE_CAMERA_API_ATTR_GET_TAG_ORIENTATION, */
3918 camera_dispatcher_attr_get_tag_software, /* MUSE_CAMERA_API_ATTR_GET_TAG_SOFTWARE, */
3919 camera_dispatcher_attr_get_geotag, /* MUSE_CAMERA_API_ATTR_GET_GEOTAG, */
3920 camera_dispatcher_attr_get_flash_mode, /* MUSE_CAMERA_API_ATTR_GET_FLASH_MODE, */
3921 camera_dispatcher_attr_foreach_supported_af_mode, /* MUSE_CAMERA_API_ATTR_FOREACH_SUPPORTED_AF_MODE, */
3922 camera_dispatcher_attr_foreach_supported_exposure_mode, /* MUSE_CAMERA_API_ATTR_FOREACH_SUPPORTED_EXPOSURE_MODE, */
3923 camera_dispatcher_attr_foreach_supported_iso, /* MUSE_CAMERA_API_ATTR_FOREACH_SUPPORTED_ISO, */
3924 camera_dispatcher_attr_foreach_supported_whitebalance, /* MUSE_CAMERA_API_ATTR_FOREACH_SUPPORTED_WHITEBALANCE, */
3925 camera_dispatcher_attr_foreach_supported_effect, /* MUSE_CAMERA_API_ATTR_FOREACH_SUPPORTED_EFFECT, */
3926 camera_dispatcher_attr_foreach_supported_scene_mode, /* MUSE_CAMERA_API_ATTR_FOREACH_SUPPORTED_SCENE_MODE, */
3927 camera_dispatcher_attr_foreach_supported_flash_mode, /* MUSE_CAMERA_API_ATTR_FOREACH_SUPPORTED_FLASH_MODE, */
3928 camera_dispatcher_attr_foreach_supported_fps, /* MUSE_CAMERA_API_ATTR_FOREACH_SUPPORTED_FPS, */
3929 camera_dispatcher_attr_foreach_supported_fps_by_resolution, /* MUSE_CAMERA_API_ATTR_FOREACH_SUPPORTED_FPS_BY_RESOLUTION, */
3930 camera_dispatcher_attr_foreach_supported_stream_flip, /* MUSE_CAMERA_API_ATTR_FOREACH_SUPPORTED_STREAM_FLIP, */
3931 camera_dispatcher_attr_foreach_supported_stream_rotation, /* MUSE_CAMERA_API_ATTR_FOREACH_SUPPORTED_STREAM_ROTATION, */
3932 camera_dispatcher_attr_set_stream_rotation, /* MUSE_CAMERA_API_ATTR_SET_STREAM_ROTATION, */
3933 camera_dispatcher_attr_get_stream_rotation, /* MUSE_CAMERA_API_ATTR_GET_STREAM_ROTATION, */
3934 camera_dispatcher_attr_set_stream_flip, /* MUSE_CAMERA_API_ATTR_SET_STREAM_FLIP, */
3935 camera_dispatcher_attr_get_stream_flip, /* MUSE_CAMERA_API_ATTR_GET_STREAM_FLIP, */
3936 camera_dispatcher_attr_set_hdr_mode, /* MUSE_CAMERA_API_ATTR_SET_HDR_MODE, */
3937 camera_dispatcher_attr_get_hdr_mode, /* MUSE_CAMERA_API_ATTR_GET_HDR_MODE, */
3938 camera_dispatcher_attr_is_supported_hdr_capture, /* MUSE_CAMERA_API_ATTR_IS_SUPPORTED_HDR_CAPTURE, */
3939 camera_dispatcher_attr_set_hdr_capture_progress_cb, /* MUSE_CAMERA_API_ATTR_SET_HDR_CAPTURE_PROGRESS_CB, */
3940 camera_dispatcher_attr_unset_hdr_capture_progress_cb, /* MUSE_CAMERA_API_ATTR_UNSET_HDR_CAPTURE_PROGRESS_CB, */
3941 camera_dispatcher_attr_enable_anti_shake, /* MUSE_CAMERA_API_ATTR_ENABLE_ANTI_SHAKE, */
3942 camera_dispatcher_attr_is_enabled_anti_shake, /* MUSE_CAMERA_API_ATTR_IS_ENABLED_ANTI_SHAKE, */
3943 camera_dispatcher_attr_is_supported_anti_shake, /* MUSE_CAMERA_API_ATTR_IS_SUPPORTED_ANTI_SHAKE, */
3944 camera_dispatcher_attr_enable_video_stabilization, /* MUSE_CAMERA_API_ATTR_ENABLE_VIDEO_STABILIZATION, */
3945 camera_dispatcher_attr_is_enabled_video_stabilization, /* MUSE_CAMERA_API_ATTR_IS_ENABLED_VIDEO_STABILIZATION, */
3946 camera_dispatcher_attr_is_supported_video_stabilization, /* MUSE_CAMERA_API_ATTR_IS_SUPPORTED_VIDEO_STABILIZATION, */
3947 camera_dispatcher_attr_enable_auto_contrast, /* MUSE_CAMERA_API_ATTR_ENABLE_AUTO_CONTRAST, */
3948 camera_dispatcher_attr_is_enabled_auto_contrast, /* MUSE_CAMERA_API_ATTR_IS_ENABLED_AUTO_CONTRAST, */
3949 camera_dispatcher_attr_is_supported_auto_contrast, /* MUSE_CAMERA_API_ATTR_IS_SUPPORTED_AUTO_CONTRAST, */
3950 camera_dispatcher_attr_disable_shutter_sound, /* MUSE_CAMERA_API_ATTR_DISABLE_SHUTTER_SOUND, */
3951 camera_dispatcher_return_buffer, /* MUSE_CAMERA_API_RETURN_BUFFER, */
3952 camera_dispatcher_preview_cb_return, /* MUSE_CAMERA_API_PREVIEW_CB_RETURN, */