TipsAndTricks/lts24-lts26-upgrade/v4l2loopback 0.15 - STREAMON EINVAL.md

929 B
Raw Blame History

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(). Оно просто работает.