diff options
author | Andreas Huber <andih@google.com> | 2013-02-07 11:38:08 -0800 |
---|---|---|
committer | Andreas Huber <andih@google.com> | 2013-02-07 13:33:28 -0800 |
commit | 1dfc70879323990ba4b4d3e7cadc93ea3900063c (patch) | |
tree | 3153e38fe4f71bd3ad754d569a594591fb1950b5 /media/libstagefright/wifi-display | |
parent | 0955986e6c1c27ba752e293246086ea79c49d39c (diff) | |
download | frameworks_av-1dfc70879323990ba4b4d3e7cadc93ea3900063c.zip frameworks_av-1dfc70879323990ba4b4d3e7cadc93ea3900063c.tar.gz frameworks_av-1dfc70879323990ba4b4d3e7cadc93ea3900063c.tar.bz2 |
A few more patches to fix wfd tcp unicast transport.
Change-Id: Ie2f1b1e56c487ac4c3ef19d9e79022a35084e042
Diffstat (limited to 'media/libstagefright/wifi-display')
-rw-r--r-- | media/libstagefright/wifi-display/sink/RTPSink.cpp | 14 | ||||
-rw-r--r-- | media/libstagefright/wifi-display/sink/RTPSink.h | 3 |
2 files changed, 16 insertions, 1 deletions
diff --git a/media/libstagefright/wifi-display/sink/RTPSink.cpp b/media/libstagefright/wifi-display/sink/RTPSink.cpp index be54595..3c90a1e 100644 --- a/media/libstagefright/wifi-display/sink/RTPSink.cpp +++ b/media/libstagefright/wifi-display/sink/RTPSink.cpp @@ -250,6 +250,8 @@ RTPSink::RTPSink( : mNetSession(netSession), mSurfaceTex(bufferProducer), mNotify(notify), + mUsingTCPTransport(false), + mUsingTCPInterleaving(false), mRTPPort(0), mRTPSessionID(0), mRTCPSessionID(0), @@ -280,6 +282,9 @@ RTPSink::~RTPSink() { } status_t RTPSink::init(bool usingTCPTransport, bool usingTCPInterleaving) { + mUsingTCPTransport = usingTCPTransport; + mUsingTCPInterleaving = usingTCPInterleaving; + if (usingTCPInterleaving) { return OK; } @@ -717,7 +722,9 @@ status_t RTPSink::connect( mRTCPSessionID, buf->data(), buf->size()); #endif - scheduleSendRR(); + if (!mUsingTCPTransport) { + scheduleSendRR(); + } return OK; } @@ -820,6 +827,11 @@ void RTPSink::onSendRR() { } void RTPSink::onPacketLost(const sp<AMessage> &msg) { + if (mUsingTCPTransport) { + ALOGW("huh? lost a packet even though using reliable transport?"); + return; + } + uint32_t srcId; CHECK(msg->findInt32("ssrc", (int32_t *)&srcId)); diff --git a/media/libstagefright/wifi-display/sink/RTPSink.h b/media/libstagefright/wifi-display/sink/RTPSink.h index f9cbce9..4706c6d 100644 --- a/media/libstagefright/wifi-display/sink/RTPSink.h +++ b/media/libstagefright/wifi-display/sink/RTPSink.h @@ -78,6 +78,9 @@ private: sp<AMessage> mNotify; KeyedVector<uint32_t, sp<Source> > mSources; + bool mUsingTCPTransport; + bool mUsingTCPInterleaving; + int32_t mRTPPort; int32_t mRTPSessionID; // in TCP unicast mode these are just server |