AudioFlinger: Extract inner Thread classes
Test: atest audiorecord_tests audiotrack_tests audiorouting_tests trackplayerbase_tests audiosystem_tests
Test: atest AAudioTests AudioTrackOffloadTest
Test: atest AudioTrackTest AudioRecordTest
Test: YouTube Camera
Bug: 288339104
Bug: 289233517
Change-Id: I642498760a50a5b55751f090627f75ad5adb5468
diff --git a/services/audioflinger/AudioFlinger.h b/services/audioflinger/AudioFlinger.h
index 19fed25..7067c83 100644
--- a/services/audioflinger/AudioFlinger.h
+++ b/services/audioflinger/AudioFlinger.h
@@ -150,10 +150,24 @@
using android::content::AttributionSourceState;
+struct stream_type_t {
+ float volume = 1.f;
+ bool mute = false;
+};
+
class AudioFlinger : public AudioFlingerServerAdapter::Delegate
{
friend class sp<AudioFlinger>;
friend class Client; // removeClient_l();
+ // TODO(b/291012167) replace the Thread friends with an interface.
+ friend class DirectOutputThread;
+ friend class MixerThread;
+ friend class MmapPlaybackThread;
+ friend class MmapThread;
+ friend class PlaybackThread;
+ friend class RecordThread;
+ friend class ThreadBase;
+
public:
static void instantiate() ANDROID_API;
@@ -571,20 +585,6 @@
using TeePatches = std::vector<TeePatch>;
private:
- struct stream_type_t {
- stream_type_t()
- : volume(1.0f),
- mute(false)
- {
- }
- float volume;
- bool mute;
- };
-
- // --- PlaybackThread ---
-
-#include "Threads.h"
-
#include "PatchPanel.h"
#include "PatchCommandThread.h"