diff options
-rw-r--r-- | media/libstagefright/wifi-display/source/WifiDisplaySource.cpp | 5 |
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); |