CCodecConfig: Fix mapping to bitrate-mode
bitrate-mode was not mapped from c2 params to sdk params
Also fix typecast of bitrate mode while checking config params
for quality/bitrate. It was wrongly typecast to c2 enum
Test: Manual using a test application using AMediaCodec api
Bug: 133241887
Change-Id: I2544a7cbb4001152197b9ec164fe94b1a6da40d3
diff --git a/media/codec2/sfplugin/CCodec.cpp b/media/codec2/sfplugin/CCodec.cpp
index 85c783b..400b02f 100644
--- a/media/codec2/sfplugin/CCodec.cpp
+++ b/media/codec2/sfplugin/CCodec.cpp
@@ -745,11 +745,8 @@
return BAD_VALUE;
}
if ((config->mDomain & Config::IS_ENCODER) && (config->mDomain & Config::IS_VIDEO)) {
- C2Config::bitrate_mode_t mode = C2Config::BITRATE_VARIABLE;
- if (msg->findInt32(KEY_BITRATE_MODE, &i32)) {
- mode = (C2Config::bitrate_mode_t) i32;
- }
- if (mode == BITRATE_MODE_CQ) {
+ int32_t mode = BITRATE_MODE_VBR;
+ if (msg->findInt32(KEY_BITRATE_MODE, &mode) && mode == BITRATE_MODE_CQ) {
if (!msg->findInt32(KEY_QUALITY, &i32)) {
ALOGD("quality is missing, which is required for video encoders in CQ.");
return BAD_VALUE;