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

Commit 49b3b972 authored by Atneya Nair's avatar Atneya Nair Committed by Automerger Merge Worker
Browse files

Merge "Handle next segment wraparound gracefully" into tm-dev am: 2ea87cb7...

Merge "Handle next segment wraparound gracefully" into tm-dev am: 2ea87cb7 am: fafb2c9b am: d9a4f0ea

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/18192176



Change-Id: Iba9c4c7e681a3d95c7c4a652618bc89e5ab427d4
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents f58ecbe3 d9a4f0ea
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -1485,8 +1485,11 @@ size_t ToneGenerator::onMoreData(const AudioTrack::Buffer& buffer) {
            }

            // Update next segment transition position. No harm to do it also for last segment as
            // mNextSegSmp won't be used any more
            mNextSegSmp += (mpToneDesc->segments[mCurSegment].duration * mSamplingRate) / 1000;
            // mNextSegSmp won't be used any more.
            // Handle 32 bit wraparound gracefully.
            const uint64_t res = static_cast<uint64_t>(mNextSegSmp) +
                    (mpToneDesc->segments[mCurSegment].duration * mSamplingRate) / 1000;
            mNextSegSmp = static_cast<uint32_t>(std::min<uint64_t>(TONEGEN_INF, res));

        } else {
            // Inside a segment keep tone ON or OFF