summaryrefslogtreecommitdiffstats
path: root/media/libstagefright
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2010-12-21 14:36:19 -0800
committerAndreas Huber <andih@google.com>2010-12-21 14:36:19 -0800
commitdf42f949c8bd05b81d94633767514fff88f52062 (patch)
tree51d4f1b0574c3df747d756db787cb64685392250 /media/libstagefright
parent27a932a79b99fd2d869125e4c08b230fb6108860 (diff)
downloadframeworks_av-df42f949c8bd05b81d94633767514fff88f52062.zip
frameworks_av-df42f949c8bd05b81d94633767514fff88f52062.tar.gz
frameworks_av-df42f949c8bd05b81d94633767514fff88f52062.tar.bz2
Better handling of forming absolute https URLs, runtime error on https:// access.
Change-Id: I7f6275520b0bd070e645024dd151a8541b8787b2
Diffstat (limited to 'media/libstagefright')
-rw-r--r--media/libstagefright/httplive/LiveSession.cpp4
-rw-r--r--media/libstagefright/httplive/M3UParser.cpp3
2 files changed, 4 insertions, 3 deletions
diff --git a/media/libstagefright/httplive/LiveSession.cpp b/media/libstagefright/httplive/LiveSession.cpp
index cc7189c..5c4c5df 100644
--- a/media/libstagefright/httplive/LiveSession.cpp
+++ b/media/libstagefright/httplive/LiveSession.cpp
@@ -179,9 +179,9 @@ status_t LiveSession::fetchFile(const char *url, sp<ABuffer> *out) {
if (!strncasecmp(url, "file://", 7)) {
source = new FileSource(url + 7);
+ } else if (strncasecmp(url, "http://", 7)) {
+ return ERROR_UNSUPPORTED;
} else {
- CHECK(!strncasecmp(url, "http://", 7));
-
status_t err = mHTTPDataSource->connect(url);
if (err != OK) {
diff --git a/media/libstagefright/httplive/M3UParser.cpp b/media/libstagefright/httplive/M3UParser.cpp
index 38a7cc5..95f6741 100644
--- a/media/libstagefright/httplive/M3UParser.cpp
+++ b/media/libstagefright/httplive/M3UParser.cpp
@@ -84,12 +84,13 @@ static bool MakeURL(const char *baseURL, const char *url, AString *out) {
out->clear();
if (strncasecmp("http://", baseURL, 7)
+ && strncasecmp("https://", baseURL, 8)
&& strncasecmp("file://", baseURL, 7)) {
// Base URL must be absolute
return false;
}
- if (!strncasecmp("http://", url, 7)) {
+ if (!strncasecmp("http://", url, 7) || !strncasecmp("https://", url, 8)) {
// "url" is already an absolute URL, ignore base URL.
out->setTo(url);