summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice/MetadataRetrieverClient.cpp
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2014-06-12 00:15:39 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2014-06-12 00:15:39 +0000
commit7903bb2b3065d58cc75637900922b434f50024d9 (patch)
tree33e825d96a3c1ca8a7778d50068e738d0cfa7272 /media/libmediaplayerservice/MetadataRetrieverClient.cpp
parent14c403fbab456a4a63586a767fbae498f5f8c260 (diff)
parent2a8270e6944fb3addfcba87f6885aaad196b8b88 (diff)
downloadframeworks_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.cpp10
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;
}