summaryrefslogtreecommitdiffstats
path: root/services
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 /services
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
Diffstat (limited to 'services')
-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) {