diff options
Diffstat (limited to 'include/media/stagefright/DataSource.h')
-rw-r--r-- | include/media/stagefright/DataSource.h | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/include/media/stagefright/DataSource.h b/include/media/stagefright/DataSource.h index 47c5c34..c8ad05e 100644 --- a/include/media/stagefright/DataSource.h +++ b/include/media/stagefright/DataSource.h @@ -27,10 +27,10 @@ #include <utils/RefBase.h> #include <utils/threads.h> #include <drm/DrmManagerClient.h> +#include <media/stagefright/foundation/AMessage.h> namespace android { -struct AMessage; struct AString; class IDataSource; struct IMediaHTTPService; @@ -51,12 +51,13 @@ public: const char *uri, const KeyedVector<String8, String8> *headers = NULL, String8 *contentType = NULL, - HTTPBase *httpSource = NULL); + HTTPBase *httpSource = NULL, + bool useExtendedCache = false); static sp<DataSource> CreateMediaHTTP(const sp<IMediaHTTPService> &httpService); static sp<DataSource> CreateFromIDataSource(const sp<IDataSource> &source); - DataSource() {} + DataSource() : mMeta(new AMessage) {} virtual status_t initCheck() const = 0; @@ -121,15 +122,21 @@ public: virtual String8 getMIMEType() const; + virtual sp<AMessage> meta() { return mMeta; } + protected: virtual ~DataSource() {} private: + sp<AMessage> mMeta; + static Mutex gSnifferMutex; static List<SnifferFunc> gSniffers; + static List<SnifferFunc> gExtraSniffers; static bool gSniffersRegistered; static void RegisterSniffer_l(SnifferFunc func); + static void RegisterSnifferPlugin(); DataSource(const DataSource &); DataSource &operator=(const DataSource &); |