Loading services/audioflinger/Threads.cpp +10 −7 Original line number Diff line number Diff line Loading @@ -10233,19 +10233,22 @@ status_t AudioFlinger::MmapThread::checkEffectCompatibility_l( void AudioFlinger::MmapThread::checkInvalidTracks_l() { sp<MmapStreamCallback> callback; for (const sp<MmapTrack> &track : mActiveTracks) { if (track->isInvalid()) { sp<MmapStreamCallback> callback = mCallback.promote(); if (callback != 0) { mLock.unlock(); callback->onTearDown(track->portId()); mLock.lock(); } else if (mNoCallbackWarningCount < kMaxNoCallbackWarnings) { ALOGW("Could not notify MMAP stream tear down: no onTearDown callback!"); callback = mCallback.promote(); if (callback == nullptr && mNoCallbackWarningCount < kMaxNoCallbackWarnings) { ALOGW("Could not notify MMAP stream tear down: no onRoutingChanged callback!"); mNoCallbackWarningCount++; } break; } } if (callback != 0) { mLock.unlock(); callback->onRoutingChanged(AUDIO_PORT_HANDLE_NONE); mLock.lock(); } } void AudioFlinger::MmapThread::dumpInternals_l(int fd, const Vector<String16>& args __unused) Loading Loading
services/audioflinger/Threads.cpp +10 −7 Original line number Diff line number Diff line Loading @@ -10233,19 +10233,22 @@ status_t AudioFlinger::MmapThread::checkEffectCompatibility_l( void AudioFlinger::MmapThread::checkInvalidTracks_l() { sp<MmapStreamCallback> callback; for (const sp<MmapTrack> &track : mActiveTracks) { if (track->isInvalid()) { sp<MmapStreamCallback> callback = mCallback.promote(); if (callback != 0) { mLock.unlock(); callback->onTearDown(track->portId()); mLock.lock(); } else if (mNoCallbackWarningCount < kMaxNoCallbackWarnings) { ALOGW("Could not notify MMAP stream tear down: no onTearDown callback!"); callback = mCallback.promote(); if (callback == nullptr && mNoCallbackWarningCount < kMaxNoCallbackWarnings) { ALOGW("Could not notify MMAP stream tear down: no onRoutingChanged callback!"); mNoCallbackWarningCount++; } break; } } if (callback != 0) { mLock.unlock(); callback->onRoutingChanged(AUDIO_PORT_HANDLE_NONE); mLock.lock(); } } void AudioFlinger::MmapThread::dumpInternals_l(int fd, const Vector<String16>& args __unused) Loading