summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/wifi-display/source
diff options
context:
space:
mode:
Diffstat (limited to 'media/libstagefright/wifi-display/source')
-rw-r--r--media/libstagefright/wifi-display/source/WifiDisplaySource.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/media/libstagefright/wifi-display/source/WifiDisplaySource.cpp b/media/libstagefright/wifi-display/source/WifiDisplaySource.cpp
index 7f7aeac..e9811f5 100644
--- a/media/libstagefright/wifi-display/source/WifiDisplaySource.cpp
+++ b/media/libstagefright/wifi-display/source/WifiDisplaySource.cpp
@@ -1221,8 +1221,11 @@ sp<WifiDisplaySource::PlaybackSession> WifiDisplaySource::findPlaybackSession(
void WifiDisplaySource::disconnectClient(status_t err) {
if (mClientSessionID != 0) {
if (mClientInfo.mPlaybackSession != NULL) {
- looper()->unregisterHandler(mClientInfo.mPlaybackSession->id());
+ sp<PlaybackSession> playbackSession = mClientInfo.mPlaybackSession;
mClientInfo.mPlaybackSession.clear();
+
+ playbackSession->destroy();
+ looper()->unregisterHandler(playbackSession->id());
}
mNetSession->destroySession(mClientSessionID);