# Packages
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# Functions
Usually iosDevices have a 40 character USB serial which equals the usbSerial used in usbmuxd, Xcode etc.There is an exception, some devices like the Xr and Xs have a 24 character USB serial.
No description provided by the author
EnableQTConfig enables the hidden QuickTime Device configuration that will expose two new bulk endpoints.
FindIosDevice finds a iOS device by usbSerial or picks the first one if usbSerial == "".
FindIosDevices finds iOS devices connected on USB ports by looking for their USBMux compatible Bulk Endpoints.
NewMessageProcessor creates a new MessageProcessor that will write answers to the given UsbWriter, forward extracted CMSampleBuffers to the CMSampleBufConsumer and wait for the stopSignal.
NewMessageProcessorWithClockBuilder lets you inject a clockBuilder for the sake of testability.
OpenDevice finds a gousb.Device by using the provided iosDevice.SerialNumber.
PrintDeviceDetails returns a list of device details ready to be JSON converted.
ValidateUdid checks if a given udid is 25 or 40 characters long.25 character udids must be of format xxxxxxxx-xxxxxxxxxxxxxxxx.Serialnumbers on the usb host contain no dashes.
# Constants
QuicktimeSubclass is the subclass used for the Quicktime USB configuration.
UsbMuxSubclass is the subclass used for USBMux USB configuration.
# Structs
IosDevice contains a gousb.Device pointer for a found device and some additional info like the device usbSerial.
MessageProcessor is used to implement the control flow of USB messages answers and replies.It receives readily split byte frames, parses them, responds to them and passes onextracted CMSampleBuffers to a consumer.
UsbAdapter reads and writes from AV Quicktime USB Bulk endpoints.
# Interfaces
CmSampleBufConsumer is a simple interface with one function that consumes CMSampleBuffers.
UsbDataReceiver should receive USB SYNC, ASYN and PING packets with the correct length and with the 4 bytes length removed.
UsbWriter can be used to send data to a USB Endpoint.