Loading media/java/android/media/EncoderCapabilities.java +8 −1 Original line number Diff line number Diff line Loading @@ -48,13 +48,17 @@ public class EncoderCapabilities public final int mMinFrameRate, mMaxFrameRate; // min and max frame rate (fps) public final int mMinFrameWidth, mMaxFrameWidth; // min and max frame width (pixel) public final int mMinFrameHeight, mMaxFrameHeight; // minn and max frame height (pixel) public final int mMaxHFRFrameWidth, mMaxHFRFrameHeight; // max HFR size (pixel) public final int mMaxHFRMode; // max HFR mode // Private constructor called by JNI private VideoEncoderCap(int codec, int minBitRate, int maxBitRate, int minFrameRate, int maxFrameRate, int minFrameWidth, int maxFrameWidth, int minFrameHeight, int maxFrameHeight) { int minFrameHeight, int maxFrameHeight, int maxHFRFrameWidth, int maxHFRFrameHeight, int maxHFRMode) { mCodec = codec; mMinBitRate = minBitRate; mMaxBitRate = maxBitRate; Loading @@ -64,6 +68,9 @@ public class EncoderCapabilities mMaxFrameWidth = maxFrameWidth; mMinFrameHeight = minFrameHeight; mMaxFrameHeight = maxFrameHeight; mMaxHFRFrameWidth = maxHFRFrameWidth; mMaxHFRFrameHeight = maxHFRFrameHeight; mMaxHFRMode = maxHFRMode; } }; Loading media/jni/android_media_MediaProfiles.cpp +10 −3 Original line number Diff line number Diff line Loading @@ -91,12 +91,17 @@ android_media_MediaProfiles_native_get_video_encoder_cap(JNIEnv *env, jobject th int maxFrameWidth = sProfiles->getVideoEncoderParamByName("enc.vid.width.max", encoder); int minFrameHeight = sProfiles->getVideoEncoderParamByName("enc.vid.height.min", encoder); int maxFrameHeight = sProfiles->getVideoEncoderParamByName("enc.vid.height.max", encoder); int maxHFRFrameWidth = sProfiles->getVideoEncoderParamByName("enc.vid.hfr.width.max", encoder); int maxHFRFrameHeight = sProfiles->getVideoEncoderParamByName("enc.vid.hfr.height.max", encoder); int maxHFRMode = sProfiles->getVideoEncoderParamByName("enc.vid.hfr.mode.max", encoder); // Check on the values retrieved if ((minBitRate == -1 || maxBitRate == -1) || (minFrameRate == -1 || maxFrameRate == -1) || (minFrameWidth == -1 || maxFrameWidth == -1) || (minFrameHeight == -1 || maxFrameHeight == -1)) { (minFrameHeight == -1 || maxFrameHeight == -1) || (maxHFRFrameWidth == -1 || maxHFRFrameHeight == -1) || (maxHFRMode == -1)) { jniThrowException(env, "java/lang/RuntimeException", "Error retrieving video encoder capability params"); return NULL; Loading @@ -104,14 +109,16 @@ android_media_MediaProfiles_native_get_video_encoder_cap(JNIEnv *env, jobject th // Construct an instance of the VideoEncoderCap and set its member variables jclass videoEncoderCapClazz = env->FindClass("android/media/EncoderCapabilities$VideoEncoderCap"); jmethodID videoEncoderCapConstructorMethodID = env->GetMethodID(videoEncoderCapClazz, "<init>", "(IIIIIIIII)V"); jmethodID videoEncoderCapConstructorMethodID = env->GetMethodID(videoEncoderCapClazz, "<init>", "(IIIIIIIIIIII)V"); jobject cap = env->NewObject(videoEncoderCapClazz, videoEncoderCapConstructorMethodID, static_cast<int>(encoder), minBitRate, maxBitRate, minFrameRate, maxFrameRate, minFrameWidth, maxFrameWidth, minFrameHeight, maxFrameHeight); minFrameHeight, maxFrameHeight, maxHFRFrameWidth, maxHFRFrameHeight, maxHFRMode); return cap; } Loading Loading
media/java/android/media/EncoderCapabilities.java +8 −1 Original line number Diff line number Diff line Loading @@ -48,13 +48,17 @@ public class EncoderCapabilities public final int mMinFrameRate, mMaxFrameRate; // min and max frame rate (fps) public final int mMinFrameWidth, mMaxFrameWidth; // min and max frame width (pixel) public final int mMinFrameHeight, mMaxFrameHeight; // minn and max frame height (pixel) public final int mMaxHFRFrameWidth, mMaxHFRFrameHeight; // max HFR size (pixel) public final int mMaxHFRMode; // max HFR mode // Private constructor called by JNI private VideoEncoderCap(int codec, int minBitRate, int maxBitRate, int minFrameRate, int maxFrameRate, int minFrameWidth, int maxFrameWidth, int minFrameHeight, int maxFrameHeight) { int minFrameHeight, int maxFrameHeight, int maxHFRFrameWidth, int maxHFRFrameHeight, int maxHFRMode) { mCodec = codec; mMinBitRate = minBitRate; mMaxBitRate = maxBitRate; Loading @@ -64,6 +68,9 @@ public class EncoderCapabilities mMaxFrameWidth = maxFrameWidth; mMinFrameHeight = minFrameHeight; mMaxFrameHeight = maxFrameHeight; mMaxHFRFrameWidth = maxHFRFrameWidth; mMaxHFRFrameHeight = maxHFRFrameHeight; mMaxHFRMode = maxHFRMode; } }; Loading
media/jni/android_media_MediaProfiles.cpp +10 −3 Original line number Diff line number Diff line Loading @@ -91,12 +91,17 @@ android_media_MediaProfiles_native_get_video_encoder_cap(JNIEnv *env, jobject th int maxFrameWidth = sProfiles->getVideoEncoderParamByName("enc.vid.width.max", encoder); int minFrameHeight = sProfiles->getVideoEncoderParamByName("enc.vid.height.min", encoder); int maxFrameHeight = sProfiles->getVideoEncoderParamByName("enc.vid.height.max", encoder); int maxHFRFrameWidth = sProfiles->getVideoEncoderParamByName("enc.vid.hfr.width.max", encoder); int maxHFRFrameHeight = sProfiles->getVideoEncoderParamByName("enc.vid.hfr.height.max", encoder); int maxHFRMode = sProfiles->getVideoEncoderParamByName("enc.vid.hfr.mode.max", encoder); // Check on the values retrieved if ((minBitRate == -1 || maxBitRate == -1) || (minFrameRate == -1 || maxFrameRate == -1) || (minFrameWidth == -1 || maxFrameWidth == -1) || (minFrameHeight == -1 || maxFrameHeight == -1)) { (minFrameHeight == -1 || maxFrameHeight == -1) || (maxHFRFrameWidth == -1 || maxHFRFrameHeight == -1) || (maxHFRMode == -1)) { jniThrowException(env, "java/lang/RuntimeException", "Error retrieving video encoder capability params"); return NULL; Loading @@ -104,14 +109,16 @@ android_media_MediaProfiles_native_get_video_encoder_cap(JNIEnv *env, jobject th // Construct an instance of the VideoEncoderCap and set its member variables jclass videoEncoderCapClazz = env->FindClass("android/media/EncoderCapabilities$VideoEncoderCap"); jmethodID videoEncoderCapConstructorMethodID = env->GetMethodID(videoEncoderCapClazz, "<init>", "(IIIIIIIII)V"); jmethodID videoEncoderCapConstructorMethodID = env->GetMethodID(videoEncoderCapClazz, "<init>", "(IIIIIIIIIIII)V"); jobject cap = env->NewObject(videoEncoderCapClazz, videoEncoderCapConstructorMethodID, static_cast<int>(encoder), minBitRate, maxBitRate, minFrameRate, maxFrameRate, minFrameWidth, maxFrameWidth, minFrameHeight, maxFrameHeight); minFrameHeight, maxFrameHeight, maxHFRFrameWidth, maxHFRFrameHeight, maxHFRMode); return cap; } Loading