RTSP: Do not close a rtsp socket before rtsp:teardown sent.
[Problem] Rtp packets are keep coming to DUT even
after MediaPlayer stopped. it was spending network data
usage even user closed the streaming.
[Cause] A rtsp socket closed before DUT sends rtsp:teardown.
so that, rtp sesesion were alive till end of the stream.
[Solution] Prevent closing a socket before sending
rtsp:teardown.
Bug: 193115006
Merged-in: I0190c20f0add446fcb4acac315bcb189381d5807
Change-Id: I0190c20f0add446fcb4acac315bcb189381d5807
Signed-off-by: Byeongjo Park <bjo.park@samsung.com>
diff --git a/media/libmediaplayerservice/nuplayer/RTSPSource.cpp b/media/libmediaplayerservice/nuplayer/RTSPSource.cpp
index 9533ae5..8e05de8 100644
--- a/media/libmediaplayerservice/nuplayer/RTSPSource.cpp
+++ b/media/libmediaplayerservice/nuplayer/RTSPSource.cpp
@@ -145,15 +145,17 @@
return;
}
- // Close socket before posting message to RTSPSource message handler.
- if (mHandler != NULL) {
- close(mHandler->getARTSPConnection()->getSocket());
- }
-
sp<AMessage> msg = new AMessage(kWhatDisconnect, this);
sp<AMessage> dummy;
msg->postAndAwaitResponse(&dummy);
+
+ // Close socket after posting message to RTSPSource message handler.
+ if (mHandler != NULL && mHandler->getARTSPConnection()->getSocket() >= 0) {
+ ALOGD("closing rtsp socket if not closed yet.");
+ close(mHandler->getARTSPConnection()->getSocket());
+ }
+
}
status_t NuPlayer::RTSPSource::feedMoreTSData() {