OSDN Git Service

Don't require A2DP codec information when initialize audio_hal_interface
authorCheney Ni <cheneyni@google.com>
Thu, 21 Feb 2019 11:54:10 +0000 (19:54 +0800)
committerCheney Ni <cheneyni@google.com>
Thu, 21 Feb 2019 14:02:40 +0000 (22:02 +0800)
Before set active device, it is normal that can't get the current codec
information, and will be setup later. If we query the codec and break
the init, it will cause the stack can't use Bluetooth Audio HAL for
A2DP, so remove here.

Bug: 125245738
Test: Connect / disconnect multiple A2DP manually when playing
Change-Id: Ic5493141cfba60115783c03fac4faf56a7a64b07

audio_hal_interface/a2dp_encoding.cc

index 6a8c26f..8c733c7 100644 (file)
@@ -58,8 +58,8 @@ BluetoothAudioCtrlAck a2dp_ack_to_bt_audio_ctrl_ack(tA2DP_CTRL_ACK ack);
 // Provide call-in APIs for the Bluetooth Audio HAL
 class A2dpTransport : public ::bluetooth::audio::IBluetoothTransportInstance {
  public:
-  A2dpTransport(SessionType sessionType, AudioConfiguration audioConfig)
-      : IBluetoothTransportInstance(sessionType, std::move(audioConfig)),
+  A2dpTransport(SessionType sessionType)
+      : IBluetoothTransportInstance(sessionType, {}),
         a2dp_pending_cmd_(A2DP_CTRL_CMD_NONE),
         remote_delay_report_(0),
         total_bytes_read_(0),
@@ -571,25 +571,12 @@ bool init(bluetooth::common::MessageLoopThread* message_loop) {
     return false;
   }
 
-  AudioConfiguration audio_config{};
   if (btif_av_is_a2dp_offload_enabled()) {
-    CodecConfiguration codec_config{};
-    if (!a2dp_get_selected_hal_codec_config(&codec_config)) {
-      LOG(ERROR) << __func__ << ": Failed to get CodecConfiguration";
-      return false;
-    }
-    audio_config.codecConfig(codec_config);
     session_type = SessionType::A2DP_HARDWARE_OFFLOAD_DATAPATH;
   } else {
-    PcmParameters pcm_config{};
-    if (!a2dp_get_selected_hal_pcm_config(&pcm_config)) {
-      LOG(ERROR) << __func__ << ": Failed to get PcmConfiguration";
-      return false;
-    }
-    audio_config.pcmConfig(pcm_config);
     session_type = SessionType::A2DP_SOFTWARE_ENCODING_DATAPATH;
   }
-  a2dp_sink = new A2dpTransport(session_type, audio_config);
+  a2dp_sink = new A2dpTransport(session_type);
   a2dp_hal_clientif = new bluetooth::audio::BluetoothAudioClientInterface(
       a2dp_sink, message_loop);
   if (remote_delay != 0) {