Refactor PatchPanel
Major changes:
* since PatchPanel is internal to AudioFlinger, and has the same
lifetime period, there is no need to use reference counting;
* setAudioPortConfig moved to AudioFlinger;
* store Patches in std::map instead of SortedVector, and
directly--not as pointers;
* move {create|clear}PatchConnections into Patch class;
* use __func__ in logging.
Test: test basic audio functionality on taimen
Change-Id: I813fd8430a0e97cd01cc74e6b3b828b10ff5acd4
diff --git a/services/audioflinger/AudioFlinger.h b/services/audioflinger/AudioFlinger.h
index 963a87d..692a904 100644
--- a/services/audioflinger/AudioFlinger.h
+++ b/services/audioflinger/AudioFlinger.h
@@ -843,7 +843,8 @@
nsecs_t mGlobalEffectEnableTime; // when a global effect was last enabled
- sp<PatchPanel> mPatchPanel;
+ // protected by mLock
+ PatchPanel mPatchPanel;
sp<EffectsFactoryHalInterface> mEffectsFactoryHal;
bool mSystemReady;