summaryrefslogtreecommitdiffstats
path: root/include/media/stagefright
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2009-10-23 10:22:30 -0700
committerAndreas Huber <andih@google.com>2009-10-23 10:35:08 -0700
commit34769bc913e9f6bb138e666d94a9d685bf3da217 (patch)
tree04de6901ea0132276789b671db83c2cccbee68c0 /include/media/stagefright
parent66326a5ee0869f1ee4d136a477e6effba428b3cb (diff)
downloadframeworks_av-34769bc913e9f6bb138e666d94a9d685bf3da217.zip
frameworks_av-34769bc913e9f6bb138e666d94a9d685bf3da217.tar.gz
frameworks_av-34769bc913e9f6bb138e666d94a9d685bf3da217.tar.bz2
New API to instantiate a MediaExtractor given a URI and optional MIME type.
Also DataSources now must provide a method initCheck() and DataSource::reat_at has been renamed to readAt to conform to standard API naming guidelines.
Diffstat (limited to 'include/media/stagefright')
-rw-r--r--include/media/stagefright/CachingDataSource.h4
-rw-r--r--include/media/stagefright/DataSource.h4
-rw-r--r--include/media/stagefright/FileSource.h8
-rw-r--r--include/media/stagefright/HTTPDataSource.h10
-rw-r--r--include/media/stagefright/MediaExtractor.h3
-rw-r--r--include/media/stagefright/MmapSource.h9
-rw-r--r--include/media/stagefright/ShoutcastSource.h4
7 files changed, 27 insertions, 15 deletions
diff --git a/include/media/stagefright/CachingDataSource.h b/include/media/stagefright/CachingDataSource.h
index e35e19e..b0fc4b2 100644
--- a/include/media/stagefright/CachingDataSource.h
+++ b/include/media/stagefright/CachingDataSource.h
@@ -29,9 +29,9 @@ public:
CachingDataSource(
const sp<DataSource> &source, size_t pageSize, int numPages);
- status_t InitCheck() const;
+ virtual status_t initCheck() const;
- virtual ssize_t read_at(off_t offset, void *data, size_t size);
+ virtual ssize_t readAt(off_t offset, void *data, size_t size);
protected:
virtual ~CachingDataSource();
diff --git a/include/media/stagefright/DataSource.h b/include/media/stagefright/DataSource.h
index f46f0af..b843cd9 100644
--- a/include/media/stagefright/DataSource.h
+++ b/include/media/stagefright/DataSource.h
@@ -33,7 +33,9 @@ class DataSource : public RefBase {
public:
DataSource() {}
- virtual ssize_t read_at(off_t offset, void *data, size_t size) = 0;
+ virtual status_t initCheck() const = 0;
+
+ virtual ssize_t readAt(off_t offset, void *data, size_t size) = 0;
// Convenience methods:
bool getUInt16(off_t offset, uint16_t *x);
diff --git a/include/media/stagefright/FileSource.h b/include/media/stagefright/FileSource.h
index ccbe0ef..d7b42c3 100644
--- a/include/media/stagefright/FileSource.h
+++ b/include/media/stagefright/FileSource.h
@@ -29,11 +29,13 @@ namespace android {
class FileSource : public DataSource {
public:
FileSource(const char *filename);
- virtual ~FileSource();
- status_t InitCheck() const;
+ virtual status_t initCheck() const;
+
+ virtual ssize_t readAt(off_t offset, void *data, size_t size);
- virtual ssize_t read_at(off_t offset, void *data, size_t size);
+protected:
+ virtual ~FileSource();
private:
FILE *mFile;
diff --git a/include/media/stagefright/HTTPDataSource.h b/include/media/stagefright/HTTPDataSource.h
index 02d95fd..d5dc9e6 100644
--- a/include/media/stagefright/HTTPDataSource.h
+++ b/include/media/stagefright/HTTPDataSource.h
@@ -29,12 +29,12 @@ public:
HTTPDataSource(const char *host, int port, const char *path);
HTTPDataSource(const char *uri);
- virtual ~HTTPDataSource();
+ virtual status_t initCheck() const;
- // XXXandih
- status_t InitCheck() const { return OK; }
+ virtual ssize_t readAt(off_t offset, void *data, size_t size);
- virtual ssize_t read_at(off_t offset, void *data, size_t size);
+protected:
+ virtual ~HTTPDataSource();
private:
enum {
@@ -50,6 +50,8 @@ private:
size_t mBufferLength;
off_t mBufferOffset;
+ status_t mInitCheck;
+
HTTPDataSource(const HTTPDataSource &);
HTTPDataSource &operator=(const HTTPDataSource &);
};
diff --git a/include/media/stagefright/MediaExtractor.h b/include/media/stagefright/MediaExtractor.h
index 4d6b989..d56d4b3 100644
--- a/include/media/stagefright/MediaExtractor.h
+++ b/include/media/stagefright/MediaExtractor.h
@@ -31,6 +31,9 @@ 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;
diff --git a/include/media/stagefright/MmapSource.h b/include/media/stagefright/MmapSource.h
index a8bd57f..1b39d53 100644
--- a/include/media/stagefright/MmapSource.h
+++ b/include/media/stagefright/MmapSource.h
@@ -30,13 +30,14 @@ public:
// Assumes ownership of "fd".
MmapSource(int fd, int64_t offset, int64_t length);
- virtual ~MmapSource();
-
- status_t InitCheck() const;
+ virtual status_t initCheck() const;
- virtual ssize_t read_at(off_t offset, void *data, size_t size);
+ virtual ssize_t readAt(off_t offset, void *data, size_t size);
virtual status_t getSize(off_t *size);
+protected:
+ virtual ~MmapSource();
+
private:
int mFd;
void *mBase;
diff --git a/include/media/stagefright/ShoutcastSource.h b/include/media/stagefright/ShoutcastSource.h
index 352857a..bc67156 100644
--- a/include/media/stagefright/ShoutcastSource.h
+++ b/include/media/stagefright/ShoutcastSource.h
@@ -31,7 +31,6 @@ class ShoutcastSource : public MediaSource {
public:
// Assumes ownership of "http".
ShoutcastSource(HTTPStream *http);
- virtual ~ShoutcastSource();
virtual status_t start(MetaData *params = NULL);
virtual status_t stop();
@@ -41,6 +40,9 @@ public:
virtual status_t read(
MediaBuffer **buffer, const ReadOptions *options = NULL);
+protected:
+ virtual ~ShoutcastSource();
+
private:
HTTPStream *mHttp;
size_t mMetaDataOffset;