diff options
author | Elliott Hughes <enh@google.com> | 2014-06-12 00:15:39 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2014-06-12 00:15:39 +0000 |
commit | 7903bb2b3065d58cc75637900922b434f50024d9 (patch) | |
tree | 33e825d96a3c1ca8a7778d50068e738d0cfa7272 /media/libmediaplayerservice/MetadataRetrieverClient.cpp | |
parent | 14c403fbab456a4a63586a767fbae498f5f8c260 (diff) | |
parent | 2a8270e6944fb3addfcba87f6885aaad196b8b88 (diff) | |
download | frameworks_av-7903bb2b3065d58cc75637900922b434f50024d9.zip frameworks_av-7903bb2b3065d58cc75637900922b434f50024d9.tar.gz frameworks_av-7903bb2b3065d58cc75637900922b434f50024d9.tar.bz2 |
am 2a8270e6: am c323737d: Merge "Offer a type-safe album art interface."
* commit '2a8270e6944fb3addfcba87f6885aaad196b8b88':
Offer a type-safe album art interface.
Diffstat (limited to 'media/libmediaplayerservice/MetadataRetrieverClient.cpp')
-rw-r--r-- | media/libmediaplayerservice/MetadataRetrieverClient.cpp | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/media/libmediaplayerservice/MetadataRetrieverClient.cpp b/media/libmediaplayerservice/MetadataRetrieverClient.cpp index c61cf89..80c7e0a 100644 --- a/media/libmediaplayerservice/MetadataRetrieverClient.cpp +++ b/media/libmediaplayerservice/MetadataRetrieverClient.cpp @@ -233,7 +233,7 @@ sp<IMemory> MetadataRetrieverClient::extractAlbumArt() ALOGE("failed to extract an album art"); return NULL; } - size_t size = sizeof(MediaAlbumArt) + albumArt->mSize; + size_t size = sizeof(MediaAlbumArt) + albumArt->size(); sp<MemoryHeapBase> heap = new MemoryHeapBase(size, 0, "MetadataRetrieverClient"); if (heap == NULL) { ALOGE("failed to create MemoryDealer object"); @@ -246,11 +246,9 @@ sp<IMemory> MetadataRetrieverClient::extractAlbumArt() delete albumArt; return NULL; } - MediaAlbumArt *albumArtCopy = static_cast<MediaAlbumArt *>(mAlbumArt->pointer()); - albumArtCopy->mSize = albumArt->mSize; - albumArtCopy->mData = (uint8_t *)albumArtCopy + sizeof(MediaAlbumArt); - memcpy(albumArtCopy->mData, albumArt->mData, albumArt->mSize); - delete albumArt; // Fix memory leakage + MediaAlbumArt::init((MediaAlbumArt *) mAlbumArt->pointer(), + albumArt->size(), albumArt->data()); + delete albumArt; // We've taken our copy. return mAlbumArt; } |