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

Commit 9d2c78c4 authored by Eric Laurent's avatar Eric Laurent
Browse files

AudioTrack: fix music resume

Fix regression introduced by commit 5a6cd224 in AudioTrack resume:
the callback thread was not signaled if paused internaly.

Bug: 10895013.
Change-Id: Ic356b115132d6fccbcee2d9bb855e92671dc20c5
parent 4b701cc0
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -979,12 +979,12 @@ bool AudioRecord::AudioRecordThread::threadLoop()
            return true;
        }
        if (mPausedInt) {
            mPausedInt = false;
            if (mPausedNs > 0) {
                (void) mMyCond.waitRelative(mMyLock, mPausedNs);
            } else {
                mMyCond.wait(mMyLock);
            }
            mPausedInt = false;
            return true;
        }
    }
@@ -1029,8 +1029,9 @@ void AudioRecord::AudioRecordThread::pause()
void AudioRecord::AudioRecordThread::resume()
{
    AutoMutex _l(mMyLock);
    if (mPaused) {
    if (mPaused || mPausedInt) {
        mPaused = false;
        mPausedInt = false;
        mMyCond.signal();
    }
}
+3 −2
Original line number Diff line number Diff line
@@ -1800,12 +1800,12 @@ bool AudioTrack::AudioTrackThread::threadLoop()
            return true;
        }
        if (mPausedInt) {
            mPausedInt = false;
            if (mPausedNs > 0) {
                (void) mMyCond.waitRelative(mMyLock, mPausedNs);
            } else {
                mMyCond.wait(mMyLock);
            }
            mPausedInt = false;
            return true;
        }
    }
@@ -1850,8 +1850,9 @@ void AudioTrack::AudioTrackThread::pause()
void AudioTrack::AudioTrackThread::resume()
{
    AutoMutex _l(mMyLock);
    if (mPaused) {
    if (mPaused || mPausedInt) {
        mPaused = false;
        mPausedInt = false;
        mMyCond.signal();
    }
}