Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 15e6f842 authored by Marco Nelissen's avatar Marco Nelissen Committed by android-build-merger
Browse files

Close MediaDataSource on extractor/retriever release am: fbe7fcfe

am: 8ffffec4

* commit '8ffffec4':
  Close MediaDataSource on extractor/retriever release

Change-Id: Id265ac6a4fbc310e2ab040a46c221829cc6e338b
parents d023d56e 8ffffec4
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -107,6 +107,8 @@ public:

    virtual String8 getMIMEType() const;

    virtual void close() {};

protected:
    virtual ~DataSource() {}

+10 −2
Original line number Diff line number Diff line
@@ -30,14 +30,15 @@ namespace android {

CallbackDataSource::CallbackDataSource(
    const sp<IDataSource>& binderDataSource)
    : mIDataSource(binderDataSource) {
    : mIDataSource(binderDataSource),
      mIsClosed(false) {
    // Set up the buffer to read into.
    mMemory = mIDataSource->getIMemory();
}

CallbackDataSource::~CallbackDataSource() {
    ALOGV("~CallbackDataSource");
    mIDataSource->close();
    close();
}

status_t CallbackDataSource::initCheck() const {
@@ -99,6 +100,13 @@ uint32_t CallbackDataSource::flags() {
    return mIDataSource->getFlags();
}

void CallbackDataSource::close() {
    if (!mIsClosed) {
        mIDataSource->close();
        mIsClosed = true;
    }
}

TinyCacheSource::TinyCacheSource(const sp<DataSource>& source)
    : mSource(source), mCachedOffset(0), mCachedSize(0) {
}
+1 −1
Original line number Diff line number Diff line
@@ -67,7 +67,7 @@ FileSource::FileSource(int fd, int64_t offset, int64_t length)

FileSource::~FileSource() {
    if (mFd >= 0) {
        close(mFd);
        ::close(mFd);
        mFd = -1;
    }

+1 −0
Original line number Diff line number Diff line
@@ -55,6 +55,7 @@ NuMediaExtractor::~NuMediaExtractor() {
    }

    mSelectedTracks.clear();
    mDataSource->close();
}

status_t NuMediaExtractor::setDataSource(
+1 −0
Original line number Diff line number Diff line
@@ -61,6 +61,7 @@ StagefrightMetadataRetriever::StagefrightMetadataRetriever()
StagefrightMetadataRetriever::~StagefrightMetadataRetriever() {
    ALOGV("~StagefrightMetadataRetriever()");
    clearMetadata();
    mSource->close();
}

status_t StagefrightMetadataRetriever::setDataSource(
Loading