summaryrefslogtreecommitdiffstats
path: root/services/audioflinger/Tracks.cpp
diff options
context:
space:
mode:
authorEric Laurent <elaurent@google.com>2014-09-29 13:06:46 -0700
committerEric Laurent <elaurent@google.com>2014-09-29 17:39:39 -0700
commite659ef420dae0caae84ab78f9df8952acb9ad3a0 (patch)
tree9b21158041ed871365f939fc37034858328ef115 /services/audioflinger/Tracks.cpp
parentdc2e6ddc933e40632e79a866d9ece870db1a975e (diff)
downloadframeworks_av-e659ef420dae0caae84ab78f9df8952acb9ad3a0.zip
frameworks_av-e659ef420dae0caae84ab78f9df8952acb9ad3a0.tar.gz
frameworks_av-e659ef420dae0caae84ab78f9df8952acb9ad3a0.tar.bz2
audioflinger: forward flush to direct output streams
Track flush should be forwarded to the audio HAL when playing on a direct output stream. Bug: 17704953. Change-Id: Iafc94327fe9aebf1d4eaa97b76c6767b7ac5babe
Diffstat (limited to 'services/audioflinger/Tracks.cpp')
-rw-r--r--services/audioflinger/Tracks.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/services/audioflinger/Tracks.cpp b/services/audioflinger/Tracks.cpp
index c0a75b9..75190f3 100644
--- a/services/audioflinger/Tracks.cpp
+++ b/services/audioflinger/Tracks.cpp
@@ -824,6 +824,10 @@ void AudioFlinger::PlaybackThread::Track::flush()
// remove from active track list, reset(), and trigger presentation complete
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