问题描述:
客户底板接了一个USB双目摄像头,USB拓扑结构:主控HOST1下挂了一个hub,该摄像头模组挂在该hub下。
目前客户反馈camera会概率性的出现camera.rk30board.so 崩溃的问题。
部分日志LOG如下:
01-21 16:52:52.519 I/DEBUG ( 166): backtrace:
01-21 16:52:52.519 I/DEBUG ( 166): #00 pc 0003bd9e /system/lib/libc.so (strstr+5)
01-21 16:52:52.519 I/DEBUG ( 166): #01 pc 000256c5 /system/lib/hw/camera.rk30board.so (android::CameraUSBAdapter::setParameters(android::CameraParameters const&, bool&)+84)
01-21 16:52:52.519 I/DEBUG ( 166): #02 pc 0002e03f /system/lib/hw/camera.rk30board.so (android::CameraHal::commandThread()+1198)
01-21 16:52:52.519 I/DEBUG ( 166): #03 pc 0002e621 /system/lib/hw/camera.rk30board.so
01-21 16:52:52.519 I/DEBUG ( 166): #04 pc 00010519 /system/lib/libutils.so (android::Thread::_threadLoop(void*)+112)
01-21 16:52:52.519 I/DEBUG ( 166): #05 pc 00010089 /system/lib/libutils.so
01-21 16:52:52.519 I/DEBUG ( 166): #06 pc 0001659b /system/lib/libc.so (__pthread_start(void*)+30)
01-21 16:52:52.519 I/DEBUG ( 166): #07 pc 000144c3 /system/lib/libc.so (__start_thread+6)
问题复现的方法为:
系统camera应用处于图像预览或使用过程中,拔插usb camera,camera应用报错,杀死camera进程后,再次打开camera应用,仍然打开失败。查看设备节点,发现设备节点发生偏移,设备节点从/dev/video0、/dev/video1变为/dev/video1、/dev/video2
解决方法:
diff --git a/CameraHal/CameraAdapter.cpp b/CameraHal/CameraAdapter.cpp
index b376e76..3d5890f 100755
--- a/CameraHal/CameraAdapter.cpp
+++ b/CameraHal/Ca