void SoundPoolThread::MessageQueue::quit() {
    Mutex::Autolock lock(&mLock);
    mQueue.clear();
    mQueue.push(SoundPoolMsg(SoundPoolMsg::KILL, 0));
    mCondition.signal();
    mCondition.wait(mLock);
    LOGV("return from quit");
}
Пример #2
0
void SoundPoolThread::quit() {
    Mutex::Autolock lock(&mLock);
    if (mRunning) {
        mRunning = false;
        mMsgQueue.clear();
        mMsgQueue.push(SoundPoolMsg(SoundPoolMsg::KILL, 0));
        mCondition.signal();
        mCondition.wait(mLock);
    }
    ALOGV("return from quit");
}
Пример #3
0
void SoundPoolThread::loadSample(int sampleID) {
    write(SoundPoolMsg(SoundPoolMsg::LOAD_SAMPLE, sampleID));
}