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

Commit 0d241b4b authored by Brian Delwiche's avatar Brian Delwiche Committed by Automerger Merge Worker
Browse files

Merge "[conflict] Merge "Add bounds checks in btif_avrcp_audio_track.cc" into...

Merge "[conflict] Merge "Add bounds checks in btif_avrcp_audio_track.cc" into tm-dev am: 0b68bd68 am: 52d169b1" into udc-dev am: 537a1a6c

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/modules/Bluetooth/+/24994487



Change-Id: Id5a0657c967d31eee0211a2840a7a6272cd2cb5a
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents d4d8d19e 537a1a6c
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -171,7 +171,7 @@ static size_t transcodeQ15ToFloat(uint8_t* buffer, size_t length,
  size_t sampleSize = sampleSizeFor(trackHolder);
  size_t i = 0;
  const float scaledGain = trackHolder->gain * kScaleQ15ToFloat;
  for (; i <= length / sampleSize; i++) {
  for (; i < std::min(trackHolder->bufferLength, length / sampleSize); i++) {
    trackHolder->buffer[i] = ((int16_t*)buffer)[i] * scaledGain;
  }
  return i * sampleSize;
@@ -182,7 +182,7 @@ static size_t transcodeQ23ToFloat(uint8_t* buffer, size_t length,
  size_t sampleSize = sampleSizeFor(trackHolder);
  size_t i = 0;
  const float scaledGain = trackHolder->gain * kScaleQ23ToFloat;
  for (; i <= length / sampleSize; i++) {
  for (; i < std::min(trackHolder->bufferLength, length / sampleSize); i++) {
    size_t offset = i * sampleSize;
    int32_t sample = *((int32_t*)(buffer + offset - 1)) & 0x00FFFFFF;
    trackHolder->buffer[i] = sample * scaledGain;
@@ -195,7 +195,7 @@ static size_t transcodeQ31ToFloat(uint8_t* buffer, size_t length,
  size_t sampleSize = sampleSizeFor(trackHolder);
  size_t i = 0;
  const float scaledGain = trackHolder->gain * kScaleQ31ToFloat;
  for (; i <= length / sampleSize; i++) {
  for (; i < std::min(trackHolder->bufferLength, length / sampleSize); i++) {
    trackHolder->buffer[i] = ((int32_t*)buffer)[i] * scaledGain;
  }
  return i * sampleSize;
+1 −1
Original line number Diff line number Diff line
@@ -84,7 +84,7 @@ TEST_F(BtifAvrcpAudioTrackTest,
  for (size_t index = 0; index < bufferLength; ++index) {
    data[index] = index;
  }
  BtifAvrcpAudioTrackWriteData(trackHolder, data, bufferLength - 1);
  BtifAvrcpAudioTrackWriteData(trackHolder, data, bufferLength);
  const int16_t* dataInt = (int16_t*)data;
  for (size_t index = 0; index < bufferLength / sampleSize; ++index) {
    const float expected = dataInt[index] * scaleQ15ToFloat * gainValue;