diff options
author | Andy Hung <hunga@google.com> | 2015-09-11 16:15:35 -0700 |
---|---|---|
committer | Andy Hung <hunga@google.com> | 2015-09-11 16:18:12 -0700 |
commit | a542782d0045588e55e075a763cedcd2d504ad22 (patch) | |
tree | 972b585a13ec997abea11db48f4c438c6a93bf05 /services | |
parent | 0f05031545e43c8fe49a9dda0cfd9dce202d1ef3 (diff) | |
download | frameworks_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.cpp | 5 |
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); |