summaryrefslogtreecommitdiffstats
path: root/media/jni
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2014-06-05 18:29:24 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2014-06-05 18:29:24 +0000
commitf8272896686cbb3b88dbbd7338a418f72ed2347b (patch)
tree3364cda46837edc3ef6ffa749ca848cd966a3d11 /media/jni
parent2304bf4cd4e377994d80f55871fd31f82bb4f646 (diff)
parentbd1949a4fbd6eb61e7a0a0f81d654a8df50999bf (diff)
downloadframeworks_base-f8272896686cbb3b88dbbd7338a418f72ed2347b.zip
frameworks_base-f8272896686cbb3b88dbbd7338a418f72ed2347b.tar.gz
frameworks_base-f8272896686cbb3b88dbbd7338a418f72ed2347b.tar.bz2
am bd1949a4: am b2842e72: Merge "[LP64] Fix access to MediaAlbumArt."
* commit 'bd1949a4fbd6eb61e7a0a0f81d654a8df50999bf': [LP64] Fix access to MediaAlbumArt.
Diffstat (limited to 'media/jni')
-rw-r--r--media/jni/android_media_MediaScanner.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/media/jni/android_media_MediaScanner.cpp b/media/jni/android_media_MediaScanner.cpp
index 84028b7..6730e0a 100644
--- a/media/jni/android_media_MediaScanner.cpp
+++ b/media/jni/android_media_MediaScanner.cpp
@@ -21,6 +21,7 @@
#include <utils/threads.h>
#include <media/mediascanner.h>
#include <media/stagefright/StagefrightMediaScanner.h>
+#include <private/media/VideoFrame.h>
#include "jni.h"
#include "JNIHelp.h"
@@ -347,21 +348,21 @@ android_media_MediaScanner_extractAlbumArt(
}
int fd = jniGetFDFromFileDescriptor(env, fileDescriptor);
- char* data = mp->extractAlbumArt(fd);
- if (!data) {
+ MediaAlbumArt* mediaAlbumArt =
+ reinterpret_cast<MediaAlbumArt*>(mp->extractAlbumArt(fd));
+ if (mediaAlbumArt != NULL) {
return NULL;
}
- long len = *((long*)data);
- jbyteArray array = env->NewByteArray(len);
+ jbyteArray array = env->NewByteArray(mediaAlbumArt->mSize);
if (array != NULL) {
jbyte* bytes = env->GetByteArrayElements(array, NULL);
- memcpy(bytes, data + 4, len);
+ memcpy(bytes, &mediaAlbumArt->mData[0], mediaAlbumArt->mSize);
env->ReleaseByteArrayElements(array, bytes, 0);
}
done:
- free(data);
+ free(mediaAlbumArt);
// if NewByteArray() returned NULL, an out-of-memory
// exception will have been raised. I just want to
// return null in that case.