Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cd019230 authored by Jeremy Wu's avatar Jeremy Wu
Browse files

Add support for HFP_SOFTWARE_DATAPATH session type

Bug: 349290628
Bug: 315234036
Test: m packages/modules/Bluetooth
Flag: com::android::bluetooth::flags::is_sco_managed_by_audio and HFP session type only enabled when flag is enabled
Change-Id: I952f8baf347084d57162fdfd767259157f39962e
parent 53e667ad
Loading
Loading
Loading
Loading
+20 −2
Original line number Diff line number Diff line
@@ -145,6 +145,13 @@ void BluetoothAudioSession::ReportAudioConfigChanged(
                  << toString(session_type_);
        return;
      }
    } else if (session_type_ == SessionType::HFP_SOFTWARE_DECODING_DATAPATH ||
               session_type_ == SessionType::HFP_SOFTWARE_ENCODING_DATAPATH) {
      if (audio_config.getTag() != AudioConfiguration::pcmConfig) {
        LOG(ERROR) << __func__ << " invalid audio config type for SessionType ="
                   << toString(session_type_);
        return;
      }
    } else {
      LOG(ERROR) << __func__ << " invalid SessionType ="
                 << toString(session_type_);
@@ -166,6 +173,13 @@ void BluetoothAudioSession::ReportAudioConfigChanged(
                  << toString(session_type_);
        return;
      }
    } else if (session_type_ == SessionType::HFP_SOFTWARE_DECODING_DATAPATH ||
               session_type_ == SessionType::HFP_SOFTWARE_ENCODING_DATAPATH) {
      if (audio_config.getTag() != AudioConfiguration::pcmConfig) {
        LOG(ERROR) << __func__ << " invalid audio config type for SessionType ="
                   << toString(session_type_);
        return;
      }
    } else {
      LOG(ERROR) << __func__
                 << " invalid SessionType =" << toString(session_type_);
@@ -604,7 +618,9 @@ bool BluetoothAudioSession::UpdateSourceMetadata(
  if (session_type_ == SessionType::A2DP_SOFTWARE_ENCODING_DATAPATH ||
      session_type_ == SessionType::A2DP_HARDWARE_OFFLOAD_ENCODING_DATAPATH ||
      session_type_ == SessionType::A2DP_SOFTWARE_DECODING_DATAPATH ||
      session_type_ == SessionType::A2DP_HARDWARE_OFFLOAD_DECODING_DATAPATH) {
      session_type_ == SessionType::A2DP_HARDWARE_OFFLOAD_DECODING_DATAPATH ||
      session_type_ == SessionType::HFP_SOFTWARE_ENCODING_DATAPATH ||
      session_type_ == SessionType::HFP_SOFTWARE_DECODING_DATAPATH) {
    return false;
  }

@@ -629,7 +645,9 @@ bool BluetoothAudioSession::UpdateSinkMetadata(
  if (session_type_ == SessionType::A2DP_SOFTWARE_ENCODING_DATAPATH ||
      session_type_ == SessionType::A2DP_HARDWARE_OFFLOAD_ENCODING_DATAPATH ||
      session_type_ == SessionType::A2DP_SOFTWARE_DECODING_DATAPATH ||
      session_type_ == SessionType::A2DP_HARDWARE_OFFLOAD_DECODING_DATAPATH) {
      session_type_ == SessionType::A2DP_HARDWARE_OFFLOAD_DECODING_DATAPATH ||
      session_type_ == SessionType::HFP_SOFTWARE_ENCODING_DATAPATH ||
      session_type_ == SessionType::HFP_SOFTWARE_DECODING_DATAPATH) {
    return false;
  }