// call with lock held void SoundChannel::stop_l() { if (mState != IDLE) { setVolume_l(0, 0); LOGV("stop"); mAudioTrack->stop(); mSample.clear(); mState = IDLE; mPriority = IDLE_PRIORITY; } }
// call with lock held bool SoundChannel::doStop_l() { if (mState != IDLE) { setVolume_l(0, 0); ALOGV("stop"); mAudioTrack->stop(); mSample.clear(); mState = IDLE; mPriority = IDLE_PRIORITY; return true; } return false; }
void SoundChannel::setVolume(float leftVolume, float rightVolume) { Mutex::Autolock lock(&mLock); setVolume_l(leftVolume, rightVolume); }