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

Commit 194c0ac9 authored by Jakub Pawlowski's avatar Jakub Pawlowski
Browse files

Add time suffix to variables holding latencies in LE Audio

It's harder to make mistakes when the unit is explicit

Test: compilation
Change-Id: I6cf12d019cbc9c1797f18e1f25535ce5acd245b6
parent 7fc3d1cb
Loading
Loading
Loading
Loading
+17 −17
Original line number Original line Diff line number Diff line
@@ -349,11 +349,11 @@ uint16_t LeAudioDeviceGroup::GetMaxTransportLatencyMtos(void) {
  return find_max_transport_latency(this, types::kLeAudioDirectionSink);
  return find_max_transport_latency(this, types::kLeAudioDirectionSink);
}
}


uint16_t LeAudioDeviceGroup::GetTransportLatency(uint8_t direction) {
uint32_t LeAudioDeviceGroup::GetTransportLatencyUs(uint8_t direction) {
  if (direction == types::kLeAudioDirectionSink) {
  if (direction == types::kLeAudioDirectionSink) {
    return transport_latency_mtos_;
    return transport_latency_mtos_us_;
  } else if (direction == types::kLeAudioDirectionSource) {
  } else if (direction == types::kLeAudioDirectionSource) {
    return transport_latency_stom_;
    return transport_latency_stom_us_ ;
  } else {
  } else {
    LOG(ERROR) << __func__ << ", invalid direction";
    LOG(ERROR) << __func__ << ", invalid direction";
    return 0;
    return 0;
@@ -361,33 +361,33 @@ uint16_t LeAudioDeviceGroup::GetTransportLatency(uint8_t direction) {
}
}


void LeAudioDeviceGroup::SetTransportLatency(uint8_t direction,
void LeAudioDeviceGroup::SetTransportLatency(uint8_t direction,
                                             uint16_t new_transport_latency) {
                                             uint32_t new_transport_latency_us) {
  uint16_t* transport_latency;
  uint32_t* transport_latency_us;


  if (direction == types::kLeAudioDirectionSink) {
  if (direction == types::kLeAudioDirectionSink) {
    transport_latency = &transport_latency_mtos_;
    transport_latency_us = &transport_latency_mtos_us_;
  } else if (direction == types::kLeAudioDirectionSource) {
  } else if (direction == types::kLeAudioDirectionSource) {
    transport_latency = &transport_latency_stom_;
    transport_latency_us = &transport_latency_stom_us_;
  } else {
  } else {
    LOG(ERROR) << __func__ << ", invalid direction";
    LOG(ERROR) << __func__ << ", invalid direction";
    return;
    return;
  }
  }


  if (*transport_latency == new_transport_latency) return;
  if (*transport_latency_us == new_transport_latency_us) return;


  if ((*transport_latency != 0) &&
  if ((*transport_latency_us != 0) &&
      (*transport_latency != new_transport_latency)) {
      (*transport_latency_us != new_transport_latency_us)) {
    LOG(WARNING) << __func__ << ", Different transport latency for group: "
    LOG(WARNING) << __func__ << ", Different transport latency for group: "
                 << " old: " << static_cast<int>(*transport_latency)
                 << " old: " << static_cast<int>(*transport_latency_us)
                 << " [ms], new: " << static_cast<int>(new_transport_latency)
                 << " [us], new: " << static_cast<int>(new_transport_latency_us)
                 << " [ms]";
                 << " [us]";
    return;
    return;
  }
  }


  LOG(INFO) << __func__ << ", updated group " << static_cast<int>(group_id_)
  LOG(INFO) << __func__ << ", updated group " << static_cast<int>(group_id_)
            << " transport latency: " << static_cast<int>(new_transport_latency)
            << " transport latency: " << static_cast<int>(new_transport_latency_us)
            << " [ms]";
            << " [us]";
  *transport_latency = new_transport_latency;
  *transport_latency_us = new_transport_latency_us;
}
}


uint8_t LeAudioDeviceGroup::GetPhyBitmask(uint8_t direction) {
uint8_t LeAudioDeviceGroup::GetPhyBitmask(uint8_t direction) {
@@ -487,7 +487,7 @@ uint16_t LeAudioDeviceGroup::GetRemoteDelay(uint8_t direction) {


  /* us to ms */
  /* us to ms */
  remote_delay_ms = presentation_delay / 1000;
  remote_delay_ms = presentation_delay / 1000;
  remote_delay_ms += GetTransportLatency(direction) / 1000;
  remote_delay_ms += GetTransportLatencyUs(direction) / 1000;


  return remote_delay_ms;
  return remote_delay_ms;
}
}
+6 −6
Original line number Original line Diff line number Diff line
@@ -193,8 +193,8 @@ class LeAudioDeviceGroup {
      : group_id_(group_id),
      : group_id_(group_id),
        cig_created_(false),
        cig_created_(false),
        audio_directions_(0),
        audio_directions_(0),
        transport_latency_mtos_(0),
        transport_latency_mtos_us_(0),
        transport_latency_stom_(0),
        transport_latency_stom_us_(0),
        active_context_type_(types::LeAudioContextType::UNINITIALIZED),
        active_context_type_(types::LeAudioContextType::UNINITIALIZED),
        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),
@@ -238,7 +238,7 @@ class LeAudioDeviceGroup {
  uint8_t GetTargetLatency(void);
  uint8_t GetTargetLatency(void);
  uint16_t GetMaxTransportLatencyStom(void);
  uint16_t GetMaxTransportLatencyStom(void);
  uint16_t GetMaxTransportLatencyMtos(void);
  uint16_t GetMaxTransportLatencyMtos(void);
  void SetTransportLatency(uint8_t direction, uint16_t transport_latency);
  void SetTransportLatency(uint8_t direction, uint32_t transport_latency_us);
  uint8_t GetPhyBitmask(uint8_t direction);
  uint8_t GetPhyBitmask(uint8_t direction);
  uint8_t GetTargetPhy(uint8_t direction);
  uint8_t GetTargetPhy(uint8_t direction);
  bool GetPresentationDelay(uint32_t* delay, uint8_t direction);
  bool GetPresentationDelay(uint32_t* delay, uint8_t direction);
@@ -273,8 +273,8 @@ class LeAudioDeviceGroup {
  void Dump(int fd);
  void Dump(int fd);


 private:
 private:
  uint16_t transport_latency_mtos_;
  uint32_t transport_latency_mtos_us_;
  uint16_t transport_latency_stom_;
  uint32_t transport_latency_stom_us_;


  const set_configurations::AudioSetConfiguration*
  const set_configurations::AudioSetConfiguration*
  FindFirstSupportedConfiguration(types::LeAudioContextType context_type);
  FindFirstSupportedConfiguration(types::LeAudioContextType context_type);
@@ -284,7 +284,7 @@ class LeAudioDeviceGroup {
  bool IsConfigurationSupported(
  bool IsConfigurationSupported(
      const set_configurations::AudioSetConfiguration* audio_set_configuration,
      const set_configurations::AudioSetConfiguration* audio_set_configuration,
      types::LeAudioContextType context_type);
      types::LeAudioContextType context_type);
  uint16_t GetTransportLatency(uint8_t direction);
  uint32_t GetTransportLatencyUs(uint8_t direction);


  /* Mask and table of currently supported contexts */
  /* Mask and table of currently supported contexts */
  types::LeAudioContextType active_context_type_;
  types::LeAudioContextType active_context_type_;