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
diff --git a/media/libmedia/AudioTrack.cpp b/media/libmedia/AudioTrack.cpp
index 7df9b75..e5a60f5 100644
--- a/media/libmedia/AudioTrack.cpp
+++ b/media/libmedia/AudioTrack.cpp
@@ -491,6 +491,7 @@
AutoMutex lock(mLock);
if (mActive) {
mActive = false;
+ mCblk->cv.signal();
mAudioTrack->pause();
}
}