From 16ceab17a04e5f281f288d0eb7084a96ab321ddb Mon Sep 17 00:00:00 2001 From: Lajos Molnar Date: Mon, 3 May 2021 22:06:49 -0700 Subject: [PATCH] media: propagate profiles to EncoderProfiles Bug: 171673898 Test: atest CamcorderProfileTest Change-Id: I486762863cd29239b44846b54b146458426b643b --- media/java/android/media/EncoderProfiles.java | 7 +++++-- media/jni/android_media_MediaProfiles.cpp | 7 ++++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/media/java/android/media/EncoderProfiles.java b/media/java/android/media/EncoderProfiles.java index ec8ce2960281c..ac8c65e69e725 100644 --- a/media/java/android/media/EncoderProfiles.java +++ b/media/java/android/media/EncoderProfiles.java @@ -304,7 +304,7 @@ public final class EncoderProfiles } else if (codec == MediaRecorder.AudioEncoder.AAC_ELD) { return MediaCodecInfo.CodecProfileLevel.AACObjectELD; } - return 0; + return profile; } @@ -313,17 +313,20 @@ public final class EncoderProfiles int codec, int channels, int sampleRate, - int bitrate) { + int bitrate, + int profile) { this.codec = codec; this.channels = channels; this.sampleRate = sampleRate; this.bitrate = bitrate; + this.profile = profile; } private int codec; private int channels; private int sampleRate; private int bitrate; + private int profile; // this contains the profile if codec itself does not } private int durationSecs; diff --git a/media/jni/android_media_MediaProfiles.cpp b/media/jni/android_media_MediaProfiles.cpp index 7e9b6c7440868..90325e74b8abc 100644 --- a/media/jni/android_media_MediaProfiles.cpp +++ b/media/jni/android_media_MediaProfiles.cpp @@ -255,7 +255,7 @@ android_media_MediaProfiles_native_get_camcorder_profiles(JNIEnv *env, jobject / jclass audioProfileClazz = env->FindClass("android/media/EncoderProfiles$AudioProfile"); jmethodID audioProfileConstructorMethodID = - env->GetMethodID(audioProfileClazz, "", "(IIII)V"); + env->GetMethodID(audioProfileClazz, "", "(IIIII)V"); jobjectArray videoCodecs = (jobjectArray)env->NewObjectArray( cp->getVideoCodecs().size(), videoProfileClazz, nullptr); @@ -269,7 +269,7 @@ android_media_MediaProfiles_native_get_camcorder_profiles(JNIEnv *env, jobject / vc->getFrameHeight(), vc->getFrameRate(), vc->getBitrate(), - -1 /* profile */); + vc->getProfile()); env->SetObjectArrayElement(videoCodecs, i++, videoCodec); } } @@ -289,7 +289,8 @@ android_media_MediaProfiles_native_get_camcorder_profiles(JNIEnv *env, jobject / ac->getCodec(), ac->getChannels(), ac->getSampleRate(), - ac->getBitrate()); + ac->getBitrate(), + ac->getProfile()); env->SetObjectArrayElement(audioCodecs, i++, audioCodec); }