Re: Video, audio, and HID gadget functions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Robert,

On Wednesday 24 March 2010 16:33:15 Robert Lukassen wrote:
> Hi,
> 
> We have been working on USB gadget function implementations for the
> video device class, audio device class and human interface device class.
> The main characteristics are:
> 
> Video
> 
> Intends to be compliant with version 1.1 of the USB video device class
> specification, supporting BULK-IN video. This particular implementation
> works by attaching itself to a framebuffer device (which should support
> page-flipping mode). If synchronizes with the pan operation of the
> framebuffer, so that each pan operation triggers the transmission of a
> video frame over a bulk-in endpoint. The driver automatically determines
> the proper video descriptors to use to represent the major aspects of
> the attached framebuffer (such as width and height). From user-land
> perspective, this driver has no particular interface; it just rides
> along with any framebuffer updates.

I've also been working on an UVC gadget driver. Mine creates a V4L2 device to 
let userspace applications send images to the host.

Do you think it would make sense to share code between the two drivers ?

> Audio
> 
> This implements a USB soundcard interface with both playback and capture
> support. The driver relies on isochronous endpoint support in the USB
> device controller. From user-land perspective the interface is an ALSA
> soundcard with two devices. There are module parameters that determine
> the characteristics of the sound devices (samplerate, # channels). There
> is a limitation that these characteristics are set upon initialisation
> of the driver, and cannot be changed thereafter.

I've written a similar driver and posted it to the linux-usb mailing list. 
Have you had a look at it ?

> Human Interface
> 
> This implements a small framework where handlers for various HID reports
> can be added upon driver initialisation. The current implementation has
> two report handlers that can handle 'touchscreen' reports (x,y &
> pressure) and 'button press' reports. These are handled by inserting
> appropriate events in the input framework and are represented in
> user-land by the usual input device interfaces.
> 
> These three functions are tied together in a composite gadget (using the
> composite framework of course).
> 
> We intend to release this implementation under the GPL (obviously) on
> our GPL website, but feel that it may be of interest to others on this
> list and may be a nice candidate for inclusion in upstream kernels.
> Please let me know whether this work is of interest to you, and how I
> should proceed.

-- 
Regards,

Laurent Pinchart
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux