[alsa-devel] [PATCH] plug: Move fast_ops copy after slave configuration.

Raymond Yau superquad.vortex2 at gmail.com
Mon Dec 12 01:18:17 CET 2011


2011/12/12 Reilly Grant <reillyeon at 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/HDA-Intel.conf


# 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
}


More information about the Alsa-devel mailing list