class UVC::ClassSpecificVCInterfaceDescriptor
Attributes
bDescriptorSubType[R]
bDescriptorType[R]
rest[R]
Public Class Methods
new(bDescriptorType, bDescriptorSubType, rest=nil)
click to toggle source
# File lib/uvc.rb, line 265 def initialize(bDescriptorType, bDescriptorSubType, rest=nil) @bDescriptorType = bDescriptorType @bDescriptorSubType = bDescriptorSubType @rest = nil end
parse(bytes)
click to toggle source
# File lib/uvc.rb, line 243 def self.parse(bytes) bDescriptorType, bDescriptorSubType, rest = *bytes.unpack("cca*") case [bDescriptorType, bDescriptorSubType] when [CS_INTERFACE, VC_HEADER] VCInterfaceHeaderDescriptor.parse(bDescriptorType, bDescriptorSubType, rest) when [CS_INTERFACE, VC_INPUT_TERMINAL] InputTerminalDescriptor.parse(bDescriptorType, bDescriptorSubType, rest) when [CS_INTERFACE, VC_OUTPUT_TERMINAL] OutputTerminalDescriptor.parse(bDescriptorType, bDescriptorSubType, rest) when [CS_INTERFACE, VC_SELECTOR_UNIT] SelectorUnitDescriptor.parse(bDescriptorType, bDescriptorSubType, rest) when [CS_INTERFACE, VC_PROCESSING_UNIT] ProcessingUnitDescriptor.parse(bDescriptorType, bDescriptorSubType, rest) when [CS_INTERFACE, VC_ENCODING_UNIT] EncodingUnitDescriptor.parse(bDescriptorType, bDescriptorSubType, rest) when [CS_INTERFACE, VC_EXTENSION_UNIT] ExtensionUnitDescriptor.parse(bDescriptorType, bDescriptorSubType, rest) else self.new(bDescriptorType, bDescriptorSubType, rest) end end
parse_array(extra)
click to toggle source
# File lib/uvc.rb, line 232 def self.parse_array(extra) extra = StringIO.new(extra, 'r') descs = [] until extra.eof? len = extra.read(1).ord desc = ClassSpecificVCInterfaceDescriptor.parse(extra.read(len-1)) descs << desc end descs end
Public Instance Methods
short_inspect()
click to toggle source
# File lib/uvc.rb, line 271 def short_inspect "%s" % [ self.class.name.sub(/Descriptor$/, ''), ] end