diff options
author | Eric Laurent <elaurent@google.com> | 2014-12-17 18:08:04 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2014-12-17 18:08:04 +0000 |
commit | 23c8dc13787186dc98731055858b2fba3aedc105 (patch) | |
tree | 08ed5ebd4244095641a3d7494e9dab6b6d471eb5 /services/audioflinger/Tracks.cpp | |
parent | c30943f7485fa84a32e7d070234b3def692d9d16 (diff) | |
parent | 85aca658ac7d20584b0647427256df50a5f243ef (diff) | |
download | frameworks_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.cpp | 9 |
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; |