我在Native MediaCodec中解码帧并将其发送到表面。 在三星S7 Galaxy(美国版)和Pixel手机中,丢弃发送到地面的帧。 MediaCodec解码器以60fps解码,没有任何问题。 当我计算可用的帧数时 void onFrameAvailable(SurfaceTexture surface){},我只看到50-52fps。 我可以看到pts中的跳跃以及与表面相关的跳转(例如:surface.getTimestamp()) 任何人都有这个想法。
我能够在欧洲版的三星Galaxy S7上正常使用。