Loading services/audioflinger/Tracks.cpp +6 −3 Original line number Diff line number Diff line Loading @@ -712,10 +712,13 @@ status_t AudioFlinger::PlaybackThread::Track::start(AudioSystem::sync_event_t ev // But in this case we know the mixer thread (whether normal mixer or fast mixer) // isn't looking at this track yet: we still hold the normal mixer thread lock, // and for fast tracks the track is not yet in the fast mixer thread's active set. // TODO: remove race condition on stop() followed by start(). if (mSharedBuffer == 0) { // only streaming tracks use flush(). ServerProxy::Buffer buffer; buffer.mFrameCount = 1; (void) mAudioTrackServerProxy->obtainBuffer(&buffer, true /*ackFlush*/); } } } else { status = BAD_VALUE; } Loading Loading
services/audioflinger/Tracks.cpp +6 −3 Original line number Diff line number Diff line Loading @@ -712,10 +712,13 @@ status_t AudioFlinger::PlaybackThread::Track::start(AudioSystem::sync_event_t ev // But in this case we know the mixer thread (whether normal mixer or fast mixer) // isn't looking at this track yet: we still hold the normal mixer thread lock, // and for fast tracks the track is not yet in the fast mixer thread's active set. // TODO: remove race condition on stop() followed by start(). if (mSharedBuffer == 0) { // only streaming tracks use flush(). ServerProxy::Buffer buffer; buffer.mFrameCount = 1; (void) mAudioTrackServerProxy->obtainBuffer(&buffer, true /*ackFlush*/); } } } else { status = BAD_VALUE; } Loading