[alsa-devel] [PATCH 2/5] ALSA: snd-usb: switch over to new endpoint streaming logic
Clemens Ladisch
clemens at ladisch.de
Tue Nov 1 21:57:30 CET 2011
On 10/31/2011 01:10 PM, Daniel Mack wrote:
> @@ -276,6 +312,15 @@ static int set_format(struct snd_usb_substream *subs, struct audioformat *fmt)
> if (((is_playback && attr == USB_ENDPOINT_SYNC_ASYNC) ||
> (! is_playback && attr == USB_ENDPOINT_SYNC_ADAPTIVE)) &&
> altsd->bNumEndpoints >= 2) {
> + switch (subs->stream->chip->usb_id) {
> + case USB_ID(0x0763, 0x2080): /* M-Audio FastTrack Ultra */
> + case USB_ID(0x0763, 0x2081):
> + ep = 0x81;
> + iface = usb_ifnum_to_if(dev, 2);
> + alts = &iface->altsetting[1];
Better check that the device actually has these descriptors.
> +int snd_usb_substream_capture_trigger(struct snd_pcm_substream *substream, int cmd)
> +{
> + case SNDRV_PCM_TRIGGER_START:
> + err = start_endpoints(subs);
The trigger callback should execute very quickly; the initial URB
submission should be handled in the prepare callback.
Regards,
Clemens
More information about the Alsa-devel
mailing list