summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorAndy Hung <hunga@google.com>2015-09-11 16:15:35 -0700
committerAndy Hung <hunga@google.com>2015-09-11 16:18:12 -0700
commita542782d0045588e55e075a763cedcd2d504ad22 (patch)
tree972b585a13ec997abea11db48f4c438c6a93bf05 /services
parent0f05031545e43c8fe49a9dda0cfd9dce202d1ef3 (diff)
downloadframeworks_av-a542782d0045588e55e075a763cedcd2d504ad22.zip
frameworks_av-a542782d0045588e55e075a763cedcd2d504ad22.tar.gz
frameworks_av-a542782d0045588e55e075a763cedcd2d504ad22.tar.bz2
Workaround static fast track start-after-stop issue
Bug: 23291988 Bug: 23614327 Bug: 23924081 Change-Id: Id1a519ed4bb2a6f4cb197da8450f7069b55c0d48
Diffstat (limited to 'services')
-rw-r--r--services/audioflinger/Tracks.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/services/audioflinger/Tracks.cpp b/services/audioflinger/Tracks.cpp
index f7da209..b3fac0b 100644
--- a/services/audioflinger/Tracks.cpp
+++ b/services/audioflinger/Tracks.cpp
@@ -432,7 +432,10 @@ AudioFlinger::PlaybackThread::Track::Track(
}
// only allocate a fast track index if we were able to allocate a normal track name
if (flags & IAudioFlinger::TRACK_FAST) {
- mAudioTrackServerProxy->framesReadyIsCalledByMultipleThreads();
+ // FIXME: Not calling framesReadyIsCalledByMultipleThreads() exposes a potential
+ // race with setSyncEvent(). However, if we call it, we cannot properly start
+ // static fast tracks (SoundPool) immediately after stopping.
+ //mAudioTrackServerProxy->framesReadyIsCalledByMultipleThreads();
ALOG_ASSERT(thread->mFastTrackAvailMask != 0);
int i = __builtin_ctz(thread->mFastTrackAvailMask);
ALOG_ASSERT(0 < i && i < (int)FastMixerState::kMaxFastTracks);