[alsa-devel] A plea for help on mixer support for Fast Track Ultra (8R)

Takashi Iwai tiwai at suse.de
Thu May 19 07:42:15 CEST 2011

At Wed, 18 May 2011 23:30:46 +0200,
Daniel Mack wrote:
> > The main problem at the moment is that snd_usb_create_mixer() will not be
> > called on quirked devices! Take a look at card.c: snd_usb_create_mixer()
> > will only be called if snd_usb_create_quirk() returns > 0. But why should we
> > assume that quirked devices don't have any mixers?
> That is indeed strange, yes. I can't explain that. Not to break
> existing devices, I would suggest adding a bit-wise "flags" field to
> snd_usb_audio_quirk and still create the mixers if a certain flag
> (something like "QUIRK_FLAG_CREATE_STANDARD_MIXERS") is set. Clemens,
> Takashi, would that be ok?

Returning zero means that you don't follow any standard.  
In the comment of snd_usb_create_quirk:
 * audio-interface quirks
 * returns zero if no standard audio/MIDI parsing is needed.
 * returns a positive value if standard audio/midi interfaces are parsed
 * after this.
 * returns a negative value at error.

I see no big reason to make things more complex.  If you want to avoid
the standard audio parsing after quirk but only parse mixer, just call 
snd_usb_create_mixer() in your quirk function.



More information about the Alsa-devel mailing list