在Android Sources(在Acodec.cpp
中)表示libstagefright
的'A'是什么意思?
完整路径如下:
android/frameworks/av/media/libstagefright/Acodec.cpp
请说明答案和背景知识。
最佳答案
据我了解,A
中的ACodec
代表异步。我相信这是基于整体编解码器功能的实现/设计。
在ACodec
的情况下,所有操作都通过从不同线程发布的messages
处理。收到消息后,将安排onMessageReceived
方法,然后将处理event
。这样,此实现中的几乎所有操作都是异步的,因此是名称。
例如,设置过程是通过消息显示的,如here。在onSetup
中,组件实例为created和configured。
在OMXCodec
情况下,类似的一组操作本质上是同步的,如OMXCodec::create
中所述。通常,OMXCodec::create
是AwesomePlayer::initVideoDecoder
或AwesomePlayer::initAudioDecoder
的一部分,在这种情况下,对OMXCodec
的调用是同步的。