2011/12/12 Reilly Grant reillyeon@qotw.net:
This fixes a crash when two instances of plug are instantiated back to back and the format conversion plugin inserted by the second is skipped by the first because the fast_ops pointer is not properly updated. This is the case for applications requesting plug:default on Intel HDA chips.
The card 's "default" device of snd-hda-intel should be "plug:dmix"
you don't need to use "plug:default"
http://git.alsa-project.org/?p=alsa-lib.git;a=blob_plain;f=src/conf/cards/HD...
# default with dmix+softvol & dsnoop HDA-Intel.pcm.default { @args [ CARD ] @args.CARD { type string } type asym playback.pcm { type plug slave.pcm { type softvol slave.pcm { @func concat strings [ "dmix:" $CARD ] } control { name "PCM Playback Volume" card $CARD } } } capture.pcm { type plug slave.pcm { type softvol slave.pcm { @func concat strings [ "dsnoop:" $CARD ] } control { name "Digital Capture Volume" card $CARD } min_dB -30.0 max_dB 30.0 resolution 121 } # to avoid possible phase inversions with digital mics route_policy copy } hint.device 0 }