summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/HTTPStream.cpp
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2010-02-02 13:44:09 -0800
committerAndreas Huber <andih@google.com>2010-02-02 13:54:57 -0800
commitb777bf3100ca752d5f2d0533f053dfda397bda84 (patch)
tree10d158a72e04d800767b6339fc5d8a5b9af91a56 /media/libstagefright/HTTPStream.cpp
parent2d65817f17d0bfabac3849892c8a0f959b8dadc1 (diff)
downloadframeworks_base-b777bf3100ca752d5f2d0533f053dfda397bda84.zip
frameworks_base-b777bf3100ca752d5f2d0533f053dfda397bda84.tar.gz
frameworks_base-b777bf3100ca752d5f2d0533f053dfda397bda84.tar.bz2
Don't use a HEAD request to determine redirects, instead do a regular GET (since that's always supported), also limit the number of redirects to avoid infinite redirects. Finally, properly handle the end of stream.
related-to-bug: 2403674
Diffstat (limited to 'media/libstagefright/HTTPStream.cpp')
-rw-r--r--media/libstagefright/HTTPStream.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/media/libstagefright/HTTPStream.cpp b/media/libstagefright/HTTPStream.cpp
index 02f9439..7293c11 100644
--- a/media/libstagefright/HTTPStream.cpp
+++ b/media/libstagefright/HTTPStream.cpp
@@ -257,11 +257,11 @@ ssize_t HTTPStream::receive(void *data, size_t size) {
}
disconnect();
- return ERROR_IO;
+ return total == 0 ? ERROR_IO : total;
} else if (n == 0) {
disconnect();
- return ERROR_CONNECTION_LOST;
+ return total == 0 ? ERROR_CONNECTION_LOST : total;
}
total += (size_t)n;