summaryrefslogtreecommitdiffstats
path: root/services/audioflinger/Tracks.cpp
diff options
context:
space:
mode:
authorEric Laurent <elaurent@google.com>2014-12-17 18:08:04 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2014-12-17 18:08:04 +0000
commit23c8dc13787186dc98731055858b2fba3aedc105 (patch)
tree08ed5ebd4244095641a3d7494e9dab6b6d471eb5 /services/audioflinger/Tracks.cpp
parentc30943f7485fa84a32e7d070234b3def692d9d16 (diff)
parent85aca658ac7d20584b0647427256df50a5f243ef (diff)
downloadframeworks_av-23c8dc13787186dc98731055858b2fba3aedc105.zip
frameworks_av-23c8dc13787186dc98731055858b2fba3aedc105.tar.gz
frameworks_av-23c8dc13787186dc98731055858b2fba3aedc105.tar.bz2
am 85aca658: am d33712d7: am 145cf5d8: Merge "audioflinger: implement pause/resume for direct outputs" into lmp-mr1-dev
* commit '85aca658ac7d20584b0647427256df50a5f243ef': audioflinger: implement pause/resume for direct outputs
Diffstat (limited to 'services/audioflinger/Tracks.cpp')
-rw-r--r--services/audioflinger/Tracks.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/services/audioflinger/Tracks.cpp b/services/audioflinger/Tracks.cpp
index faea6ea..1e750bd 100644
--- a/services/audioflinger/Tracks.cpp
+++ b/services/audioflinger/Tracks.cpp
@@ -823,12 +823,11 @@ void AudioFlinger::PlaybackThread::Track::flush()
// this will be done by prepareTracks_l() when the track is stopped.
// prepareTracks_l() will see mState == FLUSHED, then
// remove from active track list, reset(), and trigger presentation complete
+ if (isDirect()) {
+ mFlushHwPending = true;
+ }
if (playbackThread->mActiveTracks.indexOf(this) < 0) {
reset();
- if (thread->type() == ThreadBase::DIRECT) {
- DirectOutputThread *t = (DirectOutputThread *)playbackThread;
- t->flushHw_l();
- }
}
}
// Prevent flush being lost if the track is flushed and then resumed
@@ -841,7 +840,7 @@ void AudioFlinger::PlaybackThread::Track::flush()
// must be called with thread lock held
void AudioFlinger::PlaybackThread::Track::flushAck()
{
- if (!isOffloaded())
+ if (!isOffloaded() && !isDirect())
return;
mFlushHwPending = false;