summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/wifi-display/ANetworkSession.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'media/libstagefright/wifi-display/ANetworkSession.cpp')
-rw-r--r--media/libstagefright/wifi-display/ANetworkSession.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/media/libstagefright/wifi-display/ANetworkSession.cpp b/media/libstagefright/wifi-display/ANetworkSession.cpp
index 4ddd778..435e72f 100644
--- a/media/libstagefright/wifi-display/ANetworkSession.cpp
+++ b/media/libstagefright/wifi-display/ANetworkSession.cpp
@@ -331,11 +331,15 @@ status_t ANetworkSession::Session::readMore() {
notify->post();
#if 1
- // XXX The dongle sends the wrong content length header on a
+ // XXX The (old) dongle sends the wrong content length header on a
// SET_PARAMETER request that signals a "wfd_idr_request".
// (17 instead of 19).
const char *content = msg->getContent();
- if (content && !memcmp(content, "wfd_idr_request\r\n", 17)) {
+ if (content
+ && !memcmp(content, "wfd_idr_request\r\n", 17)
+ && length >= 19
+ && mInBuffer.c_str()[length] == '\r'
+ && mInBuffer.c_str()[length + 1] == '\n') {
length += 2;
}
#endif
@@ -424,8 +428,10 @@ status_t ANetworkSession::Session::writeMore() {
status_t err = OK;
if (n > 0) {
+#if 0
ALOGI("out:");
hexdump(mOutBuffer.c_str(), n);
+#endif
mOutBuffer.erase(0, n);
} else if (n < 0) {