Loading services/audioflinger/Threads.cpp +7 −4 Original line number Diff line number Diff line Loading @@ -2659,18 +2659,20 @@ void AudioFlinger::PlaybackThread::cacheParameters_l() } } void AudioFlinger::PlaybackThread::invalidateTracks_l(audio_stream_type_t streamType) bool AudioFlinger::PlaybackThread::invalidateTracks_l(audio_stream_type_t streamType) { ALOGV("MixerThread::invalidateTracks() mixer %p, streamType %d, mTracks.size %zu", this, streamType, mTracks.size()); bool trackMatch = false; size_t size = mTracks.size(); for (size_t i = 0; i < size; i++) { sp<Track> t = mTracks[i]; if (t->streamType() == streamType && t->isExternalTrack()) { t->invalidate(); trackMatch = true; } } return trackMatch; } void AudioFlinger::PlaybackThread::invalidateTracks(audio_stream_type_t streamType) Loading Loading @@ -5429,8 +5431,9 @@ void AudioFlinger::OffloadThread::flushHw_l() void AudioFlinger::OffloadThread::invalidateTracks(audio_stream_type_t streamType) { Mutex::Autolock _l(mLock); if (PlaybackThread::invalidateTracks_l(streamType)) { mFlushPending = true; PlaybackThread::invalidateTracks_l(streamType); } } // ---------------------------------------------------------------------------- Loading services/audioflinger/Threads.h +1 −1 Original line number Diff line number Diff line Loading @@ -613,7 +613,7 @@ public: virtual bool isValidSyncEvent(const sp<SyncEvent>& event) const; // called with AudioFlinger lock held void invalidateTracks_l(audio_stream_type_t streamType); bool invalidateTracks_l(audio_stream_type_t streamType); virtual void invalidateTracks(audio_stream_type_t streamType); virtual size_t frameCount() const { return mNormalFrameCount; } Loading Loading
services/audioflinger/Threads.cpp +7 −4 Original line number Diff line number Diff line Loading @@ -2659,18 +2659,20 @@ void AudioFlinger::PlaybackThread::cacheParameters_l() } } void AudioFlinger::PlaybackThread::invalidateTracks_l(audio_stream_type_t streamType) bool AudioFlinger::PlaybackThread::invalidateTracks_l(audio_stream_type_t streamType) { ALOGV("MixerThread::invalidateTracks() mixer %p, streamType %d, mTracks.size %zu", this, streamType, mTracks.size()); bool trackMatch = false; size_t size = mTracks.size(); for (size_t i = 0; i < size; i++) { sp<Track> t = mTracks[i]; if (t->streamType() == streamType && t->isExternalTrack()) { t->invalidate(); trackMatch = true; } } return trackMatch; } void AudioFlinger::PlaybackThread::invalidateTracks(audio_stream_type_t streamType) Loading Loading @@ -5429,8 +5431,9 @@ void AudioFlinger::OffloadThread::flushHw_l() void AudioFlinger::OffloadThread::invalidateTracks(audio_stream_type_t streamType) { Mutex::Autolock _l(mLock); if (PlaybackThread::invalidateTracks_l(streamType)) { mFlushPending = true; PlaybackThread::invalidateTracks_l(streamType); } } // ---------------------------------------------------------------------------- Loading
services/audioflinger/Threads.h +1 −1 Original line number Diff line number Diff line Loading @@ -613,7 +613,7 @@ public: virtual bool isValidSyncEvent(const sp<SyncEvent>& event) const; // called with AudioFlinger lock held void invalidateTracks_l(audio_stream_type_t streamType); bool invalidateTracks_l(audio_stream_type_t streamType); virtual void invalidateTracks(audio_stream_type_t streamType); virtual size_t frameCount() const { return mNormalFrameCount; } Loading