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

Commit 69dce334 authored by Marco Nelissen's avatar Marco Nelissen Committed by Android (Google) Code Review
Browse files

Merge "Work around bug in offload driver" into mnc-dev

parents d0e25a25 078538cf
Loading
Loading
Loading
Loading
+12 −2
Original line number Diff line number Diff line
@@ -2679,13 +2679,23 @@ bool AudioFlinger::PlaybackThread::threadLoop()
                if (exitPending()) {
                    break;
                }
                bool released = false;
                // The following works around a bug in the offload driver. Ideally we would release
                // the wake lock every time, but that causes the last offload buffer(s) to be
                // dropped while the device is on battery, so we need to hold a wake lock during
                // the drain phase.
                if (mBytesRemaining && !(mDrainSequence & 1)) {
                    releaseWakeLock_l();
                    released = true;
                }
                mWakeLockUids.clear();
                mActiveTracksGeneration++;
                ALOGV("wait async completion");
                mWaitWorkCV.wait(mLock);
                ALOGV("async completion/wake");
                if (released) {
                    acquireWakeLock_l();
                }
                standbyTime = systemTime() + standbyDelay;
                sleepTime = 0;