Thread: Add ThreadBase_ThreadLoop capability
A virtual mutex to guard methods and variables that
only run on the single thread threadLoop().
Some additional thread-safety annotations are added.
Test: atest AudioTrackTest AudioRecordTest
Test: atest AAudioTests AudioTrackOffloadTest
Test: atest AudioPlaybackCaptureTest
Test: Camera YouTube
Bug: 275748373
Change-Id: I6fb87cc8d362c5ddd928563f193fd43f0d02a04c
diff --git a/services/audioflinger/IAfThread.h b/services/audioflinger/IAfThread.h
index 3cac17c..713a06a 100644
--- a/services/audioflinger/IAfThread.h
+++ b/services/audioflinger/IAfThread.h
@@ -465,8 +465,8 @@
virtual void addOutputTrack_l(const sp<IAfTrack>& track) REQUIRES(mutex()) = 0;
virtual AudioStreamOut* getOutput_l() const REQUIRES(mutex()) = 0;
- virtual AudioStreamOut* getOutput() const = 0;
- virtual AudioStreamOut* clearOutput() = 0;
+ virtual AudioStreamOut* getOutput() const EXCLUDES_ThreadBase_Mutex = 0;
+ virtual AudioStreamOut* clearOutput() EXCLUDES_ThreadBase_Mutex = 0;
// a very large number of suspend() will eventually wraparound, but unlikely
virtual void suspend() = 0;