Android 插入USB摄像头生成两个video节点

        将Android 8.0的项目移植到Android 11 发现的问题,插入USB Camera 会生成两个video节点,这对应用层的处理会有些影响,查阅文献找到这样的说法
         在运行Linux-4.15之后内核的主机上,插入一个 usb 摄像头,会出现两个 /dev/video*,这不是 bug,而是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