繁体   English   中英

MediaCodec API android中的timeUs

[英]timeoutUs in MediaCodec API android

我在我的一个应用程序中使用MediaCodec API。 我使用了bigflake的代码,该应用程序运行良好。 但是,即使在API参考中对此进行了了解之后,我仍然无法理解函数dequeueInputBuffer()和函数dequeueOutputBuffer()的参数timeoutUs 如果有人能很好地解释此参数的用法和效果,那将是很好的。 在上述两个函数调用中是否应该相同?

好吧,主要思想是在内部,在MediaCodec层之下,组件是异步的。 因此,当您调用dequeueInputBuffer()dequeueOutputBuffer() ,调用线程没有完成任何实际工作,只是在选定的超时期间检查内部组件的状态,直到响应准备就绪或发生超时为止。 根据我的经验,即使缓冲区分配也是异步的,因此,如果没有内部缓冲区准备好出队...超时可能会导致INFO_TRY_AGAIN_LATER。 但主要是用于解码\\编码。 您提交输入帧以通过非阻塞调用进行处理,处理发生在另一个线程中,并且您也可以通过非阻塞调用来检查输出帧的准备情况。 因此,所有pipline不会在每次繁重的操作(解码\\编码\\等)时都处于休眠状态,并且可以执行其他操作

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM