FWIW, it looks like the behavior of this MediaCodec method is only specified when the codec is connected to a SurfaceView. Nothing is written about the behavior when connected to a SurfaceTexture. This makes sense. Since the application will be responsible for rendering the texture image into the scene, specifying the timestamp to the codec is too early in the chain. Presentation time needs to be specified to the compositor or buffer swapper.