AudioFlinger: Create PatchPanel callback
Test: atest AudioTrackTest AudioRecordTest
Test: Camera YouTube
Bug: 291319167
Change-Id: I3b851a1b1b50edd76305957c8b91521e0cb1d23d
diff --git a/services/audioflinger/PatchPanel.h b/services/audioflinger/PatchPanel.h
index 6ef4d1a..a80a0e0 100644
--- a/services/audioflinger/PatchPanel.h
+++ b/services/audioflinger/PatchPanel.h
@@ -21,7 +21,8 @@
class PatchPanel : public IAfPatchPanel {
public:
- explicit PatchPanel(AudioFlinger* audioFlinger) : mAudioFlinger(*audioFlinger) {}
+ explicit PatchPanel(const sp<IAfPatchPanelCallback>& afPatchPanelCallback)
+ : mAfPatchPanelCallback(afPatchPanelCallback) {}
/* List connected audio ports and their attributes */
status_t listAudioPorts(unsigned int *num_ports,
@@ -102,7 +103,7 @@
newPatch.sources[0].ext.mix.handle == oldPatch.sources[0].ext.mix.handle);
}
- AudioFlinger &mAudioFlinger;
+ const sp<IAfPatchPanelCallback> mAfPatchPanelCallback;
std::map<audio_patch_handle_t, Patch> mPatches;
// This map allows going from a thread to "downstream" software patches