根据不同USB端口固定UVC 摄像头前后置

    在使用双USB摄像头时,为了固定摄像头的前后置,可以使用USB端口号来固定,首先添加

  LOGD("%s(%d): capability.bus_info is %s\n.",__FUNCTION__, __LINE__, capability.bus_info); 

来打印出对应的端口号:

      

将获取到的值填入对应的usb_camera_front/back
@@ -897,9 +963,24 @@ int camera_get_number_of_cameras(void)
                 sprintf(version,"0x%x.0x%x.0x%x",((capability.version&0xff0000)>>16),
                     ((capability.version&0xff00)>>8),capability.version&0xff);
                 property_set(CAMERAHAL_V4L2_VERSION_PROPERTY_KEY,version);       
                                
                                if(strcmp((char*)&capability.driver[0],"uvcvideo") == 0)//uvc
                                {

+                                       char usb_camera_back[] = {"usb-ff540000.usb-1.2"};
+                                       char usb_camera_front[] = {"usb-ff540000.usb-1.3"};
+                                       LOGD("%s(%d): capability.bus_info is %s\n.",__FUNCTION__, __LINE__, capability.bus_info);  //打印出bus_info
+                                       if(strcmp(usb_camera_front, (char*)capability.bus_info) == 0) 
+                                               {
+                                                       camInfoTmp[cam_cnt].facing_info.facing = CAMERA_FACING_FRONT; //设置摄像头为前置
+                                               } 
+                                       else if (strcmp(usb_camera_back, (char*)capability.bus_info) == 0) 
+                                               {
+                                                       camInfoTmp[cam_cnt].facing_info.facing = CAMERA_FACING_BACK; //设置摄像头为后置
+                                               }
+                                       
                                        int ret,i=0,j=0;                                         
                                        struct v4l2_frmivalenum fival;
                                        struct v4l2_frmsizeenum fsize;

 

posted @ 2021-05-06 17:11  Alter灬  阅读(558)  评论(0)    收藏  举报