summaryrefslogtreecommitdiffstats
path: root/services/audioflinger/Tracks.cpp
diff options
context:
space:
mode:
authorHaynes Mathew George <hgeorge@codeaurora.org>2014-03-07 13:43:49 -0800
committerEric Laurent <elaurent@google.com>2014-03-17 18:32:07 -0700
commit2d3ca68363f723fbe269d3ce52dab4985dfc7154 (patch)
treec1f8c7bbae0e128158ce90a9985d0219dd719182 /services/audioflinger/Tracks.cpp
parent164985121796cf214c7a83d32005d9b01125b558 (diff)
downloadframeworks_av-2d3ca68363f723fbe269d3ce52dab4985dfc7154.zip
frameworks_av-2d3ca68363f723fbe269d3ce52dab4985dfc7154.tar.gz
frameworks_av-2d3ca68363f723fbe269d3ce52dab4985dfc7154.tar.bz2
audioflinger: OffloadThread fix for resume underrun
AudioFlinger can miss resuming h/w on a pause->resume transition if sufficient data isn't available Bug: 11358524. Change-Id: Ic3c75256290d3515fd4a96dfcc900909fbe5bc15
Diffstat (limited to 'services/audioflinger/Tracks.cpp')
-rw-r--r--services/audioflinger/Tracks.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/services/audioflinger/Tracks.cpp b/services/audioflinger/Tracks.cpp
index c5fa624..9fe459b 100644
--- a/services/audioflinger/Tracks.cpp
+++ b/services/audioflinger/Tracks.cpp
@@ -1020,9 +1020,13 @@ void AudioFlinger::PlaybackThread::Track::resumeAck() {
if (mState == RESUMING)
mState = ACTIVE;
+
// Other possibility of pending resume is stopping_1 state
// Do not update the state from stopping as this prevents
- //drain being called.
+ // drain being called.
+ if (mState == STOPPING_1) {
+ mResumeToStopping = false;
+ }
}
// ----------------------------------------------------------------------------