当AMediaCodec_releaseOutputBufferAtTime()[IN DETAIL]时会发生什么

时间:2018-05-04 08:46:14

标签: android-ndk mediacodec vsync surfaceflinger

当解码输出缓冲区可用且您想将其渲染到屏幕上时。使用MediaCodec NDK API,如果已经注册了本机窗口,则可以选择调用AMediaCodec_releaseOutputBufferAtTime()。

我的问题是,一旦你调用AMediaCodec_releaseOutputBufferAtTime()直到帧显示在屏幕上,代码流是什么。我对流程知之甚少。就像这里提到的函数一样,调用带有时间戳的queueBuffer()并在Native Window上对缓冲区进行排队。然后,这将在下一个VSYNC事件中获取,并显示在下一个下一个VSYNC事件上。我的理解是对的吗?

另外,我想知道在ANativeWindow上调用queueBuffer()后会发生什么,直到帧显示在屏幕上。

0 个答案:

没有答案