1 --- lib/libv4lconvert/control/libv4lcontrol.c.orig	2020-04-09 16:29:54 UTC
2 +++ lib/libv4lconvert/control/libv4lcontrol.c
3 @@ -360,6 +360,16 @@ static int v4lcontrol_get_usb_info(struct v4lcontrol_d
4  		unsigned short *vendor_id, unsigned short *product_id,
5  		int *speed)
6  {
7 +#ifdef __FreeBSD__
8 +#define WEBCAMD_IOCTL_GET_USB_VENDOR_ID _IOR('q', 250, unsigned short)
9 +#define WEBCAMD_IOCTL_GET_USB_PRODUCT_ID _IOR('q', 251, unsigned short)
10 +#define WEBCAMD_IOCTL_GET_USB_SPEED _IOR('q', 252, unsigned int)
11 +	if (ioctl(data->fd, WEBCAMD_IOCTL_GET_USB_VENDOR_ID, vendor_id) == 0 &&
12 +	    ioctl(data->fd, WEBCAMD_IOCTL_GET_USB_PRODUCT_ID, product_id) == 0 &&
13 +	    ioctl(data->fd, WEBCAMD_IOCTL_GET_USB_SPEED, speed) == 0)
14 +		return (1);
15 +	return (0);
16 +#else
17  	FILE *f;
18  	int i, minor_dev;
19  	struct stat st;
20 @@ -456,6 +466,7 @@ static int v4lcontrol_get_usb_info(struct v4lcontrol_d
21  		return 0; /* Should never happen */
22 
23  	return 1;
24 +#endif
25  }
26 
27  /*
28