Merge "Fix memory leak in MPEG2PSExtractor"

gugelfrei
Marco Nelissen 5 years ago committed by Gerrit Code Review
commit 52a42dde36

@ -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();
}

Loading…
Cancel
Save