Loading system/bta/hearing_aid/hearing_aid_audio_source.cc +6 −3 Original line number Diff line number Diff line Loading @@ -115,7 +115,8 @@ void hearing_aid_recv_ctrl_data() { case HEARING_AID_CTRL_CMD_START: localAudioReceiver->OnAudioResume(); // timer is restarted in UIPC_Open UIPC_Open(*uipc_hearing_aid, UIPC_CH_ID_AV_AUDIO, hearing_aid_data_cb); UIPC_Open(*uipc_hearing_aid, UIPC_CH_ID_AV_AUDIO, hearing_aid_data_cb, HEARING_AID_DATA_PATH); hearing_aid_send_ack(HEARING_AID_CTRL_ACK_SUCCESS); break; Loading Loading @@ -229,7 +230,8 @@ void hearing_aid_ctrl_cb(tUIPC_CH_ID, tUIPC_EVENT event) { case UIPC_OPEN_EVT: break; case UIPC_CLOSE_EVT: UIPC_Open(*uipc_hearing_aid, UIPC_CH_ID_AV_CTRL, hearing_aid_ctrl_cb); UIPC_Open(*uipc_hearing_aid, UIPC_CH_ID_AV_CTRL, hearing_aid_ctrl_cb, HEARING_AID_CTRL_PATH); break; case UIPC_RX_DATA_READY_EVT: hearing_aid_recv_ctrl_data(); Loading @@ -254,7 +256,8 @@ void HearingAidAudioSource::Stop() { void HearingAidAudioSource::Initialize() { uipc_hearing_aid = UIPC_Init(); UIPC_Open(*uipc_hearing_aid, UIPC_CH_ID_AV_CTRL, hearing_aid_ctrl_cb); UIPC_Open(*uipc_hearing_aid, UIPC_CH_ID_AV_CTRL, hearing_aid_ctrl_cb, HEARING_AID_CTRL_PATH); } void HearingAidAudioSource::CleanUp() { Loading system/btif/src/btif_a2dp_control.cc +7 −4 Original line number Diff line number Diff line Loading @@ -52,7 +52,7 @@ std::unique_ptr<tUIPC_STATE> a2dp_uipc; void btif_a2dp_control_init(void) { a2dp_uipc = UIPC_Init(); UIPC_Open(*a2dp_uipc, UIPC_CH_ID_AV_CTRL, btif_a2dp_ctrl_cb); UIPC_Open(*a2dp_uipc, UIPC_CH_ID_AV_CTRL, btif_a2dp_ctrl_cb, A2DP_CTRL_PATH); } void btif_a2dp_control_cleanup(void) { Loading Loading @@ -118,7 +118,8 @@ static void btif_a2dp_recv_ctrl_data(void) { if (btif_av_stream_ready()) { /* Setup audio data channel listener */ UIPC_Open(*a2dp_uipc, UIPC_CH_ID_AV_AUDIO, btif_a2dp_data_cb); UIPC_Open(*a2dp_uipc, UIPC_CH_ID_AV_AUDIO, btif_a2dp_data_cb, A2DP_DATA_PATH); /* * Post start event and wait for audio path to open. Loading @@ -136,7 +137,8 @@ static void btif_a2dp_recv_ctrl_data(void) { * Already started, setup audio data channel listener and ACK * back immediately. */ UIPC_Open(*a2dp_uipc, UIPC_CH_ID_AV_AUDIO, btif_a2dp_data_cb); UIPC_Open(*a2dp_uipc, UIPC_CH_ID_AV_AUDIO, btif_a2dp_data_cb, A2DP_DATA_PATH); btif_a2dp_command_ack(A2DP_CTRL_ACK_SUCCESS); break; } Loading Loading @@ -310,7 +312,8 @@ static void btif_a2dp_ctrl_cb(UNUSED_ATTR tUIPC_CH_ID ch_id, case UIPC_CLOSE_EVT: /* restart ctrl server unless we are shutting down */ if (btif_a2dp_source_media_task_is_running()) UIPC_Open(*a2dp_uipc, UIPC_CH_ID_AV_CTRL, btif_a2dp_ctrl_cb); UIPC_Open(*a2dp_uipc, UIPC_CH_ID_AV_CTRL, btif_a2dp_ctrl_cb, A2DP_CTRL_PATH); break; case UIPC_RX_DATA_READY_EVT: Loading system/udrv/include/uipc.h +3 −1 Original line number Diff line number Diff line Loading @@ -90,9 +90,11 @@ std::unique_ptr<tUIPC_STATE> UIPC_Init(); * * @param ch_id Channel ID * @param p_cback Callback handler * @param socket_path Path to the socket * @return true on success, otherwise false */ bool UIPC_Open(tUIPC_STATE& uipc, tUIPC_CH_ID ch_id, tUIPC_RCV_CBACK* p_cback); bool UIPC_Open(tUIPC_STATE& uipc, tUIPC_CH_ID ch_id, tUIPC_RCV_CBACK* p_cback, const char* socket_path); /** * Closes a channel in UIPC or the entire UIPC module Loading system/udrv/ulinux/uipc.cc +3 −10 Original line number Diff line number Diff line Loading @@ -539,7 +539,8 @@ std::unique_ptr<tUIPC_STATE> UIPC_Init() { ** Returns true in case of success, false in case of failure. ** ******************************************************************************/ bool UIPC_Open(tUIPC_STATE& uipc, tUIPC_CH_ID ch_id, tUIPC_RCV_CBACK* p_cback) { bool UIPC_Open(tUIPC_STATE& uipc, tUIPC_CH_ID ch_id, tUIPC_RCV_CBACK* p_cback, const char* socket_path) { BTIF_TRACE_DEBUG("UIPC_Open : ch_id %d, p_cback %x", ch_id, p_cback); std::lock_guard<std::recursive_mutex> lock(uipc.mutex); Loading @@ -553,15 +554,7 @@ bool UIPC_Open(tUIPC_STATE& uipc, tUIPC_CH_ID ch_id, tUIPC_RCV_CBACK* p_cback) { return 0; } switch (ch_id) { case UIPC_CH_ID_AV_CTRL: uipc_setup_server_locked(uipc, ch_id, A2DP_CTRL_PATH, p_cback); break; case UIPC_CH_ID_AV_AUDIO: uipc_setup_server_locked(uipc, ch_id, A2DP_DATA_PATH, p_cback); break; } uipc_setup_server_locked(uipc, ch_id, socket_path, p_cback); return true; } Loading Loading
system/bta/hearing_aid/hearing_aid_audio_source.cc +6 −3 Original line number Diff line number Diff line Loading @@ -115,7 +115,8 @@ void hearing_aid_recv_ctrl_data() { case HEARING_AID_CTRL_CMD_START: localAudioReceiver->OnAudioResume(); // timer is restarted in UIPC_Open UIPC_Open(*uipc_hearing_aid, UIPC_CH_ID_AV_AUDIO, hearing_aid_data_cb); UIPC_Open(*uipc_hearing_aid, UIPC_CH_ID_AV_AUDIO, hearing_aid_data_cb, HEARING_AID_DATA_PATH); hearing_aid_send_ack(HEARING_AID_CTRL_ACK_SUCCESS); break; Loading Loading @@ -229,7 +230,8 @@ void hearing_aid_ctrl_cb(tUIPC_CH_ID, tUIPC_EVENT event) { case UIPC_OPEN_EVT: break; case UIPC_CLOSE_EVT: UIPC_Open(*uipc_hearing_aid, UIPC_CH_ID_AV_CTRL, hearing_aid_ctrl_cb); UIPC_Open(*uipc_hearing_aid, UIPC_CH_ID_AV_CTRL, hearing_aid_ctrl_cb, HEARING_AID_CTRL_PATH); break; case UIPC_RX_DATA_READY_EVT: hearing_aid_recv_ctrl_data(); Loading @@ -254,7 +256,8 @@ void HearingAidAudioSource::Stop() { void HearingAidAudioSource::Initialize() { uipc_hearing_aid = UIPC_Init(); UIPC_Open(*uipc_hearing_aid, UIPC_CH_ID_AV_CTRL, hearing_aid_ctrl_cb); UIPC_Open(*uipc_hearing_aid, UIPC_CH_ID_AV_CTRL, hearing_aid_ctrl_cb, HEARING_AID_CTRL_PATH); } void HearingAidAudioSource::CleanUp() { Loading
system/btif/src/btif_a2dp_control.cc +7 −4 Original line number Diff line number Diff line Loading @@ -52,7 +52,7 @@ std::unique_ptr<tUIPC_STATE> a2dp_uipc; void btif_a2dp_control_init(void) { a2dp_uipc = UIPC_Init(); UIPC_Open(*a2dp_uipc, UIPC_CH_ID_AV_CTRL, btif_a2dp_ctrl_cb); UIPC_Open(*a2dp_uipc, UIPC_CH_ID_AV_CTRL, btif_a2dp_ctrl_cb, A2DP_CTRL_PATH); } void btif_a2dp_control_cleanup(void) { Loading Loading @@ -118,7 +118,8 @@ static void btif_a2dp_recv_ctrl_data(void) { if (btif_av_stream_ready()) { /* Setup audio data channel listener */ UIPC_Open(*a2dp_uipc, UIPC_CH_ID_AV_AUDIO, btif_a2dp_data_cb); UIPC_Open(*a2dp_uipc, UIPC_CH_ID_AV_AUDIO, btif_a2dp_data_cb, A2DP_DATA_PATH); /* * Post start event and wait for audio path to open. Loading @@ -136,7 +137,8 @@ static void btif_a2dp_recv_ctrl_data(void) { * Already started, setup audio data channel listener and ACK * back immediately. */ UIPC_Open(*a2dp_uipc, UIPC_CH_ID_AV_AUDIO, btif_a2dp_data_cb); UIPC_Open(*a2dp_uipc, UIPC_CH_ID_AV_AUDIO, btif_a2dp_data_cb, A2DP_DATA_PATH); btif_a2dp_command_ack(A2DP_CTRL_ACK_SUCCESS); break; } Loading Loading @@ -310,7 +312,8 @@ static void btif_a2dp_ctrl_cb(UNUSED_ATTR tUIPC_CH_ID ch_id, case UIPC_CLOSE_EVT: /* restart ctrl server unless we are shutting down */ if (btif_a2dp_source_media_task_is_running()) UIPC_Open(*a2dp_uipc, UIPC_CH_ID_AV_CTRL, btif_a2dp_ctrl_cb); UIPC_Open(*a2dp_uipc, UIPC_CH_ID_AV_CTRL, btif_a2dp_ctrl_cb, A2DP_CTRL_PATH); break; case UIPC_RX_DATA_READY_EVT: Loading
system/udrv/include/uipc.h +3 −1 Original line number Diff line number Diff line Loading @@ -90,9 +90,11 @@ std::unique_ptr<tUIPC_STATE> UIPC_Init(); * * @param ch_id Channel ID * @param p_cback Callback handler * @param socket_path Path to the socket * @return true on success, otherwise false */ bool UIPC_Open(tUIPC_STATE& uipc, tUIPC_CH_ID ch_id, tUIPC_RCV_CBACK* p_cback); bool UIPC_Open(tUIPC_STATE& uipc, tUIPC_CH_ID ch_id, tUIPC_RCV_CBACK* p_cback, const char* socket_path); /** * Closes a channel in UIPC or the entire UIPC module Loading
system/udrv/ulinux/uipc.cc +3 −10 Original line number Diff line number Diff line Loading @@ -539,7 +539,8 @@ std::unique_ptr<tUIPC_STATE> UIPC_Init() { ** Returns true in case of success, false in case of failure. ** ******************************************************************************/ bool UIPC_Open(tUIPC_STATE& uipc, tUIPC_CH_ID ch_id, tUIPC_RCV_CBACK* p_cback) { bool UIPC_Open(tUIPC_STATE& uipc, tUIPC_CH_ID ch_id, tUIPC_RCV_CBACK* p_cback, const char* socket_path) { BTIF_TRACE_DEBUG("UIPC_Open : ch_id %d, p_cback %x", ch_id, p_cback); std::lock_guard<std::recursive_mutex> lock(uipc.mutex); Loading @@ -553,15 +554,7 @@ bool UIPC_Open(tUIPC_STATE& uipc, tUIPC_CH_ID ch_id, tUIPC_RCV_CBACK* p_cback) { return 0; } switch (ch_id) { case UIPC_CH_ID_AV_CTRL: uipc_setup_server_locked(uipc, ch_id, A2DP_CTRL_PATH, p_cback); break; case UIPC_CH_ID_AV_AUDIO: uipc_setup_server_locked(uipc, ch_id, A2DP_DATA_PATH, p_cback); break; } uipc_setup_server_locked(uipc, ch_id, socket_path, p_cback); return true; } Loading