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

Commit f9e5a891 authored by Łukasz Rymanowski's avatar Łukasz Rymanowski Committed by Gerrit Code Review
Browse files

Merge changes I492b345e,I5e283bff,I3fc890e1 into main

* changes:
  LeAudio: Improve logging Codec Configuration
  leaudio: Fix channel count provided to Java layer.
  leaudio: Add missing coding format
parents 16c0ec14 4b6c0d00
Loading
Loading
Loading
Loading
+51 −3
Original line number Diff line number Diff line
@@ -307,6 +307,54 @@ public final class BluetoothLeAudioCodecConfig implements Parcelable {
        out.writeInt(mMaxOctetsPerFrame);
    }

    private String sampleRateToString(@SampleRate int sampleRateBit) {
        switch (sampleRateBit) {
            case SAMPLE_RATE_NONE:
                return "None";
            case SAMPLE_RATE_8000:
                return "8 kHz";
            case SAMPLE_RATE_11025:
                return "11.025 kHz";
            case SAMPLE_RATE_16000:
                return "16 kHz";
            case SAMPLE_RATE_22050:
                return "22.05 kHz";
            case SAMPLE_RATE_24000:
                return "24 kHz";
            case SAMPLE_RATE_32000:
                return "32 kHz";
            case SAMPLE_RATE_44100:
                return "44.1 kHz";
            case SAMPLE_RATE_48000:
                return "48 kHz";
            case SAMPLE_RATE_88200:
                return "88.2 kHz";
            case SAMPLE_RATE_96000:
                return "96 kHz";
            case SAMPLE_RATE_176400:
                return "176.4 kHz";
            case SAMPLE_RATE_192000:
                return "192 kHz";
            case SAMPLE_RATE_384000:
                return "384 kHz";
            default:
                return "Unknown bit " + sampleRateBit;
        }
    }

    private String frameDurationToString(@FrameDuration int frameDurationBit) {
        switch (frameDurationBit) {
            case FRAME_DURATION_NONE:
                return "None";
            case FRAME_DURATION_7500:
                return "7.5 ms";
            case FRAME_DURATION_10000:
                return "10 ms";
            default:
                return "Unknown bit " + frameDurationBit;
        }
    }

    @Override
    public String toString() {
        return "{codecName:"
@@ -316,13 +364,13 @@ public final class BluetoothLeAudioCodecConfig implements Parcelable {
                + ",mCodecPriority:"
                + mCodecPriority
                + ",mSampleRate:"
                + mSampleRate
                + sampleRateToString(mSampleRate)
                + ",mBitsPerSample:"
                + mBitsPerSample
                + ",mChannelCount:"
                + ",mChannelCountBitMask:"
                + mChannelCount
                + ",mFrameDuration:"
                + mFrameDuration
                + frameDurationToString(mFrameDuration)
                + ",mOctetsPerFrame:"
                + mOctetsPerFrame
                + ",mMinOctetsPerFrame:"
+2 −2
Original line number Diff line number Diff line
@@ -4775,7 +4775,7 @@ TEST_F_WITH_FLAGS(UnicastTest, GroupSetActive_CurrentCodecSentOfActive,
      .codec_type = LE_AUDIO_CODEC_INDEX_SOURCE_LC3,
      .sample_rate = LE_AUDIO_SAMPLE_RATE_INDEX_48000HZ,
      .bits_per_sample = LE_AUDIO_BITS_PER_SAMPLE_INDEX_16,
      .channel_count = LE_AUDIO_CHANNEL_COUNT_INDEX_2,
      .channel_count = LE_AUDIO_CHANNEL_COUNT_INDEX_1,
      .frame_duration = LE_AUDIO_FRAME_DURATION_INDEX_10000US,
      .octets_per_frame = 120};

@@ -6288,7 +6288,7 @@ TEST_F(UnicastTest, TwoEarbudsStreaming) {
      .codec_type = LE_AUDIO_CODEC_INDEX_SOURCE_LC3,
      .sample_rate = LE_AUDIO_SAMPLE_RATE_INDEX_16000HZ,
      .bits_per_sample = LE_AUDIO_BITS_PER_SAMPLE_INDEX_16,
      .channel_count = LE_AUDIO_CHANNEL_COUNT_INDEX_2,
      .channel_count = LE_AUDIO_CHANNEL_COUNT_INDEX_1,
      .frame_duration = LE_AUDIO_FRAME_DURATION_INDEX_10000US,
      .octets_per_frame = 40};

+4 −8
Original line number Diff line number Diff line
@@ -342,14 +342,8 @@ void fillStreamParamsToBtLeAudioCodecConfig(
  out_config.frame_duration =
      translateToBtLeAudioCodecConfigFrameDuration(config.GetDataIntervalUs());
  out_config.octets_per_frame = config.GetOctectsPerFrame();

  int num_of_channels = 0;
  for (auto const& c : confs) {
    num_of_channels += c.codec.GetChannelCountPerIsoStream();
  }

  out_config.channel_count =
      translateToBtLeAudioCodecConfigChannelCount(num_of_channels);
  out_config.channel_count = translateToBtLeAudioCodecConfigChannelCount(
      config.GetChannelCountPerIsoStream());
}

static bool is_known_codec(const types::LeAudioCodecId& codec_id) {
@@ -401,6 +395,8 @@ static void fillRemotePacsCapabitiliesToBtLeAudioCodecConfig(
          if (!capa.IsAudioChannelCountsSupported(chan_bit)) continue;

          bluetooth::le_audio::btle_audio_codec_config_t config = {
              .codec_type = utils::translateBluetoothCodecFormatToCodecType(
                  record.codec_id.coding_format),
              .sample_rate = utils::translateToBtLeAudioCodecConfigSampleRate(
                  types::LeAudioCoreCodecConfig::GetSamplingFrequencyHz(
                      freq_bit)),