Toybrick

android mediacodec解码异常

moyhu

注册会员

积分
104
楼主
发表于 2020-9-11 17:33:12    查看: 8525|回复: 3 | [复制链接]    打印 | 只看该作者
创建解码器后,第一次接收到关键帧(sps+pps+I frame)解不出来,必须要等第二次收到关键帧才能正常解码。
现在我们的视频流3秒一次关键帧,也就是说要至少黑屏3秒才能有画面。这个问题不知道你们有没有修复过,现在有什么办法解决?
下面是创建解码器的一些打印

09-11 08:04:03.219 I/MediaCodec(32532): callingProcessName:com.vi
09-11 08:04:03.222 I/MediaPlayerService(  258): MediaPlayerService::getOMX
09-11 08:04:03.225 I/OMXClient(32532): MuxOMX ctor
09-11 08:04:03.225 I/ACodec  (32532): onAllocateComponent:6752 mSoftCodecPref:0 componentName:
09-11 08:04:03.231 I/ACodec  (32532): onAllocateComponent:6783 mSoftCodecPref:0 componentName:OMX.rk.video_decoder.avc
09-11 08:04:03.233 I/OMXMaster(  255): makeComponentInstance(OMX.rk.video_decoder.avc) in mediacodec process
09-11 08:04:03.235 E/ROCKCHIP_LOG(  255): Rockchip_OSAL_SharedMemory_Open(415): 222ion_client_create Error: 8
09-11 08:04:03.236 E/ROCKCHIP_RM(  255): Rockchip_OMX_Check_Resource(282): pRockchipComponent->codecType 1, Line:282
09-11 08:04:03.239 I/MediaCodec(32532): [OMX.rk.video_decoder.avc] setting surface generation to 33312769
09-11 08:04:03.242 W/OMXNodeInstance(  255): [ff002e:rk._decoder.avc] component does not support metadata mode; using fallback
09-11 08:04:03.242 E/ACodec  (32532): [OMX.rk.video_decoder.avc] storeMetaDataInBuffers failed w/ err -1010
09-11 08:04:03.248 I/ROCKCHIP_OSAL_Android(  255): Rockchip_OSAL_SetANBParameter(667): nBufferCountMin = 2 nBufferCountActual = 25
09-11 08:04:03.249 E/OMXNodeInstance(  255): getConfig(ff002e:rk._decoder.avc, ConfigCommonOutputCrop(0x700000f)) ERROR: UnsupportedIndex(0x8000101a)
09-11 08:04:03.253 D/ROCKCHIP_VIDEO_DECCONTROL(  255): Rkvpu_OMX_AllocateBuffer(276): Rkvpu_OMX_AllocateBuffer in
09-11 08:04:03.253 E/ROCKCHIP_VIDEO_DECCONTROL(  255): Rkvpu_OMX_AllocateBuffer(383): Rkvpu_OMX_AllocateBuffer in ret = 0x0
09-11 08:04:03.254 D/ROCKCHIP_VIDEO_DECCONTROL(  255): Rkvpu_OMX_AllocateBuffer(276): Rkvpu_OMX_AllocateBuffer in
09-11 08:04:03.254 E/ROCKCHIP_VIDEO_DECCONTROL(  255): Rkvpu_OMX_AllocateBuffer(383): Rkvpu_OMX_AllocateBuffer in ret = 0x0
09-11 08:04:03.255 D/ROCKCHIP_VIDEO_DECCONTROL(  255): Rkvpu_OMX_AllocateBuffer(276): Rkvpu_OMX_AllocateBuffer in
09-11 08:04:03.255 E/ROCKCHIP_VIDEO_DECCONTROL(  255): Rkvpu_OMX_AllocateBuffer(383): Rkvpu_OMX_AllocateBuffer in ret = 0x0
09-11 08:04:03.256 D/ROCKCHIP_VIDEO_DECCONTROL(  255): Rkvpu_OMX_AllocateBuffer(276): Rkvpu_OMX_AllocateBuffer in
09-11 08:04:03.256 E/ROCKCHIP_VIDEO_DECCONTROL(  255): Rkvpu_OMX_AllocateBuffer(383): Rkvpu_OMX_AllocateBuffer in ret = 0x0
09-11 08:04:03.258 E/ACodec  (32532): setupNativeWindowSizeFormatAndUsage 991 colorSpace = 0,eDyncRange = 0
09-11 08:04:03.260 D/SurfaceUtils(32532): set up nativeWindow 0xc6eec808 for 1280x720, color 0x15, rotation 0, usage 0x2900
09-11 08:04:03.360 E/ROCKCHIP_VIDEO_DEC(  255): Rkvpu_Dec_ComponentInit(1175): omx decoder info : author:  ziain
09-11 08:04:03.360 E/ROCKCHIP_VIDEO_DEC(  255):  time: Thu, 10 Sep 2020 10:47:36 +0800 git commit 315b535dbd7810d49d7568bbce6210b3ba590c0b
09-11 08:04:03.360 I/vpu_api (  255): have rkvdec------decoder
09-11 08:04:03.360 I/mpi     (  255): mpp version: 0ae5354 author: Ding Wei [bitread]: h264d: compatible case: pps has zero tails
09-11 08:04:03.358 I/Binder:255_10(  255): type=1400 audit(0.0:2602): avc: denied { write } for name="property_service" dev="tmpfs" ino=10790 scontext=u:r:mediacodec:s0 tcontext=ubject_r:property_socket:s0 tclass=sock_file permissive=1
09-11 08:04:03.358 I/Binder:255_10(  255): type=1400 audit(0.0:2603): avc: denied { connectto } for path="/dev/socket/property_service" scontext=u:r:mediacodec:s0 tcontext=u:r:init:s0 tclass=unix_stream_socket permissive=1
09-11 08:04:03.373 D/ROCKCHIP_VIDEO_DEC(  255): Rkvpu_SendInputData(370): Rkvpu_SendInputData malloc
09-11 08:04:03.374 I/hal_h264d_api(  255): hal_h264d_init mpp_buffer_group_get_internal used ion In
09-11 08:04:03.376 I/hal_h264d_rkv_reg(  255): control info: fmt 0, w 1280, h 720
09-11 08:04:03.376 I/mpp_buf_slot(  255): set frame info: w 1280 h  720 hor 1280 ver  720
09-11 08:04:03.376 I/mpp_dec (  255): setting default w 1280 h  720 h_str 1280 v_str  720

回复

使用道具 举报

jefferyzhang

版主

积分
13576
沙发
发表于 2020-9-11 17:53:04 | 只看该作者
什么板子,安卓系统什么版本?
为啥不直接走mpp。
回复

使用道具 举报

moyhu

注册会员

积分
104
板凳
 楼主| 发表于 2020-9-12 08:54:02 | 只看该作者
jefferyzhang 发表于 2020-9-11 17:53
什么板子,安卓系统什么版本?
为啥不直接走mpp。

1、自己公司画的板子,用的rk3399芯片
2、android 7.1
3、上安卓系统了,肯定是想直接用安卓的接口,看你们官方的推荐也是用封装好的mediacodec来编解码
回复

使用道具 举报

jefferyzhang

版主

积分
13576
地板
发表于 2020-9-14 08:39:10 | 只看该作者
moyhu 发表于 2020-9-12 08:54
1、自己公司画的板子,用的rk3399芯片
2、android 7.1
3、上安卓系统了,肯定是想直接用安卓的接口,看你 ...

请联系代理商或者业务,提交Redmine处理。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

产品中心 购买渠道 开源社区 Wiki教程 资料下载 关于Toybrick


快速回复 返回顶部 返回列表