diff options
author | Eric Laurent <elaurent@google.com> | 2010-10-07 12:23:39 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2010-10-07 12:23:39 -0700 |
commit | 173e75df12ad5398f3650a30e430dcac0cbcf278 (patch) | |
tree | 7d56796ba185ac2d4b93fbca152f656331f16b48 /services/audioflinger | |
parent | 2eb16c2250c57a8009ab58e9aeb1606ab62bbbbc (diff) | |
parent | 8746c2cf3192033237b465a2834817bf473b9583 (diff) | |
download | frameworks_av-173e75df12ad5398f3650a30e430dcac0cbcf278.zip frameworks_av-173e75df12ad5398f3650a30e430dcac0cbcf278.tar.gz frameworks_av-173e75df12ad5398f3650a30e430dcac0cbcf278.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.cpp | 6 |
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)) { |