summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/CachingDataSource.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'media/libstagefright/CachingDataSource.cpp')
-rw-r--r--media/libstagefright/CachingDataSource.cpp9
1 files changed, 3 insertions, 6 deletions
diff --git a/media/libstagefright/CachingDataSource.cpp b/media/libstagefright/CachingDataSource.cpp
index 0fd71d5..d599cd5 100644
--- a/media/libstagefright/CachingDataSource.cpp
+++ b/media/libstagefright/CachingDataSource.cpp
@@ -25,7 +25,7 @@
namespace android {
CachingDataSource::CachingDataSource(
- DataSource *source, size_t pageSize, int numPages)
+ const sp<DataSource> &source, size_t pageSize, int numPages)
: mSource(source),
mData(malloc(pageSize * numPages)),
mPageSize(pageSize),
@@ -61,9 +61,6 @@ CachingDataSource::~CachingDataSource() {
free(mData);
mData = NULL;
-
- delete mSource;
- mSource = NULL;
}
status_t CachingDataSource::InitCheck() const {
@@ -78,7 +75,7 @@ ssize_t CachingDataSource::read_at(off_t offset, void *data, size_t size) {
Page *page = mFirst;
while (page != NULL) {
if (page->mOffset >= 0 && offset >= page->mOffset
- && offset < page->mOffset + page->mLength) {
+ && offset < page->mOffset + (off_t)page->mLength) {
break;
}
page = page->mNext;
@@ -102,7 +99,7 @@ ssize_t CachingDataSource::read_at(off_t offset, void *data, size_t size) {
return n;
}
- if (offset >= page->mOffset + page->mLength) {
+ if (offset >= page->mOffset + (off_t)page->mLength) {
break;
}
} else {