summaryrefslogtreecommitdiffstats
path: root/media/libmedia
diff options
context:
space:
mode:
authorEric Laurent <elaurent@google.com>2013-09-23 22:15:37 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2013-09-23 22:15:37 +0000
commit1d2536f460d4678770f423f50cbf6a61a13d4d11 (patch)
tree641ad685ab15e1794d3140149c9c2bf3122ea061 /media/libmedia
parent21e5456821e3c107d09b0629adbf23c9e06e7c0b (diff)
parent9d2c78c4798ffd8c276c1bf0eaa0b34bc255a2da (diff)
downloadframeworks_av-1d2536f460d4678770f423f50cbf6a61a13d4d11.zip
frameworks_av-1d2536f460d4678770f423f50cbf6a61a13d4d11.tar.gz
frameworks_av-1d2536f460d4678770f423f50cbf6a61a13d4d11.tar.bz2
Merge "AudioTrack: fix music resume" into klp-dev
Diffstat (limited to 'media/libmedia')
-rw-r--r--media/libmedia/AudioRecord.cpp5
-rw-r--r--media/libmedia/AudioTrack.cpp5
2 files changed, 6 insertions, 4 deletions
diff --git a/media/libmedia/AudioRecord.cpp b/media/libmedia/AudioRecord.cpp
index fb731b9..c5a7777 100644
--- a/media/libmedia/AudioRecord.cpp
+++ b/media/libmedia/AudioRecord.cpp
@@ -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();
}
}
diff --git a/media/libmedia/AudioTrack.cpp b/media/libmedia/AudioTrack.cpp
index fdcf911..754a4e3 100644
--- a/media/libmedia/AudioTrack.cpp
+++ b/media/libmedia/AudioTrack.cpp
@@ -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();
}
}