diff options
author | Andy Hung <hunga@google.com> | 2015-09-12 01:26:56 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2015-09-12 01:26:56 +0000 |
commit | 5c0adc3e632fbb2929cb20e32a8a9f2864c01490 (patch) | |
tree | 9c11b5a85c2e73e23ca0e57633ba4b4288a28523 | |
parent | 014e91e471edba3f9b2c71ff6025274716b0f587 (diff) | |
parent | a542782d0045588e55e075a763cedcd2d504ad22 (diff) | |
download | frameworks_av-5c0adc3e632fbb2929cb20e32a8a9f2864c01490.zip frameworks_av-5c0adc3e632fbb2929cb20e32a8a9f2864c01490.tar.gz frameworks_av-5c0adc3e632fbb2929cb20e32a8a9f2864c01490.tar.bz2 |
Merge "Workaround static fast track start-after-stop issue" into mnc-dr-dev
-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); |