Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b9525871 authored by Elliott Hughes's avatar Elliott Hughes Committed by Android Git Automerger
Browse files

am 8525fe8d: am 1a3908e9: Merge "Switch to a type-safe album art interface."

* commit '8525fe8d':
  Switch to a type-safe album art interface.
parents f5030ecb 8525fe8d
Loading
Loading
Loading
Loading
+5 −8
Original line number Original line Diff line number Diff line
@@ -23,6 +23,7 @@
#include <utils/threads.h>
#include <utils/threads.h>
#include <core/SkBitmap.h>
#include <core/SkBitmap.h>
#include <media/mediametadataretriever.h>
#include <media/mediametadataretriever.h>
#include <media/mediascanner.h>
#include <private/media/VideoFrame.h>
#include <private/media/VideoFrame.h>


#include "jni.h"
#include "jni.h"
@@ -326,17 +327,13 @@ static jbyteArray android_media_MediaMetadataRetriever_getEmbeddedPicture(
        return NULL;
        return NULL;
    }
    }


    unsigned int len = mediaAlbumArt->mSize;
    jbyteArray array = env->NewByteArray(mediaAlbumArt->size());
    char* data = (char*) mediaAlbumArt + sizeof(MediaAlbumArt);
    jbyteArray array = env->NewByteArray(len);
    if (!array) {  // OutOfMemoryError exception has already been thrown.
    if (!array) {  // OutOfMemoryError exception has already been thrown.
        ALOGE("getEmbeddedPicture: OutOfMemoryError is thrown.");
        ALOGE("getEmbeddedPicture: OutOfMemoryError is thrown.");
    } else {
    } else {
        jbyte* bytes = env->GetByteArrayElements(array, NULL);
        const jbyte* data =
        if (bytes != NULL) {
                reinterpret_cast<const jbyte*>(mediaAlbumArt->data());
            memcpy(bytes, data, len);
        env->SetByteArrayRegion(array, 0, mediaAlbumArt->size(), data);
            env->ReleaseByteArrayElements(array, bytes, 0);
        }
    }
    }


    // No need to delete mediaAlbumArt here
    // No need to delete mediaAlbumArt here
+5 −6
Original line number Original line Diff line number Diff line
@@ -348,17 +348,16 @@ android_media_MediaScanner_extractAlbumArt(
    }
    }


    int fd = jniGetFDFromFileDescriptor(env, fileDescriptor);
    int fd = jniGetFDFromFileDescriptor(env, fileDescriptor);
    MediaAlbumArt* mediaAlbumArt =
    MediaAlbumArt* mediaAlbumArt = mp->extractAlbumArt(fd);
            reinterpret_cast<MediaAlbumArt*>(mp->extractAlbumArt(fd));
    if (mediaAlbumArt == NULL) {
    if (mediaAlbumArt == NULL) {
        return NULL;
        return NULL;
    }
    }


    jbyteArray array = env->NewByteArray(mediaAlbumArt->mSize);
    jbyteArray array = env->NewByteArray(mediaAlbumArt->size());
    if (array != NULL) {
    if (array != NULL) {
        jbyte* bytes = env->GetByteArrayElements(array, NULL);
        const jbyte* data =
        memcpy(bytes, &mediaAlbumArt->mData[0], mediaAlbumArt->mSize);
                reinterpret_cast<const jbyte*>(mediaAlbumArt->data());
        env->ReleaseByteArrayElements(array, bytes, 0);
        env->SetByteArrayRegion(array, 0, mediaAlbumArt->size(), data);
    }
    }


done:
done: