USBVC(4D) | Devices | USBVC(4D) |
usbvc - USB video class driver
#include <sys/usb/clients/video/usbvc/usbvc.h> #include <sys/videodev2.h> usbvc@unit-address
The usbvc driver is a USBA (Solaris USB Architecture)-compliant client driver that supports the USB Device Class Definition for Video Devices specification, Versions 1.0 and 1.1. The usbvc driver supports a subset of the video controls and formats described in the USB specification.
The usbvc driver also implements the Video4Linux2 API (V4L2), Version 0.20 for applications. For more information on the V4L2 API, visit http://www.thedirks.org/v4l2.
Note that the usbvc driver supports the video capture function only and that video output is not supported.
The usbvc driver reads video data from the isochronous endpoint of the device. Bulk data endpoints are not supported.
MJPEG and UNCOMPRESSED video formats are supported. Isochronous data are read from the isochronous input device frame-by-frame and are maintained in a buffer array within the driver. Video frames are read from the driver using the read(2) or mmap(2) I/O method. For read(2), each read returns a buffer of a video frame. For mmap(2), each VIDIOC_DQBUF ioctl returns the buffer structure v4l2_buffer. (A video frame buffer pointer is included in the structure). See the V4L2 API for buffer structure and other related data structure information.
A brief overview of supported ioctl requests appears below. For more detailed information, refer to the V4L2 API document. Note: ioctl information presented in the V4L2 API document may differ slightly from the content of this manpage. In such cases, you should rely on the information in this manpage.
VIDIOC_QUERYCAP
VIDIOC_ENUM_FMT
VIDIOC_S_FMT
VIDIOC_G_FMT
VIDIOC_REQBUFS
VIDIOC_QUERYBUF
VIDIOC_QBUF
VIDIOC_DQBUF
VIDIOC_STREAMON
VIDIOC_STREAMOFF
VIDIOC_ENUMINPUT
VIDIOC_G_INPUT
VIDIOC_S_INPUT
VIDIOC_QUERYCTRL
VIDIOC_G_CTRL
VIDIOC_S_CTRL
VIDIOC_G_PARM
VIDIOC_S_PARM
EBUSY
EINVAL
EIO
ENXIO
ENODEV
/kernel/drv/usbvc
/kernel/drv/amd64/usbvc
/kernel/drv/sparcv9/usbvc
/dev/usb/*/*/*
/dev/videoN
See attributes(7) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Architecture | SPARC, x86, PCI-based systems |
ioctl(2), mmap(2), open(2), read(2), ugen(4D), usba(4D), attributes(7), cfgadm_usb(8), attach(9E)
Writing Device Drivers
System Administration Guide: Basic Administration
Universal Serial Bus Specification 1.0, 1.1 and 2.0— 1996, 1998, 2000
USB Device Class Definition for Video Devices 1.0 and 1.1— 2003, 2005
Video4Linux2 API (V4L2), Version 0.20
http://www.usb.org
http://www.thedirks.org/v4l2
In addition to being logged, the following messages may appear on the system console. All messages are formatted in the following manner:
Warning: <device path> (usbvc<instance num>):Error Message...
Device was disconnected while open. Data may have been lost.
Cannot access <device>. Please reconnect.
Device is not identical to the previous one on this port. Please disconnect and reconnect.
The USB video device will be power-managed when the device is idle.
If a USB video device is hot-removed while active, a console warning is displayed requesting you to put the device back in the same port and telling you of potential data loss. Hot-removal of an active video device is strongly discouraged.
Always close all applications before hot-removing or hot-inserting a device. If an application is open when a device is hot-removed, inserting the device in a different port will create new /dev/videoN links. Moving an active device to another port is not recommended.
May 13, 2017 | OmniOS |