Date: Fri, 01 Jan 2021 14:14:47 +0000 From: bugzilla-noreply@freebsd.org To: multimedia@FreeBSD.org Subject: [Bug 252327] multimedia/v4l-utils: v4l2-ctl can't determine the device type Message-ID: <bug-252327-12827@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D252327 Bug ID: 252327 Summary: multimedia/v4l-utils: v4l2-ctl can't determine the device type Product: Ports & Packages Version: Latest Hardware: Any OS: Any Status: New Severity: Affects Some People Priority: --- Component: Individual Port(s) Assignee: multimedia@FreeBSD.org Reporter: trueos@norwegianrockcat.com Assignee: multimedia@FreeBSD.org Flags: maintainer-feedback?(multimedia@FreeBSD.org) v4l2-ctl allows you to set options on a web camera. For example, changing t= he power line frequency to 50 Hz to get rid of flicker with lights in Europe. Unfortunately, it seems that v4l2-ctl can't determine the device type. Runn= ing it with any sort of webcam produces the following: v4l2-ctl -L Unable to detect what device /dev/video0 is, exiting. Looking at the source code it seems that mi_media_detect_type() in media-info.cpp is using the Linux sysfs and uevent to get information about= the device type. This information doesn't exist on FreeBSD (at least not in that form). If one hardcodes(!) the type to MEDIA_TYPE_VIDEO, the information does show= up: ./v4l2-ctl -L brightness 0x00980900 (int) : min=3D0 max=3D255 ste= p=3D1 default=3D128 value=3D128 contrast 0x00980901 (int) : min=3D0 max=3D255 ste= p=3D1 default=3D128 value=3D128 saturation 0x00980902 (int) : min=3D0 max=3D255 ste= p=3D1 default=3D128 value=3D128 white_balance_temperature_auto 0x0098090c (bool) : default=3D1 value=3D1 gain 0x00980913 (int) : min=3D0 max=3D255 ste= p=3D1 default=3D0 value=3D136 power_line_frequency 0x00980918 (menu) : min=3D0 max=3D2 defau= lt=3D2 value=3D1 0: Disabled 1: 50 Hz 2: 60 Hz white_balance_temperature 0x0098091a (int) : min=3D2000 max=3D6500= step=3D1 default=3D4000 value=3D3385 flags=3Dinactive sharpness 0x0098091b (int) : min=3D0 max=3D255 ste= p=3D1 default=3D128 value=3D128 backlight_compensation 0x0098091c (int) : min=3D0 max=3D1 step= =3D1 default=3D0 value=3D0 exposure_auto 0x009a0901 (menu) : min=3D0 max=3D3 defau= lt=3D3 value=3D3 1: Manual Mode 3: Aperture Priority Mode exposure_absolute 0x009a0902 (int) : min=3D3 max=3D2047 st= ep=3D1 default=3D250 value=3D299 flags=3Dinactive exposure_auto_priority 0x009a0903 (bool) : default=3D0 value=3D1 pan_absolute 0x009a0908 (int) : min=3D-36000 max=3D36= 000 step=3D3600 default=3D0 value=3D0 tilt_absolute 0x009a0909 (int) : min=3D-36000 max=3D36= 000 step=3D3600 default=3D0 value=3D0 focus_absolute 0x009a090a (int) : min=3D0 max=3D250 ste= p=3D5 default=3D0 value=3D50 flags=3Dinactive focus_auto 0x009a090c (bool) : default=3D1 value=3D1 zoom_absolute 0x009a090d (int) : min=3D100 max=3D500 s= tep=3D1 default=3D100 value=3D100 Naturally, hard coding this value is not a permanent solution, but it does = show that things work afterwards. There are still issues in setting values (getsubopt returns differently), but the first step is to get the items to recognize correctly. --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-252327-12827>