summaryrefslogtreecommitdiffstats
path: root/include/media
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2010-01-26 16:20:10 -0800
committerAndreas Huber <andih@google.com>2010-01-26 16:20:10 -0800
commit66b0a35c9a4136a84c3f73b1b25fcb5220138b95 (patch)
tree8a452e8ef792b6a678f82bdf2fb3a98bd09f1ba2 /include/media
parente7dc360f6fcb4d5348e72ba57e936254216ae399 (diff)
downloadframeworks_av-66b0a35c9a4136a84c3f73b1b25fcb5220138b95.zip
frameworks_av-66b0a35c9a4136a84c3f73b1b25fcb5220138b95.tar.gz
frameworks_av-66b0a35c9a4136a84c3f73b1b25fcb5220138b95.tar.bz2
Better support for HTTP streaming media content, fixes to the way HTTPDataSource streams the data, prefetcher implementation.
related-to-bug: 2295438
Diffstat (limited to 'include/media')
-rw-r--r--include/media/stagefright/CachingDataSource.h2
-rw-r--r--include/media/stagefright/DataSource.h8
-rw-r--r--include/media/stagefright/HTTPDataSource.h6
3 files changed, 16 insertions, 0 deletions
diff --git a/include/media/stagefright/CachingDataSource.h b/include/media/stagefright/CachingDataSource.h
index b0fc4b2..30b7ad9 100644
--- a/include/media/stagefright/CachingDataSource.h
+++ b/include/media/stagefright/CachingDataSource.h
@@ -33,6 +33,8 @@ public:
virtual ssize_t readAt(off_t offset, void *data, size_t size);
+ virtual uint32_t flags();
+
protected:
virtual ~CachingDataSource();
diff --git a/include/media/stagefright/DataSource.h b/include/media/stagefright/DataSource.h
index f88666a..0c0ace0 100644
--- a/include/media/stagefright/DataSource.h
+++ b/include/media/stagefright/DataSource.h
@@ -31,6 +31,10 @@ class String8;
class DataSource : public RefBase {
public:
+ enum Flags {
+ kWantsPrefetching = 1,
+ };
+
static sp<DataSource> CreateFromURI(const char *uri);
DataSource() {}
@@ -45,6 +49,10 @@ public:
// May return ERROR_UNSUPPORTED.
virtual status_t getSize(off_t *size);
+ virtual uint32_t flags() {
+ return 0;
+ }
+
////////////////////////////////////////////////////////////////////////////
bool sniff(String8 *mimeType, float *confidence);
diff --git a/include/media/stagefright/HTTPDataSource.h b/include/media/stagefright/HTTPDataSource.h
index d5dc9e6..3075f1c 100644
--- a/include/media/stagefright/HTTPDataSource.h
+++ b/include/media/stagefright/HTTPDataSource.h
@@ -33,6 +33,10 @@ public:
virtual ssize_t readAt(off_t offset, void *data, size_t size);
+ virtual uint32_t flags() {
+ return kWantsPrefetching;
+ }
+
protected:
virtual ~HTTPDataSource();
@@ -52,6 +56,8 @@ private:
status_t mInitCheck;
+ ssize_t sendRangeRequest(size_t offset);
+
HTTPDataSource(const HTTPDataSource &);
HTTPDataSource &operator=(const HTTPDataSource &);
};