From a22bc73f796657594f6e15612164ab30d704c2e8 Mon Sep 17 00:00:00 2001 From: Amit Purwar Date: Mon, 25 Mar 2019 15:20:42 +0530 Subject: [PATCH] Removed A2DP sink disconnect event on A2DP connect fail Change-Id: Ia6f95d03c3bb0f17c7b8a7539ff41e4feed93a23 Signed-off-by: Amit Purwar --- .../services/audio/a2dp_sink/bt-service-a2dp-sink.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/bt-service-adaptation/services/audio/a2dp_sink/bt-service-a2dp-sink.c b/bt-service-adaptation/services/audio/a2dp_sink/bt-service-a2dp-sink.c index 48d9434..6a8370b 100644 --- a/bt-service-adaptation/services/audio/a2dp_sink/bt-service-a2dp-sink.c +++ b/bt-service-adaptation/services/audio/a2dp_sink/bt-service-a2dp-sink.c @@ -125,9 +125,6 @@ static void __bt_handle_av_source_disconnected_state(bluetooth_device_address_t /* Set VCONF status for A2DP Disconnection */ _bt_set_device_values(FALSE, VCONFKEY_BT_DEVICE_A2DP_HEADSET_CONNECTED); - /* Send A2DP(SRC Role) disconnected event to Application */ - param = g_variant_new("(is)", result, addr); - _bt_send_event(BT_HEADSET_EVENT, BLUETOOTH_EVENT_AV_SOURCE_DISCONNECTED, param); /* Remove data from the connected list */ _bt_remove_headset_from_list(BT_AUDIO_A2DP_SOURCE, addr); @@ -141,6 +138,11 @@ static void __bt_handle_av_source_disconnected_state(bluetooth_device_address_t /* This means, AV Disconnect request has successfully passed, and real disconnect is completed */ BT_INFO("Neither AV Connect or AV Disconnect request is found..means, AV Profile is disconnected"); + /* Send A2DP(SRC Role) disconnected event to Application */ + result = BLUETOOTH_ERROR_NONE; + param = g_variant_new("(is)", result, addr); + _bt_send_event(BT_HEADSET_EVENT, BLUETOOTH_EVENT_AV_SOURCE_DISCONNECTED, param); + /* * TODO: Below logic is not required for BT_AUDIO_CONNECT/BT_AUDIO_DISCONNECT. * But if Tizen supports a device with A2DP Sink and HFP both profiles (BT_AUDIO_HFP_SOURCE) @@ -185,6 +187,12 @@ static void __bt_handle_av_source_disconnected_state(bluetooth_device_address_t } } else { BT_ERR("AV Disconnect request found for [%s], means disconnect request is successful", addr); /* DBUS return needed */ + + /* Send A2DP(SRC Role) disconnected event to Application */ + result = BLUETOOTH_ERROR_NONE; + param = g_variant_new("(is)", result, addr); + _bt_send_event(BT_HEADSET_EVENT, BLUETOOTH_EVENT_AV_SOURCE_DISCONNECTED, param); + goto check_wait_device; } check_wait_device: -- 2.7.4