2011/05/03

[bb]ALSAモジュールがない

カメラを動かそうとしたが、動かない。
たぶん、media serverが動いていないからだろう。
その原因は、たぶんこれじゃなかろうか。

E/ALSALib (  729): external/alsa-lib/src/control/control.c:902:(snd_ctl_open_noupdate) Invalid CTL AndroidOut
W/AudioHardwareALSA(  729): Unable to attach mixer to device AndroidOut: No such file or directory
E/ALSALib (  729): external/alsa-lib/src/control/control.c:902:(snd_ctl_open_noupdate) Invalid CTL AndroidIn
W/AudioHardwareALSA(  729): Unable to attach mixer to device AndroidIn: No such file or directory
E/AudioHardwareALSA(  729): ALSA Module not found!!!

AndroidOutがないとか、AndroidInがないとか。
カメラと関係ないかもしれないが、気になっていたのでやっつけてしまおう。
なんで関係あると思ったかというと、以前、カメラのシャッター音ファイルがないだけでアプリが落ちていたからだ。
あれ、ということは以前まで動いていたってことか。
それなら関係ないかも。。。まあいいや。


AndroidOutとAndroidInが何かというと、hardware/alsa_sound/ALSAMixer.cppに出てくる。

    initMixer (&mMixer[SND_PCM_STREAM_PLAYBACK], "AndroidOut");
    initMixer (&mMixer[SND_PCM_STREAM_CAPTURE], "AndroidIn");

コンストラクタでの初期値だ。
PLAYBACKが再生で、CAPTUREが録音になるのかな。

たぶん、だが、これはこういうデバイス名になるんじゃなかろうか。

# ls -l /dev/snd/pcm*
crwxrwxrwx root     audio    116,  24 2000-01-01 00:00 pcmC0D0c
crwxrwxrwx root     audio    116,  16 2000-01-01 00:00 pcmC0D0p

cがcaptureで、pがplayback。

しかしエラーと先に判断したのは、hardwareではなくALSALibの方だ。
snd_config_search_definition()の結果がエラーだと、出るログ。
関数名からすると、asound.confファイルから項目を探し出しそうな気がする。
でも、探すのに成功した時はログを出さないよな。
そう考えると、ここはひとまず置いておいてもいいんじゃなかろうか。
先にたどるべきは、ALSAモジュールがない、というエラーのほうか。
原因がやはりAndroidOut/Inなら、そのとき調べ直そう。

これは、hardware/alsa_sound/AudioHardwareALSA.cppのコンストラクタで出している。
hw_get_module()の失敗、つまり、ファイルがないってことだ。

hw_get_module()は全体でよく使われている。
/system/lib/hw/alsa.XXXX.so、というファイルを探しにいく、と過去の自分は調べている。
XXXXに当てはまるのは、
・ro.hardware
・ro.product.board
・ro.board.platform
・ro.arch
らしいが、これは調査が古いので、今は分からん。
でもまあ、そんなに違いはなかろう。
では、/system/lib/hwを見ると・・・おや、gralloc.default.soくらいしかありませんな・・・・。
hardware/alsa_soundがあれば勝手にビルドされていると思い込んでいたのがよくなかったな・・・。
LOCAL_MODULE_TAGSがoptionalなので、自動的にはやってくれないのだろう。

PRODUCT_PACKAGES += \
    acoustics.default    \
    alsa.default


よしよし、できたライブラリをSDカードにコピーすると、エラーが出なくなった。
AndroidOut/Inは出るけど、まあいいんじゃないか?

しかし・・・まだmedia serverが立ち上がらない件は続く。

0 件のコメント:

コメントを投稿

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

注: コメントを投稿できるのは、このブログのメンバーだけです。