Acodec.cpp
Android Sources (in )の「A」は何を意味するのですlibstagefright
か???
フルパスは以下です:
android/frameworks/av/media/libstagefright/Acodec.cpp
答えと背景知識を説明してください。
Acodec.cpp
Android Sources (in )の「A」は何を意味するのですlibstagefright
か???
フルパスは以下です:
android/frameworks/av/media/libstagefright/Acodec.cpp
答えと背景知識を説明してください。
私の理解では、A
inACodec
は非同期を表します。これは、コーデック機能全体の実装/設計に基づいていると思います。
の場合ACodec
、すべての操作はmessages
別のスレッドから投稿されて処理されます。メッセージが受信されると、onMessageReceived
メソッドがスケジュールされ、それが を処理しevent
ます。このように、この実装のほとんどすべての操作は非同期であるため、この名前が付けられています。
たとえば、セットアップの手順は、ここに示すメッセージを介して行われます。onSetup
では、コンポーネント インスタンスが作成され、構成されます。
の場合の同様の一連の操作は、 にOMXCodec
見られるように本質的に同期的OMXCodec::create
です。通常、OMXCodec::create
はAwesomePlayer::initVideoDecoder
またはの一部として呼び出されます。AwesomePlayer::initAudioDecoder
この場合、 への呼び出しOMXCodec
は同期的なものです。
正確にはわかりませんが、「A」は抽象を意味しているように思えます。これは、正確なコーデックタイプを指定せずに、さまざまなコーデックを操作するためのロジックを実現するクラスだと思います。
また、ガネーシュが言ったように、「A」は「非同期」の略だと思います。クライアントからの同期呼び出しを処理する OmxCodec クラスも存在するためです。