summaryrefslogtreecommitdiffstats
path: root/media/libmedia
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/libmedia
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/libmedia')
-rw-r--r--media/libmedia/MediaScanner.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/media/libmedia/MediaScanner.cpp b/media/libmedia/MediaScanner.cpp
index 28b5aa7..dcbb769 100644
--- a/media/libmedia/MediaScanner.cpp
+++ b/media/libmedia/MediaScanner.cpp
@@ -237,4 +237,24 @@ MediaScanResult MediaScanner::doProcessDirectoryEntry(
return MEDIA_SCAN_RESULT_OK;
}
+MediaAlbumArt *MediaAlbumArt::clone() {
+ size_t byte_size = this->size() + sizeof(MediaAlbumArt);
+ MediaAlbumArt *result = reinterpret_cast<MediaAlbumArt *>(malloc(byte_size));
+ result->mSize = this->size();
+ memcpy(&result->mData[0], &this->mData[0], this->size());
+ return result;
+}
+
+void MediaAlbumArt::init(MediaAlbumArt *instance, int32_t dataSize, const void *data) {
+ instance->mSize = dataSize;
+ memcpy(&instance->mData[0], data, dataSize);
+}
+
+MediaAlbumArt *MediaAlbumArt::fromData(int32_t dataSize, const void* data) {
+ size_t byte_size = sizeof(MediaAlbumArt) + dataSize;
+ MediaAlbumArt *result = reinterpret_cast<MediaAlbumArt *>(malloc(byte_size));
+ init(result, dataSize, data);
+ return result;
+}
+
} // namespace android