MediaCodec的限制
使用MediaCodec编码时
通常是这样设置的
format.setInteger(MediaFormat.KEY_PROFILE,MediaCodecInfo.CodecProfileLevel.AVCProfileHigh);
先配置MediaCodecInfo的profile信息 然后赋给MediaFormat
codec.configure(format,null,null,MediaCodec.CONFIGURE_FLAG_ENCODE);
最后设置给MediaCodec
然而在实际的应用中发现 无论profile怎么设置
编码得到的码流都是baseline profile的
这是由于android sdk本身的限制导致的
ACodec.cpp里的对应处理如下:
if (h264type.eProfile != OMX_VIDEO_AVCProfileBaseline) {
ALOGW(