Rewrite a2dp clean_up function
@@ -1081,11 +1081,13 @@ static void clean_up(int service_id)
btc_av_cb.tle_av_open_on_rc = NULL;
}
#endif /* BTC_AV_SRC_INCLUDED */
- }
-
btc_dm_disable_service(BTA_A2DP_SOURCE_SERVICE_ID);
+ }
if (service_id == BTA_A2DP_SINK_SERVICE_ID) {
+#if BTC_AV_SINK_INCLUDED
+ btc_a2dp_sink_shutdown();
+#endif /* BTC_AV_SINK_INCLUDED */
btc_dm_disable_service(BTA_A2DP_SINK_SERVICE_ID);
}
@@ -1093,12 +1095,6 @@ static void clean_up(int service_id)
btc_sm_shutdown(btc_av_cb.sm_handle);
btc_av_cb.sm_handle = NULL;
- if (service_id == BTA_A2DP_SINK_SERVICE_ID) {
-#if BTC_AV_SINK_INCLUDED
- btc_a2dp_sink_shutdown();
-#endif /* BTC_AV_SINK_INCLUDED */
- }
-
#if A2D_DYNAMIC_MEMORY == TRUE
osi_free(btc_av_cb_ptr);
btc_av_cb_ptr = NULL;
