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

Commit 3264f2aa authored by Ian Baker's avatar Ian Baker Committed by Gerrit Code Review
Browse files

Merge "MetadataRetriever: Use RGBA_8888 as default color format based on a flag" into main

parents a3c89188 c35577ee
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -199,6 +199,24 @@ java_aconfig_library {
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}

// Media
aconfig_declarations {
    name: "android.media.playback.flags-aconfig",
    package: "com.android.media.playback.flags",
    srcs: ["media/jni/playback_flags.aconfig"],
}

cc_aconfig_library {
    name: "android.media.playback.flags-aconfig-cc",
    aconfig_declarations: "android.media.playback.flags-aconfig",
}

java_aconfig_library {
    name: "android.media.playback.flags-aconfig-java",
    aconfig_declarations: "android.media.playback.flags-aconfig",
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}

// VCN
aconfig_declarations {
    name: "android.net.vcn.flags-aconfig",
+2 −0
Original line number Diff line number Diff line
@@ -81,6 +81,7 @@ cc_library_shared {
        "libhidlallocatorutils",
        "libhidlbase",
        "libsonivox",
        "server_configurable_flags",
        "android.hardware.cas@1.0",
        "android.hardware.cas.native@1.0",
        "android.hardware.drm@1.3",
@@ -99,6 +100,7 @@ cc_library_shared {
    static_libs: [
        "libgrallocusage",
        "libmedia_midiiowrapper",
        "android.media.playback.flags-aconfig-cc",
    ],

    include_dirs: [
+8 −3
Original line number Diff line number Diff line
@@ -35,7 +35,9 @@
#include "android_media_MediaDataSource.h"
#include "android_media_Streams.h"
#include "android_util_Binder.h"
#include <com_android_media_playback_flags.h>

namespace playback_flags = com::android::media::playback::flags;
using namespace android;

struct fields_t {
@@ -374,9 +376,12 @@ static jobject android_media_MediaMetadataRetriever_getFrameAtTime(
        jniThrowException(env, "java/lang/IllegalStateException", "No retriever available");
        return NULL;
    }
    // For getFrameAtTime family of calls, default to ANDROID_BITMAP_FORMAT_RGB_565
    // to keep the behavior consistent with older releases
    AndroidBitmapFormat colorFormat = getColorFormat(env, params, ANDROID_BITMAP_FORMAT_RGB_565);

    AndroidBitmapFormat defaultColorFormat =
            playback_flags::mediametadataretriever_default_rgba8888()
            ? ANDROID_BITMAP_FORMAT_RGBA_8888
            : ANDROID_BITMAP_FORMAT_RGB_565;
    AndroidBitmapFormat colorFormat = getColorFormat(env, params, defaultColorFormat);

    // Call native method to retrieve a video frame
    VideoFrame *videoFrame = NULL;
+8 −0
Original line number Diff line number Diff line
package: "com.android.media.playback.flags"

flag {
  name: "mediametadataretriever_default_rgba8888"
  namespace: "media_solutions"
  description: "Change MediaMetadataRetriever to use RGBA8888 for bitmap handling by default."
  bug: "298965955"
}
+2 −0
Original line number Diff line number Diff line
@@ -20,6 +20,8 @@ android_test {
        "androidx.test.ext.junit",
        "androidx.test.rules",
        "android-ex-camera2",
        "android.media.playback.flags-aconfig-java",
        "flag-junit",
        "testables",
        "testng",
        "truth",
Loading