I just got a Nexus 7 I'm trying to port some code to. The following line works with no problem on a Xoom running Ice Cream:
mCamera.startPreview();
It also works correctly on the Nexus 7, but it logs errors:
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
This is a problem because it also logs these errors once per frame when I execute the line
mCamera.takePicture(null, null, null, pictureCallback);
Since I'm taking 10 frames per second, this disturbs me, so I'd like to fix the errors. I've grepped through all the sources (android sdk and ndk) and the text for the above errors doesn't appear anywhere. I believe from a lot of googling that this is happening in Nvidia's implementation of OpenMax, where it seems to be tied to the parameter "nv-stereo-mode" which has possible values of "left", "right", or "stereo" (the Nexus 7 only has one camera, so I don't know why it would care about stereo camera modes, but whatever). I tried setting it to each of the legal values using, for example:
mParams = mCamera.getParameters();
mParams.set("nv-stereo-mode", "right");
mCamera.setParameters(mParams);
But, my log says:
E/NvOmxCameraSettingsParser( 126): Skipping non-standard parameter: nv-stereo-mode
This appears to be related to the source file nvomxcamerasettingsparser.cpp, which I can't find anywhere on the web. I don't really know where to go from here, I've grepped and googled for everything I could think of, so any help would be greatly appreaciated.