コードを移植しようとしているNexus 7を手に入れました。次の行は、Ice Cream を実行している Xoom で問題なく動作します。
mCamera.startPreview();
Nexus 7 でも正しく動作しますが、エラーが記録されます。
E/NvOmxCamera( 126): OMX_ERRORTYPE android::NvOmxCamera::getCameraStereoMode(NvxComponent*, NvOmxCameraUserStereoMode&): Error: invalid NVX mode 0.
E/NvOmxCamera( 126): OMX_ERRORTYPE android::NvOmxCamera::getCameraStereoModeAndCaptureInfo(NvxComponent*, NvOmxCameraUserStereoMode&, NVX_STEREOCAPTUREINFO&): getCameraStereoMode failed with 0x00000000
行を実行すると、これらのエラーもフレームごとに 1 回ログに記録されるため、これは問題です。
mCamera.takePicture(null, null, null, pictureCallback);
毎秒10フレーム撮っているので邪魔なので、エラーを修正したいと思います。すべてのソース (android sdk および ndk) を調べましたが、上記のエラーのテキストはどこにも表示されません。これは、「左」、「右」、または「ステレオ」の可能な値を持つパラメーター「nv-stereo-mode」に関連付けられているように見える、Nvidia の OpenMax の実装で発生していると多くのグーグルから信じています。 (Nexus 7 にはカメラが 1 つしかないため、なぜステレオ カメラ モードを気にするのかわかりませんが、何でも)。たとえば、次のように使用して、それぞれの正当な値に設定しようとしました。
mParams = mCamera.getParameters();
mParams.set("nv-stereo-mode", "right");
mCamera.setParameters(mParams);
しかし、私のログには次のように書かれています:
E/NvOmxCameraSettingsParser( 126): Skipping non-standard parameter: nv-stereo-mode
これは、ウェブ上のどこにも見つからないソース ファイル nvomxcamerasettingsparser.cpp に関連しているようです。ここからどこへ行くべきか本当にわかりません。考えられるすべてのことを調べてググったので、どんな助けも大歓迎です。