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

Commit caa01e9b authored by Android Build Coastguard Worker's avatar Android Build Coastguard Worker
Browse files

Snap for 8112519 from 9138a138 to tm-d1-release

Change-Id: Iaf44c38cafe874529f664ca4a5d3b4daac846231
parents b20a2666 9138a138
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -34,5 +34,6 @@
    <test class="com.android.tradefed.testtype.GTest" >
        <option name="native-test-device-path" value="/data/local/tmp" />
        <option name="module-name" value="VtsHalAudioV6_0TargetTest" />
        <option name="native-test-timeout" value="5m" />
    </test>
</configuration>
+1 −0
Original line number Diff line number Diff line
@@ -34,5 +34,6 @@
    <test class="com.android.tradefed.testtype.GTest" >
        <option name="native-test-device-path" value="/data/local/tmp" />
        <option name="module-name" value="VtsHalAudioV7_0TargetTest" />
        <option name="native-test-timeout" value="5m" />
    </test>
</configuration>
+5 −5
Original line number Diff line number Diff line
@@ -78,7 +78,7 @@ static const AptxCapabilities kDefaultOffloadAptxHdCapability = {
    .bitsPerSample = {24},
};

static const Lc3Capabilities kDefaultOffloadLc3Capability = {
static const Lc3Capabilities kDefaultA2dpOffloadLc3Capability = {
    .samplingFrequencyHz = {44100, 48000},
    .frameDurationUs = {7500, 10000},
    .channelMode = {ChannelMode::MONO, ChannelMode::STEREO},
@@ -285,11 +285,11 @@ bool BluetoothAudioCodecs::IsOffloadLc3ConfigurationValid(
  const Lc3Configuration lc3_data =
      codec_specific.get<CodecConfiguration::CodecSpecific::lc3Config>();

  if (ContainedInVector(kDefaultOffloadLc3Capability.samplingFrequencyHz,
  if (ContainedInVector(kDefaultA2dpOffloadLc3Capability.samplingFrequencyHz,
                        lc3_data.samplingFrequencyHz) &&
      ContainedInVector(kDefaultOffloadLc3Capability.frameDurationUs,
      ContainedInVector(kDefaultA2dpOffloadLc3Capability.frameDurationUs,
                        lc3_data.frameDurationUs) &&
      ContainedInVector(kDefaultOffloadLc3Capability.channelMode,
      ContainedInVector(kDefaultA2dpOffloadLc3Capability.channelMode,
                        lc3_data.channelMode)) {
    return true;
  }
@@ -352,7 +352,7 @@ BluetoothAudioCodecs::GetA2dpOffloadCodecCapabilities(
      case CodecType::LC3:
        codec_capability.capabilities
            .set<CodecCapabilities::Capabilities::lc3Capabilities>(
                kDefaultOffloadLc3Capability);
                kDefaultA2dpOffloadLc3Capability);
        break;
      case CodecType::UNKNOWN:
      case CodecType::VENDOR:
+1 −7
Original line number Diff line number Diff line
@@ -45,11 +45,7 @@ class BluetoothAudioCodecs {
      const SessionType& session_type, const CodecConfiguration& codec_config);

  static bool IsOffloadLeAudioConfigurationValid(
      const SessionType& session_type, const Lc3Configuration& codec_config);

  static bool IsOffloadLeAudioConfigurationValid(
      const SessionType& session_type,
      const LeAudioConfiguration& codec_config);
      const SessionType& session_type, const LeAudioConfiguration&);

  static std::vector<LeAudioCodecCapabilitiesSetting>
  GetLeAudioOffloadCodecCapabilities(const SessionType& session_type);
@@ -77,8 +73,6 @@ class BluetoothAudioCodecs {
      const CodecConfiguration::CodecSpecific& codec_specific);
  static bool IsOffloadLc3ConfigurationValid(
      const CodecConfiguration::CodecSpecific& codec_specific);
  static bool IsOffloadLeAudioConfigurationValid(
      const SessionType& session_type, const LeAudioCodecConfiguration&);
};

}  // namespace audio
+8 −34
Original line number Diff line number Diff line
@@ -35,22 +35,8 @@ static constexpr int kFmqReceiveTimeoutMs =
static constexpr int kWritePollMs = 1;  // polled non-blocking interval
static constexpr int kReadPollMs = 1;   // polled non-blocking interval

const CodecConfiguration BluetoothAudioSession::kInvalidCodecConfiguration = {};
const LeAudioConfiguration kInvalidLeAudioConfiguration = {};
AudioConfiguration BluetoothAudioSession::invalidSoftwareAudioConfiguration =
    {};
AudioConfiguration BluetoothAudioSession::invalidOffloadAudioConfiguration = {};
AudioConfiguration BluetoothAudioSession::invalidLeOffloadAudioConfig = {};

BluetoothAudioSession::BluetoothAudioSession(const SessionType& session_type)
    : session_type_(session_type), stack_iface_(nullptr), data_mq_(nullptr) {
  invalidSoftwareAudioConfiguration.set<AudioConfiguration::pcmConfig>(
      kInvalidPcmConfiguration);
  invalidOffloadAudioConfiguration.set<AudioConfiguration::a2dpConfig>(
      kInvalidCodecConfiguration);
  invalidLeOffloadAudioConfig.set<AudioConfiguration::leAudioConfig>(
      kInvalidLeAudioConfiguration);
}
    : session_type_(session_type), stack_iface_(nullptr), data_mq_(nullptr) {}

/***
 *
@@ -72,13 +58,7 @@ void BluetoothAudioSession::OnSessionStarted(
  } else if (!UpdateDataPath(mq_desc)) {
    LOG(ERROR) << __func__ << " - SessionType=" << toString(session_type_)
               << " MqDescriptor Invalid";
    if (session_type_ == SessionType::A2DP_HARDWARE_OFFLOAD_ENCODING_DATAPATH) {
      audio_config_ = std::make_unique<AudioConfiguration>(
          invalidOffloadAudioConfiguration);
    } else {
      audio_config_ = std::make_unique<AudioConfiguration>(
          invalidSoftwareAudioConfiguration);
    }
    audio_config_ = nullptr;
  } else {
    stack_iface_ = stack_iface;
    LOG(INFO) << __func__ << " - SessionType=" << toString(session_type_)
@@ -91,13 +71,7 @@ void BluetoothAudioSession::OnSessionEnded() {
  std::lock_guard<std::recursive_mutex> guard(mutex_);
  bool toggled = IsSessionReady();
  LOG(INFO) << __func__ << " - SessionType=" << toString(session_type_);
  if (session_type_ == SessionType::A2DP_HARDWARE_OFFLOAD_ENCODING_DATAPATH) {
    audio_config_ =
        std::make_unique<AudioConfiguration>(invalidOffloadAudioConfiguration);
  } else {
    audio_config_ =
        std::make_unique<AudioConfiguration>(invalidSoftwareAudioConfiguration);
  }
  audio_config_ = nullptr;
  stack_iface_ = nullptr;
  UpdateDataPath(nullptr);
  if (toggled) {
@@ -111,17 +85,17 @@ void BluetoothAudioSession::OnSessionEnded() {
 *
 ***/

const AudioConfiguration& BluetoothAudioSession::GetAudioConfig() {
const AudioConfiguration BluetoothAudioSession::GetAudioConfig() {
  std::lock_guard<std::recursive_mutex> guard(mutex_);
  if (!IsSessionReady()) {
    switch (session_type_) {
      case SessionType::A2DP_HARDWARE_OFFLOAD_ENCODING_DATAPATH:
        return invalidOffloadAudioConfiguration;
        return AudioConfiguration(CodecConfiguration{});
      case SessionType::LE_AUDIO_HARDWARE_OFFLOAD_ENCODING_DATAPATH:
      case SessionType::LE_AUDIO_HARDWARE_OFFLOAD_DECODING_DATAPATH:
        return invalidLeOffloadAudioConfig;
        return AudioConfiguration(LeAudioConfiguration{});
      default:
        return invalidSoftwareAudioConfiguration;
        return AudioConfiguration(PcmConfiguration{});
    }
  }
  return *audio_config_;
@@ -164,7 +138,7 @@ bool BluetoothAudioSession::IsSessionReady() {
       session_type_ ==
           SessionType::LE_AUDIO_HARDWARE_OFFLOAD_DECODING_DATAPATH ||
       (data_mq_ != nullptr && data_mq_->isValid()));
  return stack_iface_ != nullptr && is_mq_valid;
  return stack_iface_ != nullptr && is_mq_valid && audio_config_ != nullptr;
}

/***
Loading