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

Commit 52a42dde authored by Marco Nelissen's avatar Marco Nelissen Committed by Gerrit Code Review
Browse files

Merge "Fix memory leak in MPEG2PSExtractor"

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

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

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

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