summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/wifi-display
diff options
context:
space:
mode:
Diffstat (limited to 'media/libstagefright/wifi-display')
-rw-r--r--media/libstagefright/wifi-display/sink/RTPSink.cpp14
-rw-r--r--media/libstagefright/wifi-display/sink/RTPSink.h3
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