summaryrefslogtreecommitdiffstats
path: root/services/audioflinger
diff options
context:
space:
mode:
authorEric Laurent <elaurent@google.com>2010-10-07 12:23:39 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2010-10-07 12:23:39 -0700
commit786c57150c431778ed106419e997338e49e37fc4 (patch)
tree937bed39e1f39a3e03f516b61fc03cc75b6d0dc4 /services/audioflinger
parent1b93c0ab559ada94c85acc8231ed4fbd23318b8b (diff)
parentce2e2184bbc5530f4fac3220fdf3d1b3fc08a4c3 (diff)
downloadframeworks_base-786c57150c431778ed106419e997338e49e37fc4.zip
frameworks_base-786c57150c431778ed106419e997338e49e37fc4.tar.gz
frameworks_base-786c57150c431778ed106419e997338e49e37fc4.tar.bz2
am ce2e2184: am 37947afe: Merge "Fixed AudioFlinger not always pausing tracks" into gingerbread
Merge commit 'ce2e2184bbc5530f4fac3220fdf3d1b3fc08a4c3' * commit 'ce2e2184bbc5530f4fac3220fdf3d1b3fc08a4c3': Fixed AudioFlinger not always pausing tracks
Diffstat (limited to 'services/audioflinger')
-rw-r--r--services/audioflinger/AudioFlinger.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/services/audioflinger/AudioFlinger.cpp b/services/audioflinger/AudioFlinger.cpp
index 8527059..cd9b07e 100644
--- a/services/audioflinger/AudioFlinger.cpp
+++ b/services/audioflinger/AudioFlinger.cpp
@@ -1715,7 +1715,7 @@ uint32_t AudioFlinger::MixerThread::prepareTracks_l(const SortedVector< wp<Track
// The first time a track is added we wait
// for all its buffers to be filled before processing it
mAudioMixer->setActiveTrack(track->name());
- if (cblk->framesReady() && (track->isReady() || track->isStopped()) &&
+ if (cblk->framesReady() && track->isReady() &&
!track->isPaused() && !track->isTerminated())
{
//LOGV("track %d u=%08x, s=%08x [OK] on thread %p", track->name(), cblk->user, cblk->server, this);
@@ -2231,7 +2231,7 @@ bool AudioFlinger::DirectOutputThread::threadLoop()
// The first time a track is added we wait
// for all its buffers to be filled before processing it
- if (cblk->framesReady() && (track->isReady() || track->isStopped()) &&
+ if (cblk->framesReady() && track->isReady() &&
!track->isPaused() && !track->isTerminated())
{
//LOGV("track %d u=%08x, s=%08x [OK]", track->name(), cblk->user, cblk->server);
@@ -3039,7 +3039,7 @@ getNextBuffer_exit:
}
bool AudioFlinger::PlaybackThread::Track::isReady() const {
- if (mFillingUpStatus != FS_FILLING) return true;
+ if (mFillingUpStatus != FS_FILLING || isStopped() || isPausing()) return true;
if (mCblk->framesReady() >= mCblk->frameCount ||
(mCblk->flags & CBLK_FORCEREADY_MSK)) {