[RK3288][android-5.1] [USB UVC camera] getFrame(625): VIDIOC_DQBUF Failed!!! err[I/O error]

问题描述:

RK3288 USB UVC camera 摄像头 VIDIOC_DQBUF Failed!!! err[I/O error]

 

Open camera 成功:

02-22 14:54:56.398 185-878/? I/CameraClient: Opening camera 0

02-22 14:54:56.398 185-878/? D/CameraHal: camera_get_camera_info(1347): camera_get_camera_info(1347): camera_0 facing(0), orientation(90)

02-22 14:54:56.398 185-878/? I/CameraHal: camera_device_open(501): camera_device open

02-22 14:54:56.399 185-878/? D/CameraHal: gCameraHalLogLevel: 0

02-22 14:54:56.399 185-878/? D/CameraHal: CameraHal(121): it is a uvc camera!

02-22 14:54:56.399 648-676/com.android.systemui E/CameraManagerGlobal: Camera id 0 has status changed to 0x80000000

 

但是,取像失败,从而导致系统camera打开失败:

02-22 15:11:11.680 185-2380/? D/CameraHal: startPreview(177): startPreview177:preview_w = 1280,preview_h = 720,drv_w = 1280,drv_h = 720

02-22 15:11:11.680 185-2380/? D/CameraHal: cameraSetSize(487): cameraSetSize(487):IN, w = 1280,h = 720

02-22 15:11:11.705 185-2380/? D/CameraHal: cameraStream(509): cameraStream(509):on = 1

02-22 15:11:12.543 185-2380/? D/CameraHal: startPreview(223): startPreview(223):OUT

02-22 15:11:12.543 185-2372/? D/CameraHal: displayThread(596): displayThread(596): receive CMD_DISPLAY_START

02-22 15:11:12.543 185-2372/? D/CameraHal: cameraDisplayBufferDestory(399): cameraDisplayBufferDestory(399): mANativeWindow is NULL, destory is ignore

02-22 15:11:12.554 185-2380/? D/CameraHal: commandThread(905): commandThread(905): CMD_PREVIEW_START out

02-22 15:11:12.554 185-2380/? D/CameraHal: setParameters(655): suppport focus modes:fixed, expect:fixed

02-22 15:11:15.040 185-2394/? E/CameraHal: getFrame(625): getFrame(625): VIDIOC_DQBUF Failed!!! err[I/O error]

02-22 15:11:15.040 185-2394/? E/CameraHal: getFrame(631): getFrame(631): camera driver or device may be error, so notify CAMERA_MSG_ERROR

 

 

修改方法:

diff --git a/CameraHal/CameraUSBAdapter.cpp b/CameraHal/CameraUSBAdapter.cpp

index b88dd17..adb446b 100644

--- a/CameraHal/CameraUSBAdapter.cpp

+++ b/CameraHal/CameraUSBAdapter.cpp

@@ -134,8 +134,8 @@ void CameraUSBAdapter::initDefaultParameters(int camFd)

 

     params.set(KEY_PREVIEW_W_FORCE,"0");

     params.set(KEY_PREVIEW_H_FORCE,"0");

-    params.set(CameraParameters::KEY_SUPPORTED_PREVIEW_SIZES, parameterString.string());

-    params.setPreviewSize(640,480);

+    params.set(CameraParameters::KEY_SUPPORTED_PREVIEW_SIZES, "1280x960,1280x720");

+    params.setPreviewSize(1280,960);

     /*picture size setting*/      

     params.set(CameraParameters::KEY_SUPPORTED_PICTURE_SIZES, parameterString.string());        

params.setPictureSize(mCamDriverFrmWidthMax,  mCamDriverFrmHeightMax);

 

 

注:params.setPreviewSize(1280,720);  这个里面的参数为camera sensor的输出分辨率。

猜你喜欢

转载自blog.csdn.net/u014689845/article/details/88059260