+ _bt_convert_addr_string_to_type(device_address.addr,
+ connected_address);
+ switch (type) {
+ case RC_PASS_CMD_PLAY:
+ status = avrcp_ct_play((bt_address_t*)&device_address);
+ break;
+ case RC_PASS_CMD_PAUSE:
+ status = avrcp_ct_pause((bt_address_t*)&device_address);
+ break;
+ case RC_PASS_CMD_STOP:
+ status = avrcp_ct_stop((bt_address_t*)&device_address);
+ break;
+ case RC_PASS_CMD_NEXT:
+ status = avrcp_ct_next_track((bt_address_t*)&device_address);
+ break;
+ case RC_PASS_CMD_PREVIOUS:
+ status = avrcp_ct_prev_track((bt_address_t*)&device_address);
+ break;
+ case RC_PASS_CMD_PRESS_FAST_FORWARD:
+ status = avrcp_ct_fforward((bt_address_t*)&device_address, PRESS_STATE);
+ break;
+ case RC_PASS_CMD_RELEASE_FAST_FORWARD:
+ status = avrcp_ct_fforward((bt_address_t*)&device_address, RELEASE_STATE);
+ break;
+ case RC_PASS_CMD_PRESS_REWIND:
+ status = avrcp_ct_rewind((bt_address_t*)&device_address, PRESS_STATE);
+ break;
+ case RC_PASS_CMD_RELEASE_REWIND:
+ status = avrcp_ct_rewind((bt_address_t*)&device_address, RELEASE_STATE);
+ break;
+ case RC_PASS_CMD_VOLUME_UP:
+ status = avrcp_ct_volume_up((bt_address_t*)&device_address);
+ break;
+ case RC_PASS_CMD_VOLUME_DOWN:
+ status = avrcp_ct_volume_down((bt_address_t*)&device_address);
+ break;
+ default:
+ break;
+ }
+
+ if (status != OAL_STATUS_SUCCESS) {
+ BT_ERR("Send pass through command err: [%d]", status);
+ result = BLUETOOTH_ERROR_INTERNAL;
+ }
+
+ return result;
+}
+
+int _bt_avrcp_control_cmd_to_dest(int type, bluetooth_device_address_t *device_address)
+{
+ char connected_address[BT_ADDRESS_STRING_SIZE + 1];
+ gboolean connected;
+ oal_status_t status = OAL_STATUS_SUCCESS;
+ int result = BLUETOOTH_ERROR_NONE;
+ BT_INFO("+");
+
+ _bt_convert_addr_type_to_string(connected_address, device_address->addr);
+
+ connected = _bt_is_headset_address_type_connected(BT_AVRCP,
+ (const char *)connected_address);
+
+ if (!connected) {