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

Commit 5902078d authored by Marco Nelissen's avatar Marco Nelissen Committed by Android (Google) Code Review
Browse files

Merge "Fix memory leak in MPEG2PSExtractor"

parents 43e96581 b984cea7
Loading
Loading
Loading
Loading
+9 −1
Original line number Original line Diff line number Diff line
@@ -111,8 +111,10 @@ MPEG2PSExtractor::MPEG2PSExtractor(DataSourceHelper *source)
    AMediaFormat *meta = AMediaFormat_new();
    AMediaFormat *meta = AMediaFormat_new();
    for (size_t i = mTracks.size(); i > 0;) {
    for (size_t i = mTracks.size(); i > 0;) {
        i--;
        i--;
        if (mTracks.valueAt(i)->getFormat(meta) != AMEDIA_OK) {
        Track *track = mTracks.valueAt(i);
        if (track->getFormat(meta) != AMEDIA_OK) {
            mTracks.removeItemsAt(i);
            mTracks.removeItemsAt(i);
            delete track;
        }
        }
    }
    }
    AMediaFormat_delete(meta);
    AMediaFormat_delete(meta);
@@ -122,6 +124,10 @@ MPEG2PSExtractor::MPEG2PSExtractor(DataSourceHelper *source)


MPEG2PSExtractor::~MPEG2PSExtractor() {
MPEG2PSExtractor::~MPEG2PSExtractor() {
    delete mDataSource;
    delete mDataSource;
    for (size_t i = mTracks.size(); i > 0;) {
        i--;
        delete mTracks.valueAt(i);
    }
}
}


size_t MPEG2PSExtractor::countTracks() {
size_t MPEG2PSExtractor::countTracks() {
@@ -793,7 +799,9 @@ MPEG2PSExtractor::WrappedTrack::~WrappedTrack() {
}
}


media_status_t MPEG2PSExtractor::WrappedTrack::start() {
media_status_t MPEG2PSExtractor::WrappedTrack::start() {
    delete mTrack->mBufferGroup;
    mTrack->mBufferGroup = mBufferGroup;
    mTrack->mBufferGroup = mBufferGroup;
    mBufferGroup = nullptr;
    return mTrack->start();
    return mTrack->start();
}
}