summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/rtsp/MyHandler.h
diff options
context:
space:
mode:
authorLi Sun <sunli@codeaurora.org>2015-07-03 15:13:43 +0800
committerLinux Build Service Account <lnxbuild@localhost>2015-10-06 03:24:20 -0600
commit5a68fc340e5b61ec29d8283433ddb003d6871abc (patch)
treebae9e41241cac6554c74e76198368bff675d311a /media/libstagefright/rtsp/MyHandler.h
parent502b3cb43aba4eae5928647515fec58a3ed0c70c (diff)
downloadframeworks_av-5a68fc340e5b61ec29d8283433ddb003d6871abc.zip
frameworks_av-5a68fc340e5b61ec29d8283433ddb003d6871abc.tar.gz
frameworks_av-5a68fc340e5b61ec29d8283433ddb003d6871abc.tar.bz2
RTSP: add RTSP extensions for IPV6 support
Change access modifiers and add overridables in rtsp stack. Make ARTSPConnection/ARTPConnection extensible for IPV6 support. Provide default implementations in AVMediaServiceExensions and AVMediaServiceFactory. Change-Id: Iaa67070d1832d56e0569dabfd8327c1998f04493
Diffstat (limited to 'media/libstagefright/rtsp/MyHandler.h')
-rw-r--r--media/libstagefright/rtsp/MyHandler.h20
1 files changed, 13 insertions, 7 deletions
diff --git a/media/libstagefright/rtsp/MyHandler.h b/media/libstagefright/rtsp/MyHandler.h
index 0d0baf3..2981685 100644
--- a/media/libstagefright/rtsp/MyHandler.h
+++ b/media/libstagefright/rtsp/MyHandler.h
@@ -39,6 +39,7 @@
#include <media/stagefright/foundation/AMessage.h>
#include <media/stagefright/MediaErrors.h>
#include <media/stagefright/Utils.h>
+#include <mediaplayerservice/AVMediaServiceExtensions.h>
#include <arpa/inet.h>
#include <sys/socket.h>
@@ -115,8 +116,6 @@ struct MyHandler : public AHandler {
mUIDValid(uidValid),
mUID(uid),
mNetLooper(new ALooper),
- mConn(new ARTSPConnection(mUIDValid, mUID)),
- mRTPConn(new ARTPConnection),
mOriginalSessionURL(url),
mSessionURL(url),
mSetupTracksSuccessful(false),
@@ -140,6 +139,9 @@ struct MyHandler : public AHandler {
mPausing(false),
mPauseGeneration(0),
mPlayResponseParsed(false) {
+ mConn = AVMediaServiceFactory::get()->createARTSPConnection(
+ mUIDValid, uid);
+ mRTPConn = AVMediaServiceFactory::get()->createARTPConnection();
mNetLooper->setName("rtsp net");
mNetLooper->start(false /* runOnCallingThread */,
false /* canCallJava */,
@@ -722,16 +724,19 @@ struct MyHandler : public AHandler {
// We are going to continue even if we were
// unable to poke a hole into the firewall...
- pokeAHole(
+ AVMediaServiceUtils::get()->pokeAHole(
+ this,
track->mRTPSocket,
track->mRTCPSocket,
- transport);
+ transport,
+ mSessionHost);
}
mRTPConn->addStream(
track->mRTPSocket, track->mRTCPSocket,
mSessionDesc, index,
- notify, track->mUsingInterleavedTCP);
+ notify, track->mUsingInterleavedTCP,
+ mConn->isIPV6());
mSetupTracksSuccessful = true;
} else {
@@ -1648,8 +1653,9 @@ private:
request.append(interleaveIndex + 1);
} else {
unsigned rtpPort;
- ARTPConnection::MakePortPair(
- &info->mRTPSocket, &info->mRTCPSocket, &rtpPort);
+ AVMediaServiceUtils::get()->makePortPair(
+ &info->mRTPSocket, &info->mRTCPSocket, &rtpPort,
+ mConn->isIPV6());
if (mUIDValid) {
HTTPBase::RegisterSocketUserTag(info->mRTPSocket, mUID,