summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/StagefrightMediaScanner.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/libstagefright/StagefrightMediaScanner.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/libstagefright/StagefrightMediaScanner.cpp')
-rw-r--r--media/libstagefright/StagefrightMediaScanner.cpp10
1 files changed, 2 insertions, 8 deletions
diff --git a/media/libstagefright/StagefrightMediaScanner.cpp b/media/libstagefright/StagefrightMediaScanner.cpp
index fe20835..4449d57 100644
--- a/media/libstagefright/StagefrightMediaScanner.cpp
+++ b/media/libstagefright/StagefrightMediaScanner.cpp
@@ -203,7 +203,7 @@ MediaScanResult StagefrightMediaScanner::processFileInternal(
return MEDIA_SCAN_RESULT_OK;
}
-char *StagefrightMediaScanner::extractAlbumArt(int fd) {
+MediaAlbumArt *StagefrightMediaScanner::extractAlbumArt(int fd) {
ALOGV("extractAlbumArt %d", fd);
off64_t size = lseek64(fd, 0, SEEK_END);
@@ -215,15 +215,9 @@ char *StagefrightMediaScanner::extractAlbumArt(int fd) {
sp<MediaMetadataRetriever> mRetriever(new MediaMetadataRetriever);
if (mRetriever->setDataSource(fd, 0, size) == OK) {
sp<IMemory> mem = mRetriever->extractAlbumArt();
-
if (mem != NULL) {
MediaAlbumArt *art = static_cast<MediaAlbumArt *>(mem->pointer());
-
- char *data = (char *)malloc(art->mSize + 4);
- *(int32_t *)data = art->mSize;
- memcpy(&data[4], &art[1], art->mSize);
-
- return data;
+ return art->clone();
}
}