[Question] Different routing + sample formats for input and output

GitHub issues - edited github at alsa-project.org
Mon May 17 04:43:02 CEST 2021


alsa-project/alsa-lib issue #135 was edited from flatmax:

One soundcard I use has different output and input sample formats. The input format is S32_LE. The output format is S24_3LE.
There is also a routing change I like to do.

My current .asoundrc (below) uses the asym plugin to manage input and output difference. The asym plugin creates problems for some unknown reason where I get overruns :
`ALSA lib pcm.c:8545:(snd_pcm_recover) overrun occurred`

If I switch my setup to using the soundcard for output and a second USB microphone for input, then I don't get any overruns. I still use the asym plugin to make it work and it works nicely.

I have also tried simply the plug pluging, however I still get overruns.

Is there any way to setup the one soundcard with routing and format changes without using the asym plugin ? Or is there a better way to setup the one soundcard with the required routing and format changes ?

```
########## BEGIN ~/.asoundrc ###################
@hooks [
	{
		func load
		files [
			"~/.asoundrc"
		]
		errors false
	}
]

pcm.!default {
	type asym
	playback.pcm "UMC1820_12ch_play"
	capture.pcm "UMC1820_10ch_capt"
}

ctl.!default {
  type hw
  card "UMC1820"
}

pcm.UMC1820_12ch_play {
  type route;
  slave.pcm "hw:UMC1820";
  slave.format S24_3LE;
  slave.channels 12;
  ttable.0.2 1
  ttable.1.3 1
  ttable.2.4 1
  ttable.3.5 1
  ttable.4.6 1
  ttable.5.7 1
  ttable.6.8 1
  ttable.7.9 1
  ttable.8.10 1
  ttable.9.11 1
  ttable.10.0 1
  ttable.11.1 1
}

pcm.UMC1820_10ch_capt {
  type route;
  slave.pcm "hw:UMC1820";
  slave.format S32_LE;
  slave.channels 10;
	ttable.0.0 1
  ttable.1.1 1
  ttable.2.2 1
  ttable.3.3 1
  ttable.4.4 1
  ttable.5.5 1
  ttable.6.6 1
  ttable.7.7 1
  ttable.8.8 1
  ttable.9.9 1
}
########## END ~/.asoundrc ###################

```

Issue URL     : https://github.com/alsa-project/alsa-lib/issues/135
Repository URL: https://github.com/alsa-project/alsa-lib


More information about the Alsa-devel mailing list