Loading services/audioflinger/PatchPanel.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -543,7 +543,7 @@ void AudioFlinger::PatchPanel::Patch::clearConnections(PatchPanel *panel) __func__, mRecord.handle(), mPlayback.handle()); mRecord.stopTrack(); mPlayback.stopTrack(); mRecord.track()->clearPeerProxy(); // mRecord stop is synchronous. Break PeerProxy sp<> cycle. mRecord.clearTrackPeer(); // mRecord stop is synchronous. Break PeerProxy sp<> cycle. mRecord.closeConnections(panel); mPlayback.closeConnections(panel); } Loading services/audioflinger/PatchPanel.h +1 −0 Original line number Diff line number Diff line Loading @@ -128,6 +128,7 @@ private: mThread->addPatchTrack(mTrack); mTrack->setPeerProxy(peer, true /* holdReference */); } void clearTrackPeer() { if (mTrack) mTrack->clearPeerProxy(); } void stopTrack() { if (mTrack) mTrack->stop(); } void swap(Endpoint &other) noexcept { Loading Loading
services/audioflinger/PatchPanel.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -543,7 +543,7 @@ void AudioFlinger::PatchPanel::Patch::clearConnections(PatchPanel *panel) __func__, mRecord.handle(), mPlayback.handle()); mRecord.stopTrack(); mPlayback.stopTrack(); mRecord.track()->clearPeerProxy(); // mRecord stop is synchronous. Break PeerProxy sp<> cycle. mRecord.clearTrackPeer(); // mRecord stop is synchronous. Break PeerProxy sp<> cycle. mRecord.closeConnections(panel); mPlayback.closeConnections(panel); } Loading
services/audioflinger/PatchPanel.h +1 −0 Original line number Diff line number Diff line Loading @@ -128,6 +128,7 @@ private: mThread->addPatchTrack(mTrack); mTrack->setPeerProxy(peer, true /* holdReference */); } void clearTrackPeer() { if (mTrack) mTrack->clearPeerProxy(); } void stopTrack() { if (mTrack) mTrack->stop(); } void swap(Endpoint &other) noexcept { Loading