diff options
author | Weiyin Jiang <wjiang@codeaurora.org> | 2016-03-07 22:12:56 +0800 |
---|---|---|
committer | Steve Kondik <steve@cyngn.com> | 2016-04-03 00:29:53 -0700 |
commit | af76b10d0bce63c7e5896ddbe6fe897ed0110186 (patch) | |
tree | 96e6f7ec48bec76bf510ca660eea36ea9515de17 | |
parent | 27ee071a98549919b92c195d51455c62a83ddd1b (diff) | |
download | frameworks_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.cpp | 4 |
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) { |