929 B
929 B
v4l2loopback 0.15 - STREAMON EINVAL
С v4l2loopback 0.12.7 на 0.15.3 отвалилась моя виртуальная камера (гринскрин на питоне):
VCam format set failed: [Errno 22] Invalid argument
Падало на VIDIOC_STREAMON. В 0.15 STREAMON требует сначала REQBUFS, иначе EINVAL.
А для 0.12.7 STREAMON был костылём - без него устройство не "занималось".
В 0.15 write() сам занимает устройство, close() освобождает. Костыль больше не нужен.
Решение: STREAMON только для старых версий. Версию модуля брать тут:
cat /sys/module/v4l2loopback/version
Меньше 0.13 - делаем STREAMON, иначе просто пишем кадры через write(). Оно просто работает.