簡體   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