[Bug 288329] [NEW PORT] multimedia/guvcview: webcam viewer/recorder

From: <bugzilla-noreply_at_freebsd.org>
Date: Sat, 09 Aug 2025 15:26:53 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=288329

--- Comment #9 from Vladimir Druzenko <vvd@FreeBSD.org> ---
Did you tested runtime?

# guvcview
GUVCVIEW: version 2.2.1
V4L2CORE: couldn't determine device (/dev/video0) list index
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: Invalid argument
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: Invalid argument
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: Invalid argument
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: Invalid argument
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: Invalid argument
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: Invalid argument
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: Invalid argument
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: Invalid argument
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: Invalid argument
    - FORMAT NOT SUPPORTED BY DECODER -
V4L2_CORE: V4L2_CAP_TIMEPERFRAME not supported
'-avx512er' is not a recognized feature for this target (ignoring feature)
'-avx512pf' is not a recognized feature for this target (ignoring feature)
'-avx512er' is not a recognized feature for this target (ignoring feature)
'-avx512pf' is not a recognized feature for this target (ignoring feature)
'-avx512er' is not a recognized feature for this target (ignoring feature)
'-avx512pf' is not a recognized feature for this target (ignoring feature)
QSettings::value: Empty key passed
control[0]:(unknown - 0x6) 0x980001 'User Controls'
control[0]:(unknown - 0x6) 0x9d0001 'JPEG Compression Controls'
V4L2_CORE: V4L2_CAP_TIMEPERFRAME not supported
----------------------------------------------------------------------------

Then I change resolution of the video:

GUVCVIEW (Qt5): updating frame rates for new resolution of 640x480
V4L2_CORE: (VIDIOC_REQBUFS) Failed to delete buffers: Device busy (errno 16)
V4L2_CORE: (VIDIOC_S_FORMAT) Unable to set format: Device busy
GUCVIEW: could not set the defined stream format
GUCVIEW: trying first listed stream format
V4L2_CORE: (VIDIOC_S_FORMAT) Unable to set format: Device busy
GUCVIEW: also could not set the first listed stream format
GUVCVIEW (2): Guvcview error
         could not start a video stream in the device
GUVCVIEW (Qt6): fatal error (0 devices detected)
GUVCVIEW (Qt6): creating error dialog
QObject::setParent: Cannot set parent, new parent is in a different thread
QObject: Cannot create children for a parent that is in a different thread.
(Parent is Oxygen::WidgetStateEngine(0x10540190ff00), parent's thread is
QThread(0x1053fb41b8a0), current thread is QThread(0x1053fca9daf0)
QObject: Cannot create children for a parent that is in a different thread.
(Parent is Oxygen::LabelEngine(0x1053fc0958c0), parent's thread is
QThread(0x1053fb41b8a0), current thread is QThread(0x1053fca9daf0)
QObject: Cannot create children for a parent that is in a different thread.
(Parent is Oxygen::WidgetStateEngine(0x10540190ff00), parent's thread is
QThread(0x1053fb41b8a0), current thread is QThread(0x1053fca9daf0)
QObject: Cannot create children for a parent that is in a different thread.
(Parent is Oxygen::WidgetStateEngine(0x10540190ff00), parent's thread is
QThread(0x1053fb41b8a0), current thread is QThread(0x1053fca9daf0)
QObject: Cannot create children for a parent that is in a different thread.
(Parent is Oxygen::WidgetStateEngine(0x105401910140), parent's thread is
QThread(0x1053fb41b8a0), current thread is QThread(0x1053fca9daf0)
QObject: Cannot create children for a parent that is in a different thread.
(Parent is Oxygen::WidgetStateEngine(0x105401910140), parent's thread is
QThread(0x1053fb41b8a0), current thread is QThread(0x1053fca9daf0)
QObject: Cannot create children for a parent that is in a different thread.
(Parent is Oxygen::WidgetStateEngine(0x10540190ff00), parent's thread is
QThread(0x1053fb41b8a0), current thread is QThread(0x1053fca9daf0)
QObject::installEventFilter(): Cannot filter events for objects in a different
thread.
QObject: Cannot create children for a parent that is in a different thread.
(Parent is Oxygen::WidgetStateEngine(0x10540190ff00), parent's thread is
QThread(0x1053fb41b8a0), current thread is QThread(0x1053fca9daf0)
QObject: Cannot create children for a parent that is in a different thread.
(Parent is Oxygen::LabelEngine(0x1053fc0958c0), parent's thread is
QThread(0x1053fb41b8a0), current thread is QThread(0x1053fca9daf0)
QObject: Cannot create children for a parent that is in a different thread.
(Parent is Oxygen::WidgetStateEngine(0x10540190ff00), parent's thread is
QThread(0x1053fb41b8a0), current thread is QThread(0x1053fca9daf0)
QObject: Cannot create children for a parent that is in a different thread.
(Parent is Oxygen::WidgetStateEngine(0x10540190ff00), parent's thread is
QThread(0x1053fb41b8a0), current thread is QThread(0x1053fca9daf0)
----------------------------------------------------------------------------

Got error window with message:
> could not start a video stream in the device
Press OK button.

QBackingStore::endPaint() called with active painter; did you forget to destroy
it or call QPainter::end() on it?
QBackingStore::endPaint() called with active painter; did you forget to destroy
it or call QPainter::end() on it?
QObject::killTimer: Timers cannot be stopped from another thread
QObject::~QObject: Timers cannot be stopped from another thread
QObject::killTimer: Timers cannot be stopped from another thread
QObject::~QObject: Timers cannot be stopped from another thread
V4L2_CORE: (VIDIOC_REQBUFS) Failed to delete buffers: Device busy (errno 16)


But after restart resolution changed. Also I can record video+audio and make
photos.

This is old web cam "LifeCam VX-6000 (SN9C20x + OV9650)":
ugen3.2: <LifeCam VX-6000 (SN9C20x + OV9650) Microsoft Corp.> at usbus3, cfg=0
md=HOST spd=HIGH (480Mbps) pwr=ON (500mA)
ugen3.2.1: uaudio0: <vendor 0x045e USB20 Camera, class 0/0, rev 2.00/1.00, addr
2>

  bLength = 0x0012
  bDescriptorType = 0x0001
  bcdUSB = 0x0200
  bDeviceClass = 0x0000  <Probed by interface class>
  bDeviceSubClass = 0x0000
  bDeviceProtocol = 0x0000
  bMaxPacketSize0 = 0x0040
  idVendor = 0x045e
  idProduct = 0x00f4
  bcdDevice = 0x0100
  iManufacturer = 0x0000  <no string>
  iProduct = 0x0001  <USB20 Camera    >
  iSerialNumber = 0x0000  <no string>
  bNumConfigurations = 0x0001

-- 
You are receiving this mail because:
You are the assignee for the bug.