Merge "Allow for dynamic reconfiguration of the video bitrate used"
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 @@
     : mNetSession(netSession),
       mSurfaceTex(bufferProducer),
       mNotify(notify),
+      mUsingTCPTransport(false),
+      mUsingTCPInterleaving(false),
       mRTPPort(0),
       mRTPSessionID(0),
       mRTCPSessionID(0),
@@ -280,6 +282,9 @@
 }
 
 status_t RTPSink::init(bool usingTCPTransport, bool usingTCPInterleaving) {
+    mUsingTCPTransport = usingTCPTransport;
+    mUsingTCPInterleaving = usingTCPInterleaving;
+
     if (usingTCPInterleaving) {
         return OK;
     }
@@ -717,7 +722,9 @@
             mRTCPSessionID, buf->data(), buf->size());
 #endif
 
-    scheduleSendRR();
+    if (!mUsingTCPTransport) {
+        scheduleSendRR();
+    }
 
     return OK;
 }
@@ -820,6 +827,11 @@
 }
 
 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 @@
     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