我正在使用Android MediaCodec类在使用SurfaceTexture的Surface上播放视频。现在在某些设备上调用updateTexImage平均需要很长时间~20ms?知道为什么会这样吗?如果我使用Android MediaPlayer在同一表面上播放,则同一通话需要非常短的时间(平均为0-1ms)。它可能与我传递给编解码器的数据大小有关吗?
答案 0 :(得分:0)
所以,我解决了这个问题。不知道为什么,但是当我在调用updateTexImage之前添加几毫秒(~12ms)的睡眠时,呼叫花费的时间要少得多。
我对这个问题的猜测是我错过了vSync并且它正在等待下一个vSync更新纹理。