Loading services/audioflinger/Threads.cpp +2 −2 Original line number Original line Diff line number Diff line Loading @@ -6791,7 +6791,7 @@ void AudioFlinger::RecordThread::syncStartEventCallback(const wp<SyncEvent>& eve bool AudioFlinger::RecordThread::stop(RecordThread::RecordTrack* recordTrack) { bool AudioFlinger::RecordThread::stop(RecordThread::RecordTrack* recordTrack) { ALOGV("RecordThread::stop"); ALOGV("RecordThread::stop"); AutoMutex _l(mLock); AutoMutex _l(mLock); if (mActiveTracks.indexOf(recordTrack) != 0 || recordTrack->mState == TrackBase::PAUSING) { if (mActiveTracks.indexOf(recordTrack) < 0 || recordTrack->mState == TrackBase::PAUSING) { return false; return false; } } // note that threadLoop may still be processing the track at this point [without lock] // note that threadLoop may still be processing the track at this point [without lock] Loading @@ -6805,7 +6805,7 @@ bool AudioFlinger::RecordThread::stop(RecordThread::RecordTrack* recordTrack) { // FIXME incorrect usage of wait: no explicit predicate or loop // FIXME incorrect usage of wait: no explicit predicate or loop mStartStopCond.wait(mLock); mStartStopCond.wait(mLock); // if we have been restarted, recordTrack is in mActiveTracks here // if we have been restarted, recordTrack is in mActiveTracks here if (exitPending() || mActiveTracks.indexOf(recordTrack) != 0) { if (exitPending() || mActiveTracks.indexOf(recordTrack) < 0) { ALOGV("Record stopped OK"); ALOGV("Record stopped OK"); return true; return true; } } Loading services/audiopolicy/common/managerdefinitions/src/AudioSession.cpp +9 −5 Original line number Original line Diff line number Diff line Loading @@ -91,9 +91,11 @@ uint32_t AudioSession::changeActiveCount(int delta) AUDIO_CONFIG_BASE_INITIALIZER; AUDIO_CONFIG_BASE_INITIALIZER; const audio_patch_handle_t patchHandle = (provider != NULL) ? provider->getPatchHandle() : const audio_patch_handle_t patchHandle = (provider != NULL) ? provider->getPatchHandle() : AUDIO_PATCH_HANDLE_NONE; AUDIO_PATCH_HANDLE_NONE; if (patchHandle != AUDIO_PATCH_HANDLE_NONE) { mClientInterface->onRecordingConfigurationUpdate(event, mSession, mInputSource, mClientInterface->onRecordingConfigurationUpdate(event, mSession, mInputSource, &mConfig, &deviceConfig, patchHandle); &mConfig, &deviceConfig, patchHandle); } } } return mActiveCount; return mActiveCount; } } Loading Loading @@ -126,11 +128,13 @@ void AudioSession::onSessionInfoUpdate() const AUDIO_CONFIG_BASE_INITIALIZER; AUDIO_CONFIG_BASE_INITIALIZER; const audio_patch_handle_t patchHandle = (provider != NULL) ? provider->getPatchHandle() : const audio_patch_handle_t patchHandle = (provider != NULL) ? provider->getPatchHandle() : AUDIO_PATCH_HANDLE_NONE; AUDIO_PATCH_HANDLE_NONE; if (patchHandle != AUDIO_PATCH_HANDLE_NONE) { mClientInterface->onRecordingConfigurationUpdate(RECORD_CONFIG_EVENT_START, mClientInterface->onRecordingConfigurationUpdate(RECORD_CONFIG_EVENT_START, mSession, mInputSource, mSession, mInputSource, &mConfig, &deviceConfig, patchHandle); &mConfig, &deviceConfig, patchHandle); } } } } } status_t AudioSession::dump(int fd, int spaces, int index) const status_t AudioSession::dump(int fd, int spaces, int index) const { { Loading Loading
services/audioflinger/Threads.cpp +2 −2 Original line number Original line Diff line number Diff line Loading @@ -6791,7 +6791,7 @@ void AudioFlinger::RecordThread::syncStartEventCallback(const wp<SyncEvent>& eve bool AudioFlinger::RecordThread::stop(RecordThread::RecordTrack* recordTrack) { bool AudioFlinger::RecordThread::stop(RecordThread::RecordTrack* recordTrack) { ALOGV("RecordThread::stop"); ALOGV("RecordThread::stop"); AutoMutex _l(mLock); AutoMutex _l(mLock); if (mActiveTracks.indexOf(recordTrack) != 0 || recordTrack->mState == TrackBase::PAUSING) { if (mActiveTracks.indexOf(recordTrack) < 0 || recordTrack->mState == TrackBase::PAUSING) { return false; return false; } } // note that threadLoop may still be processing the track at this point [without lock] // note that threadLoop may still be processing the track at this point [without lock] Loading @@ -6805,7 +6805,7 @@ bool AudioFlinger::RecordThread::stop(RecordThread::RecordTrack* recordTrack) { // FIXME incorrect usage of wait: no explicit predicate or loop // FIXME incorrect usage of wait: no explicit predicate or loop mStartStopCond.wait(mLock); mStartStopCond.wait(mLock); // if we have been restarted, recordTrack is in mActiveTracks here // if we have been restarted, recordTrack is in mActiveTracks here if (exitPending() || mActiveTracks.indexOf(recordTrack) != 0) { if (exitPending() || mActiveTracks.indexOf(recordTrack) < 0) { ALOGV("Record stopped OK"); ALOGV("Record stopped OK"); return true; return true; } } Loading
services/audiopolicy/common/managerdefinitions/src/AudioSession.cpp +9 −5 Original line number Original line Diff line number Diff line Loading @@ -91,9 +91,11 @@ uint32_t AudioSession::changeActiveCount(int delta) AUDIO_CONFIG_BASE_INITIALIZER; AUDIO_CONFIG_BASE_INITIALIZER; const audio_patch_handle_t patchHandle = (provider != NULL) ? provider->getPatchHandle() : const audio_patch_handle_t patchHandle = (provider != NULL) ? provider->getPatchHandle() : AUDIO_PATCH_HANDLE_NONE; AUDIO_PATCH_HANDLE_NONE; if (patchHandle != AUDIO_PATCH_HANDLE_NONE) { mClientInterface->onRecordingConfigurationUpdate(event, mSession, mInputSource, mClientInterface->onRecordingConfigurationUpdate(event, mSession, mInputSource, &mConfig, &deviceConfig, patchHandle); &mConfig, &deviceConfig, patchHandle); } } } return mActiveCount; return mActiveCount; } } Loading Loading @@ -126,11 +128,13 @@ void AudioSession::onSessionInfoUpdate() const AUDIO_CONFIG_BASE_INITIALIZER; AUDIO_CONFIG_BASE_INITIALIZER; const audio_patch_handle_t patchHandle = (provider != NULL) ? provider->getPatchHandle() : const audio_patch_handle_t patchHandle = (provider != NULL) ? provider->getPatchHandle() : AUDIO_PATCH_HANDLE_NONE; AUDIO_PATCH_HANDLE_NONE; if (patchHandle != AUDIO_PATCH_HANDLE_NONE) { mClientInterface->onRecordingConfigurationUpdate(RECORD_CONFIG_EVENT_START, mClientInterface->onRecordingConfigurationUpdate(RECORD_CONFIG_EVENT_START, mSession, mInputSource, mSession, mInputSource, &mConfig, &deviceConfig, patchHandle); &mConfig, &deviceConfig, patchHandle); } } } } } status_t AudioSession::dump(int fd, int spaces, int index) const status_t AudioSession::dump(int fd, int spaces, int index) const { { Loading