summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/DataSource.cpp
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2012-04-13 11:16:48 -0700
committerAndreas Huber <andih@google.com>2012-04-13 11:51:05 -0700
commit918c7652b9a38c02e26c0c46541cea82070c0e43 (patch)
tree5ac94f452e54c8027bd3e67b773a62b047349d56 /media/libstagefright/DataSource.cpp
parent1803c3ae573e5fa3f3a1abe24ae802e30e5d5495 (diff)
downloadframeworks_av-918c7652b9a38c02e26c0c46541cea82070c0e43.zip
frameworks_av-918c7652b9a38c02e26c0c46541cea82070c0e43.tar.gz
frameworks_av-918c7652b9a38c02e26c0c46541cea82070c0e43.tar.bz2
Change NuMediaExtractor's API to support different kinds of data sources.
Change-Id: I080aa2ce28300a72a85751509334dbdc491936c6 related-to-bug: 6276111
Diffstat (limited to 'media/libstagefright/DataSource.cpp')
-rw-r--r--media/libstagefright/DataSource.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/media/libstagefright/DataSource.cpp b/media/libstagefright/DataSource.cpp
index d0a7880..aba95bc 100644
--- a/media/libstagefright/DataSource.cpp
+++ b/media/libstagefright/DataSource.cpp
@@ -142,7 +142,19 @@ sp<DataSource> DataSource::CreateFromURI(
if (httpSource->connect(uri, headers) != OK) {
return NULL;
}
- source = new NuCachedSource2(httpSource);
+
+ String8 cacheConfig;
+ bool disconnectAtHighwatermark;
+ if (headers != NULL) {
+ KeyedVector<String8, String8> copy = *headers;
+ NuCachedSource2::RemoveCacheSpecificHeaders(
+ &copy, &cacheConfig, &disconnectAtHighwatermark);
+ }
+
+ source = new NuCachedSource2(
+ httpSource,
+ cacheConfig.isEmpty() ? NULL : cacheConfig.string());
+
# if CHROMIUM_AVAILABLE
} else if (!strncasecmp("data:", uri, 5)) {
source = new DataUriSource(uri);