Module: Rubycam

Defined in:
lib/rubycam/ioctl.rb,
lib/rubycam.rb,
lib/rubycam/cli.rb,
lib/rubycam/device.rb,
lib/rubycam/obsbot.rb,
lib/rubycam/version.rb,
lib/rubycam/controls.rb

Overview

V4L2 ioctl plumbing: request-code computation and struct layouts.

ioctl request codes follow the kernel's _IOC macro:

dir(2 bits) | size(14 bits) | type(8 bits) | nr(8 bits)

Struct sizes below must match the C layouts in <linux/videodev2.h> on 64-bit; each SIZE constant is asserted against its pack template.

Defined Under Namespace

Modules: CLI, Ioctl Classes: Control, Device, Obsbot

Constant Summary collapse

VERSION =
"0.1.1"

Class Method Summary collapse

Class Method Details

.devicesObject

All /dev/video* nodes that are actual capture devices.



16
17
18
19
20
21
22
# File 'lib/rubycam.rb', line 16

def self.devices
  Dir['/dev/video*'].sort.filter_map do |path|
    Device.open(path)
  rescue SystemCallError
    nil
  end
end