summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2012-12-03 09:19:20 -0800
committerAndroid Git Automerger <android-git-automerger@android.com>2012-12-03 09:19:20 -0800
commitfd5bc3be56ba5e2109daa216bd086825d6cd4ea3 (patch)
tree801f683b3674b17a156efefc09b2f5fac8d5ec4f /media
parentd8491cb0dccf0d125e8d3dde3b56762a76666071 (diff)
parentcd8d39e00fb7896e56318cc192978446e21d46b8 (diff)
downloadframeworks_av-fd5bc3be56ba5e2109daa216bd086825d6cd4ea3.zip
frameworks_av-fd5bc3be56ba5e2109daa216bd086825d6cd4ea3.tar.gz
frameworks_av-fd5bc3be56ba5e2109daa216bd086825d6cd4ea3.tar.bz2
am cd8d39e0: am f00d40c7: Merge "Memory leak solved in MPEG4Extractor::parseChunk for cover art"
* commit 'cd8d39e00fb7896e56318cc192978446e21d46b8': Memory leak solved in MPEG4Extractor::parseChunk for cover art
Diffstat (limited to 'media')
-rw-r--r--media/libstagefright/MPEG4Extractor.cpp9
1 files changed, 3 insertions, 6 deletions
diff --git a/media/libstagefright/MPEG4Extractor.cpp b/media/libstagefright/MPEG4Extractor.cpp
index b2afec7..1a62f9d 100644
--- a/media/libstagefright/MPEG4Extractor.cpp
+++ b/media/libstagefright/MPEG4Extractor.cpp
@@ -1424,18 +1424,15 @@ status_t MPEG4Extractor::parseChunk(off64_t *offset, int depth) {
if (mFileMetaData != NULL) {
ALOGV("chunk_data_size = %lld and data_offset = %lld",
chunk_data_size, data_offset);
- uint8_t *buffer = new uint8_t[chunk_data_size + 1];
+ sp<ABuffer> buffer = new ABuffer(chunk_data_size + 1);
if (mDataSource->readAt(
- data_offset, buffer, chunk_data_size) != (ssize_t)chunk_data_size) {
- delete[] buffer;
- buffer = NULL;
-
+ data_offset, buffer->data(), chunk_data_size) != (ssize_t)chunk_data_size) {
return ERROR_IO;
}
const int kSkipBytesOfDataBox = 16;
mFileMetaData->setData(
kKeyAlbumArt, MetaData::TYPE_NONE,
- buffer + kSkipBytesOfDataBox, chunk_data_size - kSkipBytesOfDataBox);
+ buffer->data() + kSkipBytesOfDataBox, chunk_data_size - kSkipBytesOfDataBox);
}
*offset += chunk_size;