summaryrefslogtreecommitdiffstats
path: root/services/audioflinger/PatchPanel.h
diff options
context:
space:
mode:
authorAndy Hung <hunga@google.com>2019-03-07 19:45:54 -0800
committerAndy Hung <hunga@google.com>2019-03-08 10:37:15 -0800
commitabfab20fdbdc41168f816272c31caa6c1264ba46 (patch)
tree940b8444b6e54cd0beee1b51427dab2715d7453a /services/audioflinger/PatchPanel.h
parent4e7c08a1343cc9a47c17950359fb0845b262dc40 (diff)
downloadframeworks_av-abfab20fdbdc41168f816272c31caa6c1264ba46.tar.gz
frameworks_av-abfab20fdbdc41168f816272c31caa6c1264ba46.tar.bz2
frameworks_av-abfab20fdbdc41168f816272c31caa6c1264ba46.zip
PatchPanel: Keep peer alive during use.
Test: BT call, switch from hearing aid to headset Bug: 126789266 Change-Id: I589e5ecaac25c1ce1d504a387662b96cf50f63ba
Diffstat (limited to 'services/audioflinger/PatchPanel.h')
-rw-r--r--services/audioflinger/PatchPanel.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/services/audioflinger/PatchPanel.h b/services/audioflinger/PatchPanel.h
index 612855f57c..aba2cc27db 100644
--- a/services/audioflinger/PatchPanel.h
+++ b/services/audioflinger/PatchPanel.h
@@ -122,11 +122,11 @@ private:
mThread = thread;
mCloseThread = closeThread;
}
- void setTrackAndPeer(const sp<TrackType>& track,
- ThreadBase::PatchProxyBufferProvider *peer) {
+ template <typename T>
+ void setTrackAndPeer(const sp<TrackType>& track, const sp<T> &peer) {
mTrack = track;
mThread->addPatchTrack(mTrack);
- mTrack->setPeerProxy(peer);
+ mTrack->setPeerProxy(peer, true /* holdReference */);
}
void stopTrack() { if (mTrack) mTrack->stop(); }