summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2010-09-27 08:17:40 -0700
committerAndreas Huber <andih@google.com>2010-09-27 09:16:44 -0700
commit7539a0594204c3436571bacabe50a14c78dedf5f (patch)
tree36a19f92e7cc6f8eef863fac2c19d79453bb4c84 /media
parent76e2c7be04aeff55f3e6a473ff1cd6d9ec2d620c (diff)
downloadframeworks_av-7539a0594204c3436571bacabe50a14c78dedf5f.zip
frameworks_av-7539a0594204c3436571bacabe50a14c78dedf5f.tar.gz
frameworks_av-7539a0594204c3436571bacabe50a14c78dedf5f.tar.bz2
Support other kinds of HTTP redirect in NuHTTPDataSource
Change-Id: I3268a94cfb48cee9caa8914804d7907ff91d8a8e related-to-bug: 3037686
Diffstat (limited to 'media')
-rw-r--r--media/libstagefright/NuHTTPDataSource.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/media/libstagefright/NuHTTPDataSource.cpp b/media/libstagefright/NuHTTPDataSource.cpp
index ab9285d..fcbfdac 100644
--- a/media/libstagefright/NuHTTPDataSource.cpp
+++ b/media/libstagefright/NuHTTPDataSource.cpp
@@ -96,6 +96,11 @@ status_t NuHTTPDataSource::connect(
return connect(host, port, path, headers, offset);
}
+static bool IsRedirectStatusCode(int httpStatus) {
+ return httpStatus == 301 || httpStatus == 302
+ || httpStatus == 303 || httpStatus == 307;
+}
+
status_t NuHTTPDataSource::connect(
const char *host, unsigned port, const char *path,
const String8 &headers,
@@ -161,7 +166,7 @@ status_t NuHTTPDataSource::connect(
return err;
}
- if (httpStatus == 302) {
+ if (IsRedirectStatusCode(httpStatus)) {
string value;
CHECK(mHTTP.find_header_value("Location", &value));