diff options
author | Elliott Hughes <enh@google.com> | 2014-06-12 00:06:25 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2014-06-12 00:06:25 +0000 |
commit | 2a8270e6944fb3addfcba87f6885aaad196b8b88 (patch) | |
tree | 991b282008b0b02747b7b29c929e9d157dc08e62 /media/libmedia | |
parent | ca44dc79b5a163030ab0963f80aa771871de092d (diff) | |
parent | c323737dd46d724b4c1ec230b283f26ae2a22b4f (diff) | |
download | frameworks_av-2a8270e6944fb3addfcba87f6885aaad196b8b88.zip frameworks_av-2a8270e6944fb3addfcba87f6885aaad196b8b88.tar.gz frameworks_av-2a8270e6944fb3addfcba87f6885aaad196b8b88.tar.bz2 |
am c323737d: Merge "Offer a type-safe album art interface."
* commit 'c323737dd46d724b4c1ec230b283f26ae2a22b4f':
Offer a type-safe album art interface.
Diffstat (limited to 'media/libmedia')
-rw-r--r-- | media/libmedia/MediaScanner.cpp | 20 |
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 |