summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2010-01-27 16:49:05 -0800
committerAndreas Huber <andih@google.com>2010-01-28 13:04:28 -0800
commit5561ccf4a8db88a2e44eac1b3ed13b4ff53a7f20 (patch)
tree0a98e19ea4a0721f2cc0e763203a69565eea6e2e /include
parent2db8455d8f4468a637109d31f319ce02d9d743ec (diff)
downloadframeworks_av-5561ccf4a8db88a2e44eac1b3ed13b4ff53a7f20.zip
frameworks_av-5561ccf4a8db88a2e44eac1b3ed13b4ff53a7f20.tar.gz
frameworks_av-5561ccf4a8db88a2e44eac1b3ed13b4ff53a7f20.tar.bz2
Support the specification of additional HTTP headers in the creation of a DataSource.
related-to-bug: 2393577
Diffstat (limited to 'include')
-rw-r--r--include/media/stagefright/DataSource.h5
-rw-r--r--include/media/stagefright/HTTPDataSource.h13
-rw-r--r--include/media/stagefright/MediaExtractor.h3
3 files changed, 15 insertions, 6 deletions
diff --git a/include/media/stagefright/DataSource.h b/include/media/stagefright/DataSource.h
index 0c0ace0..913da47 100644
--- a/include/media/stagefright/DataSource.h
+++ b/include/media/stagefright/DataSource.h
@@ -21,6 +21,7 @@
#include <sys/types.h>
#include <utils/Errors.h>
+#include <utils/KeyedVector.h>
#include <utils/List.h>
#include <utils/RefBase.h>
#include <utils/threads.h>
@@ -35,7 +36,9 @@ public:
kWantsPrefetching = 1,
};
- static sp<DataSource> CreateFromURI(const char *uri);
+ static sp<DataSource> CreateFromURI(
+ const char *uri,
+ const KeyedVector<String8, String8> *headers = NULL);
DataSource() {}
diff --git a/include/media/stagefright/HTTPDataSource.h b/include/media/stagefright/HTTPDataSource.h
index 42444dc..895cda3 100644
--- a/include/media/stagefright/HTTPDataSource.h
+++ b/include/media/stagefright/HTTPDataSource.h
@@ -19,6 +19,7 @@
#define HTTP_DATASOURCE_H_
#include <media/stagefright/DataSource.h>
+#include <utils/String8.h>
namespace android {
@@ -26,8 +27,13 @@ class HTTPStream;
class HTTPDataSource : public DataSource {
public:
- HTTPDataSource(const char *host, int port, const char *path);
- HTTPDataSource(const char *uri);
+ HTTPDataSource(
+ const char *host, int port, const char *path,
+ const KeyedVector<String8, String8> *headers = NULL);
+
+ HTTPDataSource(
+ const char *uri,
+ const KeyedVector<String8, String8> *headers = NULL);
virtual status_t initCheck() const;
@@ -45,6 +51,8 @@ private:
kBufferSize = 64 * 1024
};
+ String8 mHeaders;
+
HTTPStream *mHttp;
char *mHost;
int mPort;
@@ -58,6 +66,7 @@ private:
status_t mInitCheck;
ssize_t sendRangeRequest(size_t offset);
+ void initHeaders(const KeyedVector<String8, String8> *overrides);
HTTPDataSource(const HTTPDataSource &);
HTTPDataSource &operator=(const HTTPDataSource &);
diff --git a/include/media/stagefright/MediaExtractor.h b/include/media/stagefright/MediaExtractor.h
index 4bc996e..0ed7b40 100644
--- a/include/media/stagefright/MediaExtractor.h
+++ b/include/media/stagefright/MediaExtractor.h
@@ -31,9 +31,6 @@ public:
static sp<MediaExtractor> Create(
const sp<DataSource> &source, const char *mime = NULL);
- static sp<MediaExtractor> CreateFromURI(
- const char *uri, const char *mime = NULL);
-
virtual size_t countTracks() = 0;
virtual sp<MediaSource> getTrack(size_t index) = 0;