createInputSurface返回错误-10000

在尝试使用Inputsurface向VideoEncoder提供数据时,遇到OMXNodeInstance错误,指出需要设置COLOR_FormatSurface,而非之前使用的COLOR_FormatYUV420SemiPlanar。错误代码为-38。修复此问题需将colorformat更改为COLOR_FormatSurface。
摘要由CSDN通过智能技术生成

打开omx log,看到是因为在mediacodec configure的时候设置的color format不对,因为之前用的是input buffer的方式,现在想用input surface来给video encoder送数据。

OMXNodeInstance: [0xf6a1a884:qcom.encoder.avc] createInputSurface requires COLOR_FormatSurface (AndroidOpaque) color format instead of COLOR_FormatYUV420SemiPlanar(0x15)
 msm_vidc: high: 00000001: h264e: msm_venc_s_ctrl: name Frame Rate, id 0x992077 value 1966080
 msm_vidc: high: 00000001: h264e: msm_vidc_calculate_input_buffer_count: input min 4 min_host 8 actual 8
 msm_vidc: high: 00000001: h264e: msm_vidc_calculate_output_buffer_count: output min 4 min_host 4 actual 4
 TWGraphicBufferSource: Unable to set input surface: -38
 ACodec  : [OMX.qcom.video.encoder.avc] Unable to configure for node (err -38)
 ACodec  : [OMX.qcom.video.encoder.avc] onCreateInputSurface returning error -38
 MediaCodec: createInputSurface failed, err=-38
 NdkMediaCodec: sf error code: -38

修改为COLOR_FormatSurface即可:

COLOR_FormatSurface

public static final int COLOR_FormatSurface
Constant Value: 2130708361 (0x7f000789)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值