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

Commit f63afca9 authored by Jakub Tyszkowski's avatar Jakub Tyszkowski Committed by Gerrit Code Review
Browse files

Merge "LeAudio: Remove redundant context type"

parents 0117404b 04857bff
Loading
Loading
Loading
Loading
+0 −18
Original line number Original line Diff line number Diff line
@@ -410,17 +410,6 @@ LeAudioDevice* LeAudioDeviceGroup::GetNextActiveDeviceByDataPathState(
  return iter->lock().get();
  return iter->lock().get();
}
}


bool LeAudioDeviceGroup::SetContextType(LeAudioContextType context_type) {
  /* XXX: group context policy ? / may it disallow to change type ?) */
  context_type_ = context_type;

  return true;
}

LeAudioContextType LeAudioDeviceGroup::GetContextType(void) {
  return context_type_;
}

uint32_t LeAudioDeviceGroup::GetSduInterval(uint8_t direction) {
uint32_t LeAudioDeviceGroup::GetSduInterval(uint8_t direction) {
  for (LeAudioDevice* leAudioDevice = GetFirstActiveDevice();
  for (LeAudioDevice* leAudioDevice = GetFirstActiveDevice();
       leAudioDevice != nullptr;
       leAudioDevice != nullptr;
@@ -1579,9 +1568,6 @@ const set_configurations::AudioSetConfiguration*
LeAudioDeviceGroup::GetActiveConfiguration(void) {
LeAudioDeviceGroup::GetActiveConfiguration(void) {
  return active_context_to_configuration_map[active_context_type_];
  return active_context_to_configuration_map[active_context_type_];
}
}
AudioContexts LeAudioDeviceGroup::GetActiveContexts(void) {
  return active_contexts_mask_;
}


std::optional<LeAudioCodecConfiguration>
std::optional<LeAudioCodecConfiguration>
LeAudioDeviceGroup::GetCodecConfigurationByDirection(
LeAudioDeviceGroup::GetCodecConfigurationByDirection(
@@ -1777,10 +1763,6 @@ void LeAudioDeviceGroup::CreateStreamVectorForOffloader(uint8_t direction) {
  }
  }
}
}


types::LeAudioContextType LeAudioDeviceGroup::GetCurrentContextType(void) {
  return active_context_type_;
}

bool LeAudioDeviceGroup::IsPendingConfiguration(void) {
bool LeAudioDeviceGroup::IsPendingConfiguration(void) {
  return stream_conf.pending_configuration;
  return stream_conf.pending_configuration;
}
}
+11 −7
Original line number Original line Diff line number Diff line
@@ -214,10 +214,10 @@ class LeAudioDeviceGroup {
        transport_latency_stom_us_(0),
        transport_latency_stom_us_(0),
        active_context_type_(types::LeAudioContextType::UNINITIALIZED),
        active_context_type_(types::LeAudioContextType::UNINITIALIZED),
        metadata_context_type_(0),
        metadata_context_type_(0),
        active_contexts_mask_(0),
        pending_update_available_contexts_(std::nullopt),
        pending_update_available_contexts_(std::nullopt),
        target_state_(types::AseState::BTA_LE_AUDIO_ASE_STATE_IDLE),
        target_state_(types::AseState::BTA_LE_AUDIO_ASE_STATE_IDLE),
        current_state_(types::AseState::BTA_LE_AUDIO_ASE_STATE_IDLE),
        current_state_(types::AseState::BTA_LE_AUDIO_ASE_STATE_IDLE) {}
        context_type_(types::LeAudioContextType::UNINITIALIZED) {}
  ~LeAudioDeviceGroup(void);
  ~LeAudioDeviceGroup(void);


  void AddNode(const std::shared_ptr<LeAudioDevice>& leAudioDevice);
  void AddNode(const std::shared_ptr<LeAudioDevice>& leAudioDevice);
@@ -265,8 +265,6 @@ class LeAudioDeviceGroup {
  bool Configure(types::LeAudioContextType context_type,
  bool Configure(types::LeAudioContextType context_type,
                 types::AudioContexts metadata_context_type,
                 types::AudioContexts metadata_context_type,
                 std::vector<uint8_t> ccid_list = {});
                 std::vector<uint8_t> ccid_list = {});
  bool SetContextType(types::LeAudioContextType context_type);
  types::LeAudioContextType GetContextType(void);
  uint32_t GetSduInterval(uint8_t direction);
  uint32_t GetSduInterval(uint8_t direction);
  uint8_t GetSCA(void);
  uint8_t GetSCA(void);
  uint8_t GetPacking(void);
  uint8_t GetPacking(void);
@@ -286,14 +284,12 @@ class LeAudioDeviceGroup {
  bool ReloadAudioLocations(void);
  bool ReloadAudioLocations(void);
  bool ReloadAudioDirections(void);
  bool ReloadAudioDirections(void);
  const set_configurations::AudioSetConfiguration* GetActiveConfiguration(void);
  const set_configurations::AudioSetConfiguration* GetActiveConfiguration(void);
  types::LeAudioContextType GetCurrentContextType(void);
  bool IsPendingConfiguration(void);
  bool IsPendingConfiguration(void);
  void SetPendingConfiguration(void);
  void SetPendingConfiguration(void);
  void ClearPendingConfiguration(void);
  void ClearPendingConfiguration(void);
  bool IsConfigurationSupported(
  bool IsConfigurationSupported(
      LeAudioDevice* leAudioDevice,
      LeAudioDevice* leAudioDevice,
      const set_configurations::AudioSetConfiguration* audio_set_conf);
      const set_configurations::AudioSetConfiguration* audio_set_conf);
  types::AudioContexts GetActiveContexts(void);
  std::optional<LeAudioCodecConfiguration> GetCodecConfigurationByDirection(
  std::optional<LeAudioCodecConfiguration> GetCodecConfigurationByDirection(
      types::LeAudioContextType group_context_type, uint8_t direction);
      types::LeAudioContextType group_context_type, uint8_t direction);
  bool IsContextSupported(types::LeAudioContextType group_context_type);
  bool IsContextSupported(types::LeAudioContextType group_context_type);
@@ -325,10 +321,18 @@ class LeAudioDeviceGroup {
    pending_update_available_contexts_ = audio_contexts;
    pending_update_available_contexts_ = audio_contexts;
  }
  }


  inline types::LeAudioContextType GetCurrentContextType(void) const {
    return active_context_type_;
  }

  inline types::AudioContexts GetMetadataContextType(void) const {
  inline types::AudioContexts GetMetadataContextType(void) const {
    return metadata_context_type_;
    return metadata_context_type_;
  }
  }


  inline types::AudioContexts GetActiveContexts(void) {
    return active_contexts_mask_;
  }

  bool IsInTransition(void);
  bool IsInTransition(void);
  bool IsReleasing(void);
  bool IsReleasing(void);
  void Dump(int fd);
  void Dump(int fd);
@@ -353,6 +357,7 @@ class LeAudioDeviceGroup {
  types::LeAudioContextType active_context_type_;
  types::LeAudioContextType active_context_type_;
  types::AudioContexts metadata_context_type_;
  types::AudioContexts metadata_context_type_;
  types::AudioContexts active_contexts_mask_;
  types::AudioContexts active_contexts_mask_;

  std::optional<types::AudioContexts> pending_update_available_contexts_;
  std::optional<types::AudioContexts> pending_update_available_contexts_;
  std::map<types::LeAudioContextType,
  std::map<types::LeAudioContextType,
           const set_configurations::AudioSetConfiguration*>
           const set_configurations::AudioSetConfiguration*>
@@ -360,7 +365,6 @@ class LeAudioDeviceGroup {


  types::AseState target_state_;
  types::AseState target_state_;
  types::AseState current_state_;
  types::AseState current_state_;
  types::LeAudioContextType context_type_;
  std::vector<std::weak_ptr<LeAudioDevice>> leAudioDevices_;
  std::vector<std::weak_ptr<LeAudioDevice>> leAudioDevices_;
};
};


+3 −12
Original line number Original line Diff line number Diff line
@@ -677,8 +677,9 @@ class UnicastTestNoInit : public Test {
            return false;
            return false;
          }
          }


          group->Configure(group->GetContextType(),
          group->Configure(
                           static_cast<uint16_t>(group->GetContextType()), {});
              group->GetCurrentContextType(),
              static_cast<uint16_t>(group->GetCurrentContextType()), {});
          if (!group->CigAssignCisIds(leAudioDevice)) return false;
          if (!group->CigAssignCisIds(leAudioDevice)) return false;
          group->CigAssignCisConnHandlesToAses(leAudioDevice);
          group->CigAssignCisConnHandlesToAses(leAudioDevice);


@@ -761,15 +762,6 @@ class UnicastTestNoInit : public Test {
                              types::LeAudioContextType context_type,
                              types::LeAudioContextType context_type,
                              types::AudioContexts metadata_context_type,
                              types::AudioContexts metadata_context_type,
                              std::vector<uint8_t> ccid_list) {
                              std::vector<uint8_t> ccid_list) {
          if (group->GetState() ==
              types::AseState::BTA_LE_AUDIO_ASE_STATE_STREAMING) {
            if (group->GetContextType() != context_type) {
              /* TODO: Switch context of group */
              group->SetContextType(context_type);
            }
            return true;
          }

          /* Do what ReleaseCisIds(group) does: start */
          /* Do what ReleaseCisIds(group) does: start */
          LeAudioDevice* leAudioDevice = group->GetFirstDevice();
          LeAudioDevice* leAudioDevice = group->GetFirstDevice();
          while (leAudioDevice != nullptr) {
          while (leAudioDevice != nullptr) {
@@ -790,7 +782,6 @@ class UnicastTestNoInit : public Test {
          if (group->GetState() ==
          if (group->GetState() ==
              types::AseState::BTA_LE_AUDIO_ASE_STATE_IDLE) {
              types::AseState::BTA_LE_AUDIO_ASE_STATE_IDLE) {
            group->CigGenerateCisIds(context_type);
            group->CigGenerateCisIds(context_type);
            group->SetContextType(context_type);


            std::vector<uint16_t> conn_handles;
            std::vector<uint16_t> conn_handles;
            for (uint8_t i = 0; i < (uint8_t)(group->cises_.size()); i++) {
            for (uint8_t i = 0; i < (uint8_t)(group->cises_.size()); i++) {
+0 −1
Original line number Original line Diff line number Diff line
@@ -193,7 +193,6 @@ class LeAudioGroupStateMachineImpl : public LeAudioGroupStateMachine {
        }
        }


        group->CigGenerateCisIds(context_type);
        group->CigGenerateCisIds(context_type);
        group->SetContextType(context_type);
        /* All ASEs should aim to achieve target state */
        /* All ASEs should aim to achieve target state */
        SetTargetState(group, AseState::BTA_LE_AUDIO_ASE_STATE_STREAMING);
        SetTargetState(group, AseState::BTA_LE_AUDIO_ASE_STATE_STREAMING);
        PrepareAndSendCodecConfigure(group, group->GetFirstActiveDevice());
        PrepareAndSendCodecConfigure(group, group->GetFirstActiveDevice());