EasyRTC是青犀团队(TSINGSEE)开发的一款企业远程视频通话系统,能够通过手机、电脑等终端实时进行远程视频会议,是适用性强、兼容性高的企业视频通话系统。
华为手机运行EasyRTC花屏
我们在用不同的手机做项目测试,其中华为手机运行EasyRTC时,手机硬编码显示花屏了。
调试log发现了以下的报错内容:
[OMX.IMG.TOPAZ.Encoder] failed to set input port definition parameters
华为kirin930、华为kirin935,
对应编码器为OMX.IMG.TOPAZ,
测试机器:华为p8
通过查看运行日志使用的colorFormate也是0x13,也就是supportedColorList里面的CodecCapabilities.COLOR_FormatYUV420Planar。
对编码部分做如下处理:屏蔽掉编码器为OMX.IMG.TOPAZ并且颜色格式为CodecCapabilities.COLOR_FormatYUV420Planar的情况。
具体代码如下,即MediaCodecUtils.java中的selectColorFormat方法增加如下判断:
修改后问题即可解决。