思い出しながら、USBカメラを動かそうとしている。
最後に動いたのは、froyoのとき。
gingerbreadでもそんなに変わらんだろうと思っている。
まあ、ディレクトリなんかは変わってたけど。
ドライバは、USBカメラを認識してくれた。
さて、とカメラアプリを起動させたのだが、いきなりアプリが落ちる。
logcatで見ると、
F/OMXMaster( 1088): frameworks/base/media/libstagefright/omx/OMXMaster.cpp:90 err != OMX_ErrorNoMore
などといわれている。
その後、mediaserverが落ちる。というよりも、mediaserverが落ちるのは上記のせいだろう。
よくわからないが、キーワードは「omx」「libstagefright」「openmax」というところか。
openmaxは、Android.mkに出てきてた。
libstagefrightは検索したけど、よくわからず。
出てきたのは、OpenMAX。
これはKHRONOSがまとめてる?やつで、OpenGLとかあんなのと同じ感じがする。
ストリーミングのコーデックAPIをまとめているようだ。
omxは、これの略だろう。
カメラ画像はストリーミング的な扱いになっているのか?
フレームバッファにばんばん書き込んでるだけかと思っていたのだけど。
少なくとも、CameraHardwareはそんな風になってたな。
E/CameraHolder( 1098): fail to connect Camera
落ちた後は、こんなログが出ている。
android.hardware.Camera.open(id)が呼ばれているので、たどってみよう。
Cameraのコンストラクタが呼ばれ、native_setup()が呼ばれて。。。どこにいくんだ?
→frameworks/base/core/jni/android_hardware_Camera.cpp
→frameworks/base/libs/camera/Camera.cpp
・・・
疲れた。
全部追わなくていいのだけど、ログがこれくらいだとわからんなぁ。
まあ、Androidは久しぶりなので、リハビリがてら追っていくことにしよう。
0 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。