Remove bluetooth avail mode 62/102562/1 accepted/tizen/common/20161207.184603 accepted/tizen/ivi/20161208.012246 accepted/tizen/mobile/20161208.011927 submit/tizen/20161207.075356
authorJeongho Mok <jho.mok@samsung.com>
Thu, 1 Dec 2016 03:51:56 +0000 (12:51 +0900)
committersinikang <sinikang@samsung.com>
Tue, 6 Dec 2016 06:01:06 +0000 (15:01 +0900)
Change-Id: I00fb18da973e21ba7a8f5825b0c9b2a85db65524

module/src/callmgr-audio.c
packaging/call-manager.spec

index 5940c522c2e3e16caf5e6e2de870dd8a3c01450a..19bb923b8b6c57b3f46356b37aa5bcb44fae865d 100644 (file)
@@ -38,6 +38,7 @@ struct __audio_data {
        callmgr_audio_device_e current_device;
        callmgr_audio_device_e current_device_list;
 
+       int device_cb_id;
        audio_event_cb cb_fn;
        void *user_data;
 };
@@ -53,8 +54,10 @@ static char *__callmgr_audio_convert_device_type_to_string(sound_device_type_e d
                return "Built-in mic";
        case SOUND_DEVICE_AUDIO_JACK:
                return "Audio jac";
-       case SOUND_DEVICE_BLUETOOTH:
-               return "Bluetooth";
+       case SOUND_DEVICE_BLUETOOTH_MEDIA:
+               return "Bluetooth Media";
+       case SOUND_DEVICE_BLUETOOTH_VOICE:
+               return "Bluetooth Voice";
        case SOUND_DEVICE_HDMI:
                return "HDMI";
        case SOUND_DEVICE_FORWARDING:
@@ -84,17 +87,9 @@ static void __callmgr_audio_available_route_changed_cb(sound_device_h device, bo
                        audio_handle->current_device_list |= CALLMGR_AUDIO_DEVICE_EARJACK_E;
                else if (audio_handle->current_device_list & CALLMGR_AUDIO_DEVICE_EARJACK_E)
                        audio_handle->current_device_list -= CALLMGR_AUDIO_DEVICE_EARJACK_E;
-       } else if (device_type == SOUND_DEVICE_BLUETOOTH) {
+       } else if (device_type == SOUND_DEVICE_BLUETOOTH_VOICE) {
                if (is_connected) {
-                       int modes;
-                       sound_manager_get_bt_device_avail_modes(device, &modes);
-                       if (modes & SOUND_DEVICE_BLUETOOTH_MODE_VOICE) {
-                               dbg("BT device is connected and BT Voice is enabled.");
-                               audio_handle->current_device_list |= CALLMGR_AUDIO_DEVICE_BT_E;
-                       } else {
-                               dbg("BT device is connected. But, BT Voice is disabled.");
-                               is_connected = FALSE;
-                       }
+                       audio_handle->current_device_list |= CALLMGR_AUDIO_DEVICE_BT_E;
                } else {
                        if (audio_handle->current_device_list & CALLMGR_AUDIO_DEVICE_BT_E)
                                audio_handle->current_device_list -= CALLMGR_AUDIO_DEVICE_BT_E;
@@ -104,44 +99,8 @@ static void __callmgr_audio_available_route_changed_cb(sound_device_h device, bo
        /* Invoke device changed cb */
        if (device_type == SOUND_DEVICE_AUDIO_JACK)
                audio_handle->cb_fn(CM_AUDIO_EVENT_EARJACK_CHANGED_E, (void *)is_connected, audio_handle->user_data);
-       else if (device_type == SOUND_DEVICE_BLUETOOTH)
-               audio_handle->cb_fn(CM_AUDIO_EVENT_BT_CHANGED_E, (void *)is_connected, audio_handle->user_data);
-}
-
-static void __callmgr_audio_device_information_changed_cb(sound_device_h device, sound_device_changed_info_e changed_info, void *user_data)
-{
-       CM_RETURN_IF_FAIL(user_data);
-       CM_RETURN_IF_FAIL(device);
-       callmgr_audio_handle_h audio_handle = (callmgr_audio_handle_h)user_data;
-       sound_device_type_e device_type = SOUND_DEVICE_BUILTIN_RECEIVER;
-       int ret = SOUND_MANAGER_ERROR_NONE;
-
-       ret = sound_manager_get_device_type(device, &device_type);
-       if (ret != SOUND_MANAGER_ERROR_NONE) {
-               err("sound_manager_get_device_type() get failed with err[0x%x][%s]", ret, get_error_message(ret));
-               return;
-       }
-
-       if (device_type == SOUND_DEVICE_BLUETOOTH) {
-               int modes;
-               bool is_connected;
-               sound_manager_get_bt_device_avail_modes(device, &modes);
-
-               /* Set current device list */
-               if (modes & SOUND_DEVICE_BLUETOOTH_MODE_VOICE) {
-                       dbg("BT Voice is enabled");
-                       audio_handle->current_device_list |= CALLMGR_AUDIO_DEVICE_BT_E;
-                       is_connected = TRUE;
-               } else {
-                       dbg("BT Voice is disabled");
-                       if (audio_handle->current_device_list & CALLMGR_AUDIO_DEVICE_BT_E)
-                               audio_handle->current_device_list -= CALLMGR_AUDIO_DEVICE_BT_E;
-                       is_connected = FALSE;
-               }
-
-               /* Invoke device changed cb */
+       else if (device_type == SOUND_DEVICE_BLUETOOTH_VOICE)
                audio_handle->cb_fn(CM_AUDIO_EVENT_BT_CHANGED_E, (void *)is_connected, audio_handle->user_data);
-       }
 }
 
 int _callmgr_audio_init(callmgr_audio_handle_h *audio_handle, audio_event_cb cb_fn, void *user_data)
@@ -174,9 +133,9 @@ int _callmgr_audio_init(callmgr_audio_handle_h *audio_handle, audio_event_cb cb_
        *audio_handle = handle;
 
        /* Get current device list */
-       ret = sound_manager_get_current_device_list(SOUND_DEVICE_ALL_MASK, &device_list);
+       ret = sound_manager_get_device_list(SOUND_DEVICE_ALL_MASK, &device_list);
        if (ret != SOUND_MANAGER_ERROR_NONE) {
-               err("sound_manager_get_current_device_list() failed. [%d][%s]", ret, get_error_message(ret));
+               err("sound_manager_get_device_list() failed. [%d][%s]", ret, get_error_message(ret));
                return -1;
        }
 
@@ -185,31 +144,17 @@ int _callmgr_audio_init(callmgr_audio_handle_h *audio_handle, audio_event_cb cb_
                sound_manager_get_device_type(device, &device_type);
                if (device_type == SOUND_DEVICE_AUDIO_JACK) {
                        handle->current_device_list |= CALLMGR_AUDIO_DEVICE_EARJACK_E;
-               } else if (device_type == SOUND_DEVICE_BLUETOOTH) {
-                       int modes;
-                       sound_manager_get_bt_device_avail_modes(device, &modes);
-                       if (modes & SOUND_DEVICE_BLUETOOTH_MODE_VOICE) {
-                               dbg("BT device is connected and BT Voice is enabled.");
-                               handle->current_device_list |= CALLMGR_AUDIO_DEVICE_BT_E;
-                       } else {
-                               dbg("BT device is connected. But, BT Voice is disabled.");
-                       }
+               } else if (device_type == SOUND_DEVICE_BLUETOOTH_VOICE) {
+                       handle->current_device_list |= CALLMGR_AUDIO_DEVICE_BT_E;
                }
        }
        dbg("Current device list [0x%x]", handle->current_device_list);
        sound_manager_free_device_list(device_list);
 
        /* Set device connected cb */
-       ret = sound_manager_set_device_connected_cb(SOUND_DEVICE_ALL_MASK, __callmgr_audio_available_route_changed_cb, handle);
-       if (ret != SOUND_MANAGER_ERROR_NONE) {
-               err("sound_manager_set_device_connected_cb() failed. [%d][%s]", ret, get_error_message(ret));
-               return -1;
-       }
-
-       /* Set device information changed cb */
-       ret = sound_manager_set_device_information_changed_cb(SOUND_DEVICE_ALL_MASK, __callmgr_audio_device_information_changed_cb, handle);
+       ret = sound_manager_add_device_connection_changed_cb(SOUND_DEVICE_ALL_MASK, __callmgr_audio_available_route_changed_cb, handle, &handle->device_cb_id);
        if (ret != SOUND_MANAGER_ERROR_NONE) {
-               err("sound_manager_set_device_information_changed_cb() failed. [%d][%s]", ret, get_error_message(ret));
+               err("sound_manager_add_device_connection_changed_cb() failed. [%d][%s]", ret, get_error_message(ret));
                return -1;
        }
 
@@ -223,8 +168,7 @@ int _callmgr_audio_deinit(callmgr_audio_handle_h audio_handle)
 
        /* TODO: Release all handles */
 
-       sound_manager_unset_device_connected_cb();
-       sound_manager_unset_device_information_changed_cb();
+       sound_manager_remove_device_connection_changed_cb(audio_handle->device_cb_id);
        _callmgr_audio_destroy_call_sound_session(audio_handle);
        g_free(audio_handle);
 
@@ -542,7 +486,7 @@ int _callmgr_audio_set_audio_route(callmgr_audio_handle_h audio_handle, callmgr_
                device_type = SOUND_DEVICE_AUDIO_JACK;
                break;
        case CALLMGR_AUDIO_ROUTE_BT_E:
-               device_type = SOUND_DEVICE_BLUETOOTH;
+               device_type = SOUND_DEVICE_BLUETOOTH_VOICE;
                break;
        default:
                err("unhandled route[%d]", route);
@@ -650,7 +594,7 @@ int _callmgr_audio_get_audio_route(callmgr_audio_handle_h audio_handle, callmgr_
                case SOUND_DEVICE_AUDIO_JACK:
                        route = CALLMGR_AUDIO_ROUTE_EARJACK_E;
                        break;
-               case SOUND_DEVICE_BLUETOOTH:
+               case SOUND_DEVICE_BLUETOOTH_VOICE:
                        route = CALLMGR_AUDIO_ROUTE_BT_E;
                        break;
                default:
index 4f1e6ebeeda728987ce85996a9669d31b03a8b61..94bb419e88115bff0ea3403623ab24e7e3ad6713 100644 (file)
@@ -1,6 +1,6 @@
 %define major 0
 %define minor 1
-%define patchlevel 90
+%define patchlevel 91
 %define ext_feature 0
 
 Name:           call-manager