diff options
author | Andreas Huber <andih@google.com> | 2010-02-02 13:44:09 -0800 |
---|---|---|
committer | Andreas Huber <andih@google.com> | 2010-02-02 13:54:57 -0800 |
commit | b777bf3100ca752d5f2d0533f053dfda397bda84 (patch) | |
tree | 10d158a72e04d800767b6339fc5d8a5b9af91a56 /media/libstagefright/HTTPStream.cpp | |
parent | 2d65817f17d0bfabac3849892c8a0f959b8dadc1 (diff) | |
download | frameworks_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.cpp | 4 |
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; |