diff options
Diffstat (limited to 'include/media/stagefright/CachingDataSource.h')
-rw-r--r-- | include/media/stagefright/CachingDataSource.h | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/include/media/stagefright/CachingDataSource.h b/include/media/stagefright/CachingDataSource.h index e275cb4..e35e19e 100644 --- a/include/media/stagefright/CachingDataSource.h +++ b/include/media/stagefright/CachingDataSource.h @@ -26,14 +26,16 @@ namespace android { class CachingDataSource : public DataSource { public: - // Assumes ownership of "source". - CachingDataSource(DataSource *source, size_t pageSize, int numPages); - virtual ~CachingDataSource(); + CachingDataSource( + const sp<DataSource> &source, size_t pageSize, int numPages); status_t InitCheck() const; virtual ssize_t read_at(off_t offset, void *data, size_t size); +protected: + virtual ~CachingDataSource(); + private: struct Page { Page *mPrev, *mNext; @@ -42,7 +44,7 @@ private: void *mData; }; - DataSource *mSource; + sp<DataSource> mSource; void *mData; size_t mPageSize; Page *mFirst, *mLast; |