From af76b10d0bce63c7e5896ddbe6fe897ed0110186 Mon Sep 17 00:00:00 2001 From: Weiyin Jiang Date: Mon, 7 Mar 2016 22:12:56 +0800 Subject: 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 --- services/audioflinger/Threads.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'services/audioflinger') 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) { -- cgit v1.1