Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a542782d authored by Andy Hung's avatar Andy Hung
Browse files

Workaround static fast track start-after-stop issue

Bug: 23291988
Bug: 23614327
Bug: 23924081
Change-Id: Id1a519ed4bb2a6f4cb197da8450f7069b55c0d48
parent 0f050315
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -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);