From 192cbbad773979a6fe3b5a0c223356de4fc3309c Mon Sep 17 00:00:00 2001 From: Eric Laurent Date: Wed, 13 Jun 2012 08:38:36 -0700 Subject: [PATCH] Fix audio track pause. AudioTrack::pause() should signal the control block condition to release threads waiting for available buffers in obtainBuffer(). Otherwise the behavior relies on the timout on the condition or the fact that audioflinger will mix a new audio buffer while executing the pause. Bug 6653769. Change-Id: I5f8f73c471fe306070f30b814f32fd4b4dc1d575 --- media/libmedia/AudioTrack.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/media/libmedia/AudioTrack.cpp b/media/libmedia/AudioTrack.cpp index 7df9b7570b..e5a60f5d92 100644 --- a/media/libmedia/AudioTrack.cpp +++ b/media/libmedia/AudioTrack.cpp @@ -491,6 +491,7 @@ void AudioTrack::pause() AutoMutex lock(mLock); if (mActive) { mActive = false; + mCblk->cv.signal(); mAudioTrack->pause(); } } -- 2.11.0