summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWeiyin Jiang <wjiang@codeaurora.org>2016-03-07 22:12:56 +0800
committerSteve Kondik <steve@cyngn.com>2016-04-03 00:29:53 -0700
commitaf76b10d0bce63c7e5896ddbe6fe897ed0110186 (patch)
tree96e6f7ec48bec76bf510ca660eea36ea9515de17
parent27ee071a98549919b92c195d51455c62a83ddd1b (diff)
downloadframeworks_av-af76b10d0bce63c7e5896ddbe6fe897ed0110186.zip
frameworks_av-af76b10d0bce63c7e5896ddbe6fe897ed0110186.tar.gz
frameworks_av-af76b10d0bce63c7e5896ddbe6fe897ed0110186.tar.bz2
audio: allow standby for direct track
Delay standby for offload track use case is not suitable for direct track in PCM format, because player torn down doesn't necessarily happen. To avoid AP looping infinitely, allow standby right after direct track in PCM format is paused. CRs-Fixed: 986784 Change-Id: Id0026ac9891a12acc4affa446b2bc841559fcc28
-rw-r--r--services/audioflinger/Threads.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/services/audioflinger/Threads.cpp b/services/audioflinger/Threads.cpp
index c3ee6c2..6f223af 100644
--- a/services/audioflinger/Threads.cpp
+++ b/services/audioflinger/Threads.cpp
@@ -4863,6 +4863,10 @@ bool AudioFlinger::DirectOutputThread::shouldStandby_l()
bool trackPaused = false;
bool trackStopped = false;
+ if ((mType == DIRECT) && audio_is_linear_pcm(mFormat) && !usesHwAvSync()) {
+ return !mStandby;
+ }
+
// do not put the HAL in standby when paused. AwesomePlayer clear the offloaded AudioTrack
// after a timeout and we will enter standby then.
if (mTracks.size() > 0) {