2011/05/04

OMXMaster::addPlugin()は通らないはずだ

エラーが出る箇所は分かったので、ログを追加してみた。
プラグインのコンポーネント名がわかれば、そこから追えると考えたのだ。
しかし、いきなりエラーのようで、名前すら得ることができない。

そこでちょっと考え直した。
そもそも、

F/OMXMaster(  744): frameworks/base/media/libstagefright/omx/OMXMaster.cpp:90 err != OMX_ErrorNoMore

このログが出ることがおかしいのではないか。
だって、プラグインなんてわざわざ追加した覚えはない。
それなのにこのルートを通るという事自体がおかしいのだ。

呼び出しているのは、OMXMaster::addVendorPlugin()。
もう見るからに、ベンダーのHW向けプラグインを追加してやるぜ、という意志が伝わってくる。
ここで、dlopen()して、あれば呼ばれるようだ。
対象となるファイル名は、libstagefrighthw.so。

/system/libを見ると、確かにある。
あるんだけど、どこのファイルなんだ?
そう思って、out/..../obj/SHARED_LIBRARIESから探しだし、中にあったPファイルを開く。
Pファイルを見ると、依存関係がわかる。

そして出てきたのが、hardware/ti/omap3/libstagefrighthw/だった。
はあ、そんなのがあるんですな・・・。
しかし、これらはBeagleBoardで動くのか?
よくわからん・・・。

わからんなりに、system/lib/libstagefrighthw.soを削除すると、mediaserverは落ちなくなった。
これでよしとするかどうかは、もう少し調査が必要だ。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。