有没有办法将解码后的数据手动复制/输出到表面/动画窗口?

时间:2019-07-18 02:56:57

标签: android android-ndk

美好的一天,

我目前正在研究android中的视频渲染过程。 我们将为我的项目使用本机代码,特别是OpenGL。

到目前为止,我的研究建议将表面直接传递给解码器。 这是样本 https://github.com/googlesamples/android-ndk/tree/master/native-codec

我想拥有更多控制权。解码后,我想手动将解码后的数据输出/复制到本机窗口/表面。

到目前为止,这是我的计划。

从Java获取Surface->从Surface创建本机窗口->将数据复制到本机窗口(如果可能)->使用opengl和egl呈现视频数据。

P.S(我是android的新手,没有经验,尤其是在android native中)

1 个答案:

答案 0 :(得分:0)

我认为您应该将MediaCodec的输出表面配置为SurfaceTexture(又名GL使用者),而不是手动复制。

MediaCodec

SurfaceTexture