RK3288 USB UVC camera 摄像头 VIDIOC_DQBUF Failed!!! err[I/O error]
RK3288 Android5.1 多个品牌USB摄像头
同一块主板和代码,大部分品牌的USB摄像头可以正常使用,只有某一款USB摄像头不能使用。
插上摄像头,底层可以识别到摄像头。
<>[ 47.479515] usb -1.4: new high-speed USB device number using usb20_host
<>[ 47.696548] usb -1.4: New USB device found, idVendor=058f, idProduct=
<>[ 47.696719] usb -1.4: New USB device strings: Mfr=, Product=, SerialNumber=
<>[ 47.696825] usb -1.4: Product: PC Camera
<>[ 47.696908] usb -1.4: Manufacturer: Alcor Micro, Corp.
<>[ 47.708510] uvcvideo: Found UVC 1.00 device PC Camera (058f:)
<>[ 47.718236] input: PC Camera as /devices/ff540000.usb/usb3/-/-1.4/-1.4:1.0/input/input5
但是每次打开摄像头app都显示“无法连接到相机”,上层 log 如下。
D/CameraHal( ): setParameters(): setParameters(): Set preview size 800x600
... ...
D/CameraHal( ): startPreview(): startPreview177:preview_w = ,preview_h = ,drv_w = ,drv_h =
D/CameraHal( ): cameraSetSize(): cameraSetSize():IN, w = ,h =
... ...
E/CameraHal( ): getFrame(): getFrame(): VIDIOC_DQBUF Failed!!! err[I/O error]
E/CameraHal( ): getFrame(): getFrame(): camera driver or device may be error, so notify CAMERA_MSG_ERROR
最后官方的回复如下:
USB摄像头800x600分辨率输出有问题,强制使用1280x960,同时保留1280x720为录像使用,由软件剪切到1280x720
diff --git a/CameraHal/CameraUSBAdapter.cpp b/CameraHal/CameraUSBAdapter.cpp
index b88dd17..adb446b
--- a/CameraHal/CameraUSBAdapter.cpp
+++ b/CameraHal/CameraUSBAdapter.cpp
@@ -, +, @@ void CameraUSBAdapter::initDefaultParameters(int camFd) params.set(KEY_PREVIEW_W_FORCE,"");
params.set(KEY_PREVIEW_H_FORCE,"");
- params.set(CameraParameters::KEY_SUPPORTED_PREVIEW_SIZES, parameterString.string());
- params.setPreviewSize(,);
+ params.set(CameraParameters::KEY_SUPPORTED_PREVIEW_SIZES, "1280x960,1280x720");
+ params.setPreviewSize(, );
/*picture size setting*/
params.set(CameraParameters::KEY_SUPPORTED_PICTURE_SIZES, parameterString.string());
params.setPictureSize(mCamDriverFrmWidthMax, mCamDriverFrmHeightMax);
按照官方的 patch 修改后,摄像头可以正常使用。
如果出现可以预览,不能拍照的问题,还需要更改拍照的分辨率
diff --git a/CameraHal/CameraUSBAdapter.cpp b/CameraHal/CameraUSBAdapter.cpp
index b88dd17..adb446b
--- a/CameraHal/CameraUSBAdapter.cpp
+++ b/CameraHal/CameraUSBAdapter.cpp
@@ -, +, @@ void CameraUSBAdapter::initDefaultParameters(int camFd) params.set(KEY_PREVIEW_W_FORCE,"");
params.set(KEY_PREVIEW_H_FORCE,"");
params.set(CameraParameters::KEY_SUPPORTED_PREVIEW_SIZES, "1280x960,1280x720");
params.setPreviewSize(, );
/*picture size setting*/
- params.set(CameraParameters::KEY_SUPPORTED_PICTURE_SIZES, parameterString.string());
- params.setPictureSize(mCamDriverFrmWidthMax, mCamDriverFrmHeightMax);
+ params.set(CameraParameters::KEY_SUPPORTED_PICTURE_SIZES, "1280x960,1280x720");
+ params.setPictureSize(, );
RK3288 USB UVC camera 摄像头 VIDIOC_DQBUF Failed!!! err[I/O error]的更多相关文章
- EasyPusher进行Android UVC外接摄像头直播推送实现方法
最近EasyPusher针对UVC摄像头做了适配.我们结合了UVCCamera与EasyPusher,支持将UVC摄像头的视频推送到RTSP服务器上.在此特别感谢UVCCamera这个牛逼的项目! 来 ...
- 鏈接Redis報錯`AUTH` failed: ERR Client sent AUTH, but no password is set [tcp://127.0.0.1:6379]
問題 鏈接Redis報錯`AUTH` failed: ERR Client sent AUTH, but no password is set [tcp://127.0.0.1:6379] 解決 啟動 ...
- 【err】开启Persistence-M模式-Check failed: err == CUBLAS_STATUS_SUCCESS (1 vs. 0) : Create cublas handle failed
前言 安装好CUDA.CUDNN.NVIDIA driver之后,使用mxnet框架的时候出现该错误,本文记录该问题的解决方法. 环境 ubuntu 16.04 MxNet Cuda9.0 Nvidi ...
- 解决 AUTH` failed: ERR Client sent AUTH, but no password is set [tcp://127.0.0.1:6379]
页面报错: ConnectionException In AbstractConnection.php line 155 AUTH` failed: ERR Client sent AUTH, but ...
- idea报错:error java compilation failed internal java compiler error
idea下面报如下问题 error java compilation failed internal java compiler error 解决办法:Setting->Compiler-> ...
- idea Error:java: Compilation failed: internal java compiler error
idea 遇到Error:java: Compilation failed: internal java compiler error 是提示说你当前使用的编译器jdk版本不对. 按住Ctrl+Alt ...
- Error:java:Compilation failed: internal java compiler error
在IDEA中编译时出现这个错误:Error:java:Compilation failed: internal java compiler error! Information:Using javac ...
- Deployment failed due to an error in FastDev assembly synchronization.
在编译的时候发生Assembly synchronization error,显示信息为:Deployment failed due to an error in FastDev assembly s ...
- iOS9 白名单问题 -canOpenURL: failed for URL: "xx" - error:"This app is not allowed to query for scheme xx"
[iOS开发]-canOpenURL: failed for URL: "xx" - error:"This app is not allowed to query fo ...
随机推荐
- 你真的会使用Chrome开发者工具吗?
Chrome开发工具是一个Web开发者的利器,使用它你可以实现: 管理界面元素 断点调试JavaScript代码 优化你的代码 这里将列出一些非常实用的使用技巧,帮助你更加高效的工作 1. 快速编辑H ...
- 【Supervisor】Linux 后台进程管理利器
Linux的后台进程运行有好几种方法,例如nohup,screen等,但是,如果是一个服务程序,要可靠地在后台运行,我们就需要把它做成daemon,最好还能监控进程状态,在意外结束时能自动重启. su ...
- Repeat a string repeat a string
重要的事情说3遍! 重复一个指定的字符串 num次,如果num是一个负数则返回一个空字符串. 这是一些对你有帮助的资源: Global String Object 这道题的思路就是按照题目要求一步一步 ...
- 【Android测试】UI自动化代码优化之路
◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/5993622.html 关于UI自动化的抱怨 听过不少人这样 ...
- Appium 测试APK
介绍 Appium是一个开源.跨平台的测试框架,可以用来测试原生及混合的移动端应用.Appium支持iOS.Android及FirefoxOS平台测试.Appium使用WebDriver的json w ...
- lcx端口转发 linux版
一.端口转发使用 1.攻击机上执行以下命令 ./lcx -p1 -p2 -m 在本地监听3389端口,并将发送到本机3389端口的数据传递到本机2222端口 2.跳板机上执行以下命令 ./lcx -h ...
- 在IE中MVC控制器中返回JSON格式的数据时提示下载
最近做项目时,视图中用jquery.form.js异步提交表单时,接收的是JSON格式的数据,但是奇怪的是在IE中提示下载文件,其他浏览器中一切正常,下载后,里面的内容就是在控制器中返回的数据.代码如 ...
- 源码编译tmux
(1)clone 源代码仓库: $ git clone https://github.com/tmux/tmux.git (2) 编译之前先安装libevent,去官网下载tar包: http://l ...
- [AirFlow]AirFlow使用指南二 DAG定义文件
1. Example """ Code that goes along with the Airflow tutorial located at: https://git ...
- Android逆向之旅---Android中锁屏密码算法解析以及破解方案
一.前言 最近玩王者荣耀,下载了一个辅助样本,结果被锁机了,当然破解它很简单,这个后面会详细分析这个样本,但是因为这个样本引发出的欲望就是解析Android中锁屏密码算法,然后用一种高效的方式制作锁机 ...