前言
Android系统中usb摄像头节点会因为摄像头所接的usb口不同或者usb设备识别顺序不一样而出现每次开机生成的video节点不一样的问题。由于客户app调用摄像头时,需要固定摄像头的节点。因此需要针对前面的情况做处理。
方式1:通过摄像头名称固定摄像头节点
--- a/kernel/drivers/media/v4l2-core/v4l2-dev.c
+++ b/kernel/drivers/media/v4l2-core/v4l2-dev.c
@@ -849,7 +849,16 @@ int __video_register_device(struct video_device *vdev, int type, int nr,/* Pick a device node number */mutex_lock(&videodev_lock);
+
+ if(!strcmp(vdev->name, "ICT Camera")) {
+ nr = 0;//dev/video0
+ }else if(!strcmp(vdev->name, "A200 HD Video device")){
+ nr = 1;//dev/video1
+ }else if(!strcmp(vdev->name, "A200 3DSenor")){
+ nr = 2;//dev/video2
+ }nr = devnode_find(vdev, nr == -1 ? 0 : nr, minor_cnt);
+ if (nr == minor_cnt)nr = devnode_find(vdev, 0, minor_cnt);if (nr == minor_cnt) {