Android는 USB 카메라를 삽입하여 두 개의 비디오 노드를 생성합니다.

        Android 8.0 프로젝트를 Android 11로 포팅할 때 발견된 문제는 USB 카메라를 삽입하면 두 개의 비디오 노드가 생성되어 애플리케이션 계층 처리에 어느 정도 영향을 미친다는 것입니다. 문헌을 확인하고 이 설명을 찾으세요. Linux-4.15 이후의 커널
         , USB 카메라를 연결하면 /dev/video* 2개가 나타나는데 이는 버그가 아니고 V4L2의 기능입니다.
        해결책:

        kernel/drivers/media/usb/uvc/uvc_driver.c
        주석 처리 //uvc_meta_register(stream);
        

diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc_driver.c
index 0842a47c6..9684dd07f 100644
--- a/drivers/media/usb/uvc/uvc_driver.c
+++ b/drivers/media/usb/uvc/uvc_driver.c
@@ -2069,7 +2069,7 @@ static int uvc_register_terms(struct uvc_device *dev,
                /* Register a metadata node, but ignore a possible failure,
                 * complete registration of video nodes anyway.
                 */
-               uvc_meta_register(stream);
+               //uvc_meta_register(stream);

                term->vdev = &stream->vdev;
        }

        현재까지 테스트 결과 아무런 문제도 발견되지 않았습니다.

추천

출처blog.csdn.net/weixin_35649059/article/details/127652129