HarmonyOS OH_VideoDecoder_RenderOutputBuffer归还解码器的output buffer问题

目前OHAVCodec的一种解码场景为:

创建一个target为0x8d65的纹理(OES纹理),使用OH_NativeImage通过OH_NativeImage_AcquireNativeWindow获得OHNativeWindow,设置给OHAVCodec做surface,然后渲染时先调用OH_VideoDecoder_RenderOutputBuffer释放output buffer,再调用OH_NativeImage的OH_NativeImage_UpdateSurfaceImage更新纹理,最终通过EGL将纹理渲染出来。

根据文档:

调用OH_VideoDecoder_RenderOutputBuffer即会归还解码器的output buffer,以用继续于后面的解码,但实际测试发现,只有OH_NativeImage的OH_NativeImage_UpdateSurfaceImage执行完后,output buffer才会真正的归还给解码器使用,麻烦问下这个是预期的行为吗?

HarmonyOS
2024-12-20 16:01:25
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
fox280

是预期行为,解码器输出的buffer是从surface申请的,解码器需要等surface的其他操作

分享
微博
QQ
微信
回复
2024-12-20 17:30:28
相关问题
HarmonyOS 音频解码器aac码流格式问题
300浏览 • 1回复 待解决
java播放怎么用解码器?
5227浏览 • 1回复 待解决
视频SPS/PPS需要单独传递给解码器
1105浏览 • 1回复 待解决
HarmonyOS OH_AVCodec硬解码流程问题咨询
1317浏览 • 1回复 待解决
Build Output文件报错
8955浏览 • 1回复 待解决